X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fosgi%2FCmsActivator.java;h=5e047d38a6b06db35900bd5439533e164646ff96;hb=bfb5eb067a6796c0ee2a575b1e2431220352513a;hp=d4b2f4595a8b400b0cadf5c8383c80614b0a1dcb;hpb=7b40f4a109786e0f18ecf0155d883f0bb7a8c45f;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/osgi/CmsActivator.java b/org.argeo.cms/src/org/argeo/cms/internal/osgi/CmsActivator.java index d4b2f4595..5e047d38a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/osgi/CmsActivator.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/osgi/CmsActivator.java @@ -4,7 +4,6 @@ import java.security.AllPermission; import java.util.Dictionary; import org.argeo.api.cms.CmsLog; -import org.argeo.cms.ArgeoLogger; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; @@ -13,7 +12,6 @@ import org.osgi.service.condpermadmin.ConditionInfo; import org.osgi.service.condpermadmin.ConditionalPermissionAdmin; import org.osgi.service.condpermadmin.ConditionalPermissionInfo; import org.osgi.service.condpermadmin.ConditionalPermissionUpdate; -import org.osgi.service.log.LogReaderService; import org.osgi.service.permissionadmin.PermissionInfo; /** @@ -23,36 +21,22 @@ import org.osgi.service.permissionadmin.PermissionInfo; public class CmsActivator implements BundleActivator { private final static CmsLog log = CmsLog.getLog(CmsActivator.class); -// private static Activator instance; - // TODO make it configurable private boolean hardened = false; private static BundleContext bundleContext; - private LogReaderService logReaderService; - - private CmsOsgiLogger logger; -// private CmsStateImpl nodeState; -// private CmsDeploymentImpl nodeDeployment; -// private CmsContextImpl nodeInstance; - -// private ServiceTracker userAdminSt; - -// static { -// Bundle bundle = FrameworkUtil.getBundle(Activator.class); -// if (bundle != null) { -// bundleContext = bundle.getBundleContext(); -// } -// } +// private LogReaderService logReaderService; +// +// private CmsOsgiLogger logger; void init() { // Runtime.getRuntime().addShutdownHook(new CmsShutdown()); // instance = this; // this.bc = bundleContext; - if (bundleContext != null) - this.logReaderService = getService(LogReaderService.class); - initArgeoLogger(); +// if (bundleContext != null) +// this.logReaderService = getService(LogReaderService.class); +// initArgeoLogger(); // this.internalExecutorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); // // try { @@ -69,21 +53,8 @@ public class CmsActivator implements BundleActivator { void destroy() { try { -// if (nodeInstance != null) -// nodeInstance.shutdown(); -// if (nodeDeployment != null) -// nodeDeployment.shutdown(); -// if (nodeState != null) -// nodeState.shutdown(); -// -// if (userAdminSt != null) -// userAdminSt.close(); - -// internalExecutorService.shutdown(); -// instance = null; bundleContext = null; - this.logReaderService = null; - // this.configurationAdmin = null; +// this.logReaderService = null; } catch (Exception e) { log.error("CMS activator shutdown failed", e); } @@ -127,26 +98,13 @@ public class CmsActivator implements BundleActivator { } - private void initArgeoLogger() { - logger = new CmsOsgiLogger(logReaderService); - if (bundleContext != null) - bundleContext.registerService(ArgeoLogger.class, logger, null); - } - -// private void initNode() throws IOException { -// // Node state -// nodeState = new CmsStateImpl(); -// registerService(CmsState.class, nodeState, null); -// -// // Node deployment -// nodeDeployment = new CmsDeploymentImpl(); -//// registerService(NodeDeployment.class, nodeDeployment, null); -// -// // Node instance -// nodeInstance = new CmsContextImpl(); -// registerService(CmsContext.class, nodeInstance, null); +// private void initArgeoLogger() { +// logger = new CmsOsgiLogger(logReaderService); +// if (bundleContext != null) +// bundleContext.registerService(ArgeoLogger.class, logger, null); // } + public static void registerService(Class clss, T service, Dictionary properties) { if (bundleContext != null) { bundleContext.registerService(clss, service, properties); @@ -169,98 +127,18 @@ public class CmsActivator implements BundleActivator { @Override public void start(BundleContext bc) throws Exception { bundleContext = bc; -// if (!bc.getBundle().equals(bundleContext.getBundle())) -// throw new IllegalStateException( -// "Bundle " + bc.getBundle() + " is not consistent with " + bundleContext.getBundle()); - init(); -// userAdminSt = new ServiceTracker<>(bundleContext, UserAdmin.class, null); -// userAdminSt.open(); -// ServiceTracker httpSt = new ServiceTracker(bc, HttpService.class, null) { -// -// @Override -// public HttpService addingService(ServiceReference sr) { -// Object httpPort = sr.getProperty("http.port"); -// Object httpsPort = sr.getProperty("https.port"); -// log.info(httpPortsMsg(httpPort, httpsPort)); -// close(); -// return super.addingService(sr); -// } -// }; -// httpSt.open(); - } + init(); - private String httpPortsMsg(Object httpPort, Object httpsPort) { - return (httpPort != null ? "HTTP " + httpPort + " " : " ") + (httpsPort != null ? "HTTPS " + httpsPort : ""); } @Override public void stop(BundleContext bc) throws Exception { -// if (!bc.getBundle().equals(bundleContext.getBundle())) -// throw new IllegalStateException( -// "Bundle " + bc.getBundle() + " is not consistent with " + bundleContext.getBundle()); + destroy(); bundleContext = null; } -// private T getService(Class clazz) { -// ServiceReference sr = bundleContext.getServiceReference(clazz); -// if (sr == null) -// throw new IllegalStateException("No service available for " + clazz); -// return bundleContext.getService(sr); -// } - -// public static GSSCredential getAcceptorCredentials() { -// return getNodeUserAdmin().getAcceptorCredentials(); -// } -// -// @Deprecated -// public static boolean isSingleUser() { -// return getNodeUserAdmin().isSingleUser(); -// } -// -// public static UserAdmin getUserAdmin() { -// return (UserAdmin) getNodeUserAdmin(); -// } -// -// public static String getHttpProxySslHeader() { -// return KernelUtils.getFrameworkProp(CmsConstants.HTTP_PROXY_SSL_DN); -// } -// -// private static NodeUserAdmin getNodeUserAdmin() { -// NodeUserAdmin res; -// try { -// res = instance.userAdminSt.waitForService(60000); -// } catch (InterruptedException e) { -// throw new IllegalStateException("Cannot retrieve Node user admin", e); -// } -// if (res == null) -// throw new IllegalStateException("No Node user admin found"); -// -// return res; -// // ServiceReference sr = -// // instance.bc.getServiceReference(UserAdmin.class); -// // NodeUserAdmin userAdmin = (NodeUserAdmin) instance.bc.getService(sr); -// // return userAdmin; -// -// } - -// public static ExecutorService getInternalExecutorService() { -// return instance.internalExecutorService; -// } - - // static CmsSecurity getCmsSecurity() { - // return instance.nodeSecurity; - // } - -// public String[] getLocales() { -// // TODO optimize? -// List locales = CmsStateImpl.getNodeState().getLocales(); -// String[] res = new String[locales.size()]; -// for (int i = 0; i < locales.size(); i++) -// res[i] = locales.get(i).toString(); -// return res; -// } public static BundleContext getBundleContext() { return bundleContext;