X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelUtils.java;h=cb22e2790c055f7e021cd9a3dbdfd419e5dd095e;hb=ca077afe73309068fddb2fd36c695767d165621a;hp=9b220f20af418355142fd8284fd1cc73fb904b11;hpb=06acf73a99f0e3908fe8998f1ff08dee109c5562;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java index 9b220f20a..cb22e2790 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java @@ -4,6 +4,8 @@ import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; +import java.nio.file.Path; +import java.nio.file.Paths; import java.security.PrivilegedAction; import java.util.Dictionary; import java.util.Enumeration; @@ -28,8 +30,8 @@ import org.osgi.framework.FrameworkUtil; /** Package utilities */ class KernelUtils implements KernelConstants { - private final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; - private final static String OSGI_CONFIGURATION_AREA = "osgi.configuration.area"; + final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; + final static String OSGI_CONFIGURATION_AREA = "osgi.configuration.area"; static Dictionary asDictionary(Properties props) { Hashtable hashtable = new Hashtable(); @@ -65,25 +67,26 @@ class KernelUtils implements KernelConstants { .getAbsoluteFile(); } + static Path getOsgiInstancePath(String relativePath) { + return Paths.get(getOsgiInstanceUri(relativePath)); + } + static URI getOsgiInstanceUri(String relativePath) { String osgiInstanceBaseUri = getFrameworkProp(OSGI_INSTANCE_AREA); - try { - return new URI(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); - } catch (URISyntaxException e) { - throw new CmsException("Cannot get OSGi instance URI for " + relativePath, e); - } + return safeUri(osgiInstanceBaseUri + (relativePath != null ? relativePath : "")); } - static String getOsgiInstancePath(String relativePath) { - try { - if (relativePath == null) - return getOsgiInstanceDir().getCanonicalPath(); - else - return new File(getOsgiInstanceDir(), relativePath).getCanonicalPath(); - } catch (IOException e) { - throw new CmsException("Cannot get instance path for " + relativePath, e); - } - } + // static String getOsgiInstancePath(String relativePath) { + // try { + // if (relativePath == null) + // return getOsgiInstanceDir().getCanonicalPath(); + // else + // return new File(getOsgiInstanceDir(), relativePath).getCanonicalPath(); + // } catch (IOException e) { + // throw new CmsException("Cannot get instance path for " + relativePath, + // e); + // } + // } static File getOsgiConfigurationFile(String relativePath) { try { @@ -118,26 +121,6 @@ class KernelUtils implements KernelConstants { } } - // @Deprecated - // static void anonymousLogin(AuthenticationManager authenticationManager) { - // try { - // List anonAuthorities = Collections - // .singletonList(new GrantedAuthorityPrincipal( - // KernelHeader.ROLE_ANONYMOUS)); - // UserDetails anonUser = new User(KernelHeader.USERNAME_ANONYMOUS, - // "", true, true, true, true, anonAuthorities); - // AnonymousAuthenticationToken anonToken = new - // AnonymousAuthenticationToken( - // DEFAULT_SECURITY_KEY, anonUser, anonAuthorities); - // Authentication authentication = authenticationManager - // .authenticate(anonToken); - // SecurityContextHolder.getContext() - // .setAuthentication(authentication); - // } catch (Exception e) { - // throw new CmsException("Cannot authenticate", e); - // } - // } - // HTTP static void logRequestHeaders(Log log, HttpServletRequest request) { if (!log.isDebugEnabled()) @@ -214,6 +197,16 @@ class KernelUtils implements KernelConstants { return getBundleContext(KernelUtils.class); } + private static URI safeUri(String uri) { + if (uri == null) + throw new CmsException("URI cannot be null"); + try { + return new URI(uri); + } catch (URISyntaxException e) { + throw new CmsException("Dadly formatted URI " + uri, e); + } + } + private KernelUtils() { }