X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelUtils.java;h=1d15e2a3ae041911c95f963e69042c6833877416;hb=070656b6431e699a0f6ac8dc1839bce3fc2509ce;hp=1d7e0868e1e6102bce439f7d7ad31fb3c3aec64a;hpb=a4a78ecbc3cfd119477264534c7d0cab541ae6ad;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 1d7e0868e..1d15e2a3a 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 @@ -15,7 +15,9 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.argeo.cms.CmsException; -import org.argeo.cms.KernelHeader; +import org.argeo.cms.auth.AuthConstants; +import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; /** Package utilities */ class KernelUtils implements KernelConstants { @@ -41,12 +43,36 @@ class KernelUtils implements KernelConstants { return asDictionary(props); } + static File getExecutionDir(String relativePath) { + File executionDir = new File(getFrameworkProp("user.dir")); + if (relativePath == null) + return executionDir; + try { + return new File(executionDir, relativePath).getCanonicalFile(); + } catch (IOException e) { + throw new CmsException("Cannot get canonical file", e); + } + } + static File getOsgiInstanceDir() { return new File(Activator.getBundleContext() .getProperty(OSGI_INSTANCE_AREA).substring("file:".length())) .getAbsoluteFile(); } + 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 { return new File(new URI(Activator.getBundleContext().getProperty( @@ -74,7 +100,8 @@ class KernelUtils implements KernelConstants { Subject subject = new Subject(); LoginContext lc; try { - lc = new LoginContext(KernelHeader.LOGIN_CONTEXT_ANONYMOUS, subject); + lc = new LoginContext(AuthConstants.LOGIN_CONTEXT_ANONYMOUS, + subject); lc.login(); return subject; } catch (LoginException e) { @@ -114,6 +141,19 @@ class KernelUtils implements KernelConstants { } } + static void logFrameworkProperties(Log log) { + BundleContext bc = Activator.getBundleContext(); + String[] keys = { Constants.FRAMEWORK_STORAGE, + Constants.FRAMEWORK_OS_NAME, Constants.FRAMEWORK_OS_VERSION, + Constants.FRAMEWORK_PROCESSOR, Constants.FRAMEWORK_SECURITY, + Constants.FRAMEWORK_TRUST_REPOSITORIES, + Constants.FRAMEWORK_WINDOWSYSTEM, Constants.FRAMEWORK_VENDOR, + Constants.FRAMEWORK_VERSION, Constants.FRAMEWORK_STORAGE_CLEAN, + Constants.FRAMEWORK_LANGUAGE, Constants.FRAMEWORK_UUID }; + for (String key : keys) + log.debug(key + "=" + bc.getProperty(key)); + } + private KernelUtils() { }