cancel
Showing results for 
Search instead for 
Did you mean: 

Creare Oggetto tramite CMIS

samfisher
Champ in-the-making
Champ in-the-making
Salve,
ho scritto ieri un post su un errore della property datetime.
Forse l'errore non è lì ma forse non ci sta capendo nulla di come creare un oggetto (tipo custom) da codice….Ho aperto dunque un nuovo post apposta per non mischiare le cose.

C'è qualcuno che potrebbe spiegarmi PER FAVORE   :roll: come si fa???Pleaseeeeeeeeeeeeeeeeeeeeeee

Riepilogo:i io devo inserire in Alfresco 3.4 un documento pdf settando le property che ho aggiunto nel model. Le property sono sia text che datetime e anche multivalue.

<type name="dp:miodocumento">
      <title>Mio Documento</title>
      <parent>cm:content</parent>
      <properties>
        <property name="dp:attributotesto">
           <title>Attributo Testo</title>
          <type>d:text</type>
          <multiple>false</multiple>
        </property>
        <property name="dp:attributodata">
           <title>Attributo Data</title>
          <type>d:datetime</type>
          <multiple>false</multiple>
        </property>
    </properties>
</type>

Grazie anticipatamente a tutti coloro che vorranno darmi una mano….
alfsotti
3 REPLIES 3

openpj
Elite Collaborator
Elite Collaborator
Quale binding vuoi utilizzare?

Alfresco supporta entrambi i binding CMIS:
  • REST via HTTP

  • Web Services via SOAP

samfisher
Champ in-the-making
Champ in-the-making
Ciao,
forse rischio di fare la figura dell'ignorante!!!
Allora credo sia il secondo….ti faccio un esempio di quello che sto utilizzando io:

Devo inserire un documento da un applicativo su Alfresco..ho il mio datamodel (fatto per bene…almeno spero) e da codice faccio questo:


SessionFactory f = SessionFactoryImpl.newInstance();
…..
parameter.put(SessionParameter.BINDING_TYPE, BindingType.WEBSERVICES.value());
…..
Session session = f.createSession(parameter);

Map<String, Object> properties = new HashMap<String, Object>();
….
properties.put( PropertyIds.OBJECT_TYPE_ID, "D:" + nameObjectType);
properties.put( PropertyIds.NAME, docName);
….
properties.put("dp:attributodata",new Date());
properties.put("dp:attributotesto","Test");

Document docAdded = folder.createDocument(properties, conStream, versioningState,null,null,null,operationContext);

alfsotti

samfisher
Champ in-the-making
Champ in-the-making
Salve a tutti,

ho risolto il problema!!

L'errore era nella data che settavo al metadato, non va bene un oggetto Date, ma serve un GregorianCalendar.

Questo è errato:

>>properties.put("dp:attributodata",new Date());

Questo è corretto:

>>GregorianCalendar gc = new GregorianCalendar();
>>Date data = new Date();
>>gc.setTime(data);
>>properties.put("dp:attributodata", gc);

alfsotti