Author: sshyrkov
Date: Wed Nov 28 12:42:59 2007
New Revision: 19305

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19305&repname=
=3Djahia
Log:
Added support for specifying common pages (my settings and search results) =
in the templates deployment descriptor

Modified:
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/data/template=
s/JahiaTemplatesPackage.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/myset=
tings/MySettingsEngine.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/searc=
h/Search_Engine.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/TemplatePackageRegistry.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/Templates_Xml.java
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/xml_dtd/t=
emplates_2_0.xsd

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/data/te=
mplates/JahiaTemplatesPackage.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/data/templates/JahiaTemplatesPackage.j=
ava&rev=3D19305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/data/template=
s/JahiaTemplatesPackage.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/data/template=
s/JahiaTemplatesPackage.java Wed Nov 28 12:42:59 2007
@@ -96,6 +96,8 @@
     =

     private String mySettingsPageName;
     =

+    private String mySettingsSuccessPageName;
+    =

     private String searchResultsPageName;
     =

     private String resourceBundleName;
@@ -583,4 +585,12 @@
     public void setResourceBundleName(String resourceBundleName) {
         this.resourceBundleName =3D resourceBundleName;
     }
+
+    public String getMySettingsSuccessPageName() {
+        return mySettingsSuccessPageName;
+    }
+
+    public void setMySettingsSuccessPageName(String mySettingsSuccessPageN=
ame) {
+        this.mySettingsSuccessPageName =3D mySettingsSuccessPageName;
+    }
 }
\ No newline at end of file

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines=
/mysettings/MySettingsEngine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/engines/mysettings/MySettingsEngine.ja=
va&rev=3D19305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/myset=
tings/MySettingsEngine.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/myset=
tings/MySettingsEngine.java Wed Nov 28 12:42:59 2007
@@ -22,7 +22,9 @@
 import java.util.HashMap;
 import java.util.Iterator;
 =

+import org.apache.log4j.Logger;
 import org.jahia.data.JahiaData;
+import org.jahia.data.templates.JahiaTemplatesPackage;
 import org.jahia.engines.EngineMessage;
 import org.jahia.engines.EngineMessages;
 import org.jahia.engines.EngineToolBox;
@@ -35,6 +37,7 @@
 import org.jahia.registries.ServicesRegistry;
 import org.jahia.services.pwdpolicy.JahiaPasswordPolicyService;
 import org.jahia.services.pwdpolicy.PolicyEnforcementResult;
+import org.jahia.services.templates.JahiaTemplateManagerService;
 import org.jahia.services.usermanager.JahiaUser;
 import org.jahia.services.usermanager.JahiaUserManagerService;
 import org.jahia.services.usermanager.UserProperties;
@@ -69,8 +72,8 @@
     /**
      * logging
      */
-    private static final org.apache.log4j.Logger logger =3D
-            org.apache.log4j.Logger.getLogger (MySettingsEngine.class);
+    private static final Logger logger =3D Logger
+            .getLogger(MySettingsEngine.class);
 =

     /**
      * The engine's unique instance.
@@ -93,9 +96,14 @@
      *
      * @return the unique instance of this engine.
      */
