Ciao a tutti, dopo essere riuscito a scrivere del codice java che mi esegue correttamente l'upload di un file generico, voglio migliorare la procedura in modo che mi permetta l'upload di un file con un content-type custom. Putroppo non riesco a farlo.Ho creato un modello con questo namespace:
<namespace uri="http://www.prova.it/model/content/1.0" prefix="fe" />
Questo è il mio content che eredita docCommerciale
<type name="fe:fattura">
<title>Fattura</title>
<parent>fe:docCommerciale</parent>
<properties>
<property name="fe:importo">
<type>d:float</type>
<mandatory>true</mandatory>
</property>
<property name="fe:dataScadenza">
<type>d:date</type>
<mandatory>true</mandatory>
</property>
</properties>
</type>
e questa è la procedura che esegue l'upload:
// Referenza al nodo padre in cui inserire il documento
Store storeRef = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
ParentReference companyHomeParent = new ParentReference(storeRef, null, percorsoRepository, Constants.ASSOC_CONTAINS, null);
//Richiesta del repository service e del contet service
RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();
ContentServiceSoapBindingStub contentService = WebServiceFactory.getContentService();
// Nome del documento
companyHomeParent.setChildName("cm:" + fileName);
//Vettori delle proprietà
NamedValue[] contentProps = new NamedValue[1];
NamedValue[] titledProps = new NamedValue[2];
//Assegnazione ai vettori delle proprietà
contentProps[0] = Utils.createNamedValue(Constants.PROP_NAME, fileName);
titledProps[0] = Utils.createNamedValue(Constants.PROP_TITLE, fileName);
titledProps[1] = Utils.createNamedValue(Constants.PROP_DESCRIPTION, "");
//Costrutto CML per aggiungere titolo al file
CMLAddAspect addAspect = new CMLAddAspect(Constants.ASPECT_TITLED, titledProps, null, "1");
CMLCreate create = new CMLCreate("1", companyHomeParent, companyHomeParent.getUuid(), Constants.ASSOC_CONTAINS, null, Constants.PROP_CONTENT, contentProps);
// Blocco create CML
CML cml = new CML();
cml.setCreate(new CMLCreate[] {create});
cml.setAddAspect(new CMLAddAspect[] {addAspect});
//Creazione effettiva del nodo
UpdateResult[] result = WebServiceFactory.getRepositoryService().update(cml);
Reference content = result[0].getDestination();
//Scrittura del contenuto
ContentFormat contentFormat = new ContentFormat(this.mimeType(fileName), "UTF-8");
Content contentRef = contentService.write(content, Constants.PROP_CONTENT, this.readFromFile(new File(percorsoFile + fileName)), contentFormat);
System.out.println("File caricato: " + fileName);
Come posso modificare la procedura di upload in modo da specificare il tipo di content-type e relative proprietà?Ho provato a vedere questa soluzione https://forums.alfresco.com/en/viewtopic.php?f=27&t=27700 ma sembra non funzionare. Grazie e saluti