Store STORE = new Store(Constants.WORKSPACE_STORE, "SpacesStore");
this.FILEtoDELETE =
new Reference(STORE, null,"/app:company_home/cm:MEDICAMENTO/cm:_x0030_100/cm:EXCIPIENTES/cm:_x0032_0090320_340086/cm:WebServiceSample_javi.txt");
boolean dev = false;
try
{
// Comprueba la existencia del directorio
WebServiceFactory.getRepositoryService().get(new Predicate(new Reference[]{FILEtoDELETE }, STORE, null));
dev=true;
}
catch (Exception exception)
{
// no existe el nodo.
System.out.println("Excepcion ");
dev=false;
}
java.lang.IllegalStateException: Failed to resolve to a single NodeRef with parameters (store=workspace:SpacesStore uuid=null path=/app:company_home/cm:MEDICAMENTO/cm:_x0030_100/cm:EXCIPIENTES/cm:_x0032_0090320_340086/cm:WebServiceSample_javi.txt), found 0 nodes.
En esta ruta, navegando por los espacios con el cliente web, si que existe el archivo WebServiceSample_javi.txt, y si lo copio y pego dentro del mismo espacio con el cliente web, ya si que puedo obtener una referencia.La recomendación cuando se trabaja con sentencias Lucene es, si se tiene acceso, realizar pruebas con las misma en el Node Browser de Alfresco así estas se facilitarán y encontraremos antes la sentencia que buscamos. Una vez encontrada antes de usarla desde una interfaz Java ya solo tendríamos que proteger los caracteres especiales (\ y ") al contruir la consulta.
Children
Child Name Child Node Primary Association Type Index
//Este nodo es creado por servicio web y no se puede borrar/referenciar.
{}cm:p_340086.pdf workspace://SpacesStore/9f4b6911-152b-11de-843c-e7b0ce71be28 true {http://www.alfresco.org/model/content/1.0}contains 0
//Este nodo es una copia con la interfaz web de uno que no se podia borrar, y si se puede borrar
{http://www.alfresco.org/model/content/1.0}Copy of p_340086.pdf workspace://SpacesStore/40a42cab-1533-11de-843c-e7b0ce71be28 true {http://www.alfresco.org/model/content/1.0}contains 1
//Este nodo es creado por servicio web, de una manera similar a los ejemplos del SDK y tampoco se puede borrar/referenciar. El nombre que le puse fue WebServiceSample_javi.txt
{http://www.alfresco.org/model/content/1.0}contains workspace://SpacesStore/1bd201ef-1548-11de-843c-e7b0ce71be28 true {http://www.alfresco.org/model/content/1.0}contains 4
String PROPIEDAD_CONTENIDO = "{http://www.alfresco.org/model/content/1.0}name";
private Reference obtenerReferenciaMetodoPadreHijos(Reference FOLDER,
String nombreContenido) {
Reference ref = FOLDER;
Reference refNodeDevolucion = null;
QueryResult queryResult = null;
try {
//Obtenemos los contenidos hijos del directorio padre
queryResult = WebServiceFactory.getRepositoryService()
.queryChildren(ref);
} catch (Exception ex) {
System.out.println("Exepcion obteniendo los hijos. "
+ ex.toString());
return null;
}
ResultSet resultSet = queryResult.getResultSet();
if (resultSet.getTotalRowCount() > 0) {
ResultSetRow[] rows = resultSet.getRows();
//Recorremos cada nodo hijo encontrado
for (int x = 0; x < rows.length; x++) {
ResultSetRow row = rows[x];
//NamedValue[] columns = row.getColumns();
// Obtenemos el nodo hijo
ResultSetRowNode node = row.getNode();
//System.out.println("ID nodo: " + node.getId());
//System.out.println("Type = " + node.getType());
//Creamos una referencia al nodo hijo
Reference ref1 = new Reference(STORE, node.getId(), null);
Query query = null;
//Comprobamos que podemos ver que el nodo hijo existe y que el nombre coincida con el que estemos buscando.
Node[] noderesult = null;
try {
noderesult = WebServiceFactory.getRepositoryService().get(
new Predicate(new Reference[] { ref1 }, STORE,
query));
//Recorremos cada nodo-hijo devuelto, normalmente 1.
for (int x1 = 0; x1 < noderesult.length; x1++) {
Node row1 = noderesult[x1];
NamedValue[] columns1 = row1.getProperties();
//buscamos la propiedad que contienen el nombre
int y1 = 0;
boolean enc = false;
while(y1 < columns1.length && !enc)
{
if (row1.getProperties(y1).getName().equalsIgnoreCase(PROPIEDAD_CONTENIDO) &&
row1.getProperties(y1).getValue().equalsIgnoreCase(nombreContenido))
{
//Hemos encontrado el contenido buscado. Devolvemos la referencia
refNodeDevolucion = row1.getReference();
enc = true;
}
y1++;
}
}
} catch (Exception ex1) {
System.out
.println("Error al obntener la referencia al contenido ");
}
}
} else {
System.out.println("The query returned no results");
}
return refNodeDevolucion;
}
Content from pre 2016 and from language groups that have been closed.
Content is read-only.
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.