Salome HOME
Update uses list functionality
[tools/siman.git] / Workspace / Siman / src / struts.xml
index 50f5fd11d57669937cb4b4659cd2266a3ed5dfec..add83ea64d212facfac6f3b4c59e174557c5c3d2 100644 (file)
 
 <struts>
        <constant name="struts.objectFactory" value="spring" />
-    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
-    <constant name="struts.devMode" value="true" />
-    <constant name="struts.custom.i18n.resources" value="log-messages,labels,som" />
-    <constant name="struts.i18n.encoding" value="ISO-8859-1" />
-
-    <package name="simer-default" namespace="/" extends="struts-default">
-    </package>
-
-    <package name="default" namespace="/" extends="simer-default">
-       
-       <result-types>
-               <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
-       </result-types>
-
-        <default-action-ref name="index" />
-
-        <action name="index" class="startAction" method="initialize">
-            <result name="success" type="tiles">page.welcome</result>
-            <result name="error" type="tiles">page.exception</result>
-        </action>        
-        <action name="login" class="connectionAction" method="login">
-            <result name="none" type="tiles">page.home</result>
-            <result name="open"      type="redirectAction">select?menu=search</result>
-            <result name="study"     type="redirectAction">study/step-study</result>
-            <result name="knowledge" type="redirectAction">study/step-knowledge</result>
-            <!--result name="input">/login.jsp</result-->
-            <result name="input" type="tiles">page.login</result>
-            <result name="error" type="tiles">page.home</result>
-        </action>
-        <action name="logout" class="connectionAction" method="logout">
-            <result name="none" type="tiles">page.home</result>
+       <constant name="struts.enable.DynamicMethodInvocation"
+               value="false" />
+       <constant name="struts.devMode" value="true" />
+       <constant name="struts.custom.i18n.resources"
+               value="log-messages,labels,som" />
+       <constant name="struts.i18n.encoding" value="ISO-8859-1" />
+       <constant name="struts.multipart.maxSize" value="100485760" />
+
+       <package name="simer-default" namespace="/"
+               extends="struts-default">
+
+               <result-types>
+                       <result-type name="tiles"
+                               class="org.apache.struts2.views.tiles.TilesResult" />
+               </result-types>
+
+               <interceptors>
+                       <interceptor name="redirectOnEndOfSession"
+                               class="redirectOnEndOfSessionInterceptor" />
+                       <interceptor name="file-upload"
+                               class="org.apache.struts2.interceptor.FileUploadInterceptor">
+                       </interceptor>
+                       
+                       <interceptor-stack name="siman-validation">
+                   <interceptor-ref name="validation">
+                    <param name="excludeMethods">input,back,cancel,browse</param>
+                </interceptor-ref>
+                <interceptor-ref name="workflow"/>
+                </interceptor-stack>
+
+                       <interceptor-stack name="simanBasicStack">
+                <interceptor-ref name="i18n" />
+                <interceptor-ref name="exception" />
+                               <interceptor-ref name="servletConfig" />
+                               <interceptor-ref name="redirectOnEndOfSession" />
+                               <interceptor-ref name="prepare" />
+                               <interceptor-ref name="checkbox" />
+                               <interceptor-ref name="params" />
+                       </interceptor-stack>
+               </interceptors>
+
+               <default-interceptor-ref name="simanBasicStack" />
+
+               <global-results>
+                       <result name="exception" type="chain">
+                               exceptionAction
+                       </result>
+                       <result name="home" type="redirectAction">
+                               <param name="actionName">index</param>
+                               <param name="namespace">/</param>
+                       </result>
+               </global-results>
+
+               <global-exception-mappings>
+                       <exception-mapping exception="java.lang.Exception"
+                               result="exception" />
+               </global-exception-mappings>
+
+
+               <action name="exceptionAction" class="exceptionAction"
+                       method="process">
+                       <interceptor-ref name="exception" />
+                       <interceptor-ref name="basicStack" />
+                       <result name="error" type="tiles">page.home</result>
+                       <result name="success" type="tiles">page.home</result>
+               </action>
+       </package>
+
+       <package name="default" namespace="/" extends="simer-default">
+
+               <default-action-ref name="index" />
+
+               <!-- 
+                       <action name="test.exception.page" class="testExceptionAction" method="throwException">
+                       <result name="success" type="tiles">page.test.exception</result>
+                       </action>
+                       <action name="test.json.exception.page">
+                       <result name="success" type="tiles">page.test.json.exception</result>
+                       </action>
+               -->
+               <action name="invalidate-session" class="invalidateAction"
+                       method="invalidate">
+                       <result name="success" type="tiles">page.home</result>
+               </action>
+
+               <action name="index" class="startAction" method="initialize">
+                       <result name="success" type="tiles">page.welcome</result>
+                       <result name="error" type="tiles">page.exception</result>
+               </action>
+               <action name="login" class="connectionAction" method="login">
+                       <result name="none" type="tiles">page.home</result>
             <result name="create" type="tiles">page.home</result>
