Author: sshyrkov
Date: Wed Nov 28 17:29:59 2007
New Revision: 19308
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19308&repname=
=3Djahia
Log:
Throw an exception if the template path in null
Modified:
branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/core/=
Core_Engine.java
Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines=
/core/Core_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/engines/core/Core_Engine.java&rev=3D19=
308&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/core/=
Core_Engine.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/engines/core/=
Core_Engine.java Wed Nov 28 17:29:59 2007
@@ -30,6 +30,7 @@
import org.jahia.exceptions.JahiaException;
import org.jahia.exceptions.JahiaForbiddenAccessException;
import org.jahia.exceptions.JahiaPageNotFoundException;
+import org.jahia.exceptions.JahiaTemplateServiceException;
import org.jahia.params.ProcessingContext;
import org.jahia.registries.ServicesRegistry;
import org.jahia.services.pages.JahiaPageDefinition;
@@ -61,9 +62,13 @@
/**
* getInstance AK 14.12.2000
*/
- public static synchronized Core_Engine getInstance () {
+ public static Core_Engine getInstance () {
if (instance =3D=3D null) {
- instance =3D new Core_Engine ();
+ synchronized (Core_Engine.class) {
+ if (instance =3D=3D null) {
+ instance =3D new Core_Engine();
+ }
+ }
}
return instance;
}
@@ -90,13 +95,9 @@
*/
public String renderLink (ProcessingContext jParams, Object theObj)
throws JahiaException {
- String params =3D EMPTY_STRING;
-// params +=3D "&op=3D" + jParams.getOperationMode();
-// params +=3D "&pid=3D" + jParams.getObjectKey();
- params +=3D "/op/" + jParams.getOperationMode ();
- params +=3D "/pid/" + jParams.getPageID ();
- return jParams.composeEngineUrl (ENGINE_NAME, params);
-
+ return jParams.composeEngineUrl(ENGINE_NAME, new StringBuffer().ap=
pend(
+ EMPTY_STRING + "/op/").append(jParams.getOperationMode())
+ .append("/pid/").append(jParams.getPageID()).toString());
}
=
=
@@ -105,8 +106,10 @@
*/
public EngineValidationHelper handleActions (ProcessingContext jParams=
, JahiaData jData)
throws JahiaException {
- String ipAddr =3D jParams.getRemoteAddr ();
- logger.debug ("Generating content for " + ipAddr + "..."); =
+ if (logger.isDebugEnabled()) {
+ logger.debug("Generating content for " + jParams.getRemoteAddr=
()
+ + "...");
+ }
processCore (jData);
postProcessCore (jData);
return null;
@@ -152,23 +155,23 @@
=
}
=
+ // compose the fileName...
+ String fileName =3D resolveJSPFullFileName(jData);
+ =
JahiaEvent theEvent =3D new JahiaEvent(this, jData.getProcessingCo=
ntext(), jData.getProcessingContext ().getPage ());
ServicesRegistry.getInstance().getJahiaEventService().
fireLoadPage(theEvent);
=
- // compose the fileName...
- String fileName =3D resolveJSPFullFileName(jData);
-
// compose a new hashmap with engine properties...
HashMap engineHashMap =3D new HashMap ();
engineHashMap.put (ENGINE_NAME_PARAM, ENGINE_NAME);
engineHashMap.put (ENGINE_OUTPUT_FILE_PARAM, fileName);
- engineHashMap.put (RENDER_TYPE_PARAM, new Integer (JahiaEngine.REN=
DERTYPE_FORWARD));
+ engineHashMap.put (RENDER_TYPE_PARAM, Integer.valueOf(JahiaEngine.=
RENDERTYPE_FORWARD));
=
EngineRenderer.getInstance ().render (jData, engineHashMap);
}
=
- private String resolveJSPFullFileName (JahiaData jData) {
+ private String resolveJSPFullFileName (JahiaData jData) throws JahiaTe=
mplateServiceException {
String jspFullFileName =3D null;
=
JahiaPageDefinition template =3D jData.getProcessingContext ().get=
Page ().getPageTemplate ();
@@ -231,6 +234,19 @@
jData.getProcessingContext().setCacheExpirationDate(new Da=
te());
}
}
+ =
+ if (jspFullFileName =3D=3D null) {
+ JahiaPageDefinition pageDef =3D jData.getProcessingContext()
+ .getPage().getPageTemplate();
+ throw new JahiaTemplateServiceException(
+ "Unable to find the template for page ID=3D"
+ + jData.getProcessingContext().getPageID()
+ + ", page definition ID=3D"
+ + (pageDef !=3D null ? pageDef.getID() : "unde=
fined")
+ + " and name '"
+ + (pageDef !=3D null ? pageDef.getName()
+ : "undefined") + "'");
+ }
=
return jspFullFileName;
}
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list