diff --git a/config/alfresco/messages/office-addin.properties b/config/alfresco/messages/office-addin.properties index faf249c97a..e22a9e4ff5 100644 --- a/config/alfresco/messages/office-addin.properties +++ b/config/alfresco/messages/office-addin.properties @@ -87,7 +87,7 @@ office.message.results_max.after=items office.message.no_results=No results found office.message.confirm_delete=Are you sure you want to delete this document? office.message.enter_workflow_details=Enter new workflow details below -office.message.workflow_action_complete=Workflow action '{0}' completed. +office.message.workflow_action_complete=Workflow action ''{0}'' completed. # Properties office.property.title=Title diff --git a/config/alfresco/messages/office-addin_de.properties b/config/alfresco/messages/office-addin_de.properties index 0fe7b09a17..9b2d8ed186 100644 --- a/config/alfresco/messages/office-addin_de.properties +++ b/config/alfresco/messages/office-addin_de.properties @@ -87,7 +87,7 @@ office.message.results_max.after=Elemente office.message.no_results=Keine Ergebnisse gefunden office.message.confirm_delete=Wollen Sie dieses Dokument wirklich l\u00f6schen? office.message.enter_workflow_details=Neue Details f\u00fcr den Workflow untenstehend eingeben -office.message.workflow_action_complete=Aktion '{0}' des Workflows abgeschlossen. +office.message.workflow_action_complete=Aktion ''{0}'' des Workflows abgeschlossen. # Properties office.property.title=Titel diff --git a/config/alfresco/messages/office-addin_es.properties b/config/alfresco/messages/office-addin_es.properties index 6eb465001d..40d561aa2b 100755 --- a/config/alfresco/messages/office-addin_es.properties +++ b/config/alfresco/messages/office-addin_es.properties @@ -87,7 +87,7 @@ office.message.results_max.after=elementos office.message.no_results=Ning\u00fan resultado encontrado office.message.confirm_delete=\u00bfEst\u00e1 seguro de que quiere eliminar este documento? office.message.enter_workflow_details=Introduzca los datos del nuevo flujo de trabajo a continuaci\u00f3n -office.message.workflow_action_complete=Acci\u00f3n '{0}' de flujo de trabajo completada. +office.message.workflow_action_complete=Acci\u00f3n ''{0}'' de flujo de trabajo completada. # Properties office.property.title=T\u00edtulo diff --git a/config/alfresco/messages/office-addin_it.properties b/config/alfresco/messages/office-addin_it.properties index 4becde2731..9b21e45b17 100755 --- a/config/alfresco/messages/office-addin_it.properties +++ b/config/alfresco/messages/office-addin_it.properties @@ -87,7 +87,7 @@ office.message.results_max.after=elementi office.message.no_results=Nessun risultato trovato office.message.confirm_delete=Eliminare questo documento? office.message.enter_workflow_details=Immettere i dettagli del nuovo workflow di seguito -office.message.workflow_action_complete=L'azione del workflow '{0}' \u00e8 stata completata. +office.message.workflow_action_complete=L''azione del workflow ''{0}'' \u00e8 stata completata. # Properties office.property.title=Titolo diff --git a/config/alfresco/messages/office-addin_ja.properties b/config/alfresco/messages/office-addin_ja.properties index c5695a9249..a6188fc1a2 100755 --- a/config/alfresco/messages/office-addin_ja.properties +++ b/config/alfresco/messages/office-addin_ja.properties @@ -87,7 +87,7 @@ office.message.results_max.after=\u30A2\u30A4\u30C6\u30E0 office.message.no_results=\u691C\u7D22\u7D50\u679C\u304C\u3042\u308A\u307E\u305B\u3093\u3002 office.message.confirm_delete=\u3053\u306E\u6587\u66F8\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F office.message.enter_workflow_details=\u65B0\u3057\u3044\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8A73\u7D30\u3092\u4E0B\u306B\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 -office.message.workflow_action_complete=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30FB\u30A2\u30AF\u30B7\u30E7\u30F3'{0}'\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 +office.message.workflow_action_complete=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30FB\u30A2\u30AF\u30B7\u30E7\u30F3''{0}''\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 # Properties office.property.title=\u30BF\u30A4\u30C8\u30EB diff --git a/config/alfresco/messages/portlets_fr.properties b/config/alfresco/messages/portlets_fr.properties index feaa3404c2..5be1ff2ae2 100755 --- a/config/alfresco/messages/portlets_fr.properties +++ b/config/alfresco/messages/portlets_fr.properties @@ -64,8 +64,8 @@ portlets.mytaskspanel.manage_task=G\u00e9rer la t\u00e2che portlets.mytaskspanel.workflow_action=Action de workflow portlets.mytaskspanel.workflow_complited=achev\u00e9 -portlets.checkin.item_working_copy_of_name_has_been_checked_in=L'\u00e9l\u00e9ment \\\"Copie de travail de {0}\\\" a \u00e9t\u00e9 lib\u00e9r\u00e9. -portlets.checkout.working_copy_for_the_checked_out=Une copie de travail pour l'\u00e9l\u00e9ment r\u00e9serv\u00e9 \\\"Copie de travail de {0}\\\" a \u00e9t\u00e9 cr\u00e9\u00e9e. +portlets.checkin.item_working_copy_of_name_has_been_checked_in=L''\u00e9l\u00e9ment \\\"Copie de travail de {0}\\\" a \u00e9t\u00e9 lib\u00e9r\u00e9. +portlets.checkout.working_copy_for_the_checked_out=Une copie de travail pour l''\u00e9l\u00e9ment r\u00e9serv\u00e9 \\\"Copie de travail de {0}\\\" a \u00e9t\u00e9 cr\u00e9\u00e9e. task_summary_panel.close=Fermer task_summary_panel.type=Type diff --git a/config/alfresco/messages/portlets_it.properties b/config/alfresco/messages/portlets_it.properties index 862e56202f..5311e3706e 100755 --- a/config/alfresco/messages/portlets_it.properties +++ b/config/alfresco/messages/portlets_it.properties @@ -64,8 +64,8 @@ portlets.mytaskspanel.manage_task=Gestisci compito portlets.mytaskspanel.workflow_action=Azione workflow portlets.mytaskspanel.workflow_complited=completato -portlets.checkin.item_working_copy_of_name_has_been_checked_in=\u00c8 stato eseguito il Check In dell'elemento \\\"Copia di lavoro di {0}\\\". -portlets.checkout.working_copy_for_the_checked_out=\u00c8 stata creata una copia di lavoro per l'elemento sottoposto a Check Out \\\"Copia di lavoro di {0}\\\". +portlets.checkin.item_working_copy_of_name_has_been_checked_in=\u00c8 stato eseguito il Check In dell''elemento \\\"Copia di lavoro di {0}\\\". +portlets.checkout.working_copy_for_the_checked_out=\u00c8 stata creata una copia di lavoro per l''elemento sottoposto a Check Out \\\"Copia di lavoro di {0}\\\". task_summary_panel.close=Chiudi task_summary_panel.type=Tipo diff --git a/config/alfresco/messages/webclient.properties b/config/alfresco/messages/webclient.properties index 9e282ab9ad..a11bdc5d2a 100644 --- a/config/alfresco/messages/webclient.properties +++ b/config/alfresco/messages/webclient.properties @@ -1821,8 +1821,8 @@ current_repo_people=Current Alfresco People toggle_options=Toggle Options no_results=No results of=of -failed_gen_url=Failed to generate url for search engine '{0}'.\\n\\nThis is probably caused by missing required parameters, check the template url for the search engine. -failed_search=Failed to retrieve search results for '{0}' +failed_gen_url=Failed to generate url for search engine ''{0}''.\\n\\nThis is probably caused by missing required parameters, check the template url for the search engine. +failed_search=Failed to retrieve search results for ''{0}'' # UI Page Titles title_about=About Alfresco diff --git a/config/alfresco/messages/webclient_de.properties b/config/alfresco/messages/webclient_de.properties index 4889d17017..a948ce2967 100644 --- a/config/alfresco/messages/webclient_de.properties +++ b/config/alfresco/messages/webclient_de.properties @@ -1821,8 +1821,8 @@ current_repo_people=Aktuelle Alfresco Mitarbeiter toggle_options=Optionen umschalten no_results=Keine Ergebnisse. of=von -failed_gen_url=F\u00fcr Suchmaschine '{0}' konnte Url nicht erzeugt werden. \\n\\nDas wird vermutlich durch fehlende erforderliche Parameter verursacht. Mustervorlagen-Url f\u00fcr Suchmaschine pr\u00fcfen. -failed_search=Konnte Suchergebnisse f\u00fcr '{0}' nicht abrufen. +failed_gen_url=F\u00fcr Suchmaschine ''{0}'' konnte Url nicht erzeugt werden. \\n\\nDas wird vermutlich durch fehlende erforderliche Parameter verursacht. Mustervorlagen-Url f\u00fcr Suchmaschine pr\u00fcfen. +failed_search=Konnte Suchergebnisse f\u00fcr ''{0}'' nicht abrufen. # UI Page Titles title_about=\u00dcber Alfresco diff --git a/config/alfresco/messages/webclient_es.properties b/config/alfresco/messages/webclient_es.properties index d5d639187a..e0ade57386 100755 --- a/config/alfresco/messages/webclient_es.properties +++ b/config/alfresco/messages/webclient_es.properties @@ -1821,8 +1821,8 @@ current_repo_people=Personas actuales de Alfresco toggle_options=Activar/desactivar opciones no_results=Sin resultados of=de -failed_gen_url=No se pudo generar url para el motor de b\u00fasqueda para '{0}'.\\n\\nEsto se debe probablemente a que faltan par\u00e1metros requeridos, verifique el motor de b\u00fasqueda en la direcci\u00f3n URL de la plantilla. -failed_search=No se pudieron recuperar los resultados de b\u00fasqueda para '{0}' +failed_gen_url=No se pudo generar url para el motor de b\u00fasqueda para ''{0}''.\\n\\nEsto se debe probablemente a que faltan par\u00e1metros requeridos, verifique el motor de b\u00fasqueda en la direcci\u00f3n URL de la plantilla. +failed_search=No se pudieron recuperar los resultados de b\u00fasqueda para ''{0}'' # UI Page Titles title_about=Acerca de Alfresco diff --git a/config/alfresco/messages/webclient_fr.properties b/config/alfresco/messages/webclient_fr.properties index c7587d6689..d5ad034178 100755 --- a/config/alfresco/messages/webclient_fr.properties +++ b/config/alfresco/messages/webclient_fr.properties @@ -207,7 +207,7 @@ has_following_categories_space=Les cat\u00e9gories suivantes sont d\u00e9finies moved=d\u00e9plac\u00e9 copied=copi\u00e9 clipboard=Presse-papiers -node_added_clipboard=Un \u00e9l\u00e9ment a \u00e9t\u00e9 ajout\u00e9 au presse-papier. Il y a actuellement {0} \u00e9l\u00e9ment(s) dans le presse-papier. Pour coller tous les \u00e9l\u00e9ments collect\u00e9s, se placer dans l'Espace d\u00e9sir\u00e9 puis dans le menu ''Actions Suppl\u00e9mentaires'' s\u00e9lectionner ''Tout coller''. +node_added_clipboard=Un \u00e9l\u00e9ment a \u00e9t\u00e9 ajout\u00e9 au presse-papier. Il y a actuellement {0} \u00e9l\u00e9ment(s) dans le presse-papier. Pour coller tous les \u00e9l\u00e9ments collect\u00e9s, se placer dans l''Espace d\u00e9sir\u00e9 puis dans le menu ''Actions Suppl\u00e9mentaires'' s\u00e9lectionner ''Tout coller''. recent_spaces=Espaces r\u00e9cents shortcuts=Raccourcis company_home=Espace racine @@ -1821,8 +1821,8 @@ current_repo_people=Personnes du serveur Alfresco courant toggle_options=Basculer les Options no_results=Pas de r\u00e9sultat of=sur -failed_gen_url=Impossible de g\u00e9n\u00e9rer d''URL pour le moteur de recherche '{0}'.\\n\\nCela est probablement d\u00fb \u00e0 des param\u00e8tres requis manquants. V\u00e9rifiez l''URL mod\u00e8le pour le moteur de recherche. -failed_search=\u00c9chec dans l''obtention des r\u00e9sultats de recherche de '{0}' +failed_gen_url=Impossible de g\u00e9n\u00e9rer d''URL pour le moteur de recherche ''{0}''.\\n\\nCela est probablement d\u00fb \u00e0 des param\u00e8tres requis manquants. V\u00e9rifiez l''URL mod\u00e8le pour le moteur de recherche. +failed_search=\u00c9chec dans l''obtention des r\u00e9sultats de recherche de ''{0}'' # UI Page Titles title_about=A propos de Alfresco diff --git a/config/alfresco/messages/webclient_it.properties b/config/alfresco/messages/webclient_it.properties index b0b200fb31..37f58aea2e 100755 --- a/config/alfresco/messages/webclient_it.properties +++ b/config/alfresco/messages/webclient_it.properties @@ -1821,8 +1821,8 @@ current_repo_people=Persone Alfresco attuali toggle_options=Opzioni di toggle no_results=Nessun risultato of=di -failed_gen_url=Impossibile generare l''URL per il motore di ricerca '{0}'.\\n\\n\u00c8 probabile che manchino alcuni parametri richiesti. Verificare l''URL modello per il motore di ricerca. -failed_search=Impossibile recuperare i risultati della ricerca per '{0}' +failed_gen_url=Impossibile generare l''URL per il motore di ricerca ''{0}''.\\n\\n\u00c8 probabile che manchino alcuni parametri richiesti. Verificare l''URL modello per il motore di ricerca. +failed_search=Impossibile recuperare i risultati della ricerca per ''{0}'' # UI Page Titles title_about=Informazioni su Alfresco diff --git a/config/alfresco/messages/webclient_ja.properties b/config/alfresco/messages/webclient_ja.properties index 4234dbaf34..2a394dcffe 100755 --- a/config/alfresco/messages/webclient_ja.properties +++ b/config/alfresco/messages/webclient_ja.properties @@ -1014,7 +1014,7 @@ condition_is_subtype_not=\u30a2\u30a4\u30c6\u30e0\u306f ''{0}'' \u306e\u30b5\u30 condition_compare_mime_type=\u30a2\u30a4\u30c6\u30e0\u306f ''{0}'' \u306eMIME\u30bf\u30a4\u30d7\u3092\u542b\u307f\u307e\u3059\u3002 condition_compare_mime_type_not=\u30a2\u30a4\u30c6\u30e0\u306f ''{0}'' \u306eMIME\u30bf\u30a4\u30d7\u3092\u542b\u307f\u307e\u305b\u3093\u3002 condition_in_category=\u30a2\u30a4\u30c6\u30e0\u306f\u30ab\u30c6\u30b4\u30ea ''{0}'' \u306b\u5165\u3063\u3066\u3044\u307e\u3059\u3002 -condition_in_category_not=\u30a2\u30a4\u30c6\u30e0\u306f\u30ab\u30c6\u30b4\u30ea ''{0}'\u306b\u5165\u3063\u3066\u3044\u307e\u305b\u3093\u3002 +condition_in_category_not=\u30a2\u30a4\u30c6\u30e0\u306f\u30ab\u30c6\u30b4\u30ea ''{0}''\u306b\u5165\u3063\u3066\u3044\u307e\u305b\u3093\u3002 condition_compare_property_value=''{0}'' \u3068\u30de\u30c3\u30c1\u3059\u308b\u30cd\u30fc\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3 condition_compare_property_value_not=''{0}'' \u3068\u30de\u30c3\u30c1\u3057\u306a\u3044\u30cd\u30fc\u30e0\u30d7\u30ed\u30d1\u30c6\u30a3 action_add_features=\u30a2\u30b9\u30da\u30af\u30c8 ''{0}''\u306e\u8ffd\u52a0 @@ -1821,8 +1821,8 @@ current_repo_people=\u73fe\u5728\u306eAlfresco\u5229\u7528\u8005 toggle_options=\u30aa\u30d7\u30b7\u30e7\u30f3\u306e\u5207\u66ff no_results=\u7d50\u679c\u306a\u3057 of=\u306e\u3000 -failed_gen_url=\u691c\u7d22\u30a8\u30f3\u30b8\u30f3'{0}'\u306eURL\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\\n\\n\u5fc5\u9808\u30d1\u30e9\u30fc\u30e1\u30fc\u30bf\u304c\u4e0d\u8db3\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8URL\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 -failed_search={0}'\u306e\u691c\u7d22\u7d50\u679c\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 +failed_gen_url=\u691c\u7d22\u30a8\u30f3\u30b8\u30f3''{0}''\u306eURL\u306e\u751f\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\\n\\n\u5fc5\u9808\u30d1\u30e9\u30fc\u30e1\u30fc\u30bf\u304c\u4e0d\u8db3\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u691c\u7d22\u30a8\u30f3\u30b8\u30f3\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8URL\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 +failed_search={0}''\u306e\u691c\u7d22\u7d50\u679c\u306e\u53d6\u5f97\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 # UI Page Titles title_about=Alfresco\u306b\u3064\u3044\u3066 diff --git a/source/java/org/alfresco/web/app/servlet/ajax/AjaxServlet.java b/source/java/org/alfresco/web/app/servlet/ajax/AjaxServlet.java index 41ca56c7da..5755174a6c 100644 --- a/source/java/org/alfresco/web/app/servlet/ajax/AjaxServlet.java +++ b/source/java/org/alfresco/web/app/servlet/ajax/AjaxServlet.java @@ -81,7 +81,7 @@ public class AjaxServlet extends BaseServlet // dump the request headers if (headersLogger.isDebugEnabled()) { - final Enumeration headers = request.getHeaderNames(); + final Enumeration headers = request.getHeaderNames(); while (headers.hasMoreElements()) { final String name = (String)headers.nextElement(); @@ -190,9 +190,15 @@ public class AjaxServlet extends BaseServlet { msg = cause.toString(); } - - // send the error - response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg); + // ALF-9036. We need to trap incomplete sessions + if (cause instanceof IllegalStateException) + { + response.sendError(HttpServletResponse.SC_UNAUTHORIZED, cause.getMessage()); + } + else + { + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, msg); + } } else { diff --git a/source/java/org/alfresco/web/app/servlet/ajax/InvokeCommand.java b/source/java/org/alfresco/web/app/servlet/ajax/InvokeCommand.java index 3634bfb529..b258d8c2b2 100644 --- a/source/java/org/alfresco/web/app/servlet/ajax/InvokeCommand.java +++ b/source/java/org/alfresco/web/app/servlet/ajax/InvokeCommand.java @@ -107,7 +107,7 @@ public class InvokeCommand extends BaseAjaxCommand // all the objects in the session to find the bean we want. String beanNameSuffix = "?" + variableName; - Enumeration enumNames = request.getSession().getAttributeNames(); + Enumeration enumNames = request.getSession().getAttributeNames(); while (enumNames.hasMoreElements()) { String name = (String)enumNames.nextElement(); @@ -156,35 +156,56 @@ public class InvokeCommand extends BaseAjaxCommand public Object execute() throws Throwable { // invoke the method - method.invoke(beanFinal); - return null; + try + { + method.invoke(beanFinal); + return null; + } + // Let's prevent RuntimeExceptions being wrapped twice by unwrapping InvocationTargetExceptions + catch (InvocationTargetException e) + { + if (e.getCause() != null) + { + throw e.getCause(); + } + throw e; + } } }; txnHelper.doInTransaction(callback); } - catch (Throwable err) + catch (EvaluationException e) { - if (err instanceof EvaluationException) + Throwable err = e.getCause(); + if (err == null) { - final Throwable cause = ((EvaluationException)err).getCause(); - if (cause != null) + logger.error("Failed to execute method " + expression + ": " + e.getMessage(), e); + throw e; + } + else + { + logger.error("Failed to execute method " + expression + ": " + err.getMessage(), err); + if (err instanceof RuntimeException) { - err = cause; - } - } - else if (err instanceof InvocationTargetException) - { - final Throwable cause = ((InvocationTargetException)err).getCause(); - if (cause != null) - { - err = cause; + throw (RuntimeException)err; + } + else + { + throw new AlfrescoRuntimeException("Failed to execute method " + expression + ": " + err.getMessage(), err); } } + } + catch (RuntimeException err) + { - logger.error("Failed to execute method " + expression + ": " + err.getMessage(), - err); - throw new AlfrescoRuntimeException("Failed to execute method " + expression + - ": " + err.getMessage(), err); + logger.error("Failed to execute method " + expression + ": " + err.getMessage(), err); + throw err; + } + catch (Exception err) + { + + logger.error("Failed to execute method " + expression + ": " + err.getMessage(), err); + throw new AlfrescoRuntimeException("Failed to execute method " + expression + ": " + err.getMessage(), err); } // force the output back to the client diff --git a/source/java/org/alfresco/web/forms/xforms/XFormsBean.java b/source/java/org/alfresco/web/forms/xforms/XFormsBean.java index 1406483093..de372f941c 100644 --- a/source/java/org/alfresco/web/forms/xforms/XFormsBean.java +++ b/source/java/org/alfresco/web/forms/xforms/XFormsBean.java @@ -166,6 +166,21 @@ public class XFormsBean implements Serializable { return this.formInstanceDataName; } + + public Schema2XForms getSchema2XForms() + { + return this.schema2XForms; + } + + public ChibaBean getChibaBean() + { + return this.chibaBean; + } + + public List getEventLog() + { + return this.eventLog; + } } ///////////////////////////////////////////////////////////////////////////// @@ -183,6 +198,15 @@ public class XFormsBean implements Serializable public static String BEAN_NAME = "XFormsBean"; + public XFormsSession getXformsSession() + { + if (this.xformsSession == null) + { + throw new IllegalStateException("Incomplete user session. Please restart the form."); + } + return this.xformsSession; + } + /** * @param schema2XFormsProperties the schema2XFormsProperties to set. */ @@ -332,7 +356,7 @@ public class XFormsBean implements Serializable readLock.lock(); try { - final ChibaBean chibaBean = this.xformsSession.chibaBean; + final ChibaBean chibaBean = this.getXformsSession().getChibaBean(); final Node xformsDocument = chibaBean.getXMLContainer(); XMLUtil.print(xformsDocument, out); } @@ -358,7 +382,7 @@ public class XFormsBean implements Serializable writeLock.lock(); try { - final ChibaBean chibaBean = this.xformsSession.chibaBean; + final ChibaBean chibaBean = this.getXformsSession().getChibaBean(); if (chibaBean.getContainer().lookup(id) instanceof Upload) { @@ -397,7 +421,7 @@ public class XFormsBean implements Serializable final int index = Integer.parseInt((String)requestParameters.get(id)); if (LOGGER.isDebugEnabled()) LOGGER.debug(this + ".setRepeatIndex(" + id + ", " + index + ")"); - final ChibaBean chibaBean = this.xformsSession.chibaBean; + final ChibaBean chibaBean = this.getXformsSession().getChibaBean(); chibaBean.updateRepeatIndex(id, index); } final ResponseWriter out = context.getResponseWriter(); @@ -425,7 +449,7 @@ public class XFormsBean implements Serializable writeLock.lock(); try { - final ChibaBean chibaBean = this.xformsSession.chibaBean; + final ChibaBean chibaBean = this.getXformsSession().getChibaBean(); chibaBean.dispatch(id, DOMEventNames.ACTIVATE); final ResponseWriter out = context.getResponseWriter(); @@ -452,7 +476,7 @@ public class XFormsBean implements Serializable context.getExternalContext().getRequest(); final Document result = XMLUtil.parse(request.getInputStream()); this.handleSubmit(result); - final Document instanceData = this.xformsSession.getFormInstanceData(); + final Document instanceData = this.getXformsSession().getFormInstanceData(); final ResponseWriter out = context.getResponseWriter(); XMLUtil.print(instanceData, out, false); out.close(); @@ -465,7 +489,7 @@ public class XFormsBean implements Serializable public void handleSubmit(Node result) { - final Document instanceData = this.xformsSession.getFormInstanceData(); + final Document instanceData = this.getXformsSession().getFormInstanceData(); Element documentElement = instanceData.getDocumentElement(); if (documentElement != null) { @@ -497,16 +521,16 @@ public class XFormsBean implements Serializable writeLock.lock(); try { - final ChibaBean chibaBean = this.xformsSession.chibaBean; + final ChibaBean chibaBean = this.getXformsSession().getChibaBean(); final RepeatItem from = (RepeatItem)chibaBean.getContainer().lookup(fromItemId); if (from == null) { - throw new NullPointerException("unable to find source repeat item " + fromItemId); + throw new IllegalArgumentException("unable to find source repeat item " + fromItemId); } final RepeatItem to = (RepeatItem)chibaBean.getContainer().lookup(toItemId); if (to == null) { - throw new NullPointerException("unable to find destination repeat item " + toItemId); + throw new IllegalArgumentException("unable to find destination repeat item " + toItemId); } this.swapRepeatItems(from, to); @@ -683,7 +707,7 @@ public class XFormsBean implements Serializable final Element eventsElement = result.createElement("events"); result.appendChild(eventsElement); - for (XMLEvent xfe : this.xformsSession.eventLog) + for (XMLEvent xfe : this.getXformsSession().getEventLog()) { final String type = xfe.getType(); if (LOGGER.isDebugEnabled()) @@ -724,7 +748,7 @@ public class XFormsBean implements Serializable LOGGER.debug("performing full revalidate"); try { - final Model model = this.xformsSession.chibaBean.getContainer().getDefaultModel(); + final Model model = this.getXformsSession().getChibaBean().getContainer().getDefaultModel(); final Instance instance = model.getDefaultInstance(); model.getValidator().validate(instance, "/", new DefaultValidatorMode()); final Iterator it = instance.iterateModelItems("/"); @@ -785,7 +809,7 @@ public class XFormsBean implements Serializable throws FormBuilderException { String path = null; - if (this.xformsSession.form.isWebForm()) + if (this.getXformsSession().getForm().isWebForm()) { path = this.getCurrentAVMPath(); } @@ -812,7 +836,7 @@ public class XFormsBean implements Serializable XFormsBean.rewriteInlineURIs(schemaDocument, path); final String rootElementName = this.xformsSession.form.getSchemaRootElementName(); final Pair result = - this.xformsSession.schema2XForms.buildXForm(this.xformsSession.formInstanceData, + this.getXformsSession().getSchema2XForms().buildXForm(this.getXformsSession().getFormInstanceData(), schemaDocument, rootElementName, resourceBundle);