-    public static synchronized MySettingsEngine getInstance () {
-        if (instance =3D=3D null)
-            instance =3D new MySettingsEngine ();
+    public static MySettingsEngine getInstance () {
+        if (instance =3D=3D null) {
+            synchronized (MySettingsEngine.class) {
+                if (instance =3D=3D null) {
+                    instance =3D new MySettingsEngine();
+                }
+            }
+        }
         return instance;
     }
 =

@@ -154,7 +162,7 @@
 =

         engineMap.put ("screen", theScreen);
         if (!theScreen.equals (SAVE_TOKEN)) {
-            engineMap.put ("jspSource", EDIT_JSP);
+//            engineMap.put ("jspSource", getEditJspPath(jParams));
             engineMap.put (ENGINE_URL_PARAM, jParams.composeEngineUrl (ENG=
INE_NAME, EMPTY_STRING));
             engineMap.put (ENGINE_NAME_PARAM, ENGINE_NAME);
 =

@@ -245,16 +253,10 @@
         if (logger.isDebugEnabled ())
             logger.debug ("end");
 =

-        String targetJSP =3D EDIT_JSP;
-        if ("save".equals(theScreen) && ok && !personalremoved) {
-            targetJSP =3D SUCCESS_JSP;
-        }
+        String targetJSP =3D ("save".equals(theScreen) && ok && !personalr=
emoved) ? getSuccessJspPath(jParams)
+                : getEditJspPath(jParams);
 =

-        String jspSiteMapFileName =3D jParams.getPage ().getPageTemplate (=
).getSourcePath ();
-        jspSiteMapFileName =3D jspSiteMapFileName.substring (0,
-                jspSiteMapFileName.lastIndexOf ("/") + 1) +
-                targetJSP;
-        engineMap.put (ENGINE_OUTPUT_FILE_PARAM, jspSiteMapFileName);
+        engineMap.put (ENGINE_OUTPUT_FILE_PARAM, targetJSP);
     }
 =

     private boolean processSave (ProcessingContext jParams, JahiaUser user=
) {
@@ -395,5 +397,49 @@
         return true;
     }
 =

+    private String getEditJspPath(ProcessingContext ctx) {
+        String path =3D EDIT_JSP;
+
+        JahiaTemplateManagerService templateMgr =3D ServicesRegistry
+                .getInstance().getJahiaTemplateManagerService();
+
+        JahiaTemplatesPackage templatePackage =3D templateMgr
+                .getTemplatePackage(ctx.getSite().getTemplatePackageName()=
);
+
+        if (templatePackage.getMySettingsPageName() !=3D null) {
+            path =3D templateMgr.resolveResourcePath(templatePackage
+                    .getMySettingsPageName(), templatePackage.getName());
+        } else {
+            String jspSiteMapFileName =3D ctx.getPage().getPageTemplate()
+                    .getSourcePath();
+            path =3D jspSiteMapFileName.substring(0,
+                    jspSiteMapFileName.lastIndexOf("/") + 1)
+                    + path;
+        }
 =

+        return path;
+    }
+    =

+    private String getSuccessJspPath(ProcessingContext ctx) {
+        String path =3D SUCCESS_JSP;
+
+        JahiaTemplateManagerService templateMgr =3D ServicesRegistry
+                .getInstance().getJahiaTemplateManagerService();
+
+        JahiaTemplatesPackage templatePackage =3D templateMgr
+                .getTemplatePackage(ctx.getSite().getTemplatePackageName()=
);
+
+        if (templatePackage.getMySettingsSuccessPageName() !=3D null) {
+            path =3D templateMgr.resolveResourcePath(templatePackage
+                    .getMySettingsSuccessPageName(), templatePackage.getNa=
me());
+        } else {
+            String jspSiteMapFileName =3D ctx.getPage().getPageTemplate()
+                    .getSourcePath();
+            path =3D jspSiteMapFileName.substring(0,
+                    jspSiteMapFileName.lastIndexOf("/") + 1)
+                    + path;
+        }
+
+        return path;
+    }
 }

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines=
/search/Search_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/engines/search/Search_Engine.java&rev=
=3D19305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/searc=
h/Search_Engine.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/searc=
h/Search_Engine.java Wed Nov 28 12:42:59 2007
@@ -31,7 +31,7 @@
 =

 import org.jahia.data.JahiaData;
 import org.jahia.data.search.JahiaSearchResult;
-import org.jahia.engines.EngineToolBox;
+import org.jahia.data.templates.JahiaTemplatesPackage;
 import org.jahia.engines.*;
 import org.jahia.engines.validation.EngineValidationHelper;
 import org.jahia.exceptions.JahiaException;
@@ -39,10 +39,12 @@
 import org.jahia.registries.ServicesRegistry;
 import org.jahia.utils.JahiaTools;
 import org.jahia.services.search.*;
