X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2FTypesManager.java;h=d3617e128729dd3678b09058e9cd12027ae9d299;hb=feddb4be70a8304dd4a533efee6e14c22691b500;hp=29541b9d854339e7423ca9d750957a2f7fdbb67e;hpb=eb4324be6ac9cdff15828a21ee7d3f6ca2f19fb9;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/TypesManager.java b/org.argeo.cms/src/org/argeo/cms/acr/TypesManager.java index 29541b9d8..d3617e128 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/TypesManager.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/TypesManager.java @@ -77,34 +77,30 @@ class TypesManager { } - public synchronized void init() { -// prefixes.put(CrName.CR_DEFAULT_PREFIX, CrName.CR_NAMESPACE_URI); -// prefixes.put("basic", CrName.CR_NAMESPACE_URI); -// prefixes.put("owner", CrName.CR_NAMESPACE_URI); -// prefixes.put("posix", CrName.CR_NAMESPACE_URI); - + public void init() { for (CmsContentTypes cs : CmsContentTypes.values()) { - StreamSource source = new StreamSource(cs.getResource().toExternalForm()); - sources.add(source); -// if (prefixes.containsKey(cs.getDefaultPrefix())) -// throw new IllegalStateException("Prefix " + cs.getDefaultPrefix() + " is already mapped with " -// + prefixes.get(cs.getDefaultPrefix())); -// prefixes.put(cs.getDefaultPrefix(), cs.getNamespace()); + if (cs.getResource() != null) { + StreamSource source = new StreamSource(cs.getResource().toExternalForm()); + sources.add(source); + } RuntimeNamespaceContext.register(cs.getNamespace(), cs.getDefaultPrefix()); } reload(); } - public synchronized void registerTypes(String defaultPrefix, String namespace, String xsdSystemId) { + public void registerTypes(String defaultPrefix, String namespace, String xsdSystemId) { // if (prefixes.containsKey(defaultPrefix)) // throw new IllegalStateException( // "Prefix " + defaultPrefix + " is already mapped with " + prefixes.get(defaultPrefix)); // prefixes.put(defaultPrefix, namespace); RuntimeNamespaceContext.register(namespace, defaultPrefix); - sources.add(new StreamSource(xsdSystemId)); - reload(); + if (xsdSystemId != null) { + sources.add(new StreamSource(xsdSystemId)); + reload(); + log.debug(() -> "Registered types " + namespace + " from " + xsdSystemId); + } } public Set listTypes() { @@ -457,7 +453,8 @@ class TypesManager { try { validator.validate(source); } catch (SAXException e) { - throw new IllegalArgumentException("Provided source is not valid", e); + log.error(source + " is not valid " + e); + // throw new IllegalArgumentException("Provided source is not valid", e); } }