-            <result name="open"      type="redirectAction">select?menu=search</result>
-            <result name="study"     type="redirectAction">study/step-study</result>
-            <result name="knowledge" type="redirectAction">study/step-knowledge</result>
-            <result name="datadmin" type="tiles">page.home</result>
-            <result name="sysadmin" type="tiles">page.home</result>
-        </action>
-        <action name="select" class="menuAction" method="selectItem">
-            <result name="new-empty"        type="redirectAction">study/new-empty</result>
-            <result name="search-study"     type="redirectAction">study/search-study</result>
-            <result name="search-knowledge" type="redirectAction">study/search-knowledge</result>
-            <result name="search-document"  type="redirectAction">study/search-document</result>
-            <result name="prop-general"     type="redirectAction">study/prop-study</result>
-            <result name="prop-scenario"    type="redirectAction">study/prop-scenario</result>
-            <result name="admin-indexing"   type="redirectAction">sadmin/indexing</result>
-            <result name="admin-importuser" type="redirectAction">sadmin/select-file?nextAction=importuser</result>
-            <result name="admin-scontext"   type="redirectAction">sadmin/scontext</result>
-            <result name="admin-knowelm"    type="redirectAction">sadmin/knowlelm</result>
-            <result name="none">/menu.jsp?menu=%{menu}</result>
-        </action>
-
-    </package>
-
-    <package name="study" namespace="/study" extends="simer-default">
-    
-        <result-types>
-               <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
-       </result-types>
-
-        <action name="notyetimplemented" class="notYetImplementedAction" method="initialize">
-            <result name="success" type="tiles">page.error.study</result>
-        </action>
-
-        <!-- Creation of a study
-          -->        
-        <action name="new-empty" class="newStudyAction" method="initialize">
-            <result name="success" type="tiles">page.newstudy</result>
-        </action>
-        <action name="valid-new" class="newStudyAction" method="create">
-            <result name="success" type="redirectAction">open-study?selection=0.1</result>
-            <result name="input" type="tiles">page.newstudy</result>
+                       <result name="open" type="redirectAction">
+                               select?menu=search
+                       </result>
+                       <result name="study" type="redirectAction">
+                               study/open-study
+                       </result>
+                       <result name="knowledge" type="redirectAction">
+                               study/step-knowledge
+                       </result>
+                       <!--result name="input">/login.jsp</result-->
+                       <result name="input" type="tiles">page.login</result>
+                       <result name="error" type="tiles">page.home</result>
+               </action>
+               <action name="logout" class="connectionAction"
+                       method="logout">
+                       <result name="none" type="tiles">page.home</result>
+                       <result name="create" type="tiles">page.home</result>
+                       <result name="open" type="redirectAction">
+                               select?menu=search
+                       </result>
+                       <result name="study" type="tiles">page.home</result>
+                       <result name="knowledge" type="tiles">page.home</result>
+                       <result name="datadmin" type="tiles">page.home</result>
+                       <result name="sysadmin" type="tiles">page.home</result>
+               </action>
+               <action name="select" class="menuAction" method="selectItem">
+                       <result name="new-empty" type="redirectAction">
+                               study/new-empty
+                       </result>
+            <result name="new-copy" type="redirectAction">
+                study/new-copy
+            </result>
+                       <result name="search-study" type="redirectAction">
+                               study/search-study
+                       </result>
+                       <result name="search-knowledge" type="redirectAction">
+                               study/search-knowledge
+                       </result>
+                       <result name="search-document" type="redirectAction">
+                               study/search-document
+                       </result>
+                       <result name="prop-general" type="redirectAction">
+                               study/prop-study
+                       </result>
+                       <result name="prop-scenario" type="redirectAction">
+                               study/prop-scenario
+                       </result>
+                       <result name="admin-indexing" type="redirectAction">
+                               sadmin/indexing
+                       </result>
+                       <result name="admin-importuser" type="redirectAction">
+                               sadmin/select-file?nextAction=importuser
+                       </result>
+                       <result name="admin-scontext" type="redirectAction">
+                               sadmin/scontext
+                       </result>
+                       <result name="admin-knowelm" type="redirectAction">
+                               sadmin/knowlelm
+                       </result>
+                       <!-- If no menu item is selected then go to home page -->
+                       <result name="none" type="tiles">page.home</result>
+               </action>
+
+       </package>
+
+       <package name="study" namespace="/study" extends="simer-default">
+
+               <result-types>
+                       <result-type name="tiles"
+                               class="org.apache.struts2.views.tiles.TilesResult" />
+               </result-types>
+
+               <action name="notyetimplemented" class="notYetImplementedAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.error.study
+                       </result>
+               </action>
+
+               <action name="checkout" class="checkoutAction"
+                       method="checkout">
+                       <result name="success">/study/jsonCheckoutRes.jsp</result>
+               </action>
+
+               <!-- Creation of a study
+               -->
+               <action name="new-empty" class="newStudyAction"
+                       method="initialize">
+                       <result name="success" type="tiles">page.newstudy</result>
+               </action>
+               <action name="valid-new" class="newStudyAction"
+                       method="create">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="siman-validation"/>
+                       <result name="success" type="redirectAction">
+                               open-study?selection=0.1
+                       </result>
+                       <result name="input" type="tiles">page.newstudy</result>
+                       <result name="error" type="tiles">page.home</result>
+               </action>
+
+        <!-- Creation of a new study from existing one
+        -->
+        <action name="new-copy" class="copyStudyAction"
+            method="initialize">
+            <result name="success" type="tiles">page.newcopy</result>
+        </action>
+        <action name="valid-copy" class="copyStudyAction"
+            method="create">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="siman-validation"/>
+            <result name="success" type="redirectAction">
+                open-study?selection=0.1
+            </result>
+            <result name="input" type="tiles">page.newcopy</result>
             <result name="error" type="tiles">page.home</result>
         </action>
 
