Tengo dudas de como iterar para extraer la informacion de un documento mediante CMIS
este es el codigo:
<code>
public void searchDoc(String docName, String folderName){
try {
String queryString = "Select * from cmis:document where cmis:name = '" + docName + "' ";
ItemIterable<QueryResult> results = autenticar.getSession().query(queryString, false);
System.out.println(" size"+results.getTotalNumItems());
int index=0;
for (QueryResult result : results) {
List<PropertyData<?>> properties = result.getProperties();
for (PropertyData<?> property : properties)
{
System.out.println(index + ": " + property.getQueryName() + " => " + property.getValues().toString());
}
index++;
}
} catch (Exception e) {
// TODO: handle exception
}
}
Como puedo extraer de cada row sus datos (personalizados)???
<code>
este es el codigo:
<code>
public void searchDoc(String docName, String folderName){
try {
String queryString = "Select * from cmis:document where cmis:name = '" + docName + "' ";
ItemIterable<QueryResult> results = autenticar.getSession().query(queryString, false);
System.out.println(" size"+results.getTotalNumItems());
int index=0;
for (QueryResult result : results) {
List<PropertyData<?>> properties = result.getProperties();
for (PropertyData<?> property : properties)
{
System.out.println(index + ": " + property.getQueryName() + " => " + property.getValues().toString());
}
index++;
}
} catch (Exception e) {
// TODO: handle exception
}
}
Como puedo extraer de cada row sus datos (personalizados)???
<code>
<code>
<type name = "rg:test">
<title>Tipo test</title>
<parent>cm:content</parent>
<properties>
<property name="rg:numTest">
<title>Número test</title>
<type>d:text</type>
<mandatory>false</mandatory>
</property>
</properties>
<mandatory-aspects>
<aspect>rg:aspectoRelacionRegitroCivil</aspect>
</mandatory-aspects>
</type>
<aspects>
<aspect name="rg:aspectoTest">
<title> Metadatos relacional </title>
<properties>
<property name="rg:campo1">
<title>campo 1</title>
<type>d:text</type>
<mandatory>false</mandatory>
</property>
<property name="rg:campo2">
<title>campo 2</title>
<type>d:text</type>
<mandatory>false</mandatory>
</property>
</properties>
</aspect>
</aspects>
Este es el metodo que me imprime los datos nativos de alfresco
String queryString = "Select * from cmis:document where cmis:name = '" + docName + "' ";
ItemIterable<QueryResult> results = autenticar.getSession().query(queryString, false);
for (QueryResult result : results) {
String name = result.getPropertyValueByQueryName("cmis:name");
String id =result.getPropertyValueByQueryName("cmis:objectId");
String author = result.getPropertyValueByQueryName("cmis:objectId");
List<String> tags = result.getPropertyMultivalueByQueryName("rg:campo1");
Deseo imprimir los metadatos personalizados que le cree a mi tipo(aspecto y metadatos que estan dentro de mi tipo como lo hago??
Tendra algo que ver en el select??
Actualmente le indico que busque esto: "Select * from cmis:document where cmis:name = '" + docName + "' ";
Con esto quiero decirle que me busque el documentos y me muestre toda su metadata(nativa y personalizada) que tenga el nombre xxxx
<code>
<CODE>select * from rg:test</CODE>
<CODE>select * from rg:aspectoTest</CODE>