X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2FAbstractContentRepository.java;h=c1f1ef5f3ac2b3d52619f5578365253ec57558b5;hb=73e05e2894f5a455f06a486467ba16306f13d550;hp=8ff14169868c2d4878cef8152166aa5e60a3c549;hpb=7e464c3cedfa41ece64811fb55ddc9ce740a1050;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/AbstractContentRepository.java b/org.argeo.cms/src/org/argeo/cms/acr/AbstractContentRepository.java index 8ff141698..c1f1ef5f3 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/AbstractContentRepository.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/AbstractContentRepository.java @@ -17,10 +17,12 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; +import org.argeo.api.acr.ArgeoNamespace; import org.argeo.api.acr.Content; import org.argeo.api.acr.CrName; import org.argeo.api.acr.NamespaceUtils; import org.argeo.api.acr.RuntimeNamespaceContext; +import org.argeo.api.acr.spi.ContentNamespace; import org.argeo.api.acr.spi.ContentProvider; import org.argeo.api.acr.spi.ProvidedContent; import org.argeo.api.acr.spi.ProvidedRepository; @@ -52,6 +54,7 @@ public abstract class AbstractContentRepository implements ProvidedRepository { // public final static String ACR_MOUNT_PATH_PROPERTY = "acr.mount.path"; public AbstractContentRepository() { + long begin = System.currentTimeMillis(); // types typesManager = new TypesManager(); typesManager.init(); @@ -60,7 +63,8 @@ public abstract class AbstractContentRepository implements ProvidedRepository { for (QName type : types) { log.trace(type + " - " + typesManager.getAttributeTypes(type)); } - + long duration = System.currentTimeMillis() - begin; + log.debug(() -> "CMS content types available (initialisation took " + duration + " ms)"); } protected abstract CmsContentSession newSystemSession(); @@ -81,14 +85,19 @@ public abstract class AbstractContentRepository implements ProvidedRepository { */ @Override public void addProvider(ContentProvider provider) { - if (mountManager == null) + if (mountManager == null) { providersToAdd.add(provider); - else + log.debug( + () -> "Will add provider " + provider.getMountPath() + " (" + provider.getClass().getName() + ")"); + } else { mountManager.addStructuralContentProvider(provider); + log.debug(() -> "Added provider " + provider.getMountPath() + " (" + provider.getClass().getName() + ")"); + } } - public void registerTypes(String prefix, String namespaceURI, String schemaSystemId) { - typesManager.registerTypes(prefix, namespaceURI, schemaSystemId); + @Override + public void registerTypes(ContentNamespace... namespaces) { + typesManager.registerTypes(namespaces); } /* @@ -111,7 +120,7 @@ public abstract class AbstractContentRepository implements ProvidedRepository { // document = dBuilder.parse(inputSource); // } else { document = dBuilder.newDocument(); - Element root = document.createElementNS(CrName.CR_NAMESPACE_URI, + Element root = document.createElementNS(ArgeoNamespace.CR_NAMESPACE_URI, NamespaceUtils.toPrefixedName(CrName.root.qName())); for (String prefix : RuntimeNamespaceContext.getPrefixes().keySet()) { @@ -210,4 +219,10 @@ public abstract class AbstractContentRepository implements ProvidedRepository { TypesManager getTypesManager() { return typesManager; } + + CmsContentSession getSystemSession() { + return systemSession; + } + + }