import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.core.RepositoryContext;
import org.apache.jackrabbit.core.RepositoryImpl;
import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.core.RepositoryContext;
import org.apache.jackrabbit.core.RepositoryImpl;
-import org.argeo.api.DataModelNamespace;
-import org.argeo.api.NodeConstants;
-import org.argeo.api.NodeDeployment;
-import org.argeo.api.NodeUtils;
-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.jcr.internal.servlet.CmsRemotingServlet;
import org.argeo.cms.jcr.internal.servlet.CmsWebDavServlet;
import org.argeo.cms.jcr.internal.servlet.JcrHttpUtils;
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.jcr.Jcr;
import org.argeo.jcr.JcrException;
import org.argeo.jcr.JcrUtils;
import org.argeo.jcr.Jcr;
import org.argeo.jcr.JcrException;
import org.argeo.jcr.JcrUtils;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext();
private DataModels dataModels;
private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext();
private DataModels dataModels;
Collection<ServiceReference<Repository>> initRepositorySr;
try {
initRepositorySr = bc.getServiceReferences(Repository.class,
Collection<ServiceReference<Repository>> initRepositorySr;
try {
initRepositorySr = bc.getServiceReferences(Repository.class,
}
sourceSession = initRepository.login(workspaceName);
// JcrUtils.copyWorkspaceXml(sourceSession, targetSession);
}
sourceSession = initRepository.login(workspaceName);
// JcrUtils.copyWorkspaceXml(sourceSession, targetSession);
// Publish home with the highest service ranking
Hashtable<String, Object> regProps = new Hashtable<>();
// Publish home with the highest service ranking
Hashtable<String, Object> regProps = new Hashtable<>();
regProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
Repository egoRepository = new EgoRepository(deployedRepository, false);
bc.registerService(Repository.class, egoRepository, regProps);
regProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
Repository egoRepository = new EgoRepository(deployedRepository, false);
bc.registerService(Repository.class, egoRepository, regProps);
CallbackHandler callbackHandler = bc.getService(reference);
nodeKeyring.setDefaultCallbackHandler(callbackHandler);
bc.registerService(LangUtils.names(Keyring.class, CryptoKeyring.class, ManagedService.class),
CallbackHandler callbackHandler = bc.getService(reference);
nodeKeyring.setDefaultCallbackHandler(callbackHandler);
bc.registerService(LangUtils.names(Keyring.class, CryptoKeyring.class, ManagedService.class),
processWiring(cn, adminSession, wiring, processed, false, publishAsLocalRepo);
else {
List<BundleCapability> capabilities = wiring.getCapabilities(CMS_DATA_MODEL_NAMESPACE);
processWiring(cn, adminSession, wiring, processed, false, publishAsLocalRepo);
else {
List<BundleCapability> capabilities = wiring.getCapabilities(CMS_DATA_MODEL_NAMESPACE);
}
private void publishLocalRepo(String dataModelName, Repository repository) {
Hashtable<String, Object> properties = new Hashtable<>();
}
private void publishLocalRepo(String dataModelName, Repository repository) {
Hashtable<String, Object> properties = new Hashtable<>();
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*");
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*");
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
bc.registerService(Servlet.class, webdavServlet, ip);
}
protected void registerRemotingServlet(String alias, Repository repository) {
CmsRemotingServlet remotingServlet = new CmsRemotingServlet(alias, repository);
Hashtable<String, String> ip = new Hashtable<>();
bc.registerService(Servlet.class, webdavServlet, ip);
}
protected void registerRemotingServlet(String alias, Repository repository) {
CmsRemotingServlet remotingServlet = new CmsRemotingServlet(alias, repository);
Hashtable<String, String> ip = new Hashtable<>();
// Properties ip = new Properties();
ip.put(HTTP_WHITEBOARD_SERVLET_INIT_PARAM_PREFIX + CmsRemotingServlet.INIT_PARAM_RESOURCE_PATH_PREFIX,
"/" + alias);
// Properties ip = new Properties();
ip.put(HTTP_WHITEBOARD_SERVLET_INIT_PARAM_PREFIX + CmsRemotingServlet.INIT_PARAM_RESOURCE_PATH_PREFIX,
"/" + alias);
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*");
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/" + alias + "/*");
ip.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
@Override
public RepositoryContext addingService(ServiceReference<RepositoryContext> reference) {
RepositoryContext repoContext = bc.getService(reference);
@Override
public RepositoryContext addingService(ServiceReference<RepositoryContext> reference) {
RepositoryContext repoContext = bc.getService(reference);
// JackrabbitDataModelMigration.clearRepositoryCaches(repoContext.getRepositoryConfig());
prepareNodeRepository(repoContext.getRepository(), publishAsLocalRepo);
// TODO separate home repository
// JackrabbitDataModelMigration.clearRepositoryCaches(repoContext.getRepositoryConfig());
prepareNodeRepository(repoContext.getRepository(), publishAsLocalRepo);
// TODO separate home repository