Hello,
 

     I define an absolute container list on a page called "Advanced Search".

Then, in other pages like "User", I get my absolute container list in order to add containers in it, to update them and so on.

 

Here is the code in order to get my absolut container list :

 

JahiaContainerList my_container_list = jData.containers().getAbsoluteContainerList( "my_container_list", advanced_search_page_id);

 

I get big troubles when I reboot jahia. When I try to update elements from my absolute container list in "User", I get an error message.

If I go first on the "Advanced Search" page, it work.

(see the error at the end of this post)

 
The following line causes the error:
 
test_container.getField("astron_photo_gallery_creator").setValue(user.getUsername());

 

So how can I solve this problem ?

 

Thanks for all the suggestions that you could give me,

 
Regards
 
 
 
Here is the code of the "User Page":
 
<%@ include file="astron_photo_gallery_page_id.jsp"%>
<%@ include file="astron_photo_gallery_entities_declaration.jsp"%>
<%@ include file="astron_photo_gallery_entities_tools.jsp"%>
<%@ include file="astron_photo_gallery_declaration.jsp"%>
 
 
<%
/////////Initialisation of filters
ContainerFilterBean astron_photo_gallery_container_filter_bean_first =new ContainerFilterBean("astron_photo_gallery_builder_name",
jParams.getEntryLoadRequest()); // with the field name
astron_photo_gallery_container_filter_bean_first.addClause(ContainerFilterBean.COMP_EQUAL,"");
Vector astron_photo_gallery_container_filter_bean_vector_first = new Vector();
astron_photo_gallery_container_filter_bean_vector_first.add(astron_photo_gallery_container_filter_bean_first);
ContainerFilters astron_photo_gallery_container_filter_beans_first = new ContainerFilters(astron_photo_gallery_container_list_id,astron_photo_gallery_container_filter_bean_vector_first);
request.setAttribute("astron_photo_gallery_container_list_filter_handler",astron_photo_gallery_container_filter_beans_first);
JahiaContainerList astron_photo_gallery_container_list =jData.containers().getAbsoluteContainerList("astron_photo_gallery_container_list",astron_photo_gallery_page_id_value
);
astron_photo_gallery_container_list.setIsContainersLoaded(false);
%>
 
<%
if(request.getParameter("astron_photo_gallery_add")!=null)
{
 // VJ
 
ServicesRegistry.getInstance().getJahiaContainersService().loadContainer
List(astron_photo_gallery_container_list.getID(),LoadFlags.ALL);
 
 FieldsChangeEventListener listener = new FieldsChangeEventListener();
 JahiaContainer test_container = new
JahiaContainer(0,jParams.getJahiaID(),astron_photo_gallery_page_id_value
,astron_photo_gallery_container_list.getID(),0,astron_photo_gallery_cont
ainer_list.getAclID(),astron_photo_gallery_container_list.getctndefid(),
0,ContentObjectEntryState.WORKFLOW_STATE_START_STAGING);
 
ServicesRegistry.getInstance().getJahiaContainersService().saveContainer
Info(test_container,astron_photo_gallery_container_list.getID(),
astron_photo_gallery_container_list.getAclID(),jParams);
 test_container.setLanguageCode(jParams.getLocale().toString());
 test_container.fieldsStructureCheck(jParams);
 
 
System.out.println("BField loaded ou
pas:"+test_container.isFieldsLoaded() + "      container list loaded ou
pas:"+test_container.isContainerListsLoaded() + "     Nb fields" +
test_container.getNbFields());
 
 Enumeration e = test_container.getFields(); 
 
 while (e.hasMoreElements()){
  JahiaField jf = (JahiaField)e.nextElement();
  System.out.println("Field name:"+jf.getID());
 }
 
 
test_container.getField("astron_photo_gallery_creator").setValue(user.ge
tUsername());
 
listener.notifyChange(test_container.getField("astron_photo_gallery_crea
tor").getID());

 

Here is the error message :

 

I get the following error when I try to update an element of the absolute container list.

 

<!--
Error :

Array index out of range: 0


Exception StackTrace: Cause level : 0 (level 0 is the most precise exception)
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
 at java.util.Vector.get(Vector.java:713)
 at org.jahia.engines.updatecontainer.UpdateContainer_Engine.processCurrentScreen(UpdateContainer_Engine.java:341)
 at org.jahia.engines.updatecontainer.UpdateContainer_Engine.handleActions(UpdateContainer_Engine.java:188)
 at org.jahia.operations.OperationManager.handleOperations(OperationManager.java:279)
 at org.jahia.bin.JahiaAction.execute(JahiaAction.java:50)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
 at org.jahia.bin.Jahia.process(Jahia.java:1467)
 at org.jahia.bin.Jahia.service(Jahia.java:792)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
 at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
 at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
 at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
 at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
 at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
 at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
 at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
 at java.lang.Thread.run(Thread.java:536)

 

Reply via email to