X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=blobdiff_plain;f=org.argeo.cms.jcr%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjcr%2Finternal%2FJcrDeployment.java;h=b541b41a435a1bd7924bcf30e7236fad36772eb1;hp=9915fb037012f00fa714ef038d27043f45b9c231;hb=b71546ddc74d6ca49d252806aafd491c75dfe1fb;hpb=4185ff8826f893a4a1f054f61a11b89333c3e85d diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java index 9915fb037..b541b41a4 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java @@ -26,15 +26,12 @@ import javax.jcr.Session; import javax.security.auth.callback.CallbackHandler; import javax.servlet.Servlet; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.jackrabbit.commons.cnd.CndImporter; import org.apache.jackrabbit.core.RepositoryContext; import org.apache.jackrabbit.core.RepositoryImpl; -import org.argeo.api.NodeConstants; -import org.argeo.api.NodeDeployment; -import org.argeo.api.security.CryptoKeyring; -import org.argeo.api.security.Keyring; +import org.argeo.api.cms.CmsDeployment; +import org.argeo.api.cms.CmsLog; +import org.argeo.api.cms.CmsConstants; import org.argeo.cms.ArgeoNames; import org.argeo.cms.internal.jcr.JcrInitUtils; import org.argeo.cms.jcr.CmsJcrUtils; @@ -42,11 +39,13 @@ import org.argeo.cms.jcr.internal.servlet.CmsRemotingServlet; import org.argeo.cms.jcr.internal.servlet.CmsWebDavServlet; import org.argeo.cms.jcr.internal.servlet.JcrHttpUtils; import org.argeo.cms.osgi.DataModelNamespace; +import org.argeo.cms.security.CryptoKeyring; +import org.argeo.cms.security.Keyring; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; -import org.argeo.naming.LdapAttrs; import org.argeo.util.LangUtils; +import org.argeo.util.naming.LdapAttrs; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; @@ -62,7 +61,7 @@ import org.osgi.util.tracker.ServiceTracker; /** Implementation of a CMS deployment. */ public class JcrDeployment { - private final Log log = LogFactory.getLog(getClass()); + private final CmsLog log = CmsLog.getLog(getClass()); private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext(); private DataModels dataModels; @@ -73,7 +72,7 @@ public class JcrDeployment { // Readiness private boolean nodeAvailable = false; - NodeDeployment nodeDeployment; + CmsDeployment nodeDeployment; public JcrDeployment() { dataModels = new DataModels(bc); @@ -107,7 +106,7 @@ public class JcrDeployment { } - public void setNodeDeployment(NodeDeployment nodeDeployment) { + public void setNodeDeployment(CmsDeployment nodeDeployment) { this.nodeDeployment = nodeDeployment; } @@ -144,7 +143,7 @@ public class JcrDeployment { // } // home - prepareDataModel(NodeConstants.NODE_REPOSITORY, deployedNodeRepository, publishAsLocalRepo); + prepareDataModel(CmsConstants.NODE_REPOSITORY, deployedNodeRepository, publishAsLocalRepo); // init from backup // if (deployConfig.isFirstInit()) { @@ -162,7 +161,7 @@ public class JcrDeployment { Collection> initRepositorySr; try { initRepositorySr = bc.getServiceReferences(Repository.class, - "(" + NodeConstants.CN + "=" + NodeConstants.NODE_INIT + ")"); + "(" + CmsConstants.CN + "=" + CmsConstants.NODE_INIT + ")"); } catch (InvalidSyntaxException e1) { throw new IllegalArgumentException(e1); } @@ -241,11 +240,11 @@ public class JcrDeployment { // Publish home with the highest service ranking Hashtable regProps = new Hashtable<>(); - regProps.put(NodeConstants.CN, NodeConstants.EGO_REPOSITORY); + regProps.put(CmsConstants.CN, CmsConstants.EGO_REPOSITORY); regProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE); Repository egoRepository = new EgoRepository(deployedRepository, false); bc.registerService(Repository.class, egoRepository, regProps); - registerRepositoryServlets(NodeConstants.EGO_REPOSITORY, egoRepository); + registerRepositoryServlets(CmsConstants.EGO_REPOSITORY, egoRepository); // Keyring only if Argeo extensions are available if (argeoDataModelExtensionsAvailable) { @@ -257,7 +256,7 @@ public class JcrDeployment { CallbackHandler callbackHandler = bc.getService(reference); nodeKeyring.setDefaultCallbackHandler(callbackHandler); bc.registerService(LangUtils.names(Keyring.class, CryptoKeyring.class, ManagedService.class), - nodeKeyring, LangUtils.dict(Constants.SERVICE_PID, NodeConstants.NODE_KEYRING_PID)); + nodeKeyring, LangUtils.dict(Constants.SERVICE_PID, CmsConstants.NODE_KEYRING_PID)); return callbackHandler; } @@ -274,7 +273,7 @@ public class JcrDeployment { BundleWiring wiring = bundle.adapt(BundleWiring.class); if (wiring == null) continue bundles; - if (NodeConstants.NODE_REPOSITORY.equals(cn))// process all data models + if (CmsConstants.NODE_REPOSITORY.equals(cn))// process all data models processWiring(cn, adminSession, wiring, processed, false, publishAsLocalRepo); else { List capabilities = wiring.getCapabilities(CMS_DATA_MODEL_NAMESPACE); @@ -348,7 +347,7 @@ public class JcrDeployment { boolean publishLocalRepo; if (isStandalone && name.equals(cn))// includes the node itself publishLocalRepo = true; - else if (!isStandalone && cn.equals(NodeConstants.NODE_REPOSITORY)) + else if (!isStandalone && cn.equals(CmsConstants.NODE_REPOSITORY)) publishLocalRepo = true; else publishLocalRepo = false; @@ -357,12 +356,12 @@ public class JcrDeployment { } boolean isStandalone(String dataModelName) { - return nodeDeployment.getProps(NodeConstants.NODE_REPOS_FACTORY_PID, dataModelName) != null; + return nodeDeployment.getProps(CmsConstants.NODE_REPOS_FACTORY_PID, dataModelName) != null; } private void publishLocalRepo(String dataModelName, Repository repository) { Hashtable properties = new Hashtable<>(); - properties.put(NodeConstants.CN, dataModelName); + properties.put(CmsConstants.CN, dataModelName); LocalRepository localRepository; String[] classes; if (repository instanceof RepositoryImpl) { @@ -405,14 +404,14 @@ public class JcrDeployment { ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*"); ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, - "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=" + NodeConstants.PATH_DATA + ")"); + "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=" + CmsConstants.PATH_DATA + ")"); bc.registerService(Servlet.class, webdavServlet, ip); } protected void registerRemotingServlet(String alias, Repository repository) { CmsRemotingServlet remotingServlet = new CmsRemotingServlet(alias, repository); Hashtable ip = new Hashtable<>(); - ip.put(NodeConstants.CN, alias); + ip.put(CmsConstants.CN, alias); // Properties ip = new Properties(); ip.put(HTTP_WHITEBOARD_SERVLET_INIT_PARAM_PREFIX + CmsRemotingServlet.INIT_PARAM_RESOURCE_PATH_PREFIX, "/" + alias); @@ -435,7 +434,7 @@ public class JcrDeployment { ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*"); ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT, - "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=" + NodeConstants.PATH_JCR + ")"); + "(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH + "=" + CmsConstants.PATH_JCR + ")"); bc.registerService(Servlet.class, remotingServlet, ip); } @@ -448,10 +447,10 @@ public class JcrDeployment { @Override public RepositoryContext addingService(ServiceReference reference) { RepositoryContext repoContext = bc.getService(reference); - String cn = (String) reference.getProperty(NodeConstants.CN); + String cn = (String) reference.getProperty(CmsConstants.CN); if (cn != null) { List publishAsLocalRepo = new ArrayList<>(); - if (cn.equals(NodeConstants.NODE_REPOSITORY)) { + if (cn.equals(CmsConstants.NODE_REPOSITORY)) { // JackrabbitDataModelMigration.clearRepositoryCaches(repoContext.getRepositoryConfig()); prepareNodeRepository(repoContext.getRepository(), publishAsLocalRepo); // TODO separate home repository