Problema con property datetime (Decimal properties!)

cancel
Showing results for 
Search instead for 
Did you mean: 
samfisher
Member II

Problema con property datetime (Decimal properties!)

Salve a tutti,
ho un problema e sono fermo su questo punto da un paio di giorni…..
Sono alle prime armi con Alfresco e sto realizzando un collegamento tramite CMIS ad Alfresco 3.4.

Ho creato un custom-type con alcuni metadati, in particolare un paio sono di type datetime:

<property name="dp:data_protocollo">
   <title>Data Protocollo</title>
     <type>d:datetime</type>
     <multiple>false</multiple>
</property>

Quando vado a creare un nuovo documento tramite CMIS ottengo un errore:

java.lang.IllegalArgumentException: Property 'dp:data_protocollo' is a Decimal property!
   at org.apache.chemistry.opencmis.client.runtime.repository.PersistentObjectFactoryImpl.convertProperties(PersistentObjectFactoryImpl.java:536)
   at org.apache.chemistry.opencmis.client.runtime.PersistentFolderImpl.createDocument(PersistentFolderImpl.java:89)

La creazione del documento con CMIS è la seguente:

Map<String, Object> properties = new HashMap<String, Object>();
properties.put("dp:data_protocollo", new Date());
folder.createDocument(properties, conStream, versioningState,null,null,null,operationContext);

Dove è che sto sbagliando?????
Grazie
alfsotti
2 Replies
openpj
Moderator
Moderator

Re: Problema con property datetime (Decimal properties!)

Da quanto riesco ad intuire non viene riconosciuto il tipo del valore della nuova property.

Non sono sicuro che il codice che sto per mostrarti è compatibile con l'ultima versione di Apache Chemistry, e da parecchio che non ne scrivo una riga, però da quanto mi ricordo dovresti creare la property nel seguente modo:

CmisPropertiesType properties = new CmisPropertiesType();
ObjectFactory objectFactory = new ObjectFactory();
CmisPropertyDateTime dateTimeProp = objectFactory.createCmisPropertyDateTime();
dateTimeProp.setPropertyDefinitionId("dp:data_protocollo");
dateTimeProp.getValue().add(new Date());
properties.getProperty().add(dateTimeProp);
folder.createDocument(properties, conStream, versioningState,null,null,null,operationContext);
Spero possa aiutarti  Smiley Wink
samfisher
Member II

Re: Problema con property datetime (Decimal properties!)

Ciao,
purtroppo ancora non sono riuscito a venirne a capo:

CmisPropertiesType properties = new CmisPropertiesType();
…….
folder.createDocument(properties, conStream, versioningState,null,null,null,operationContext);

Il createDocument che ho io vuole Map<String,?> e non un CmisPropertiesType…