Author: sshyrkov
Date: Mon Nov 12 08:22:39 2007
New Revision: 19117
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19117&repname=
=3Djahia
Log:
Adjust site import to support new folder structure (changes for Jahia Inclu=
de Tag)
Modified:
branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/admin/sites/M=
anageSites.java
branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/impo=
rtexport/ImportExportBaseService.java
branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/JahiaTemplateManagerService.java
branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/TemplatePackageDeployer.java
Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/admin/s=
ites/ManageSites.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/admin/sites/ManageSites.java&rev=3D191=
17&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/admin/sites/M=
anageSites.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/admin/sites/M=
anageSites.java Mon Nov 12 08:22:39 2007
@@ -960,7 +960,7 @@
JahiaSiteTools.addGroup(guestGroup, site);
=
// create the guest user
- String uniqueKey =3D JahiaUserManagerService.GUEST_USERNAM=
E + ":" + String.valueOf(site.getID());
+ String uniqueKey =3D JahiaUserManagerService.GUEST_USERNAM=
E + ":" + site.getID();
JahiaUser guestSiteUser =3D jums.createUser(JahiaUserManag=
erService.GUEST_USERNAME,
JahiaUserManagerService.GUEST_USERNAME,
uniqueKey,
@@ -978,31 +978,23 @@
=
String firstImport =3D (String) request.getAttribute("firs=
tImport");
String selectTmplSet =3D (String) request.getAttribute("se=
lectedTmplSet");
-
- JahiaTemplatesPackage templPackage =3D ServicesRegistry
- .getInstance().getJahiaTemplateManagerService()
- .associateTemplatePackageWithSite(selectTmplSet, s=
ite);
- =
- int homePageDefId =3D ServicesRegistry.getInstance()
- .getJahiaPageTemplateService()
- .lookupPageTemplateByName(
- templPackage.getHomePageTemplate().getName=
(),
- site.getID()).getID();
- =
File initialZip =3D null;
String initialZipName =3D null;
- =
- if ("defaultImport".equals(firstImport)) {
- String zipName =3D templPackage.getInitialImport();
- if (zipName !=3D null) {
- initialZip =3D new File(Jahia.getSettings().getJah=
iaTemplatesDiskPath() +
- File.separator + site.getSiteKey() +
- File.separator + templPackage.getRootFolde=
r() +
- File.separator + zipName);
+ JahiaTemplatesPackage templPackage =3D null;
+ if (selectTmplSet !=3D null) {
+ templPackage =3D ServicesRegistry.getInstance()
+ .getJahiaTemplateManagerService()
+ .associateTemplatePackageWithSite(selectTmplSe=
t,
+ site);
+
+ if ("defaultImport".equals(firstImport)) {
+ initialZip =3D templPackage.getInitialImport() !=
=3D null ? new File(
+ templPackage.getRootFolderPath(), templPac=
kage
+ .getInitialImport())
+ : null;
}
}
=
- =
// if (JahiaSiteTools.createTemplateDir(site)) {
// String selectTmplSet =3D (String) request.getAttribu=
te("selectedTmplSet");
// JahiaTemplatesPackage tmplPack =3D null;
@@ -1061,8 +1053,9 @@
}
if ("fileImport".equals(firstImport)) {
initialZip =3D (File) request.getAttribute("fileImport=
");
- initialZipName =3D (String) request.getAttribute("file=
ImportName");
- }
+ initialZipName =3D (String) request
+ .getAttribute("fileImportName");
+ } =
if (initialZip =3D=3D null || !initialZip.exists() || "noI=
mport".equals(firstImport)) {
// create site language
SiteLanguageSettings newLanguage =3D
@@ -1080,6 +1073,11 @@
jParams.setSubstituteEntryLoadRequest(saveRequest);
=
JahiaPageService pageService =3D ServicesRegistry.getI=
nstance().getJahiaPageService();
+ int homePageDefId =3D ServicesRegistry.getInstance()
+ .getJahiaPageTemplateService()
+ .lookupPageTemplateByName(
+ templPackage.getHomePageTemplate()
+ .getName(), site.getID()).getI=
D();
JahiaPage page =3D pageService.createPage(site.getID(),
0,
PageInfoInterface.TYPE_DIRECT,
@@ -1167,13 +1165,6 @@
// ServicesRegistry.getInstance().getJahiaTemplates=
DeployerService(),
// ServicesRegistry.getInstance().getJahiaFileWatch=
erService());
=
- // copy the default shared components
- /** todo FIXME temporarily deactivated because we will now
- * share the applications by default instead of deploying =
them
- * for each web site.
- // copySharedComponents(site.getSiteKey());
- */
-
// create the search index
searchServ.createSearchHandler(site.getID());
searchServ.indexSite(site.getID(), jParams.getUser());
@@ -1186,7 +1177,7 @@
Properties adminProps =3D (Properties) session.getAttr=
ibute(CLASS_NAME + "adminProps");
if (adminUsername !=3D null) {
// create user...
- uniqueKey =3D adminUsername + ":" + String.valueOf=
(site.getID());
+ uniqueKey =3D adminUsername + ":" + site.getID();
adminSiteUser =3D jums.createUser(adminUsername, a=
dminPassword, uniqueKey, site.getID(), adminProps);
}
} else {
Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/importexport/ImportExportBaseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/importexport/ImportExportBase=
Service.java&rev=3D19117&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/ImportExportBaseService.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/impo=
rtexport/ImportExportBaseService.java Mon Nov 12 08:22:39 2007
@@ -1517,13 +1517,14 @@
}
os.close();
try {
- if (ServicesRegistry.getInstance().getJahiaPageTemplat=
eService().getNbPageTemplates(jParams.getSiteID()) =3D=3D 1) {
- JahiaTemplatesPackageHandler h =3D new JahiaTempla=
tesPackageHandler(f.getPath());
- JahiaTemplatesPackage tmplPack =3D h.getPackage();
- JahiaTemplatesDeployerService deplServ =3D Service=
sRegistry.getInstance().getJahiaTemplatesDeployerService();
- deplServ.deploy(site, "", tmplPack.getFilePath(), =
false);
-
- deplServ.registerTemplates(site, tmplPack);
+ if (ServicesRegistry.getInstance().getJahiaPageTemplat=
eService().getNbPageTemplates(jParams.getSiteID()) =3D=3D 0) {
+ ServicesRegistry.getInstance().getJahiaTemplateMan=
agerService().deployTemplatePackageForSite(site, f);
+// JahiaTemplatesPackageHandler h =3D new JahiaTemp=
latesPackageHandler(f.getPath());
+// JahiaTemplatesPackage tmplPack =3D h.getPackage(=
);
+// JahiaTemplatesDeployerService deplServ =3D Servi=
cesRegistry.getInstance().getJahiaTemplatesDeployerService();
+// deplServ.deploy(site, "", tmplPack.getFilePath()=
, false);
+//
+// deplServ.registerTemplates(site, tmplPack);
}
} catch (JahiaException e) {
logger.error("Cannot import templates",e);
Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/templates/JahiaTemplateManagerService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/templates/JahiaTemplateManage=
rService.java&rev=3D19117&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/JahiaTemplateManagerService.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/JahiaTemplateManagerService.java Mon Nov 12 08:22:39 2007
@@ -17,6 +17,7 @@
*/
package org.jahia.services.templates;
=
+import java.io.File;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;
@@ -150,12 +151,37 @@
logger.info("Jahia JahiaTemplateManagerService started successfull=
y."
+ " Total number of found template packages: "
+ templatePackageRegistry.getAvailablePackagesCount());
+ =
+ try {
+ JahiaTemplatesPackageHandler.serializeTemplateDescriptor(
+ templatePackageRegistry.lookup("Custom templates v1"),
+ new File("w:/temp"));
+ } catch (JahiaTemplateServiceException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
=
public void stop() throws JahiaException {
// TODO perform clean up
}
=
+ /**
+ * Deploys the template set from the specifgied JAR file that is locat=
ed in
+ * the shared templates folder.
+ * =
+ * @param templateJar
+ * the file of the template package JAR file
+ * @throws JahiaException
+ * in case of an error
+ */
+ public void deployTemplatePackageForSite(JahiaSite site, File template=
Jar)
+ throws JahiaException {
+ String pkgName =3D templatePackageDeployer.deployTemplatePackage(
+ templateJar, true);
+ associateTemplatePackageWithSite(pkgName, site);
+ }
+
public JahiaTemplatesPackage associateTemplatePackageWithSite(
String templatePackageName, JahiaSite site) throws JahiaExcept=
ion {
JahiaTemplatesPackage templatePackage =3D getTemplatePackage(templ=
atePackageName);
Modified: branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/service=
s/templates/TemplatePackageDeployer.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-INCLUD=
E-TAG-BRANCH/core/src/java/org/jahia/services/templates/TemplatePackageDepl=
oyer.java&rev=3D19117&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/TemplatePackageDeployer.java (original)
+++ branches/JAHIA-INCLUDE-TAG-BRANCH/core/src/java/org/jahia/services/temp=
lates/TemplatePackageDeployer.java Mon Nov 12 08:22:39 2007
@@ -20,11 +20,14 @@
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
=
import org.apache.commons.io.IOCase;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.NameFileFilter;
import org.apache.commons.io.filefilter.SuffixFileFilter;
+import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.jahia.data.templates.JahiaTemplatesPackage;
import org.jahia.exceptions.JahiaException;
@@ -43,6 +46,9 @@
private static Logger logger =3D Logger
.getLogger(TemplatePackageDeployer.class);
=
+ private static final SimpleDateFormat DATE_FORMAT =3D new SimpleDateFo=
rmat(
+ "yyyy-MM-dd");
+
/** Meta-Inf folder * */
private static final String META_INF_FOLDER =3D "Meta-Inf";
=
@@ -67,7 +73,7 @@
logger.info("Start deploying new template package "
+ tmplPack.getName());
=
- if (templatesFolderAlreadyExists(tmplPack)) {
+ if (templatesFolderAlreadyExists(tmplPack.getRootFolder())) {
String msg =3D "Unable to deploy template package '"
+ tmplPack.getName() + "'. Folder '"
+ tmplPack.getRootFolder() + "' already exists";
@@ -110,32 +116,64 @@
JahiaException.ERROR_SEVERITY);
}
}
+ =
+ // overwrite template deployment descriptor
+ JahiaTemplatesPackageHandler.serializeTemplateDescriptor(tmplPack,=
tmplRootFolder);
+ =
FileListSync.getInstance().trigger();
}
=
/**
- * Deploys the shared template set from the spoecifgied JAR file that =
is
- * located in the shared templates folder.
+ * Deploys the template set from the specifgied JAR file that is locat=
ed in
+ * the shared templates folder. Returns the name of the deployed packa=
ge.
* =
- * @param packageJarFileName
- * the file name of teh template package JAR file
+ * @param templateJar
+ * the file of the template package JAR file
+ * @param renameIfExists
+ * rename he template package set and the root folder, in c=
ase of
+ * conflicts
+ * @return the name of the deployed package
*/
- public void deploySharedTemplatePackage(String packageJarFileName) {
+ public String deployTemplatePackage(File templateJar, boolean renameIf=
Exists) {
+ String deployedPackageName =3D null;
try {
- File templateJar =3D new File(settingsBean
- .getJahiaSharedTemplatesDiskPath(), packageJarFileName=
);
JahiaTemplatesPackageHandler packageHandler =3D new JahiaTempl=
atesPackageHandler(
- templateJar.getAbsolutePath());
+ templateJar);
JahiaTemplatesPackage pkg =3D packageHandler.getPackage();
+ validatePackage(pkg);
if (pkg !=3D null) {
logger.debug("Template package found: " + pkg.getName());
if (!templatePackageRegistry.contains(pkg.getName())
- && !templatesFolderAlreadyExists(pkg)) {
+ && !templatesFolderAlreadyExists(pkg.getRootFolder=
())) {
deployPackage(packageHandler);
templatePackageRegistry.register(pkg);
+ deployedPackageName =3D pkg.getName();
} else {
- logger.debug("Template package '" + pkg.getName()
- + "' already exists. Skipping.");
+ if (renameIfExists) {
+ String postfix =3D DATE_FORMAT.format(new Date());
+ String pkgNameBase =3D pkg.getName() + "-" + postf=
ix;
+ String rootFolderBase =3D pkg.getRootFolder()
+ + "-" + postfix;
+ String pkgName =3D pkgNameBase;
+ String rootFolder =3D rootFolderBase;
+ int postfixCounter =3D 0;
+ while (templatePackageRegistry.contains(pkgName)
+ || templatesFolderAlreadyExists(rootFolder=
)) {
+ ++postfixCounter;
+ pkgName =3D pkgNameBase + "_" + postfixCounter;
+ rootFolder =3D rootFolderBase + "_"
+ + postfixCounter;
+ }
+
+ deployedPackageName =3D pkgName;
+
+ // TODO implement renaming
+ throw new UnsupportedOperationException(
+ "Implement renaming");
+ } else {
+ logger.debug("Template package '" + pkg.getName()
+ + "' already exists. Skipping.");
+ }
}
} else {
logger.warn("Unable to read template package from the file=
: "
@@ -143,10 +181,27 @@
}
} catch (JahiaException ex) {
logger.warn(
- "Unable to read the templates deployment descriptor un=
der "
- + packageJarFileName, ex);
+ "Unable to read the templates deployment descriptor fr=
om "
+ + templateJar.getPath(), ex);
+ }
+
+ return deployedPackageName;
+ }
+
+ private void validatePackage(JahiaTemplatesPackage pkg) {
+ if (StringUtils.isEmpty(pkg.getName())) {
+ logger.warn("Template package name '" + pkg.getName()
+ + "' is not valid. Setting it to 'templates'.");
+ pkg.setName("templates");
+ }
+ if (StringUtils.isEmpty(pkg.getRootFolder())) {
+ String folderName =3D pkg.getName().replace(' ', '_').toLowerC=
ase();
+ logger.warn("Template package root folder '" + pkg.getRootFold=
er()
+ + "' is not valid. Setting it to '"+ folderName + "'."=
);
+ pkg.setRootFolder(folderName);
}
}
+ =
=
/**
* Search and remove the META-INF folder
@@ -228,7 +283,8 @@
".jar"));
// iterate over found JAR files and deploy them
for (int i =3D 0; i < jarFiles.length; i++) {
- deploySharedTemplatePackage(jarFiles[i]);
+ deployTemplatePackage(new File(settingsBean
+ .getJahiaSharedTemplatesDiskPath(), jarFiles[i]), =
false);
}
}
=
@@ -244,9 +300,9 @@
templatePackageRegistry =3D tmplPackageRegistry;
}
=
- private boolean templatesFolderAlreadyExists(JahiaTemplatesPackage tmp=
lPack) {
- return new File(settingsBean.getJahiaTemplatesDiskPath(), tmplPack
- .getRootFolder()).exists();
+ private boolean templatesFolderAlreadyExists(String rootFolderName) {
+ return new File(settingsBean.getJahiaTemplatesDiskPath(),
+ rootFolderName).exists();
}
=
}
\ No newline at end of file
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list