09-03-2011 10:56 PM
09-05-2011 05:54 AM
//primero te declaras la sentencia que necesites
//en mi caso el nombre del documento era el mismo que su UUId, la arroba significa "dentro de", y el \\ es para hacer literal el \
String sentencia="@cm\\:name:'tu_nombre'";
//ahora declaras una nueva query, con tu sentencia
Query query = new Query(Constants.QUERY_LANG_LUCENE, sentencia)
//ahora te declaras el objeto queryresult, para poder pillar posteriormente el resultset
Store STORE = new Store (Constants.WORKSPACE_STORE, "SpacesStore");
QueryResult = queryresult = repositoryService.query(STORE, query, false);
//ahora ya podemos pillar el ResultSet de toda la vida
ResultSet = resultSet = queryresult.getResultSet();
//y el número de retornos
ResultSetRow[] rows = resultSet.getRows();
if(rows == null) //no resultados!!
else {
 //ahora vamos a crear el objeto CML para eliminar los documentos que ha encontrado
CMLDelete[] deleteCMLArray = new CMLDelete[rows.length];
for(int index = 0; index<rows.length;index++) {
     //pillamos el resultset de la posición
     ResultSetRow row = rows[index];
     deleteCMLArray[index] = new CLMDelete(new Predicate(new Reference[] {new Reference(storeRef, row.getNode().getId(),null)},null,null));
}
//y ahora ya podemos ejecutar el delete de todos los elementos de dentro del deleteCMLArray
CML cml = new CML();
cml.setDelete(deleteCMLArray);
UpdateResult[] results = WebServiceFactory.getRepositoryService().update(cml);
}
08-29-2012 03:16 PM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.