Cómo subir fechas con Alfresco

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

Cómo subir fechas con Alfresco

Buenas,

estoy intentando subir un named value como este:

Utils.createNamedValue(Constants.createQNameString(Constants.NAMESPACE_CONTENT_MODEL, ArchivoConstants.BIRTHDAY_DATE), my_date);

El caso es que con Strings todo va bien, pero cuando subo una fecha como la que antes indico, y luego la quiero recuperar, el Java me da un error en el parseo.

Con el explorador de nodos he comparado un fecha de las que gestiona alfresco (la de creación) con la que le subo yo como metadato propio. Éstas son las diferencias:

Alfresco:

Name -> {http://www.alfresco.org/model/content/1.0}created   

Value -> Fri Nov 26 10:10:35 CET 2010

Property Type -> {http://www.alfresco.org/model/dictionary/1.0}datetime   

Value Type ->

Propia:

Name -> {http://www.alfresco.org/model/content/1.0}birthday_date   

Value -> Wed Dec 01 17:46:09 CET 2010
   
Property Type ->

Value Type -> {http://www.alfresco.org/model/cmis/1.0/cs01}id

Así que imagino que el problema viene de que el Property Type no lo tengo rellenado como datetime. Mi duda es: ¿cómo se hace? Con el createNamedValue puedo crear un QNameString y así subir metadatos con Names propios y asignarles valores, pero ¿qué método se utiliza para asignar un property type? Y decirle que no es un string, sino un datetime.

Merci!
1 Reply
spilby
Active Member II

Re: Cómo subir fechas con Alfresco

Bueno, encontré la solución en otro hilo del foro. Lo pongo aquí por si alguien se encuentra con el mismo problema. Por lo visto todos los metadatos se suben como string, sólo hay que acertar en el formato correcto. Éste es un ejemplo de todos los tipos posibles:

NamedValue[] properties = new NamedValue[]{
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "textProp"), "some text"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "intProp"), "12"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "longProp"), "1234567890"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "floatProp"), "12.345"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "doubleProp"), "12.345"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "dateProp"), "2005-09-16T00:00:00.000+00:00"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "datetimeProp"), "2005-09-16T17:01:03.456+01:00"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "booleanProp"), "false"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "qnameProp"), "{http://www.alfresco.org/model/webservicetestmodel/1.0}testProperties"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "noderefProp"), "workspace://SpacesStore/123123123"),
                    Utils.createNamedValue(Constants.createQNameString("http://www.alfresco.org/model/webservicetestmodel/1.0", "textMultiProp"), new String[] {"firstValue", "secondValue", "thirdValue"}),