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