-        <!-- Search for studies, knowledge elements and documents
-          -->
-        <action name="search-study" class="searchStudyAction" method="initialize">
-            <result name="success" type="tiles">page.searchstudy</result>
+               <!-- Search for studies, knowledge elements and documents
+               -->
+               <action name="search-study" class="searchStudyAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.searchstudy
+                       </result>
+                       <result name="error" type="tiles">page.home</result>
+               </action>
+               <action name="setStudyOrder" class="searchStudyAction"
+                   method="setOrder">
+            <result name="success" type="tiles">
+                page.searchstudy
+            </result>
+            <result name="error" type="tiles">
+                page.searchstudy
+            </result>
+               </action>
+               <action name="refresh-study" class="searchStudyAction"
+                       method="submitForm">
+                       <result name="selectype" type="tiles">
+                               page.searchstudy
+                       </result>
+                       <result name="refresh" type="tiles">
+                               page.searchstudy
+                       </result>
+                       <result name="wait" type="tiles">page.searchstudy</result>
+                       <result name="error" type="redirectAction">
+                               search-study
+                       </result>
+               </action>
+
+               <action name="search-knowledge" class="searchKnowledgeAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.searchknowledge
+                       </result>
+               </action>
+               <action name="setKnowledgeOrder" class="searchKnowledgeAction"
+            method="setOrder">
+            <result name="success" type="tiles">
+                page.searchknowledge
+            </result>
+            <result name="error" type="tiles">
+                page.searchknowledge
+            </result>
+        </action>
+               <action name="refresh-knowledge" class="searchKnowledgeAction"
+                       method="submitForm">
+                       <result name="selectype" type="tiles">
+                               page.searchknowledge
+                       </result>
+                       <result name="refresh" type="tiles">
+                               page.searchknowledge
+                       </result>
+                       <result name="wait" type="tiles">
+                               page.searchknowledge
+                       </result>
+                       <result name="error" type="redirectAction">
+                               search-knowledge
+                       </result>
+               </action>
+
+               <action name="search-document" class="searchDocumentAction"
+                       method="initialize">
+                       <result name="success">/study/searchDocument.jsp</result>
+               </action>
+
+               <!-- Display of studies
+               -->
+               <action name="open-study" class="displayStudyStepAction"
+                       method="open">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
             <result name="error" type="tiles">page.home</result>
