X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FCmsDeployment.java;h=751ff6249327771eaaf239db5a564ca36669a516;hb=c83ff6ee040b68e2120ccb7d5964ce280fd642ca;hp=a19bbaf353daf78a3f375c1bb7004a59c552cdd6;hpb=6a44d45d5e60b6187ddca5fa280f468d5763c2ad;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java index a19bbaf35..751ff6249 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java @@ -320,6 +320,9 @@ public class CmsDeployment implements NodeDeployment { workspaces: for (String workspaceName : initSession.getWorkspace().getAccessibleWorkspaceNames()) { if ("security".equals(workspaceName)) continue workspaces; + if (log.isDebugEnabled()) + log.debug("Copying workspace " + workspaceName + " from init repository..."); + long begin = System.currentTimeMillis(); Session targetSession = null; Session sourceSession = null; try { @@ -335,8 +338,16 @@ public class CmsDeployment implements NodeDeployment { targetSession = NodeUtils.openDataAdminSession(deployedNodeRepository, workspaceName); } sourceSession = initRepository.login(workspaceName); +// JcrUtils.copyWorkspaceXml(sourceSession, targetSession); + // TODO deal with referenceable nodes JcrUtils.copy(sourceSession.getRootNode(), targetSession.getRootNode()); targetSession.save(); + long duration = System.currentTimeMillis() - begin; + if (log.isDebugEnabled()) + log.debug("Copied workspace " + workspaceName + " from init repository in " + (duration / 1000) + + " s"); + } catch (Exception e) { + log.error("Cannot copy workspace " + workspaceName + " from init repository.", e); } finally { Jcr.logout(sourceSession); Jcr.logout(targetSession);