cancel
Showing results for 
Search instead for 
Did you mean: 

Crear Documento CMIS

jotabe
Champ in-the-making
Champ in-the-making
Hola,

tengo un problema, y es que al crear un documento en CMIS en Java me lo hace correctamente hasta que quiero crearlo con parametros de un modelo de datos propio.

En la Query de busqueda tal y como pongo los parametros me los acepta, pero por alguna manera al ponerlos en el hashmap de los atributos para la creación no se rellenan y me da un error ponga lo que ponga.

En el código se ve unos ejemplos de las pruebas que he realizado y al lado el resultado (texto comentado).

El modelo de datos tiene el siguiente la siguiente forma:

Modelo: aqc:docAquacis
Aspecto: aqc:sistema_propietario
Propiedades: aqc:id_sistema, aqc:usuario_creador, aqc:id_explotacion_sistema



   String name = "myNewDocument.txt";
   // content
   byte[] doc = "Hello World!".getBytes();
   InputStream stream = new ByteArrayInputStream(doc);
   ContentStream contentStream = new ContentStreamImpl(name, BigInteger.valueOf(doc.length), "text/plain", stream);
       
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put(PropertyIds.OBJECT_TYPE_ID, "D:aqc:docAquacis,P:aqc:sistema_propietario");//cmis:document
        properties.put(PropertyIds.NAME, "Filename_Sample_CSD2_"+System.currentTimeMillis()+".txt");
        properties.put("aqc:id_sistema", "CF");
        properties.put("aqc:usuario_creador", "jbCSD2");
        properties.put("aqc:id_explotacion_sistema", "102");
       
        //properties.put("P:aqc:sistema_propietario,aqc:id_explotacion_sistema", "102"); //Property 'P:aqc:sistema_propietario,aqc:id_explotacion_sistema' is neither an object type property nor an aspect property!
        //properties.put("P.aqc:id_explotacion_sistema", "102"); //Property 'P.aqc:usuario_creador' is neither an object type property nor an aspect property!
        //properties.put("P:aqc:sistema_propietario:id_explotacion_sistema", "102"); //Property 'P:aqc:sistema_propietario:id_explotacion_sistema' is neither an object type property nor an aspect property!
        //properties.put("aqc:sistema_propietario:id_explotacion_sistema", "102"); //Property 'aqc:sistema_propietario:id_explotacion_sistema' is neither an object type property nor an aspect property!
        //properties.put("aqc:id_explotacion_sistema", "102");  //prefix cannot be null or empty
        //properties.put("P:aqc:id_explotacion_sistema", "102");  //Property 'P:aqc:id_explotacion_sistema' is neither an object type property nor an aspect property!
      
        AlfrescoFolder alfrFolder = (AlfrescoFolder)cmisFolder;
        Document documentCreado = alfrFolder.createDocument(properties, contentStream, VersioningState.MAJOR);


Si comento estas tres lineas :

        properties.put("aqc:id_sistema", "CF");
        properties.put("aqc:usuario_creador", "jbCSD2");
        properties.put("aqc:id_explotacion_sistema", "102");

me crea un documento perfectamente además de tener el aspecto y ser del tipo que quiero. Llevo encallado en este problema un tiempo y necesito una visión externa.

Atentamente, Jaime.
2 REPLIES 2

jotabe
Champ in-the-making
Champ in-the-making
Solucionado.

Al parecer hay un "bug" que impedía parsear correctamente los parametros. La solución la he encontrado en la propia pagina de alfresco-opencmis-extension.

http://code.google.com/a/apache-extras.org/p/alfresco-opencmis-extension/issues/detail?id=2

Gracias igualmente Smiley Wink.

cristinamr
World-Class Innovator
World-Class Innovator
Gracias por compartirlo Smiley Wink

¡Un saludo!
--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc