Author: xlawrence
Date: Mon Jun 18 11:50:10 2007
New Revision: 17620

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17620&repname=
=3Djahia
Log:
backport: =

- http://www.jahia.net/jira/browse/JAHIA-2037
- http://www.jahia.net/jira/browse/JAHIA-1889

Modified:
    trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_E=
ngine.java

Modified: trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateConta=
iner_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/engines/updatecontainer/UpdateContainer_Engine.java&rev=3D17620&re=
pname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_E=
ngine.java (original)
+++ trunk/core/src/java/org/jahia/engines/updatecontainer/UpdateContainer_E=
ngine.java Mon Jun 18 11:50:10 2007
@@ -23,7 +23,6 @@
 =

 package org.jahia.engines.updatecontainer;
 =

-import org.apache.log4j.Logger;
 import org.jahia.content.*;
 import org.jahia.data.JahiaData;
 import org.jahia.data.containers.*;
@@ -58,8 +57,8 @@
 import org.jahia.services.containers.ContentContainer;
 import org.jahia.services.lock.LockKey;
 import org.jahia.services.lock.LockPrerequisites;
-import org.jahia.services.lock.LockService;
 import org.jahia.services.lock.LockPrerequisitesResult;
+import org.jahia.services.lock.LockService;
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.version.EntryLoadRequest;
 import org.jahia.services.version.JahiaSaveVersion;
@@ -85,7 +84,8 @@
     /**
      * logging
      */
-    private static final Logger logger =3D Logger.getLogger(UpdateContaine=
r_Engine.class);
+    private static final org.apache.log4j.Logger logger =3D
+            org.apache.log4j.Logger.getLogger(UpdateContainer_Engine.class=
);
 =

     /**
      * unique instance of this class
@@ -132,12 +132,12 @@
         final ContentContainer contentContainer =3D (ContentContainer) the=
Obj;
         final String params =3D "?mode=3Ddisplay&cid=3D" + contentContaine=
r.getID();
         String useOriginPage =3D jParams.getParameter("use_container_origi=
n_page");
-        if (useOriginPage !=3D null && (Boolean.valueOf(useOriginPage)).bo=
oleanValue()){
+        if (useOriginPage !=3D null && (Boolean.valueOf(useOriginPage)).bo=
oleanValue()) {
             Properties extraParams =3D new Properties();
             extraParams.put(ParamBean.PAGE_ID_PARAMETER, Integer.toString(=
contentContainer.getPageID()));
-            return jParams.composeEngineUrl (ENGINE_NAME, extraParams, par=
ams);            =

+            return jParams.composeEngineUrl(ENGINE_NAME, extraParams, para=
ms);
         } else {
-            return jParams.composeEngineUrl (ENGINE_NAME, params);        =
    =

+            return jParams.composeEngineUrl(ENGINE_NAME, params);
         }
     } // end renderLink
 =

@@ -213,6 +213,8 @@
             engineMap.put("writeAccess", Boolean.TRUE);
         }
 =

+        final String navigation =3D jParams.getParameter("navigation");
+        final boolean isNavigation =3D navigation !=3D null && navigation.=
length() > 0;
         if (engineMap.get("writeAccess") !=3D null) {
             // #ifdef LOCK
             final LockService lockRegistry =3D servicesRegistry.getLockSer=
vice();
@@ -222,7 +224,7 @@
                 if (lockRegistry.acquire(lockKey, user, user.getUserKey(),
                         jParams.getSessionState().getMaxInactiveInterval()=
)) {
 =

-                    engineMap.put("lock",lockKey);
+                    engineMap.put("lock", lockKey);
 =

                     // #endif
                     flushPageCacheThatDisplayContainer(jParams, theContain=
er);
@@ -255,8 +257,7 @@
                     }
 =

                     if (theScreen.equals("apply")) {
-                        final String navigation =3D jParams.getParameter("=
navigation");
-                        if (navigation !=3D null && navigation.length() > =
0) {
+                        if (isNavigation) {
                             if ("new".equals(navigation)) {
                                 //return null;
                             } else {
@@ -285,7 +286,7 @@
                         }
                     }
 =

-                    if (! "new".equals(jParams.getParameter("navigation"))=
) {
+                    if (! "new".equals(navigation)) {
                         processCurrentScreen(jParams, engineMap);
                     }
                 }
@@ -297,8 +298,7 @@
 =

         // displays the screen
         if (theScreen.equals("apply")) {
-            final String navigation =3D jParams.getParameter("navigation");
-            if (navigation !=3D null && navigation.length() > 0) {
+            if (isNavigation) {
                 final SessionState theSession =3D jParams.getSessionState(=
);
                 theSession.setAttribute("Navigation", "Navigation");
                 if (jParams.settings().areLocksActivated()) {
@@ -328,14 +328,24 @@
                     theEngine.handleActions(jParams, jData);
                     return null;
                 } else {
+                    final EngineLanguageHelper elh =3D (EngineLanguageHelp=
er) engineMap.get(JahiaEngine.ENGINE_LANGUAGE_HELPER);
+                    final StringBuffer buff =3D new StringBuffer();
                     if ("first".equals(navigation)) {
-                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, "?cid=3D" + jParams.getParameter("first"));
+                        buff.append("?cid=3D").append(jParams.getParameter=
("first")).append("&" +
+                                EngineLanguageHelper.ENGINE_LANG_PARAM + "=
=3D").append(elh.getCurrentLanguageCode());
+                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, buff.toString());
                     } else if ("previous".equals(navigation)) {
-                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, "?cid=3D" + jParams.getParameter("previous"));
+                        buff.append("?cid=3D").append(jParams.getParameter=
("previous")).append("&" +
+                                EngineLanguageHelper.ENGINE_LANG_PARAM + "=
=3D").append(elh.getCurrentLanguageCode());
+                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, buff.toString());
                     } else if ("next".equals(navigation)) {
-                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, "?cid=3D" + jParams.getParameter("next"));
+                        buff.append("?cid=3D").append(jParams.getParameter=
("next")).append("&" +
+                                EngineLanguageHelper.ENGINE_LANG_PARAM + "=
=3D").append(elh.getCurrentLanguageCode());
+                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, buff.toString());
                     } else if ("last".equals(navigation)) {
-                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, "?cid=3D" + jParams.getParameter("last"));
+                        buff.append("?cid=3D").append(jParams.getParameter=
("last")).append("&" +
+                                EngineLanguageHelper.ENGINE_LANG_PARAM + "=
=3D").append(elh.getCurrentLanguageCode());
+                        newEngineURL =3D jParams.composeEngineUrl(ENGINE_N=
AME, buff.toString());
                     } else {
                         throw new IllegalArgumentException("Validation par=
am is unknow: " + navigation);
                     }
@@ -562,7 +572,7 @@
                     "ContainerVersioning", params, null);
             engineMap.put(RENDER_TYPE_PARAM,
                     new Integer(JahiaEngine.RENDERTYPE_FORWARD));
-            engineMap.put(JahiaEngine.ENGINE_REDIRECT_URL,versioningURL);
+            engineMap.put(JahiaEngine.ENGINE_REDIRECT_URL, versioningURL);
             engineMap.put(ENGINE_OUTPUT_FILE_PARAM, JahiaEngine.REDIRECT_J=
SP);
         } else if (theScreen.equals("categories")) {
             ManageCategories.getInstance().handleActions(jParams, mode,
@@ -614,9 +624,12 @@
             ManageImportExport.getInstance().handleActions(jParams, mode,
                     engineMap, theContainer.getContentContainer());
         } else if (theScreen.equals("save") || theScreen.equals("apply")) {
+            final String navigation =3D jParams.getParameter("navigation");
+            final boolean isNavigation =3D navigation !=3D null && navigat=
ion.length() > 0;
             final String lastScreen =3D jParams.getParameter("lastscreen");
             final LockKey futureStolenkey =3D (LockKey) engineMap.get("Loc=
kKey");
-            if (LockPrerequisites.getInstance().getLockPrerequisitesResult=
(futureStolenkey) !=3D null) {
+            if ((!isNavigation) &&
+                    LockPrerequisites.getInstance().getLockPrerequisitesRe=
sult(futureStolenkey) !=3D null) {
                 final String param =3D jParams.getParameter("whichKeyToSte=
al");
                 if (param !=3D null && param.length() > 0) {
                     if (lockRegistry.isAlreadyAcquired(futureStolenkey) &&
@@ -656,9 +669,9 @@
             if (ProcessingContext.isMultipartRequest(((ParamBean) jParams)=
.getRequest())) {
                 if (ManageImportExport.getInstance().handleActions(jParams=
, JahiaEngine.SAVE_MODE,
                         engineMap, theContainer.getContentContainer())) {
-                    if ( theScreen.equals("apply") ){
+                    if (theScreen.equals("apply")) {
                         ManageImportExport.getInstance().handleActions(jPa=
rams, JahiaEngine.LOAD_MODE,
-                            engineMap, theContainer.getContentContainer());
+                                engineMap, theContainer.getContentContaine=
r());
                     }
                 }
             }
@@ -691,11 +704,10 @@
                     jahiaContentContainerFacade,
                     jParams,
                     engineMap, feh);
-            =

-            engineMap.put(JahiaEngine.ENGINE_VALIDATION_HELPER, evh); =

-            JahiaEvent validationEvent =3D new JahiaEvent (this, jParams, =
theContainer);
-            ServicesRegistry.getInstance ().getJahiaEventService ()
-                    .fireContainerValidation(validationEvent);            =

+
+            engineMap.put(JahiaEngine.ENGINE_VALIDATION_HELPER, evh);
+            //JahiaEvent validationEvent =3D new JahiaEvent (this, jParams=
, theContainer);
+            //ServicesRegistry.getInstance ().getJahiaEventService ().fire=
ContainerValidation(validationEvent);
 =

             if (evh !=3D null && evh.hasErrors()) {
 =

@@ -707,7 +719,7 @@
 =

                 Collections.sort(evh.getErrors(), new ValidationErrorSorte=
r(currentFieldGroup));
                 if (!feh.getStayOnSameField()) {
-                    feh.setSelectedFieldId(((JahiaField)((ValidationError)=
evh.getErrors().get(0)).getSource()).getID());
+                    feh.setSelectedFieldId(((JahiaField) ((ValidationError=
) evh.getErrors().get(0)).getSource()).getID());
                 }
                 feh.processCurrentFields(AddContainer_Engine.ENGINE_NAME,
                         jahiaContentContainerFacade, elh, jParams, engineM=
ap,
@@ -912,9 +924,6 @@
             theScreen =3D jParams.getParameter("screen");
         }
 =

-        logger.debug("screen: " + theScreen + ", nav: " + jParams.getParam=
eter("navigation"));
-        logger.debug("isNavigation: " + isNavigation);
-
         final String ctnidStr;
         if (forcedCid !=3D null && forcedCid.length() > 0) {
             ctnidStr =3D forcedCid;
@@ -1200,10 +1209,10 @@
                                 theContainer, AddContainer_Engine.ENGINE_N=
AME, jParams, mode, engineMap);
                         jParams.resetSubstituteEntryLoadRequest();
                     }
-                    if (newFieldID =3D=3D 0 && field.getID()>0) {
+                    if (newFieldID =3D=3D 0 && field.getID() > 0) {
                         newFieldID =3D field.getID();
                     }
-                    if (newAclID =3D=3D 0 && field.getAclID()>0) {
+                    if (newAclID =3D=3D 0 && field.getAclID() > 0) {
                         newAclID =3D field.getAclID();
                     }
                 }

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to