+import org.jahia.services.templates.JahiaTemplateManagerService;
 import org.jahia.hibernate.manager.SpringContextSingleton;
 import org.jahia.security.license.LicenseActionChecker;
 import org.springframework.beans.factory.BeanFactory;
 import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.log4j.Logger;
 =

 /**
  * This engine is called when the user wants to do a search on the jahia s=
ite. It displays
@@ -92,9 +94,7 @@
     private static Search_Engine instance =3D null;
     private EngineToolBox toolBox;
 =

-    private static final org.apache.log4j.Logger logger =3D
-            org.apache.log4j.Logger.getLogger (Search_Engine.class);
-
+    private static final Logger logger =3D Logger.getLogger(Search_Engine.=
class);
 =

     /**
      * constructor
@@ -109,9 +109,13 @@
     /**
      * returns a single instance of the object
      */
-    public static synchronized Search_Engine getInstance () {
+    public static Search_Engine getInstance () {
         if (instance =3D=3D null) {
-            instance =3D new Search_Engine ();
+            synchronized (Search_Engine.class) {
+                if (instance =3D=3D null) {
+                    instance =3D new Search_Engine ();
+                }                =

+            }
         }
         return instance;
     }
@@ -284,20 +288,7 @@
         // check if a searchresult template exists in the template
         // directory, else uses the standard template found in the
         // jsp/engines directory
-        String theTemplate =3D new String (TEMPLATE_JSP);
-        String fileName;
-
-        if ((jParams !=3D null) && (jParams.getPage () !=3D null) &&
-                (jParams.getPage ().getPageTemplate () !=3D null)) {
-            fileName =3D jParams.getPage ().getPageTemplate ().getSourcePa=
th ();
-            if (fileName.lastIndexOf ("/") !=3D -1) {
-                fileName =3D fileName.substring (0, fileName.lastIndexOf (=
"/") + 1) +
-                        SEARCH_JSP_NAME;
-                logger.debug ("Trying to redirect search result to : " + f=
ileName);
-                theTemplate =3D fileName;
-            }
-        }
-        engineMap.put (ENGINE_OUTPUT_FILE_PARAM, theTemplate);
+        engineMap.put (ENGINE_OUTPUT_FILE_PARAM, getResultsTemplatePath(jP=
arams));
 =

         engineMap.put (RENDER_TYPE_PARAM, new Integer (JahiaEngine.RENDERT=
YPE_FORWARD));
         engineMap.put (ENGINE_NAME_PARAM, ENGINE_NAME);
@@ -309,6 +300,38 @@
 =

     }
 =