-        </action>
-        <action name="refresh-study" class="searchStudyAction" method="submitForm">
-            <result name="selectype" type="tiles">page.searchstudy</result>
-            <result name="refresh" type="tiles">page.searchstudy</result>
-            <result name="wait" type="tiles">page.searchstudy</result>
-            <result name="error" type="redirectAction">search-study</result>
-        </action>
-
-        <action name="search-knowledge" class="searchKnowledgeAction" method="initialize">
-            <result name="success" type="tiles">page.searchknowledge</result>
-        </action>
-        <action name="refresh-knowledge" class="searchKnowledgeAction" method="submitForm">
-            <result name="selectype" type="tiles">page.searchknowledge</result>
-            <result name="refresh" type="tiles">page.searchknowledge</result>
-            <result name="wait" type="tiles">page.searchknowledge</result>
-            <result name="error" type="redirectAction">search-knowledge</result>
-        </action>
-
-        <action name="search-document" class="searchDocumentAction" method="initialize">
-            <result name="success">/study/searchDocument.jsp</result>
-        </action>
-
-        <!-- Display of studies
-          -->
-        <action name="open-study" class="displayStudyStepAction" method="open">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="step-study" class="displayStudyStepAction" method="selectStep">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="document-study" class="displayStudyStepAction" method="selectDocument">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="knowledge-study" class="displayStudyStepAction" method="selectKnowledge">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="close-study" class="displayStudyStepAction" method="close">
+               </action>
+               <action name="step-study" class="displayStudyStepAction"
+                       method="selectStep">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="document-study" class="displayStudyStepAction"
+                       method="selectDocument">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="knowledge-study" class="displayStudyStepAction"
+                       method="selectKnowledge">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+        <action name="close-study" class="displayStudyStepAction"
+            method="close">
             <result name="success" type="tiles">page.home</result>
         </action>
-        <action name="prop-study" class="studyPropertiesAction" method="initialize">
-            <result name="display" type="tiles">page.displaystudyproperties</result>
-            <result name="edit" type="tiles">page.editstudyproperties</result>
-        </action>
-
-        <!-- Display of knowledge elements
-          -->        
-        <action name="open-knowledge" class="displayKnowledgeAction" method="open">
-            <result name="success" type="tiles">page.displayknowledge</result>
-        </action>
-        <action name="step-knowledge" class="displayKnowledgeAction" method="selectStep">
-            <result name="success" type="tiles">page.displayknowledge</result>
-        </action>
-        <action name="document-knowledge" class="displayKnowledgeAction" method="selectDocument">
-            <result name="success" type="tiles">page.displayknowledge</result>
-        </action>
-        <action name="knowledge-knowledge" class="displayKnowledgeAction" method="selectKnowledge">
-            <result name="success" type="tiles">page.displayknowledge</result>
-        </action>
-        <action name="close-knowledge" class="displayKnowledgeAction" method="close">
+        <action name="remove-study" class="removeStudyAction"
+            method="remove">
             <result name="success" type="tiles">page.home</result>
         </action>
-
-        <!-- Edition of study
-          -->        
-        <action name="edit-study" class="editStudyAction" method="edition">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="add-scenario" class="newScenarioAction" method="initialize">
-            <result name="success" type="tiles">page.newscenario</result>
-        </action>
-        <action name="edit-title" class="studyPropertiesAction" method="editTitle">
-            <result name="success" type="tiles">page.editstudyproperties</result>
-        </action>
-        <action name="edit-contributor" class="studyPropertiesAction" method="editContributors">
-            <result name="success" type="tiles">page.editstudyproperties</result>
-        </action>
-        <action name="edit-cycle" class="studyPropertiesAction" method="editCycle">
-            <result name="success" type="tiles">page.editstudyproperties</result>
-        </action>
-        <action name="select-step" class="newScenarioAction" method="selectStep">
-            <result name="success" type="tiles">page.newscenario</result>
-        </action>
-        <action name="valid-add" class="newScenarioAction" method="create">
-            <result name="cancel"  type="redirectAction">step-study</result>
-            <result name="success" type="redirectAction">step-study</result>
-           <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="valid-edit" class="studyPropertiesAction" method="edition">
-            <result name="success" type="tiles">page.editstudyproperties</result>
-        </action>
-        <action name="prop-scenario" class="editScenarioPropertiesAction" method="initialize">
-            <result name="success" type="tiles">page.editscenarioproperties</result>
-        </action>
-
-        <!-- Edition of scenario
-          -->
-        <action name="checkin-scenario" class="editScenarioPropertiesAction" method="checkin">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-
-        <!-- Edition of simulation contexts
-          -->        
-        <action name="add-context" class="editSimulationContextAction" method="initialize">
-            <result name="create">/study/displayStudyStep.jsp?action=newContext</result>
-            <result name="select">/study/displayStudyStep.jsp?action=selectContext</result>
-        </action>
-        <action name="selectContext" class="editSimulationContextAction" method="selectContext">
-            <result name="create">/study/displayStudyStep.jsp?action=newContext</result>
-            <result name="set">/study/displayStudyStep.jsp?action=setContext&amp;index=%{contextType.index}</result>
-        </action>
-        <action name="newContext" class="editSimulationContextAction" method="createContext">
-            <result name="success" type="tiles">page.displaystudy</result>
-            <result name="input">/study/displayStudyStep.jsp?action=newContext</result>
-            <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="setContext" class="editSimulationContextAction" method="setContext">
-            <result name="success" type="tiles">page.displaystudy</result>
-            <result name="input">/study/displayStudyStep.jsp?action=setContext&amp;index=%{contextType.index}</result>
-            <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="remove-context" class="editSimulationContextAction" method="deleteContext">
-            <result name="success" type="tiles">page.displaystudy</result>
-            <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-
-        <!-- Edition of documents
+               <action name="prop-study" class="studyPropertiesAction"
+                       method="initialize">
+                       <result name="display" type="tiles">
+                               page.displaystudyproperties
+                       </result>
+                       <result name="edit" type="tiles">
+                               page.editstudyproperties
+                       </result>
+               </action>
+
+               <!-- Display of knowledge elements
+               -->
+               <action name="open-knowledge" class="displayKnowledgeAction"
+                       method="open">
+                       <result name="success" type="tiles">
+                               page.displayknowledge
+                       </result>
+               </action>
+               <action name="step-knowledge" class="displayKnowledgeAction"
+                       method="selectStep">
+                       <result name="success" type="tiles">
+                               page.displayknowledge
+                       </result>
+               </action>
+               <action name="document-knowledge" class="displayKnowledgeAction"
+                       method="selectDocument">
+                       <result name="success" type="tiles">
+                               page.displayknowledge
+                       </result>
+               </action>
+               <action name="knowledge-knowledge"
+                       class="displayKnowledgeAction" method="selectKnowledge">
+                       <result name="success" type="tiles">
+                               page.displayknowledge
+                       </result>
+               </action>
+               <action name="close-knowledge" class="displayKnowledgeAction"
+                       method="close">
+                       <result name="success" type="tiles">page.home</result>
+               </action>
+
+               <!-- Edition of study
+               -->
+               <action name="edit-study" class="editStudyAction"
+                       method="edition">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="markasref-study" class="editStudyAction"
+                       method="markAsReference">
+                       <interceptor-ref name="simanBasicStack" />
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="removeasref-study" class="editStudyAction"
+                       method="removeAsReference">
+                       <interceptor-ref name="simanBasicStack" />
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="valid-rename" class="editScenarioPropertiesAction"
+                       method="editScenarioTitle">
+                       <interceptor-ref name="simanBasicStack" />
+            <interceptor-ref name="siman-validation" />
+                       <result name="success" type="redirectAction">
+                               open-study
+                       </result>
+               </action>
+               <action name="remove-scenario" class="editScenarioPropertiesAction"
+            method="removeScenario">
+            <result name="success" type="redirectAction">
+                open-study
+            </result>
+            <result name="error" type="redirectAction">
+                step-study
+            </result>
+        </action>      
+               <action name="add-scenario" class="newScenarioAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.newscenario
+                       </result>
+               </action>
+               <action name="edit-title" class="studyPropertiesAction"
+                       method="editTitle">
+                       <result name="success" type="tiles">
+                               page.editstudyproperties
+                       </result>
+               </action>
+               <action name="edit-contributor" class="studyPropertiesAction"
+                       method="editContributors">
+                       <result name="success" type="tiles">
+                               page.editstudyproperties
+                       </result>
+               </action>
+               <action name="edit-cycle" class="studyPropertiesAction"
+                       method="editCycle">
+                       <result name="success" type="tiles">
+                               page.editstudyproperties
+                       </result>
+               </action>
+               <action name="select-step" class="newScenarioAction"
+                       method="selectStep">
+                       <result name="success" type="tiles">
+                               page.newscenario
+                       </result>
+               </action>
+               <action name="valid-add" class="newScenarioAction"
+                       method="create">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="siman-validation"/>
+                       <result name="cancel" type="redirectAction">
+                               step-study
+                       </result>
+                       <result name="success" type="redirectAction">
+                               open-study
+                       </result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+               <action name="valid-edit" class="studyPropertiesAction"
+                       method="edition">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="validation"/>
+                       <result name="success" type="tiles">
+                               page.editstudyproperties
+                       </result>
+               </action>
+               <action name="prop-scenario"
+                       class="editScenarioPropertiesAction" method="initialize">
+                       <result name="success" type="tiles">
+                               page.editscenarioproperties
+                       </result>
+               </action>
+        <action name="init-edit-readers" class="studyPropertiesAction"
+            method="initEditReaders">
+            <result name="success" type="tiles">
+                page.editstudyproperties
+            </result>
+        </action>
+
+               <!-- Edition of scenario
+               -->
+               <action name="checkin-scenario"
+                       class="editScenarioPropertiesAction" method="checkin">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+
+               <!-- Edition of simulation contexts
+               -->
+               <action name="add-context" class="editSimulationContextAction"
+                       method="initialize">
+                       <result name="create" type="tiles">page.newcontext</result>
+                       <result name="select" type="tiles">
+                               page.selectcontext
+                       </result>
+               </action>
+               <action name="selectContext" class="editSimulationContextAction"
+                       method="selectContext">
+                       <result name="create" type="tiles">page.newcontext</result>
+                       <result name="set" type="tiles">page.setcontext</result>
+               </action>
+               <action name="newContext" class="editSimulationContextAction"
+                       method="createContext">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+                       <result name="input" type="tiles">page.newcontext</result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+               <action name="setContext" class="editSimulationContextAction"
+                       method="setContext">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+                       <result name="input" type="tiles">page.setcontext</result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+               <action name="remove-context"
+                       class="editSimulationContextAction" method="deleteContext">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+
+               <!-- Edition of documents
+               -->
+               <action name="select-file" class="uploadAction"
+                       method="initializeStudy">
+                       <result name="success" type="tiles">
+                               page.uploadstudy
+                       </result>
+               </action>
+               <action name="upload" class="uploadAction" method="upload">
+            <interceptor-ref name="file-upload" />
+            <interceptor-ref name="simanBasicStack" />
+                       <result name="cancel" type="redirectAction">
+                               step-study
+                       </result>
+                       <result name="import" type="redirectAction">
+                               import-document?fileName=%{canceledFileName}
+                       </result>
+                       <result name="version" type="redirectAction">
+                               version-document?index=%{index}&amp;fileName=%{canceledFileName}
+                       </result>
+            <result name="attach" type="redirectAction">
+                attach-document?index=%{index}&amp;fileName=%{canceledFileName}
+            </result>
+            <result name="replace" type="redirectAction">
+                replace-document?index=%{index}&amp;fileName=%{canceledFileName}
+            </result>
+                       <result name="outofmemory" type="tiles">
+                               page.error.study
+                       </result>
+               </action>
+               <action name="import-document" class="importDocumentAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.importdocument
+                       </result>
+                       <result name="error" type="tiles">page.importerror</result>
+               </action>
+               <action name="update-uses" class="importDocumentAction"
+                       method="updateUsesList">
+                       <result name="success"  type="dispatcher">
+                               /study/usesList.jsp
+                       </result>
+               </action>
+               <action name="valid-import" class="importDocumentAction"
+                       method="import">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="siman-validation"/>
+                       <result name="success" type="redirectAction">
+                               open-study
+                       </result>
+                       <result name="error" type="tiles">page.importerror</result>
+               </action>
+               <action name="version-document" class="versionDocumentAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.versiondocument
+                       </result>
+                       <result name="error" type="tiles">page.importerror</result>
+               </action>
+               <action name="valid-version" class="versionDocumentAction"
+                       method="version">
+                       <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="siman-validation"/>
+                       <result name="success" type="redirectAction">
+                               step-study
+                       </result>
+                       <result name="cancel" type="redirectAction">
+                               step-study
+                       </result>
+                       <result name="error" type="tiles">page.importerror</result>
+               </action>
+        <action name="attach-document" class="editDocumentAction"
+            method="attach">
+            <result name="success" type="tiles">
+                page.displaystudy
+            </result>
+        </action>
+        <action name="replace-document" class="editDocumentAction"
+            method="replace">
+            <result name="success" type="tiles">
+                page.displaystudy
+            </result>
+        </action>
+               <action name="edit-document" class="editDocumentAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="setDocument" class="editDocumentAction"
+                       method="setDocument">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="remove-document" class="editDocumentAction"
+                       method="deleteDocument">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+
+               <!-- Edition of knowledge elements
+               -->
+               <action name="add-knowledge" class="editKnowledgeElementAction"
+                       method="initialize">
+                       <!--             <result name="success">/study/displayStudy.jsp?action=addKnowledge&amp;index=%{knowledgeType}</result>-->
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="edit-knowledge" class="editKnowledgeElementAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="setKnowledge" class="editKnowledgeElementAction"
+                       method="setKnowledge">
+            <interceptor-ref name="simanBasicStack"/>
+            <interceptor-ref name="validation"/>
+                       <result name="success" type="redirectAction">
+                study/open-study
+            </result>
+               </action>
+               <action name="remove-knowledge"
+                       class="editKnowledgeElementAction" method="deleteKnowledge">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+                       <result name="error" type="tiles">page.displaystudy</result>
+               </action>
+               <action name="promote-knowledge"
+                       class="editKnowledgeElementAction" method="promoteKnowledge">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               <action name="demote-knowledge"
+                       class="editKnowledgeElementAction" method="demoteKnowledge">
+                       <result name="success" type="tiles">
+                               page.displaystudy
+                       </result>
+               </action>
+               
+               <!-- Edition of step
           -->
-        <action name="select-file" class="uploadAction" method="initialize">
-            <result name="success" type="tiles">page.uploadstudy</result>
-        </action>
-        <action name="upload" class="uploadAction" method="upload">
-            <result name="cancel"  type="redirectAction">step-study</result>
-            <result name="import"  type="redirectAction">import-document?fileName=%{fileName}</result>
-            <result name="version" type="redirectAction">version-document?index=%{index}&amp;fileName=%{fileName}</result>
-            <result name="attach"  type="redirectAction">attach-document?index=%{index}&amp;fileName=%{fileName}</result>
-            <result name="outofmemory" type="tiles">page.error.study</result>
-        </action>
-        <action name="import-document" class="importDocumentAction" method="initialize">
-            <result name="success" type="tiles">page.importdocument</result>
-            <result name="error" type="tiles">page.importerror</result>
-        </action>
-        <action name="valid-import" class="importDocumentAction" method="import">
-            <result name="success" type="redirectAction">step-study</result>
-            <result name="cancel"  type="redirectAction">step-study</result>
-            <result name="error" type="tiles">page.importerror</result>
-        </action>
-        <action name="version-document" class="versionDocumentAction" method="initialize">
-            <result name="success" type="tiles">page.versiondocument</result>
-            <result name="error" type="tiles">page.importerror</result>
-        </action>
-        <action name="valid-version" class="versionDocumentAction" method="version">
-            <result name="success" type="redirectAction">step-study</result>
-            <result name="cancel"  type="redirectAction">step-study</result>
-            <result name="error" type="tiles">page.importerror</result>
-        </action>
-        <action name="attach-document" class="editDocumentAction" method="attach">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="edit-document" class="editDocumentAction" method="initialize">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="setDocument" class="editDocumentAction" method="setDocument">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="remove-document" class="editDocumentAction" method="deleteDocument">
-            <result name="success" type="tiles">page.displaystudy</result>
-            <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-
-        <!-- Edition of knowledge elements
-          -->        
-        <action name="add-knowledge" class="editKnowledgeElementAction" method="initialize">
-            <result name="success">/study/displayStudyStep.jsp?action=addKnowledge&amp;index=%{knowledgeType}</result>
-        </action>
-        <action name="edit-knowledge" class="editKnowledgeElementAction" method="initialize">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="setKnowledge" class="editKnowledgeElementAction" method="setKnowledge">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="remove-knowledge" class="editKnowledgeElementAction" method="deleteKnowledge">
-            <result name="success" type="tiles">page.displaystudy</result>
-            <result name="error" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="promote-knowledge" class="editKnowledgeElementAction" method="promoteKnowledge">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-        <action name="demote-knowledge" class="editKnowledgeElementAction" method="demoteKnowledge">
-            <result name="success" type="tiles">page.displaystudy</result>
-        </action>
-
-    </package>
-
-
-    <package name="sadmin" namespace="/sadmin" extends="simer-default">
-    
-        <result-types>
-               <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
-       </result-types>
-
-        <!-- Menus of database administration
-          -->        
-        <action name="indexing" class="databaseIndexingAction" method="initialize">
-            <result name="success" type="tiles">page.indexstudies</result>
-        </action>
-        <action name="valid-indexing" class="databaseIndexingAction" method="indexing">
-            <result name="success" type="redirectAction">../study/search-study</result>
-        </action>
-        <action name="select-file" class="uploadAction" method="initialize">
-            <result name="success" type="tiles">page.uploadsadmin</result>
-        </action>
-        <action name="upload"      class="uploadAction" method="upload">
-            <result name="importuser" type="redirectAction">importuser?fileName=%{fileName}</result>
-        </action>
-        <action name="importuser" class="importUserAction" method="import">
-            <result name="success" type="tiles">page.displayuser</result>
-        </action>
-
-        <!-- Menus of knowledge administration
-          -->        
-        <action name="scontext" class="simulationContextAction" method="initialize">
-            <result name="success">/sadmin/approveSContext.jsp</result>
-        </action>
-        <action name="scontext-edit" class="simulationContextAction" method="select">
-            <result name="success">/sadmin/approveSContext.jsp</result>
-        </action>
-        <action name="knowelm"  class="knowledgeElementAction" method="initialize">
-            <result name="success">/sadmin/approveKnowelm.jsp</result>
-        </action>
-    </package>
-
-    <package name="sgeom" namespace="/sgeom" extends="simer-default">
-    
-       <result-types>
-               <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
-       </result-types>
-
-        <action name="valid-save"    class="saveDocumentAction" method="save">
-            <result name="success">/sgeom/index.jsp</result>
-        </action>
-        <action name="valid-update"  class="saveDocumentAction" method="update">
-            <result name="success">/sgeom/index.jsp</result>
-        </action>
-        <action name="valid-version" class="saveDocumentAction" method="version">
-            <result name="success">/sgeom/index.jsp</result>
-        </action>
-
-    </package>
-
-
-    <package name="smesh" namespace="/smesh" extends="simer-default">
-    
-        <result-types>
-               <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
-       </result-types>
-
-        <action name="valid-save"    class="saveDocumentAction" method="save">
-            <result name="success">/smesh/index.jsp</result>
-        </action>
-        <action name="valid-update"  class="saveDocumentAction" method="update">
-            <result name="success">/smesh/index.jsp</result>
-        </action>
-        <action name="valid-version" class="saveDocumentAction" method="version">
-            <result name="success">/smesh/index.jsp</result>
-        </action>
+        <action name="display-comments"
+            class="editStepCommentAction" method="displayComments">
+            <result name="success" type="tiles">zone.stepcomments</result>
+        </action>
+        
+        <action name="create-stepComment" class="editStepCommentAction" method="create">
+            <result name="success" type="tiles">zone.stepcomments</result>
+        </action>     
+        <action name="remove-comment" class="editStepCommentAction" method="remove">
+            <result name="success" type="tiles">zone.stepcomments</result>
+        </action>
+        <action name="edit-comment" class="editStepCommentAction" method="edit">
+            <result name="success" type="tiles">zone.stepcomments</result>
+        </action>
+        
+        <!-- Edition of study description -->
+        <action name="display-description"
+            class="editStudyDescriptionAction" method="displayDescription">
+            <result name="success" type="tiles">zone.description</result>
+        </action>
+        <action name="set-description"
+            class="editStudyDescriptionAction" method="setDescription">
+            <result name="success" type="tiles">zone.description</result>
+        </action>
+        <action name="remove-description"
+            class="editStudyDescriptionAction" method="removeDescription">
+            <result name="success" type="tiles">zone.description</result>
+        </action>
+        
+        <!-- Comparison of studies
+          -->     
+        <action name="init-study-comparison" class="CompareStudyAction" method="initComparison">
+            <result name="success" type="tiles">page.comparestudy</result>
+            <result name="error" type="tiles">page.comparestudy</result>
+        </action>
+        <action name="compare-studies" class="CompareStudyAction" method="compare">
+                       <result name="success"  type="stream" >
+                           <param name="inputName">resultInputStream</param>
+                           <param name="contentType">application/octet-stream</param>
+                               <param name="contentDisposition">attachment;filename="ComparisonResults.pdf"</param>
+                               <param name="bufferSize">1024</param>
+                               <param name="contentLength"></param>
+                       </result>
+            <result name="error" type="redirectAction">
+                   <param name="actionName">init-study-comparison</param>
+                   <param name="errorMessage">${true}</param>
+               </result>
+        </action>
+       </package>
+
+
+       <package name="sadmin" namespace="/sadmin"
+               extends="simer-default">
+
+               <result-types>
+                       <result-type name="tiles"
+                               class="org.apache.struts2.views.tiles.TilesResult" />
+               </result-types>
+
+               <!-- Menus of database administration
+               -->
+               <action name="indexing" class="databaseIndexingAction"
+                       method="initialize">
+                       <result name="success" type="tiles">
+                               page.indexstudies
+                       </result>
+               </action>
+               <action name="valid-indexing" class="databaseIndexingAction"
+                       method="indexing">
+                       <result name="success" type="redirectAction">
+                               ../study/search-study
+                       </result>
+               </action>
+               <action name="select-file" class="uploadAction"
+                       method="initializeSysAdmin">
+                       <result name="success" type="tiles">
+                               page.uploadsadmin
+                       </result>
+               </action>
+               <action name="upload" class="uploadAction" method="upload">
+            <interceptor-ref name="file-upload" />
+            <interceptor-ref name="simanBasicStack" />
+                       <result name="cancel" type="tiles">page.home</result>
+                       <result name="importuser" type="redirectAction">
+                               importuser?fileName=%{fileName}
+                       </result>
+               </action>
+               <action name="importuser" class="importUserAction"
+                       method="import">
+                       <result name="success" type="tiles">
+                               page.displayuser
+                       </result>
+               </action>
+
+               <!-- Menus of knowledge administration
+               -->
+               <action name="scontext" class="simulationContextAction"
+                       method="initialize">
+                       <result name="success">/sadmin/approveSContext.jsp</result>
+               </action>
+               <action name="scontext-edit" class="simulationContextAction"
+                       method="select">
+                       <result name="success">/sadmin/approveSContext.jsp</result>
+               </action>
+               <action name="knowelm" class="knowledgeElementAction"
+                       method="initialize">
+                       <result name="success">/sadmin/approveKnowelm.jsp</result>
+               </action>
+       </package>
 
-    </package>
 </struts>
\ No newline at end of file