X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelUtils.java;h=0a9e6c53e44a2c24d7b438b526ce15ddda5f8214;hb=08fac35eeedb151c2fd1cc85ed4a36adf66e02fc;hp=ba2a352a74dd334f14bd55edc1b22bb0fcfbc95b;hpb=c322e016196139f7f4fb9192e5b1e773999143d0;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 ba2a352a7..0a9e6c53e 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 @@ -13,17 +13,18 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.argeo.cms.CmsException; -import org.osgi.framework.BundleContext; +import org.argeo.cms.KernelHeader; +import org.argeo.cms.internal.auth.GrantedAuthorityPrincipal; import org.springframework.security.authentication.AnonymousAuthenticationToken; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.core.Authentication; -import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; +/** Package utilities */ class KernelUtils implements KernelConstants { - final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; + private final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; static Dictionary asDictionary(Properties props) { Hashtable hashtable = new Hashtable(); @@ -44,18 +45,31 @@ class KernelUtils implements KernelConstants { return asDictionary(props); } - static File getOsgiInstanceDir(BundleContext bundleContext) { - return new File(bundleContext.getProperty(OSGI_INSTANCE_AREA) - .substring("file:".length())).getAbsoluteFile(); + static File getOsgiInstanceDir() { + return new File(Activator.getBundleContext() + .getProperty(OSGI_INSTANCE_AREA).substring("file:".length())) + .getAbsoluteFile(); + } + + static String getFrameworkProp(String key, String def) { + String value = Activator.getBundleContext().getProperty(key); + if (value == null) + return def; + return value; + } + + static String getFrameworkProp(String key) { + return getFrameworkProp(key, null); } // Security static void anonymousLogin(AuthenticationManager authenticationManager) { try { - List anonAuthorities = Collections - .singletonList(new SimpleGrantedAuthority(ROLE_ANONYMOUS)); - UserDetails anonUser = new User(ANONYMOUS_USER, "", true, true, - true, true, anonAuthorities); + 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