Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/Activator.java')
-rwxr-xr-xbundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/Activator.java236
1 files changed, 0 insertions, 236 deletions
diff --git a/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/Activator.java b/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/Activator.java
deleted file mode 100755
index e264e3e0e..000000000
--- a/bundles/org.eclipse.equinox.http.jetty8/src/org/eclipse/equinox/http/jetty/internal/Activator.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 Cognos Incorporated, IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cognos Incorporated - initial API and implementation
- * IBM Corporation - bug fixes and enhancements
- *******************************************************************************/
-
-package org.eclipse.equinox.http.jetty.internal;
-
-import java.io.File;
-import java.lang.reflect.Method;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import org.eclipse.equinox.http.jetty.JettyConstants;
-import org.osgi.framework.*;
-import org.osgi.service.cm.ManagedServiceFactory;
-import org.osgi.service.startlevel.StartLevel;
-
-@SuppressWarnings("deprecation")
-public class Activator implements BundleActivator {
-
- private static final String JETTY_WORK_DIR = "jettywork"; //$NON-NLS-1$
- private static final String DEFAULT_PID = "default"; //$NON-NLS-1$
- private static final String MANAGED_SERVICE_FACTORY_PID = "org.eclipse.equinox.http.jetty.config"; //$NON-NLS-1$
-
- // OSGi Http Service suggest these properties for setting the default ports
- private static final String ORG_OSGI_SERVICE_HTTP_PORT = "org.osgi.service.http.port"; //$NON-NLS-1$
- private static final String ORG_OSGI_SERVICE_HTTP_PORT_SECURE = "org.osgi.service.http.port.secure"; //$NON-NLS-1$
-
- // controls whether start() should automatically start an Http Service based on BundleContext properties (default is true)
- // Note: only used if the bundle is explicitly started (e.g. not "lazy" activated)
- private static final String AUTOSTART = "org.eclipse.equinox.http.jetty.autostart"; //$NON-NLS-1$
-
- // Jetty will use a basic stderr logger if no other logging mechanism is provided.
- // This setting can be used to over-ride the stderr logger threshold(and only this default logger)
- // Valid values are in increasing threshold: "debug", "info", "warn", "error", and "off"
- // (default threshold is "warn")
- private static final String LOG_STDERR_THRESHOLD = "org.eclipse.equinox.http.jetty.log.stderr.threshold"; //$NON-NLS-1$
-
- // The staticServerManager is use by the start and stopServer methods and must be accessed in a static synchronized block
- // to ensure it is correctly handled in terms of the bundle life-cycle.
- private static HttpServerManager staticServerManager;
-
- private HttpServerManager httpServerManager;
- @SuppressWarnings("rawtypes")
- private ServiceRegistration registration;
-
- public void start(BundleContext context) throws Exception {
- File jettyWorkDir = new File(context.getDataFile(""), JETTY_WORK_DIR); //$NON-NLS-1$
- jettyWorkDir.mkdir();
- EquinoxStdErrLog.setThresholdLogger(context.getProperty(LOG_STDERR_THRESHOLD));
- httpServerManager = new HttpServerManager(jettyWorkDir);
-
- String autostart = context.getProperty(AUTOSTART);
- if ((autostart == null || Boolean.valueOf(autostart).booleanValue()) && !isBundleActivationPolicyUsed(context)) {
- Dictionary<String, Object> defaultSettings = createDefaultSettings(context);
- httpServerManager.updated(DEFAULT_PID, defaultSettings);
- }
-
- Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
- dictionary.put(Constants.SERVICE_PID, MANAGED_SERVICE_FACTORY_PID);
-
- registration = context.registerService(ManagedServiceFactory.class.getName(), httpServerManager, dictionary);
- setStaticServerManager(httpServerManager);
- }
-
- @SuppressWarnings("unchecked")
- private boolean isBundleActivationPolicyUsed(BundleContext context) {
- @SuppressWarnings("rawtypes")
- ServiceReference reference = context.getServiceReference(StartLevel.class.getName());
- StartLevel sl = ((reference != null) ? (StartLevel) context.getService(reference) : null);
- if (sl != null) {
- try {
- Bundle bundle = context.getBundle();
- Method isBundleActivationPolicyUsed = StartLevel.class.getMethod("isBundleActivationPolicyUsed", new Class[] {Bundle.class}); //$NON-NLS-1$
- Boolean result = (Boolean) isBundleActivationPolicyUsed.invoke(sl, new Object[] {bundle});
- return result.booleanValue();
- } catch (Exception e) {
- // ignore
- // Bundle Activation Policy only available in StartLevel Service 1.1
- } finally {
- context.ungetService(reference);
- }
- }
- return false;
- }
-
- public void stop(BundleContext context) throws Exception {
- setStaticServerManager(null);
- registration.unregister();
- registration = null;
-
- httpServerManager.shutdown();
- httpServerManager = null;
- }
-
- private Dictionary<String, Object> createDefaultSettings(BundleContext context) {
- final String PROPERTY_PREFIX = "org.eclipse.equinox.http.jetty."; //$NON-NLS-1$
- Dictionary<String, Object> defaultSettings = new Hashtable<String, Object>();
-
- // PID
- defaultSettings.put(Constants.SERVICE_PID, DEFAULT_PID);
-
- // HTTP Enabled (default is true)
- String httpEnabledProperty = context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTP_ENABLED);
- Boolean httpEnabled = (httpEnabledProperty == null) ? Boolean.TRUE : new Boolean(httpEnabledProperty);
- defaultSettings.put(JettyConstants.HTTP_ENABLED, httpEnabled);
-
- // HTTP Port
- String httpPortProperty = context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTP_PORT);
- if (httpPortProperty == null)
- httpPortProperty = context.getProperty(ORG_OSGI_SERVICE_HTTP_PORT);
-
- int httpPort = 80;
- if (httpPortProperty != null) {
- try {
- httpPort = Integer.parseInt(httpPortProperty);
- } catch (NumberFormatException e) {
- //(log this) ignore and use default
- }
- }
- defaultSettings.put(JettyConstants.HTTP_PORT, new Integer(httpPort));
-
- // HTTP Host (default is 0.0.0.0)
- String httpHost = context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTP_HOST);
- if (httpHost != null)
- defaultSettings.put(JettyConstants.HTTP_HOST, httpHost);
-
- // HTTPS Enabled (default is false)
- Boolean httpsEnabled = new Boolean(context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTPS_ENABLED));
- defaultSettings.put(JettyConstants.HTTPS_ENABLED, httpsEnabled);
-
- if (httpsEnabled.booleanValue()) {
- // HTTPS Port
- String httpsPortProperty = context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTPS_PORT);
- if (httpsPortProperty == null)
- httpsPortProperty = context.getProperty(ORG_OSGI_SERVICE_HTTP_PORT_SECURE);
-
- int httpsPort = 443;
- if (httpsPortProperty != null) {
- try {
- httpsPort = Integer.parseInt(httpsPortProperty);
- } catch (NumberFormatException e) {
- //(log this) ignore and use default
- }
- }
- defaultSettings.put(JettyConstants.HTTPS_PORT, new Integer(httpsPort));
-
- // HTTPS Host (default is 0.0.0.0)
- String httpsHost = context.getProperty(PROPERTY_PREFIX + JettyConstants.HTTPS_HOST);
- if (httpsHost != null)
- defaultSettings.put(JettyConstants.HTTPS_HOST, httpsHost);
-
- // SSL SETTINGS
- String keystore = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_KEYSTORE);
- if (keystore != null)
- defaultSettings.put(JettyConstants.SSL_KEYSTORE, keystore);
-
- String password = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_PASSWORD);
- if (password != null)
- defaultSettings.put(JettyConstants.SSL_PASSWORD, password);
-
- String keypassword = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_KEYPASSWORD);
- if (keypassword != null)
- defaultSettings.put(JettyConstants.SSL_KEYPASSWORD, keypassword);
-
- String needclientauth = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_NEEDCLIENTAUTH);
- if (needclientauth != null)
- defaultSettings.put(JettyConstants.SSL_NEEDCLIENTAUTH, new Boolean(needclientauth));
-
- String wantclientauth = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_WANTCLIENTAUTH);
- if (wantclientauth != null)
- defaultSettings.put(JettyConstants.SSL_WANTCLIENTAUTH, new Boolean(wantclientauth));
-
- String protocol = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_PROTOCOL);
- if (protocol != null)
- defaultSettings.put(JettyConstants.SSL_PROTOCOL, protocol);
-
- String algorithm = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_ALGORITHM);
- if (algorithm != null)
- defaultSettings.put(JettyConstants.SSL_ALGORITHM, algorithm);
-
- String keystoretype = context.getProperty(PROPERTY_PREFIX + JettyConstants.SSL_KEYSTORETYPE);
- if (keystoretype != null)
- defaultSettings.put(JettyConstants.SSL_KEYSTORETYPE, keystoretype);
- }
-
- // Servlet Context Path
- String contextpath = context.getProperty(PROPERTY_PREFIX + JettyConstants.CONTEXT_PATH);
- if (contextpath != null)
- defaultSettings.put(JettyConstants.CONTEXT_PATH, contextpath);
-
- // Session Inactive Interval (timeout)
- String sessionInactiveInterval = context.getProperty(PROPERTY_PREFIX + JettyConstants.CONTEXT_SESSIONINACTIVEINTERVAL);
- if (sessionInactiveInterval != null) {
- try {
- defaultSettings.put(JettyConstants.CONTEXT_SESSIONINACTIVEINTERVAL, new Integer(sessionInactiveInterval));
- } catch (NumberFormatException e) {
- //(log this) ignore
- }
- }
-
- // Other Info
- String otherInfo = context.getProperty(PROPERTY_PREFIX + JettyConstants.OTHER_INFO);
- if (otherInfo != null)
- defaultSettings.put(JettyConstants.OTHER_INFO, otherInfo);
-
- // customizer
- String customizerClass = context.getProperty(PROPERTY_PREFIX + JettyConstants.CUSTOMIZER_CLASS);
- if (customizerClass != null)
- defaultSettings.put(JettyConstants.CUSTOMIZER_CLASS, customizerClass);
-
- return defaultSettings;
- }
-
- public synchronized static void startServer(String pid, Dictionary<String, ?> settings) throws Exception {
- if (staticServerManager == null)
- throw new IllegalStateException("Inactive"); //$NON-NLS-1$
-
- staticServerManager.updated(pid, settings);
- }
-
- public synchronized static void stopServer(String pid) throws Exception {
- if (staticServerManager != null)
- staticServerManager.deleted(pid);
- }
-
- private synchronized static void setStaticServerManager(HttpServerManager httpServerManager) {
- staticServerManager = httpServerManager;
- }
-}

Back to the top