+    private String getResultsTemplatePath(ProcessingContext ctx) {
+        String path =3D TEMPLATE_JSP;
+
+        JahiaTemplateManagerService templateMgr =3D ServicesRegistry
+                .getInstance().getJahiaTemplateManagerService();
+
+        JahiaTemplatesPackage templatePackage =3D templateMgr
+                .getTemplatePackage(ctx.getSite().getTemplatePackageName()=
);
+
+        if (templatePackage.getSearchResultsPageName() !=3D null) {
+            path =3D templateMgr.resolveResourcePath(templatePackage
+                    .getSearchResultsPageName(), templatePackage.getName()=
);
+        } else {
+            path =3D TEMPLATE_JSP;
+            String fileName;
+
+            if ((ctx !=3D null) && (ctx.getPage() !=3D null)
+                    && (ctx.getPage().getPageTemplate() !=3D null)) {
+                fileName =3D ctx.getPage().getPageTemplate().getSourcePath=
();
+                if (fileName.lastIndexOf("/") !=3D -1) {
+                    fileName =3D fileName.substring(0,
+                            fileName.lastIndexOf("/") + 1)
+                            + SEARCH_JSP_NAME;
+                    path =3D fileName;
+                }
+            }
+        }
+
+        return path;
+    }
+
+
     /**
      *
      * @param jParams

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/templates/TemplatePackageRegistry.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/templates/TemplatePackageRegi=
stry.java&rev=3D19305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/TemplatePackageRegistry.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/TemplatePackageRegistry.java Wed Nov 28 12:42:59 2007
@@ -106,7 +106,7 @@
     }
 =

     /**
-     * TODO Comment me
+     * Performs a set of validation tests for deployed template packages. =

      */
     public void validate() {
         // TODO check if at least one template set is present
@@ -147,19 +147,27 @@
                     pkg.addTemplateDefAll(ownTemplates, false);
                     =

                     // check common pages
-                    if (pkg.getSearchResultsPageName() =3D=3D null) {
-                        pkg.setSearchResultsPageName(parentPkg
-                                .getSearchResultsPageName() !=3D null ? pa=
rentPkg
-                                .getSearchResultsPageName() : "mysettings.=
jsp");
-                    }
+                    pkg
+                            .setMySettingsPageName(pkg.getMySettingsPageNa=
me() !=3D null ? pkg
+                                    .getMySettingsPageName()
+                                    : parentPkg.getMySettingsPageName());
+                    pkg.setMySettingsSuccessPageName(pkg
+                            .getMySettingsSuccessPageName() !=3D null ? pkg
+                            .getMySettingsSuccessPageName() : parentPkg
+                            .getMySettingsSuccessPageName());
+                    pkg
+                            .setSearchResultsPageName(pkg
+                                    .getSearchResultsPageName() !=3D null =
? pkg
+                                    .getSearchResultsPageName() : parentPkg
+                                    .getSearchResultsPageName());
                     =

                     // check homepage and default page
-                    if (pkg.getHomePageName() =3D=3D null) {
-                        pkg.setHomePageName(parentPkg.getHomePageName());
-                    }
-                    if (pkg.getDefaultPageName() =3D=3D null) {
-                        pkg.setDefaultPageName(parentPkg.getDefaultPageNam=
e());
-                    }
+                    pkg.setHomePageName(pkg.getHomePageName() !=3D null ? =
pkg
+                            .getHomePageName() : parentPkg.getHomePageName=
());
+                    pkg
+                            .setDefaultPageName(pkg.getDefaultPageName() !=
=3D null ? pkg
+                                    .getDefaultPageName()
+                                    : parentPkg.getDefaultPageName());
                 } else {
                     logger
                             .error("Unable to find parent template package=
 with the name '"

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/templates/Templates_Xml.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/templates/Templates_Xml.java&=
rev=3D19305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/Templates_Xml.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/Templates_Xml.java Wed Nov 28 12:42:59 2007
@@ -140,6 +140,15 @@
         digester.addBeanPropertySetter("template-set/resource-bundle",
                 "resourceBundleName");
 =

+        digester.addBeanPropertySetter("template-set/common-pages/my-setti=
ngs",
+                "mySettingsPageName");
+        digester.addBeanPropertySetter(
+                "template-set/common-pages/my-settings-success",
+                "mySettingsSuccessPageName");
+        digester.addBeanPropertySetter(
+                "template-set/common-pages/search-results",
+                "searchResultsPageName");
+
         digester.addSetProperties("template-set/templates", "homepage",
                 "homePageName");
         digester.addSetProperties("template-set/templates", "default",

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/xml=
_dtd/templates_2_0.xsd
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/webapp/WEB-INF/etc/xml_dtd/templates_2_0.xsd&rev=3D19=
305&repname=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
--- branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/xml_dtd/t=
emplates_2_0.xsd (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/webapp/WEB-INF/etc/xml_dtd/t=
emplates_2_0.xsd Wed Nov 28 12:42:59 2007
@@ -17,6 +17,7 @@
           <complexType>
             <sequence>
               <element name=3D"my-settings" type=3D"jahia:jspFile" minOccu=
rs=3D"0"/>
+              <element name=3D"my-settings-success" type=3D"jahia:jspFile"=
 minOccurs=3D"0"/>
               <element name=3D"search-results" type=3D"jahia:jspFile" minO=
ccurs=3D"0"/>
             </sequence>
           </complexType>

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

Reply via email to