Problema codigo para mover nodo
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-02-2009 11:04 AM
Hola de nuevo.
Tengo un problema si alguien pudiera guiarme un poco lo agradecería mucho.
Tengo un método que al ejecutarse mueve un archivo pdf a otro espacio, en este caso sería una factura que se rechaza y va a un espacio rechazadas, pero no lo hace. Os pongo el código del método a ver si podeis tener alguna idea de qué esta mal.
y os paso también el log con el fallo.
La línea 1904 donde dice que da el eror es esta
Gracias a todos de nuevo
Tengo un problema si alguien pudiera guiarme un poco lo agradecería mucho.
Tengo un método que al ejecutarse mueve un archivo pdf a otro espacio, en este caso sería una factura que se rechaza y va a un espacio rechazadas, pero no lo hace. Os pongo el código del método a ver si podeis tener alguna idea de qué esta mal.
public void rechazarFactura(){ String stringQuery = PathRechazadasSpace; NodeRef espaciodeRechazadas; StoreRef storeRef_aux = StoreRef.STORE_REF_WORKSPACE_SPACESSTORE; ResultSet results_aux = services.getSearchService() .query(storeRef_aux, services.getSearchService().LANGUAGE_LUCENE, stringQuery); espaciodeRechazadas = (results_aux.getNodeRefs().get(0)); System.out.println(espaciodeRechazadas); try { System.out.println("nodeRef del Archivo "+editableNode.getNodeRef()); filefolder.move(editableNode.getNodeRef(), espaciodeRechazadas, null); System.out.println("Intenta mover el archvio"); } catch (FileExistsException e) { e.printStackTrace(); } catch (org.alfresco.service.cmr.model.FileNotFoundException e) { e.printStackTrace(); } }
y os paso también el log con el fallo.
02-sep-2009 17:01:46 org.apache.catalina.core.StandardWrapperValve invokeGRAVE: Servlet.service() para servlet Faces Servlet lanz� excepci�njava.lang.NullPointerException at org.alfresco.sample.Revision_facturas_Dialog.rechazarFactura(Revision_facturas_Dialog.java:1904) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61) at javax.faces.component.UICommand.broadcast(UICommand.java:109) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
La línea 1904 donde dice que da el eror es esta
filefolder.move(editableNode.getNodeRef(), espaciodeRechazadas, null);
Gracias a todos de nuevo
Labels:
- Labels:
-
Archive
5 REPLIES 5
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-02-2009 11:43 AM
Arreglado, error de novato.
FileFolderServices estaba declarado como fileFolderService, y yo lo usaba como filefolder. Perdón por las molestias.
Pero ya aprovechando, expongo otra duda.
En otro método, que en este caso es el que acepta las facturas, usando la misma sintaxis de búsqueda, no funciona.
Cuando acepto un archivo, lo muevo a un espacio de aceptadas, ahi lo guarda en un espacio con nombre de año, si no existe ese espacio lo crea.
Cuando intento comprobar si existe ese espacio, es cuando el metodo da error.
El error viene en esta línea
y en el error me dice:
¿Alguna idea?
Muchas gracias de nuevo
FileFolderServices estaba declarado como fileFolderService, y yo lo usaba como filefolder. Perdón por las molestias.
Pero ya aprovechando, expongo otra duda.
En otro método, que en este caso es el que acepta las facturas, usando la misma sintaxis de búsqueda, no funciona.
Cuando acepto un archivo, lo muevo a un espacio de aceptadas, ahi lo guarda en un espacio con nombre de año, si no existe ese espacio lo crea.
Cuando intento comprobar si existe ese espacio, es cuando el metodo da error.
private boolean ComprobarEspacioAnho(String espacioanho) { String stringQuery = PathAceptadasSpace2 + "/cm:" + espacioanho + "\"" + " +TYPE:\"" + ContentModel.TYPE_FOLDER + "\""; System.out.println("Path del espacio acepatadas + espacio año "+stringQuery); StoreRef storeRef_aux = StoreRef.STORE_REF_WORKSPACE_SPACESSTORE; System.out.println("Ya paso del StoreRef"); System.out.println("paso 1 "+services.getSearchService()); services.getSearchService(); ResultSet results_aux = services.getSearchService() .query(storeRef_aux, SearchService.LANGUAGE_LUCENE, stringQuery); System.out.println("Ya paso del Resultset"); System.out.println("Store Ref del espacio año "+results_aux); if (results_aux.getNodeRefs().size() > 0) { System.out.println("Encontro un espacio año"); return true; } else { System.out.println("no lo encontro"); return false; } }
El error viene en esta línea
ResultSet results_aux = services.getSearchService().query(storeRef_aux, SearchService.LANGUAGE_LUCENE, stringQuery);
y en el error me dice:
javax.faces.FacesException: Error calling action method of component with id dialog:dialog-body:titleLink1
caused by:
javax.faces.el.EvaluationException: Exception while invoking expression #{DialogManager.bean.aceptarFactura}
caused by:
net.sf.acegisecurity.BadCredentialsException: Bad credentials presented
¿Alguna idea?
Muchas gracias de nuevo
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2009 02:37 AM
Buenas,
Se me ocurre que puede ser un problema de las credenciales del usuario que ejecuta el ¿¿¿webscript?????
Te adjunto un post que puede ser significativo:
http://forums.alfresco.com/en/viewtopic.php?f=12&t=11970
Saludos
Se me ocurre que puede ser un problema de las credenciales del usuario que ejecuta el ¿¿¿webscript?????
Te adjunto un post que puede ser significativo:
http://forums.alfresco.com/en/viewtopic.php?f=12&t=11970
Saludos
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-03-2009 10:54 AM
Hola de nuevo. Gracias por la respuesta.
El método es un actionlink que ejecuta un dialog. Cuando pulso el botón aceptar, mueve el documento al espacio aceptadas, saca el año de uno de los metadatos, y busca un espacio que tenga de nombre ese año, y si no lo hay lo crea, y lo mismo con el mes. Si hago que el método solo mueva el documento, sin hacer comprobaciones, tampoco funciona.
Este es el método que solo mueve el archivo
y me da este error
No se si me expliqué bien.
De todos modos muchas gracias.
El método es un actionlink que ejecuta un dialog. Cuando pulso el botón aceptar, mueve el documento al espacio aceptadas, saca el año de uno de los metadatos, y busca un espacio que tenga de nombre ese año, y si no lo hay lo crea, y lo mismo con el mes. Si hago que el método solo mueva el documento, sin hacer comprobaciones, tampoco funciona.
Este es el método que solo mueve el archivo
public void aceptarFactura(){ String stringQuery = PathAceptadasSpace; StoreRef storeRef_aux = StoreRef.STORE_REF_WORKSPACE_SPACESSTORE; ResultSet results_aux = services.getSearchService().query(storeRef_aux,services.getSearchService().LANGUAGE_LUCENE,stringQuery); NodeRef espaciodeAceptadas = (results_aux.getNodeRefs().get(0)); System.out.println(espaciodeAceptadas); try { this.fileFolderService.move(editableNode.getNodeRef(), espaciodeAceptadas, null); } catch (FileExistsException e) { e.printStackTrace(); } catch (org.alfresco.service.cmr.model.FileNotFoundException e) { e.printStackTrace(); } }
y me da este error
javax.faces.FacesException: Error calling action method of component with id dialog:dialog-body:titleLink1
caused by:
javax.faces.el.EvaluationException: Exception while invoking expression #{DialogManager.bean.aceptarFactura}
caused by:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
No se si me expliqué bien.
De todos modos muchas gracias.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-04-2009 03:16 AM
Si te explicas bien, pero puedes poner el codigo donde defines el actionLink??
Gracias
Gracias
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-10-2009 04:54 AM
Gracias por la ayuda. Ya está solucionado, resulta que al crear el espacio le daba el nombre del año, en número, y parece que a alfresco no le gustan los nombres con números, asi que probando a darle al nombre una letra delante, por ejemplo, A_2009, la cosa se soluciona.
Gracias por tu tiempo y tu interés, que ya sabemos que el tiempo es dinero .
Gracias y un saludo.
Gracias por tu tiempo y tu interés, que ya sabemos que el tiempo es dinero .
Gracias y un saludo.
