Author: sshyrkov
Date: Wed Nov 14 16:11:42 2007
New Revision: 19152

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19152&repname=
=3Djahia
Log:
Add compatibility lookup for a template by the display name

Modified:
    branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/impo=
rtexport/ImportHandler.java

Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/importexport/ImportHandler.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/importexport/ImportHandler.ja=
va&rev=3D19152&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/impo=
rtexport/ImportHandler.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/impo=
rtexport/ImportHandler.java Wed Nov 14 16:11:42 2007
@@ -29,7 +29,10 @@
 import org.jahia.data.events.JahiaEvent;
 import org.jahia.data.fields.*;
 import org.jahia.data.files.JahiaFileField;
+import org.jahia.data.templates.JahiaTemplateDef;
+import org.jahia.data.templates.JahiaTemplatesPackage;
 import org.jahia.exceptions.JahiaException;
+import org.jahia.exceptions.JahiaTemplateNotFoundException;
 import org.jahia.hibernate.cache.JahiaBatchingClusterCacheHibernateProvide=
r;
 import org.jahia.hibernate.manager.JahiaObjectDelegate;
 import org.jahia.hibernate.manager.JahiaObjectManager;
@@ -883,12 +886,33 @@
                                 value, -1, jParams.getUser().getUserKey(),
                                 parentAclID, jParams, parentField);
             } else if (localName.equals("page")) {
+                JahiaPageTemplateService pageTemplateService =3D ServicesR=
egistry.getInstance().getJahiaPageTemplateService();
                 // Direct page
                 String template =3D atts.getValue(ImportExportBaseService.=
JAHIA_URI, "template");
-                JahiaPageDefinition jpd =3D ServicesRegistry.getInstance()=
.getJahiaPageTemplateService().lookupPageTemplateByName(template, site.getI=
D());
+                JahiaPageDefinition jpd =3D null;
+                try {
+                    jpd =3D pageTemplateService.lookupPageTemplateByName(t=
emplate, site.getID());
+                } catch (JahiaTemplateNotFoundException ex) {
+                    // ignore
+                }
+                if (jpd =3D=3D null) {
+                    // try to find template by display name --> backward c=
ompatibility to Jahia < 5.1 =

+                    JahiaTemplatesPackage templSet =3D ServicesRegistry.ge=
tInstance().getJahiaTemplateManagerService().getTemplatePackage(site.getID(=
));
+                    if (templSet !=3D null) {
+                        for (JahiaTemplateDef templDef : (List<JahiaTempla=
teDef>)templSet.getTemplates()) {
+                            if (template.equals(templDef.getDisplayName())=
) {
+                                jpd =3D pageTemplateService.lookupPageTemp=
lateByName(templDef.getName(), site.getID());
+                                break;
+                            }
+                        }
+                    }
+                }
+                =

                 if (jpd =3D=3D null) {
-                    logger.warn("Template not found : "+template);
-                    jpd =3D ServicesRegistry.getInstance().getJahiaPageTem=
plateService().lookupPageTemplate(site.getDefaultTemplateID());
+                    logger.warn("Template with the name '" + template
+                            + "' not found for site '" + site.getTitle()
+                            + "'. Using default.");
+                    jpd =3D pageTemplateService.lookupPageTemplate(site.ge=
tDefaultTemplateID());
 =

                     result.setStatus(TreeOperationResult.PARTIAL_OPERATION=
_STATUS);
                     final EngineMessage msg =3D new EngineMessage("org.jah=
ia.engines.importexport.import.template", new Object[] {atts.getValue(Impor=
tExportBaseService.JCR_URI, "uuid"), template, language, ""+ getLineNumber(=
)});
@@ -1408,7 +1432,34 @@
             cp.setRemoteURL(value, elr);
         } else if ("page".equals(localName)) {
             String template =3D atts.getValue(ImportExportBaseService.JAHI=
A_URI, "template");
-            JahiaPageDefinition jpd =3D ServicesRegistry.getInstance().get=
JahiaPageTemplateService().lookupPageTemplateByName(template, site.getID());
+            JahiaPageTemplateService pageTemplateService =3D ServicesRegis=
try.getInstance().getJahiaPageTemplateService();
+            JahiaPageDefinition jpd =3D null;
+            JahiaException ex =3D null;
+            try {
+                jpd =3D pageTemplateService.lookupPageTemplateByName(templ=
ate, site.getID());
+            } catch (JahiaTemplateNotFoundException e) {
+                ex =3D e;
+            }
+            if (jpd =3D=3D null) {
+                // try to find template by display name --> backward compa=
tibility to Jahia < 5.1 =

+                JahiaTemplatesPackage templSet =3D ServicesRegistry.getIns=
tance().getJahiaTemplateManagerService().getTemplatePackage(site.getID());
+                if (templSet !=3D null) {
+                    for (JahiaTemplateDef templDef : (List<JahiaTemplateDe=
f>)templSet.getTemplates()) {
+                        if (template.equals(templDef.getDisplayName())) {
+                            jpd =3D pageTemplateService.lookupPageTemplate=
ByName(templDef.getName(), site.getID());
+                            break;
+                        }
+                    }
+                }
+            }
+            =

+            if (jpd =3D=3D null) {
+                logger.warn("Template with the name '" + template
+                        + "' not found for site '" + site.getTitle()
+                        + "'. Using default.");
+                throw ex !=3D null ? ex : new JahiaTemplateNotFoundExcepti=
on(template);
+            }
+
             cp.setPageTemplateID(jpd.getID(), elr);
 =

             String pageKey =3D atts.getValue(ImportExportBaseService.JAHIA=
_URI, "pageKey");

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

Reply via email to