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

Reply via email to