X-Git-Url: http://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2FCmsContentNamespace.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2FCmsContentNamespace.java;h=02abd4cda2641d4ff2fcb2e3743f1061e787fd9b;hp=429b759fc03a4c6e4ff9fe5c20afd6f5bce12caa;hb=b95462873703848193e56fcbe997693630db6121;hpb=55d88fba80cec198a0f11ba7545e19878c51fc5e diff --git a/org.argeo.cms/src/org/argeo/cms/acr/CmsContentNamespace.java b/org.argeo.cms/src/org/argeo/cms/acr/CmsContentNamespace.java index 429b759fc..02abd4cda 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/CmsContentNamespace.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/CmsContentNamespace.java @@ -1,6 +1,9 @@ package org.argeo.cms.acr; +import static java.lang.System.Logger.Level.ERROR; + import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import java.util.Objects; @@ -52,8 +55,18 @@ public enum CmsContentNamespace implements ContentNamespace { Objects.requireNonNull(namespace); this.namespace = namespace; if (resourceFileName != null) { - resource = getClass().getResource(RESOURCE_BASE + resourceFileName); - Objects.requireNonNull(resource); + // resource = getClass().getResource(RESOURCE_BASE + resourceFileName); + try { + // FIXME workaround when in nested OSGi frameworks + resource = URI.create("platform:/plugin/org.argeo.cms" + RESOURCE_BASE + resourceFileName).toURL(); + } catch (MalformedURLException e) { + resource = null; + System.getLogger(CmsContentNamespace.class.getName()).log(ERROR, + "Cannot load " + resourceFileName + ": " + e.getMessage()); + // throw new IllegalArgumentException("Cannot convert " + resourceFileName + " + // to URL"); + } + // Objects.requireNonNull(resource); } if (publicUrl != null) try {