summaryrefslogtreecommitdiffstats
path: root/tags/java-stable-20060304/sca/tomcat/src
diff options
context:
space:
mode:
Diffstat (limited to 'tags/java-stable-20060304/sca/tomcat/src')
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/ContainerLoader.java100
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java144
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java162
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyValve.java118
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/BootstrapConfigurationException.java41
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/RuntimeBootstrap.java113
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatServerLifecycleListener.java40
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatWebAppLifecycleListener.java249
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/WebAppLifecycleListener.java152
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties20
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/Messages.properties39
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java250
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java50
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java109
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java63
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/axis2.xml167
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module21
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/web.xml6
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/index.html3
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module21
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/web.xml29
-rw-r--r--tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/index.html3
22 files changed, 0 insertions, 1900 deletions
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/ContainerLoader.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/ContainerLoader.java
deleted file mode 100644
index 60c9a7961f..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/ContainerLoader.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat;
-
-import java.beans.PropertyChangeListener;
-
-import org.apache.catalina.Container;
-import org.apache.catalina.Loader;
-
-/**
- * Implementation of a TomcatLoader that allows privileged servlets from the container
- * classloader to be loaded into an unprivileged application. This allows the Tuscany
- * integration code to add servlets to the application, for example, to handle web
- * services requests.
- *
- * @version $Rev$ $Date$
- */
-public class ContainerLoader implements Loader {
- private static final String INFO = ContainerLoader.class.getName() + "/SNAPSHOT";
- private final ClassLoader cl;
- private Container container;
-
- /**
- * Constructor specifying the classloader to be used.
- *
- * @param cl the classloader this Loader wraps, typically the container classloader
- */
- public ContainerLoader(ClassLoader cl) {
- this.cl = cl;
- }
-
- public void backgroundProcess() {
- }
-
- public ClassLoader getClassLoader() {
- return cl;
- }
-
- public Container getContainer() {
- return container;
- }
-
- public void setContainer(Container container) {
- this.container = container;
- }
-
- public boolean getDelegate() {
- return false;
- }
-
- public void setDelegate(boolean delegate) {
- throw new UnsupportedOperationException();
- }
-
- public String getInfo() {
- return INFO;
- }
-
- public boolean getReloadable() {
- return false;
- }
-
- public void setReloadable(boolean reloadable) {
- throw new UnsupportedOperationException();
- }
-
- public void addPropertyChangeListener(PropertyChangeListener listener) {
- throw new UnsupportedOperationException();
- }
-
- public void addRepository(String repository) {
- throw new UnsupportedOperationException();
- }
-
- public String[] findRepositories() {
- throw new UnsupportedOperationException();
- }
-
- public boolean modified() {
- throw new UnsupportedOperationException();
- }
-
- public void removePropertyChangeListener(PropertyChangeListener listener) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java
deleted file mode 100644
index 04977dbc27..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyContextListener.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat;
-
-import java.io.IOException;
-
-import javax.servlet.ServletContext;
-
-import org.apache.catalina.Context;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.Valve;
-import org.apache.catalina.core.StandardWrapper;
-
-import org.apache.tuscany.binding.axis2.handler.WebServiceEntryPointServlet;
-import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.config.ConfigurationLoadException;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.model.assembly.AssemblyFactory;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TuscanyContextListener implements LifecycleListener {
- private static final String TUSCANY_RUNTIME_NAME = RuntimeContext.class.getName();
- public static final String MODULE_COMPONENT_NAME = "org.apache.tuscany.core.webapp.ModuleComponentContext";
-
- private final AssemblyFactory modelFactory;
- private final AssemblyModelLoader modelLoader;
- private final RuntimeContext runtime;
- private final ResourceLoader systemLoader;
- private AggregateContext moduleContext;
-
- public TuscanyContextListener(RuntimeContext runtimeContext, AssemblyFactory modelFactory, AssemblyModelLoader modelLoader, ResourceLoader systemLoader) {
- this.runtime = runtimeContext;
- this.modelFactory = modelFactory;
- this.modelLoader = modelLoader;
- this.systemLoader = systemLoader;
- }
-
- public void lifecycleEvent(LifecycleEvent event) {
- String type = event.getType();
- if (Lifecycle.START_EVENT.equals(type)) {
- startContext((Context) event.getLifecycle());
- } else if (Lifecycle.STOP_EVENT.equals(type)) {
- stopContext((Context) event.getLifecycle());
- }
- }
-
- private void startContext(Context ctx) {
- ResourceLoader resourceLoader = new ResourceLoaderImpl(ctx.getLoader().getClassLoader());
- try {
- if (resourceLoader.getResource("sca.module") == null) {
- return;
- }
- } catch (IOException e) {
- return;
- }
- ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
- try {
- AssemblyModelContext modelContext = new AssemblyModelContextImpl(modelFactory, modelLoader, systemLoader, resourceLoader);
- ModuleComponentConfigurationLoader loader = new ModuleComponentConfigurationLoaderImpl(modelContext);
-
- try {
- // Load the SCDL configuration of the application module
- ModuleComponent moduleComponent = loader.loadModuleComponent(ctx.getName(), ctx.getPath());
-
- // Register it under the root application context
- AggregateContext rootContext = runtime.getRootContext();
- rootContext.registerModelObject(moduleComponent);
- moduleContext = (AggregateContext)rootContext.getContext(moduleComponent.getName());
- moduleContext.registerModelObject(moduleComponent.getComponentImplementation());
- } catch (ConfigurationLoadException e) {
- throw new UnsupportedOperationException();
- } catch (ConfigurationException e) {
- throw new UnsupportedOperationException();
- }
- } finally {
- Thread.currentThread().setContextClassLoader(oldCl);
- }
-
- moduleContext.fireEvent(EventContext.MODULE_START, null);
-
- // add a valve to this context's pipeline that will associate the request with the runtime
- Valve valve = new TuscanyValve(moduleContext);
- ctx.getPipeline().addValve(valve);
-
- // add the web service servlet wrapper
- addWebServiceWrapper(ctx);
-
- // add the RuntimeContext in as a servlet context parameter
- ServletContext servletContext = ctx.getServletContext();
- servletContext.setAttribute(TUSCANY_RUNTIME_NAME, runtime);
- servletContext.setAttribute(MODULE_COMPONENT_NAME, moduleContext);
- }
-
- private void stopContext(Context ctx) {
- if (moduleContext!=null) {
- moduleContext.fireEvent(EventContext.MODULE_START, null);
- }
- // todo unload module component from runtime
- }
-
- private static void addWebServiceWrapper(Context ctx) {
- // todo this should not depend on axis2, we need an API in the model for embedders
- // todo should only add this servlet if we need it
- // todo servlet implementation should be determined by the binding implementation
- // todo should get path from entry point definition and not hard code to /services
-
- Class<WebServiceEntryPointServlet> servletClass = WebServiceEntryPointServlet.class;
- StandardWrapper wrapper = new StandardWrapper();
- wrapper.setName("TuscanyAxis2EntryPointServlet");
- wrapper.setLoader(new ContainerLoader(servletClass.getClassLoader()));
- wrapper.setServletClass(servletClass.getName());
- ctx.addChild(wrapper);
- ctx.addServletMapping("/services/*", wrapper.getName());
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
deleted file mode 100644
index b6e6db6da7..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.catalina.Container;
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.util.StringManager;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
-import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
-import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
-import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
-import org.apache.tuscany.core.config.ConfigurationLoadException;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.SystemAggregateContext;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.runtime.RuntimeContextImpl;
-import org.apache.tuscany.core.system.builder.SystemComponentContextBuilder;
-import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
-import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
-import org.apache.tuscany.core.system.loader.SystemSCDLModelLoader;
-import org.apache.tuscany.model.assembly.AssemblyFactory;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
-import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
-import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
-import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
-
-/**
- * A Tomcat listener to be attached to a Host container to add SCA runtime functionality.
- * The listener wraps a Tuscany runtime and listens for container events to detect the
- * addition and removal of Context children.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyHost extends StandardHost {
- private static final String SYSTEM_MODULE_COMPONENT = "org.apache.tuscany.core.system";
- private static final Log log = LogFactory.getLog(TuscanyHost.class);
- private static final StringManager sm = StringManager.getManager("org.apache.tuscany.tomcat");
-
- private RuntimeContext runtime;
- private AssemblyModelLoader modelLoader;
- private AssemblyFactory modelFactory;
- private ResourceLoader systemLoader;
-
- public synchronized void start() throws LifecycleException {
- startRuntime();
- super.start();
- }
-
- public synchronized void stop() throws LifecycleException {
- super.stop();
- stopRuntime();
- }
-
- private void startRuntime() {
- systemLoader = new ResourceLoaderImpl(getClass().getClassLoader());
-
- // Create an assembly model factory
- modelFactory = new AssemblyFactoryImpl();
-
- // Create an assembly model loader
- List<SCDLModelLoader> scdlLoaders=new ArrayList<SCDLModelLoader>();
- scdlLoaders.add(new SystemSCDLModelLoader());
- modelLoader = new SCDLAssemblyModelLoaderImpl(scdlLoaders);
-
- // Create an assembly model context
- AssemblyModelContext modelContext = new AssemblyModelContextImpl(modelFactory, modelLoader, systemLoader);
-
- // Load the system module component
- ModuleComponentConfigurationLoader loader = new ModuleComponentConfigurationLoaderImpl(modelContext);
- ModuleComponent systemModuleComponent;
- try {
- systemModuleComponent = loader.loadSystemModuleComponent(SYSTEM_MODULE_COMPONENT, SYSTEM_MODULE_COMPONENT);
- } catch (ConfigurationLoadException e) {
- log.warn(sm.getString("runtime.loadSystemFailed"), e);
- return;
- }
-
- List<RuntimeConfigurationBuilder> configBuilders = new ArrayList();
- configBuilders.add((new SystemComponentContextBuilder()));
- configBuilders.add(new SystemEntryPointBuilder());
- configBuilders.add(new SystemExternalServiceBuilder());
-
- runtime = new RuntimeContextImpl(new NullMonitorFactory(), scdlLoaders, configBuilders, new DefaultWireBuilder());
- runtime.start();
-
- try {
- SystemAggregateContext systemContext = runtime.getSystemContext();
- systemContext.registerModelObject(systemModuleComponent);
-
- // Get the aggregate context representing the system module component
- AggregateContext systemModuleComponentContext = (AggregateContext) systemContext.getContext(SYSTEM_MODULE_COMPONENT);
- systemModuleComponentContext.registerModelObject(systemModuleComponent.getComponentImplementation());
- systemModuleComponentContext.fireEvent(EventContext.MODULE_START, null);
- } catch (Exception e) {
- log.warn(sm.getString("runtime.registerSystemFailed"), e);
- runtime.stop();
- runtime = null;
- return;
- }
-
- log.info(sm.getString("runtime.started"));
- }
-
- private void stopRuntime() {
- if (runtime == null) {
- return;
- }
-
- runtime.stop();
- runtime = null;
- log.info(sm.getString("runtime.stopped"));
- }
-
- public synchronized void addChild(Container child) {
- if (!(child instanceof StandardContext)) {
- throw new IllegalArgumentException(sm.getString("tuscanyHost.notContext"));
- }
- StandardContext ctx = (StandardContext) child;
- ctx.addLifecycleListener(new TuscanyContextListener(runtime, modelFactory, modelLoader, systemLoader));
- super.addChild(child);
- }
-
- public String toString() {
-
- StringBuffer sb = new StringBuffer(132);
- if (getParent() != null) {
- sb.append(getParent().toString()).append('.');
- }
- sb.append("TuscanyHost[").append(getName()).append(']');
- return (sb.toString());
-
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyValve.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyValve.java
deleted file mode 100644
index d5383b64ea..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyValve.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-import org.apache.catalina.valves.ValveBase;
-import org.osoa.sca.CurrentModuleContext;
-import org.osoa.sca.ModuleContext;
-import org.osoa.sca.SCA;
-
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.EventException;
-import org.apache.tuscany.core.context.webapp.LazyHTTPSessionId;
-
-/**
- * Valve that can be added to a pipeline to automatically set the SCA environment as each request is processed.
- *
- * @version $Rev$ $Date$
- */
-public class TuscanyValve extends ValveBase {
- /**
- * Name of the note that contains the request id
- */
- private static final String REQUEST_ID = "org.apache.tuscany.tomcat.REQUEST_ID";
-
- private static final ContextBinder BINDER = new ContextBinder();
-
- private final AggregateContext moduleComponentContext;
-
- public TuscanyValve(AggregateContext moduleComponentContext) {
- this.moduleComponentContext = moduleComponentContext;
- }
-
- public void invoke(Request request, Response response) throws IOException, ServletException {
- Object oldRequestId = request.getNote(REQUEST_ID);
- ModuleContext oldContext = CurrentModuleContext.getContext();
-
- // bind the current module context to the thread for use by CurrentModuleContext
- BINDER.setContext((ModuleContext) moduleComponentContext);
- try {
- if (oldRequestId != null) {
- // the request has already been started, just invoke the next valve
- next.invoke(request, response);
- } else {
- // tell the runtime a new request is starting
- Object requestId = new Object();
- // jfm
- if (request.getSession(false) != null) {
- // A session is already active
- moduleComponentContext
- .fireEvent(EventContext.SESSION_NOTIFY, ((HttpServletRequest) request).getSession(true));
- } else {
- // Create a lazy wrapper since a session is not yet active
- moduleComponentContext.fireEvent(EventContext.SESSION_NOTIFY, new LazyHTTPSessionId(
- (HttpServletRequest) request));
- }
- // jfm
- try {
- moduleComponentContext.fireEvent(EventContext.REQUEST_START, requestId);
- } catch (Exception e) {
- throw new ServletException(e.getMessage(), e);
- }
- request.setNote(REQUEST_ID, requestId);
-
- try {
- // invoke the next valve in the pipeline
- next.invoke(request, response);
- } finally {
- // notify the runtime the request is ending
- request.removeNote(REQUEST_ID);
- try {
- moduleComponentContext.fireEvent(EventContext.REQUEST_END, requestId);
- } catch (Exception e) {
- // the application already did its work, log and ignore
- // todo log this exception
- }
- }
- }
- } finally {
- // restore the previous module context onto the thread
- BINDER.setContext(oldContext);
- }
- }
-
- private static class ContextBinder extends SCA {
- public void setContext(ModuleContext context) {
- setModuleContext(context);
- }
-
- public void start() {
- throw new AssertionError();
- }
-
- public void stop() {
- throw new AssertionError();
- }
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/BootstrapConfigurationException.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/BootstrapConfigurationException.java
deleted file mode 100644
index 39f24cba8f..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/BootstrapConfigurationException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package org.apache.tuscany.tomcat.lifecycle.listener;
-
-import org.apache.tuscany.common.TuscanyException;
-
-/**
- * Signals an exception booting the Tuscany runtime hosted in a Tomcat instance
- *
- * @version $Rev$ $Date$
- */
-public class BootstrapConfigurationException extends TuscanyException {
-
- public BootstrapConfigurationException() {
- super();
- }
-
- public BootstrapConfigurationException(String message) {
- super(message);
- }
-
- public BootstrapConfigurationException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public BootstrapConfigurationException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/RuntimeBootstrap.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/RuntimeBootstrap.java
deleted file mode 100644
index 16cad1cb1b..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/RuntimeBootstrap.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- */
-package org.apache.tuscany.tomcat.lifecycle.listener;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.List;
-
-import javax.naming.Context;
-import javax.naming.Name;
-import javax.naming.RefAddr;
-import javax.naming.Reference;
-import javax.naming.spi.ObjectFactory;
-
-import org.apache.tuscany.common.monitor.MonitorFactory;
-import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
-import org.apache.tuscany.core.system.builder.SystemComponentContextBuilder;
-import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
-import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.runtime.RuntimeContextImpl;
-
-/**
- * Bootstraps an SCA runtime hosted by a Tomcat instance. The runtime will be bound to JNDI and accessed by
- * {@link org.apache.tuscany.tomcat.lifecycle.listener.WebAppLifecycleListener}s that deploy web archives as module
- * components.
- * <p>
- * Tomcat is configured by adding the following to <code>server.xml</code> under the
- * <code>GlobalNamingResources</code> element:
- *
- * <pre>
- * &lt;Resource name=&quot;TuscanyRuntime&quot; auth=&quot;Container&quot; type=&quot;org.apache.tuscany.core.runtime.RuntimeContext&quot;
- * description=&quot;Tuscany Runtime&quot;
- * factory=&quot; org.apache.tuscany.tomcat.lifecycle.listener.RuntimeBootstrap&quot;
- * monitor=&quot;[monitor factory]&quot; loader=&quot;[configuration loader]&quot;/&gt;
- * </pre>
- *
- * @version $Rev$ $Date$
- */
-public class RuntimeBootstrap implements ObjectFactory {
-
- public static final String RUNTIME_NAME = "TuscanyRuntime";
-
- public RuntimeBootstrap() {
- }
-
- public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment)
- throws BootstrapConfigurationException {
- if (!RUNTIME_NAME.equals(name)) {
- throw new BootstrapConfigurationException("Tuscany Runtime must be configured with JNDI address of " + RUNTIME_NAME);
- }
- MonitorFactory monitorFactory = null;
- ModuleComponentConfigurationLoader configurationLoader = null;
-
- Reference ref = (Reference) obj;
- if (!RuntimeContext.class.getName().equals(ref.getClassName())) {
- throw new BootstrapConfigurationException("Invalid runtime configuration");
- }
- RefAddr monitorAddr = ref.get("monitor");
- RefAddr loaderAddr = ref.get("loader");
- if (loaderAddr == null) {
- throw new BootstrapConfigurationException("No configuration laoder specified in Tomcat configuration");
- }
- if (monitorAddr != null) {
- try {
- Class monitorFactoryClass = JavaIntrospectionHelper.loadClass(monitorAddr.getContent().toString());
- monitorFactory = (MonitorFactory) monitorFactoryClass.newInstance();
- } catch (ClassNotFoundException e) {
- throw new BootstrapConfigurationException("Unable to find monitor factory class specified in Tomcat configuration", e);
- } catch (InstantiationException e) {
- throw new BootstrapConfigurationException("Error initializing monitor factory in Tomcat configuration", e);
- } catch (IllegalAccessException e) {
- throw new BootstrapConfigurationException("Error initializing monitor factory in Tomcat configuration", e);
- }
- }
-// try {
-// Class configurationLoaderClass = JavaIntrospectionHelper.loadClass(loaderAddr.getContent().toString());
-// configurationLoader = (ConfigurationLoader) configurationLoaderClass.newInstance();
-// } catch (ClassNotFoundException e) {
-// throw new BootstrapConfigurationException("Unable to find configuration loader class specified in Tomcat configuration", e);
-// } catch (InstantiationException e) {
-// throw new BootstrapConfigurationException("Error initializing configuration loader in Tomcat configuration", e);
-// } catch (IllegalAccessException e) {
-// throw new BootstrapConfigurationException("Error initializing configuration loader in Tomcat configuration", e);
-// }
- // create the SCA Runtime and have it bound in the global JNDI context
- return new RuntimeContextImpl(monitorFactory, null, createBuilders(),null);
- }
-
- /**
- * Creates a collection of bootstrap builders
- */
- private List<RuntimeConfigurationBuilder> createBuilders() {
- List<RuntimeConfigurationBuilder> builders = new ArrayList();
- builders.add((new SystemComponentContextBuilder()));
- builders.add(new SystemEntryPointBuilder());
- builders.add(new SystemExternalServiceBuilder());
- return builders;
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatServerLifecycleListener.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatServerLifecycleListener.java
deleted file mode 100644
index 0da95bde17..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatServerLifecycleListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.lifecycle.listener;
-
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.LifecycleListener;
-
-/**
- * This class manages the lifecycle of the SCA container in Tomcat.
- * @deprecated
- */
-public class TomcatServerLifecycleListener implements LifecycleListener {
- //private CoreModuleContext containerModuleContext;
-
- /**
- * Constructor
- */
- public TomcatServerLifecycleListener() {
- }
-
- /**
- * @see org.apache.catalina.LifecycleListener#lifecycleEvent(org.apache.catalina.LifecycleEvent)
- */
- public void lifecycleEvent(LifecycleEvent lifecycleEvent) {
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatWebAppLifecycleListener.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatWebAppLifecycleListener.java
deleted file mode 100644
index d1e7d8de39..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/TomcatWebAppLifecycleListener.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.lifecycle.listener;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.catalina.Context;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.deploy.FilterMap;
-import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
-import org.apache.tuscany.common.resource.ResourceLoader;
-import org.apache.tuscany.common.resource.impl.ResourceLoaderImpl;
-import org.apache.tuscany.core.builder.RuntimeConfigurationBuilder;
-import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
-import org.apache.tuscany.core.config.ModuleComponentConfigurationLoader;
-import org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.CoreRuntimeException;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.webapp.HTTPSessionExpirationListener;
-import org.apache.tuscany.core.context.webapp.TuscanyRequestFilter;
-import org.apache.tuscany.core.context.webapp.TuscanyWebAppRuntime;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.runtime.RuntimeContextImpl;
-import org.apache.tuscany.core.system.builder.SystemComponentContextBuilder;
-import org.apache.tuscany.core.system.builder.SystemEntryPointBuilder;
-import org.apache.tuscany.core.system.builder.SystemExternalServiceBuilder;
-import org.apache.tuscany.core.system.loader.SystemSCDLModelLoader;
-import org.apache.tuscany.model.assembly.AssemblyFactory;
-import org.apache.tuscany.model.assembly.AssemblyModelContext;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-import org.apache.tuscany.model.assembly.impl.AssemblyFactoryImpl;
-import org.apache.tuscany.model.assembly.impl.AssemblyModelContextImpl;
-import org.apache.tuscany.model.assembly.loader.AssemblyModelLoader;
-import org.apache.tuscany.model.scdl.loader.SCDLModelLoader;
-import org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl;
-import org.osoa.sca.ServiceRuntimeException;
-
-//FIXME This is a temporary hack to bootstrap the runtime in a Tomcat environment and do some bringup testing, the real bootstrap code is
-// still under construction
-
-/**
- * Responsible for initializing web applications as module components in a
- * Tomcat instance. When a web app is being loaded in Tomcat, this listener
- * receives a callback to register a corresponding module component and set up
- * the appropriate Servlet filters in the web context.
- * <p/>
- * Note that Tomcat loads this class in the standard (common/lib) classloader
- * even though the context classloader is that of the web app being loaded.
- * Consequently, the transitive closure of class references must not include
- * <tt>ModuleContext</tt> or <tt>ModuleManager</tt>
- * <p/>
- * TODO decide if we want to set this up as a Tomcat listener or as a web app
- * listener Setting this up as a web app listener allows users to set the
- * context path, avoiding a performance hit for SCA event processing in contexts
- * where it is not used. The downside is the potential for user error. For
- * example, SCA event filters must be manually configured. We probably should
- * provide both options
- * FIXME fix the exception handling
- */
-public class TomcatWebAppLifecycleListener implements LifecycleListener {
-
- private final static String SYSTEM_MODULE_COMPONENT = "org.apache.tuscany.core.system";
-
- /**
- * Constructor
- */
- public TomcatWebAppLifecycleListener() {
- }
-
- /**
- * Callback for receiving web application events. When a web app containing
- * an SCA configuration is initialized, a module component is created and
- * appropriate SCA filters are set for in the web context. If a web app stop
- * event is received, the corresponding module component is deregistered from
- * the system.
- */
- public void lifecycleEvent(LifecycleEvent event) {
- String lifecycleEventType = event.getType();
- Object lifecycleEventSource = event.getSource();
-
- if (Lifecycle.START_EVENT.equals(lifecycleEventType) && lifecycleEventSource instanceof Context) {
-
- // The web app is starting
- Context context = (Context) lifecycleEventSource;
- try {
-
- // Get the application classloader
- ClassLoader applicationClassLoader = Thread.currentThread().getContextClassLoader();
- ResourceLoader resourceLoader = new ResourceLoaderImpl(applicationClassLoader);
-
- // Check if the web app contains an sca.module file
- URL url;
- try {
- url = resourceLoader.getResource("sca.module");
- } catch (IOException e) {
- url = null;
- }
- if (url != null) {
- // The Web app has an sca.module file
- // Get the module component name from the context
- String moduleComponentName = context.getPath().substring(1);
- try {
-
- // Create an assembly model factory
- AssemblyFactory modelFactory=new AssemblyFactoryImpl();
-
- // Create an assembly model loader
- List<SCDLModelLoader> scdlLoaders=new ArrayList<SCDLModelLoader>();
- scdlLoaders.add(new SystemSCDLModelLoader());
- AssemblyModelLoader modelLoader=new SCDLAssemblyModelLoaderImpl(scdlLoaders);
-
- // Create an assembly model context
- AssemblyModelContext modelContext = new AssemblyModelContextImpl(modelFactory, modelLoader, resourceLoader);
-
- // Create system configuration builders
- List<RuntimeConfigurationBuilder> configBuilders = new ArrayList();
- configBuilders.add((new SystemComponentContextBuilder()));
- configBuilders.add(new SystemEntryPointBuilder());
- configBuilders.add(new SystemExternalServiceBuilder());
-
- // Create a runtime context and start it
- RuntimeContext runtimeContext = new RuntimeContextImpl(new NullMonitorFactory(), scdlLoaders, configBuilders,new DefaultWireBuilder());
- runtimeContext.start();
-
- // Get the system context
- AggregateContext systemContext = runtimeContext.getSystemContext();
-
- // Load the system module component
- ModuleComponentConfigurationLoader loader = new ModuleComponentConfigurationLoaderImpl(modelContext);
- ModuleComponent systemModuleComponent = loader.loadSystemModuleComponent(SYSTEM_MODULE_COMPONENT, SYSTEM_MODULE_COMPONENT);
-
- // Register it with the system context
- systemContext.registerModelObject(systemModuleComponent);
-
- // Get the aggregate context representing the system module component
- AggregateContext systemModuleComponentContext = (AggregateContext) systemContext.getContext(SYSTEM_MODULE_COMPONENT);
- systemModuleComponentContext.registerModelObject(systemModuleComponent.getComponentImplementation());
- systemModuleComponentContext.fireEvent(EventContext.MODULE_START, null);
-
- // Load the SCDL configuration of the application module
- String uri = context.getPath().substring(1);
- ModuleComponent moduleComponent = loader.loadModuleComponent(moduleComponentName, uri);
-
- // Register it under the root application context
- runtimeContext.getRootContext().registerModelObject(moduleComponent);
- AggregateContext moduleContext=(AggregateContext)runtimeContext.getContext(moduleComponent.getName());
- moduleContext.registerModelObject(moduleComponent.getComponentImplementation());
-
- // Create a Tuscany runtime and store it in the servlet
- // context
- TuscanyWebAppRuntime tuscanyRuntime = new TuscanyWebAppRuntime(moduleContext);
- context.getServletContext().setAttribute(TuscanyWebAppRuntime.class.getName(), tuscanyRuntime);
-
- // Start the runtime and the module component context
- tuscanyRuntime.start();
- try {
- //moduleContext.start();
-
- moduleContext.fireEvent(EventContext.MODULE_START, null);
-
- } finally {
- tuscanyRuntime.stop();
- }
-
- // Set up the SCA web app filter and listener
- FilterDef def = new FilterDef();
- def.setDescription("SCA Filter");
- def.setFilterClass(TuscanyRequestFilter.class.getName());
- def.setFilterName("__modContext");
- def.setDisplayName("SCA Filter");
- FilterMap map = new FilterMap();
- map.setFilterName("__modContext");
- map.setURLPattern("/*");
- context.addFilterDef(def);
- context.addFilterMap(map);
- context.addApplicationListener(HTTPSessionExpirationListener.class.getName());
-
- } catch (CoreRuntimeException e) {
- throw new ServiceRuntimeException(e);
- } catch (Exception e) {
- throw new ServiceRuntimeException(e);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else if (Lifecycle.STOP_EVENT.equals(lifecycleEventType) && lifecycleEventSource instanceof Context) {
-
- // The web app is stopping
- Context context = (Context) lifecycleEventSource;
- try {
-
- // Get the tuscany runtime from the servlet context
- // If the servlet context contains a tuscany runtime then this is a
- // Tuscany app
- TuscanyWebAppRuntime tuscanyRuntime = (TuscanyWebAppRuntime) context.getServletContext().getAttribute(
- TuscanyWebAppRuntime.class.getName());
- if (tuscanyRuntime != null) {
-
- // Get the module component name from the servlet context
- try {
- // Start the runtime
- tuscanyRuntime.start();
- try {
- // Stop the module context
- AggregateContext aggregateContext = tuscanyRuntime.getModuleComponentContext();
- aggregateContext.fireEvent(EventContext.MODULE_STOP, null);
- aggregateContext.stop();
- } finally {
-
- // Stop the runtime
- tuscanyRuntime.stop();
-
- // Cleanup the servlet context
- context.getServletContext().removeAttribute(TuscanyWebAppRuntime.class.getName());
- }
-
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
-
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/WebAppLifecycleListener.java b/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/WebAppLifecycleListener.java
deleted file mode 100644
index 0e9a80f13d..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/lifecycle/listener/WebAppLifecycleListener.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.lifecycle.listener;
-
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-import org.apache.catalina.Context;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.deploy.FilterDef;
-import org.apache.catalina.deploy.FilterMap;
-import org.apache.tuscany.common.TuscanyRuntimeException;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.context.AggregateContext;
-import org.apache.tuscany.core.context.EventContext;
-import org.apache.tuscany.core.context.webapp.HTTPSessionExpirationListener;
-import org.apache.tuscany.core.context.webapp.TuscanyRequestFilter;
-import org.apache.tuscany.core.context.webapp.TuscanyWebAppRuntime;
-import org.apache.tuscany.core.runtime.RuntimeContext;
-import org.apache.tuscany.core.runtime.RuntimeMonitor;
-import org.apache.tuscany.model.assembly.ModuleComponent;
-
-/**
- * Responsible for initializing web applications as module components in a Tomcat instance. When a web app is being
- * loaded in Tomcat, this listener receives a callback to register a corresponding module component and set up the
- * appropriate Servlet filters in the web context.
- * <p>
- * Note that Tomcat loads this class in the standard (common/lib) classloader even though the context classloader is
- * that of the web app being loaded.
- */
-public class WebAppLifecycleListener implements LifecycleListener {
-
- private RuntimeContext runtime;
-
- private RuntimeMonitor monitor;
-
- // ----------------------------------
- // Constructors
- // ----------------------------------
-
- public WebAppLifecycleListener() {
- // locate runtime in the global naming context
- javax.naming.Context context = null;
- try {
- context = (javax.naming.Context) (new InitialContext()).lookup("java:/");
- runtime = (RuntimeContext) context.lookup(RuntimeBootstrap.RUNTIME_NAME);
- monitor = runtime.getMonitorFactory().getMonitor(RuntimeMonitor.class);
- } catch (NamingException e) {
- // FIXME need bootstrap logging;
- return;
- }
- }
-
- /**
- * Callback for receiving web application events. When a web app containing an SCA configuration is initialized, a
- * module component is created and appropriate SCA filters are set for in the web context. If a web app stop event
- * is received, the corresponding module component is deregistered from the system.
- */
- public void lifecycleEvent(LifecycleEvent event) {
- String lifecycleEventType = event.getType();
- Object lifecycleEventSource = event.getSource();
-
- if (Lifecycle.START_EVENT.equals(lifecycleEventType) && lifecycleEventSource instanceof Context) {
- // The web app is starting
- Context context = (Context) lifecycleEventSource;
- String name = context.getPath().substring(1);
- try {
- ModuleComponent moduleComponent = null;// FIXME runtime.loadModuleComponent(name, "sca.module");
- if (moduleComponent == null) {
- return; // not an SCA module component
- }
- // create the module component
- runtime.registerModelObject(moduleComponent);
- AggregateContext aggregateContext = (AggregateContext) runtime.getContext(moduleComponent.getName());
- TuscanyWebAppRuntime tuscanyRuntime = new TuscanyWebAppRuntime(aggregateContext);
- context.getServletContext().setAttribute(TuscanyWebAppRuntime.class.getName(), tuscanyRuntime);
- // Start the runtime and the module component context
- tuscanyRuntime.start();
- try {
- aggregateContext.start();
- aggregateContext.fireEvent(EventContext.MODULE_START, null);
- } finally {
- tuscanyRuntime.stop();
- }
- // Set up the SCA web app filter and listener
- FilterDef def = new FilterDef();
- def.setDescription("SCA Filter");
- def.setFilterClass(TuscanyRequestFilter.class.getName());
- def.setFilterName("__modContext");
- def.setDisplayName("SCA Filter");
- FilterMap map = new FilterMap();
- map.setFilterName("__modContext");
- map.setURLPattern("/*");
- context.addFilterDef(def);
- context.addFilterMap(map);
- context.addApplicationListener(HTTPSessionExpirationListener.class.getName());
- } catch (ConfigurationException e) {
- e.addContextName(name);
- monitor.log(e);
- return;
- } catch (TuscanyRuntimeException e) {
- e.addContextName(name);
- monitor.log(e);
- return;
- }
- } else if (Lifecycle.STOP_EVENT.equals(lifecycleEventType) && lifecycleEventSource instanceof Context) {
- // The web app is stopping
- Context context = (Context) lifecycleEventSource;
- // Get the tuscany runtime from the servlet context
- TuscanyWebAppRuntime tuscanyRuntime = (TuscanyWebAppRuntime) context.getServletContext().getAttribute(
- TuscanyWebAppRuntime.class.getName());
- if (tuscanyRuntime == null) {
- return; // not an SCA module
- }
- try {
- // Stop the module context
- tuscanyRuntime.start();
- AggregateContext aggregateContext = tuscanyRuntime.getModuleComponentContext();
- aggregateContext.fireEvent(EventContext.MODULE_STOP, null);
- aggregateContext.stop();
- } catch (TuscanyRuntimeException e) {
- monitor.log(e);
- } finally {
- try {
- tuscanyRuntime.stop();
- } catch (TuscanyRuntimeException e) {
- monitor.log(e);
- } finally {
- // Cleanup the servlet context
- context.getServletContext().removeAttribute(TuscanyWebAppRuntime.class.getName());
- }
- }
-
- }
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties b/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties
deleted file mode 100644
index 213545ecee..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2006 The Apache Software Foundation or its licensors, as applicable.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-runtime.loadSystemFailed = Error loading system configuration:
-runtime.registerSystemFailed = Error registering system configuration:
-runtime.started = Started Tuscany runtime
-runtime.stopped = Stopped Tuscany runtime
-
-tuscanyHost.notContext = Child of a TuscanyHost must be a StandardContext \ No newline at end of file
diff --git a/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/Messages.properties b/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/Messages.properties
deleted file mode 100644
index f926ca6488..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/Messages.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (c) 2005 The Apache Software Foundation or its licensors, as applicable.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ====================================================================
-# To code developer:
-# Do NOT change the properties between this line and the
-# "%%% END OF TRANSLATED PROPERTIES %%%" line.
-# Make a new property name, append to the end of the file and change
-# the code to use the new property.
-# ====================================================================
-
-# =====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# =====================================================================
-# NLS_MESSAGEFORMAT_ALL
-
-SCA_STARTING =Tuscany: Starting SCA runtime.
-SCA_STARTED =Tuscany: Started SCA runtime.
-SCA_STOPPING =Tuscany: Stopping SCA runtime.
-SCA_STOPPED =Tuscany: Stopped SCA runtime.
-SCA_STARTING_MODULE =Tuscany: Starting SCA module component {0}.
-SCA_LOADED_MODULE =Tuscany: Loaded SCA module {0}.
-SCA_STARTED_MODULE =Tuscany: Started SCA module component {0}.
-SCA_STOPPING_MODULE =Tuscany: Stopping SCA module component {0}.
-SCA_STOPPED_MODULE =Tuscany: Stopped SCA module component {0}.
-SCA_START_MODULE_FAILED =Tuscany: Error starting SCA module component {0}: {1}.
-SCA_STOP_MODULE_FAILED =Tuscany: Error stopping SCA module component {0}: {1}.
-SCA_START_WEBAPP_FAILED =Tuscany: Error starting Web application {0}: {1}.
-SCA_STOP_WEBAPP_FAILED =Tuscany: Error stopping Web application {0}: {1}. \ No newline at end of file
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java b/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
deleted file mode 100644
index 1e9529b965..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/AbstractTomcatTest.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/**
- *
- * Copyright 2006 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.integration;
-
-import junit.framework.TestCase;
-import org.apache.catalina.Host;
-import org.apache.catalina.Globals;
-import org.apache.catalina.connector.Connector;
-import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
-import org.apache.catalina.core.StandardEngine;
-import org.apache.catalina.core.ApplicationFilterFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Enumeration;
-import java.util.Collections;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-
-/**
- * @version $Rev$ $Date$
- */
-public class AbstractTomcatTest extends TestCase {
- protected Host host;
- protected MockRequest request;
- protected MockResponse response;
- protected StandardEngine engine;
-
- protected void setupTomcat(File baseDir, Host host) throws Exception {
- File appBase = new File(baseDir, "webapps").getCanonicalFile();
-
- // Configure a Tomcat Engine
- engine = new StandardEngine();
- engine.setName("Catalina");
- engine.setDefaultHost("localhost");
- engine.setBaseDir(baseDir.getAbsolutePath());
-
- this.host = host;
- host.setName("localhost");
- host.setAppBase(appBase.getAbsolutePath());
- engine.addChild(host);
-
- // build a empty request/response
- Connector connector = new Connector("HTTP/1.1");
- request = new MockRequest();
- request.setConnector(connector);
- response = new MockResponse();
- request.setResponse(response);
- request.setMethod("POST");
- request.setScheme("http");
- }
-
- public static class MockRequest extends Request {
- private String method;
- private String scheme;
- private String requestURI;
- private String contentType;
- private Map<String,String> headers = new HashMap();
- private ServletInputStream inputStream;
-
- public void setScheme(String scheme) {
- this.scheme = scheme;
- }
-
- public void setMethod(String method) {
- this.method = method;
- }
-
- public void setRequestURI(String requestURI) {
- this.requestURI = requestURI;
- }
-
- public String getScheme() {
- return scheme;
- }
-
- public String getMethod() {
- return method;
- }
-
- public int getServerPort() {
- return 80;
- }
-
- public String getServerName() {
- return "localhost";
- }
-
- public String getRequestURI() {
- return requestURI;
- }
-
- public void setAttribute(String name, Object value) {
- if (name.startsWith("org.apache.tomcat.")) {
- return;
- }
- super.setAttribute(name, value);
- }
-
- public Object getAttribute(String name) {
- if (name.equals(Globals.DISPATCHER_TYPE_ATTR)) {
- return (dispatcherType == null)
- ? ApplicationFilterFactory.REQUEST_INTEGER
- : dispatcherType;
- } else if (name.equals(Globals.DISPATCHER_REQUEST_PATH_ATTR)) {
- return (requestDispatcherPath == null)
- ? getRequestPathMB().toString()
- : requestDispatcherPath.toString();
- }
-
- return attributes.get(name);
- }
-
- public String getHeader(String name) {
- return headers.get(name);
- }
-
- public Enumeration getHeaderNames() {
- return Collections.enumeration(headers.keySet());
- }
-
- public void setContentType(String contentType) {
- this.contentType = contentType;
- }
-
- public String getContentType() {
- return contentType;
- }
-
- public ServletInputStream getInputStream() throws IOException {
- return inputStream;
- }
-
- public InputStream getStream() {
- return inputStream;
- }
-
- public void setStream(ServletInputStream stream) {
- inputStream = stream;
- }
- }
-
- public static class MockResponse extends Response {
- private boolean suspended;
- private String contentType;
- private int status;
- private Map headers = new HashMap();
- private ServletOutputStream outputStream = new MockOutputStream();
-
- public boolean isCommitted() {
- return false;
- }
-
- public boolean isAppCommitted() {
- return false;
- }
-
- public void sendAcknowledgement() {
- }
-
- public void setSuspended(boolean suspended) {
- this.suspended = suspended;
- }
-
- public boolean isSuspended() {
- return suspended;
- }
-
- public void setStatus(int status, String message) {
- this.status = status;
- }
-
- public int getStatus() {
- return status;
- }
-
- public void reset() {
- }
-
- public void addHeader(String name, String value) {
- headers.put(name, value);
- }
-
- public String[] getHeaderNames() {
- return (String[]) headers.keySet().toArray(new String[headers.size()]);
- }
-
- public String getContentType() {
- return contentType;
- }
-
- public void setContentType(String contentType) {
- this.contentType = contentType;
- }
-
- public OutputStream getStream() {
- return outputStream;
- }
-
- public ServletOutputStream getOutputStream() throws IOException {
- return outputStream;
- }
- }
-
- public static class MockInputStream extends ServletInputStream {
- private final byte[] bytes;
- private int index;
-
- public MockInputStream(byte[] bytes) {
- this.bytes = bytes;
- }
-
- public int read() throws IOException {
- if (index == bytes.length) {
- return -1;
- }
- else {
- return bytes[index++];
- }
- }
- }
-
- public static class MockOutputStream extends ServletOutputStream {
- private ByteArrayOutputStream os = new ByteArrayOutputStream();
-
- public void write(int b) throws IOException {
- os.write(b);
- }
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java b/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
deleted file mode 100644
index d81e6cc081..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TestServlet.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.integration;
-
-import java.io.IOException;
-import javax.servlet.GenericServlet;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.ServletException;
-
-import org.osoa.sca.ModuleContext;
-import org.osoa.sca.CurrentModuleContext;
-
-import org.apache.tuscany.core.runtime.RuntimeContext;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TestServlet extends GenericServlet {
-
- public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
- ModuleContext moduleContext = CurrentModuleContext.getContext();
- if (moduleContext == null) {
- throw new ServletException("No module context returned");
- }
- String name = moduleContext.getName();
- if (!"testContext".equals(name)) {
- throw new ServletException("Invalid module context name: " + name);
- }
-
- Object runtime = getServletContext().getAttribute("org.apache.tuscany.core.runtime.RuntimeContext");
- if (!(runtime instanceof RuntimeContext)) {
- throw new ServletException("Runtime not bound to org.apache.tuscany.core.runtime.RuntimeContext");
- }
- }
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java b/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
deleted file mode 100644
index 4c3b1516aa..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatIntegrationTestCase.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.tuscany.tomcat.integration;
-
-import org.apache.catalina.Valve;
-import org.apache.catalina.Loader;
-import org.apache.catalina.Wrapper;
-import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardWrapper;
-import org.apache.catalina.startup.ContextConfig;
-import org.apache.tuscany.tomcat.TuscanyHost;
-import org.apache.tuscany.tomcat.TuscanyValve;
-import org.apache.tuscany.tomcat.ContainerLoader;
-
-import java.io.File;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TomcatIntegrationTestCase extends AbstractTomcatTest {
- protected File app1;
-
- public void testComponentIntegration() throws Exception {
- // create the webapp Context
- StandardContext ctx = new StandardContext();
- ctx.addLifecycleListener(new ContextConfig());
- ctx.setName("testContext");
- ctx.setDocBase(app1.getAbsolutePath());
-
- // define our test servlet
- Loader loader = new ContainerLoader(TestServlet.class.getClassLoader());
- StandardWrapper wrapper = new StandardWrapper();
- wrapper.setServletClass(TestServlet.class.getName());
- wrapper.setLoader(loader);
- ctx.addChild(wrapper);
-
- host.addChild(ctx);
- boolean found = false;
- for (Valve valve: ctx.getPipeline().getValves()) {
- if (valve instanceof TuscanyValve) {
- found = true;
- break;
- }
- }
- assertTrue("TuscanyValve not in pipeline", found);
-
- request.setContext(ctx);
- request.setWrapper(wrapper);
- host.invoke(request, response);
-
- host.removeChild(ctx);
- }
-
- public void testWebServiceIntegration() throws Exception {
- // create the webapp Context
- StandardContext ctx = new StandardContext();
- ctx.addLifecycleListener(new ContextConfig());
- ctx.setName("testContext");
- ctx.setDocBase(app1.getAbsolutePath());
-
- host.addChild(ctx);
-
- Wrapper wrapper = (Wrapper) ctx.findChild("TuscanyAxis2EntryPointServlet");
- assertNotNull("No webservice wrapper present", wrapper);
- request.setContext(ctx);
- request.setRequestURI("/services/epName");
- request.setWrapper(wrapper);
- request.setContentType("text/xml");
- String xml = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:q0=\"http://helloworldaxis.samples.tuscany.apache.org\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n" +
- "<soapenv:Body>\n" +
- "<q0:getGreetings>\n" +
- "<q0:in0>hello</q0:in0>\n" +
- "</q0:getGreetings>\n" +
- "</soapenv:Body>\n" +
- "</soapenv:Envelope>\n";
- request.setStream(new MockInputStream(xml.getBytes("UTF-8")));
- host.invoke(request, response);
-
- host.removeChild(ctx);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- app1 = new File(getClass().getResource("/app1").toURI());
- File baseDir = new File(app1, "../../tomcat").getCanonicalFile();
- setupTomcat(baseDir, new TuscanyHost());
- engine.start();
- }
-
- protected void tearDown() throws Exception {
- engine.stop();
- super.tearDown();
- }
-
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java b/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
deleted file mode 100644
index b623b2e7b5..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/java/org/apache/tuscany/tomcat/integration/TomcatStandaloneTestCase.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.apache.tuscany.tomcat.integration;
-
-import org.apache.catalina.core.StandardContext;
-import org.apache.catalina.core.StandardWrapper;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.startup.ContextConfig;
-import org.apache.catalina.Valve;
-import org.apache.catalina.Wrapper;
-
-import org.apache.tuscany.tomcat.TuscanyValve;
-import org.apache.tuscany.tomcat.TuscanyHost;
-
-import java.io.File;
-
-/**
- * @version $Rev$ $Date$
- */
-public class TomcatStandaloneTestCase extends AbstractTomcatTest {
- protected File app2;
-
- public void testRuntimeIntegration() throws Exception {
- StandardContext ctx = new StandardContext();
-
- // caution: this sets the parent of the webapp loader to the test classloader so it can find TestServlet
- // anything that relies on the TCCL may not work correctly
- ClassLoader cl = TestServlet.class.getClassLoader();
- ctx.setParentClassLoader(cl);
-
- ctx.addLifecycleListener(new ContextConfig());
- ctx.setName("testContext");
- ctx.setDocBase(app2.getAbsolutePath());
-
- host.addChild(ctx);
- boolean found = false;
- for (Valve valve: ctx.getPipeline().getValves()) {
- if (valve instanceof TuscanyValve) {
- found = true;
- break;
- }
- }
- assertFalse("TuscanyValve in pipeline", found);
-
- request.setContext(ctx);
- request.setWrapper((Wrapper) ctx.findChild("TestServlet"));
- host.invoke(request, response);
-
- host.removeChild(ctx);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- app2 = new File(getClass().getResource("/app2").toURI());
- File baseDir = new File(app2, "../../tomcat").getCanonicalFile();
- setupTomcat(baseDir, new StandardHost());
- engine.start();
- }
-
- protected void tearDown() throws Exception {
- engine.stop();
- super.tearDown();
- }
-
-}
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/axis2.xml b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/axis2.xml
deleted file mode 100644
index a38cf9864a..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/axis2.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-<axisconfig name="AxisJava2.0">
- <!-- ================================================= -->
- <!-- Parameters -->
- <!-- ================================================= -->
- <parameter name="hotdeployment" locked="false">false</parameter>
- <parameter name="hotupdate" locked="false">false</parameter>
- <parameter name="enableMTOM" locked="false">false</parameter>
- <!-- Uncomment this to enable REST support -->
- <!-- <parameter name="enableREST" locked="false">true</parameter>-->
-
-
- <parameter name="userName" locked="false">admin</parameter>
- <parameter name="password" locked="false">axis2</parameter>
-
- <parameter name="seralizeLocation" locked="false">.</parameter>
- <hostConfiguration>
- <ip>127.0.0.1</ip>
- <port>5555</port>
- </hostConfiguration>
-
-
- <!--if you want to extract the service archive file and work with that please uncomment this-->
- <!--else , it wont extract archive file or does not take into consideration if someone drop-->
- <!--exploded directory into /service directory-->
- <!--<parameter name="extractServiceArchive" locked="false">true</parameter>-->
-
-
- <!-- The way of adding listener to the system-->
- <!-- <listener class="org.apache.axis2.ObserverIMPL">-->
- <!-- <parameter name="RSS_URL" locked="false">http://127.0.0.1/rss</parameter>-->
- <!-- </listener>-->
-
- <!-- ================================================= -->
- <!-- Message Receivers -->
- <!-- ================================================= -->
- <!--This is the Deafult Message Receiver for the system , if you want to have MessageReceivers for -->
- <!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
- <!--any operation -->
- <!--Note : You can ovride this for particular service by adding the same element with your requirement-->
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
- class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
- class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
- </messageReceivers>
- <!-- ================================================= -->
- <!-- Transport Ins -->
- <!-- ================================================= -->
- <transportReceiver name="http" class="org.apache.axis2.transport.http.SimpleHTTPServer">
- <parameter name="port" locked="false">6060</parameter>
- </transportReceiver>
-
- <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
- <transportReceiver name="mail" class="org.apache.axis2.transport.mail.SimpleMailListener">
- <parameter name="transport.mail.pop3.host" locked="false">127.0.0.1</parameter>
- <parameter name="transport.mail.pop3.user" locked="false">axis2</parameter>
- <parameter name="transport.mail.pop3.password" locked="false">axis2</parameter>
- <parameter name="transport.mail.pop3.port" locked="false">110</parameter>
- <parameter name="transport.mail.replyToAddress" locked="false">axis2@127.0.0.1</parameter>
- </transportReceiver> -->
-
- <!--REMOVED FOR TUSCANY transportReceiver name="tcp" class="org.apache.axis2.transport.tcp.TCPServer">
- <parameter name="port" locked="false">6060</parameter>
- </transportReceiver -->
-
- <!--REMOVED FOR TUSCANY transportReceiver name="jms" class="org.apache.axis2.transport.jms.SimpleJMSListener">
- <parameter name="transport.jms.Destination" locked="false">dynamicQueues/FOO</parameter>
- <parameter name="java.naming.factory.initial" locked="false">
- org.activemq.jndi.ActiveMQInitialContextFactory</parameter>
- <parameter name="java.naming.provider.url" locked="false">tcp://localhost:61616</parameter>
- </transportReceiver>
- -->
-
- <!-- ================================================= -->
- <!-- Transport Outs -->
- <!-- ================================================= -->
-
- <!--REMOVED FOR TUSCANY transportSender name="tcp" class="org.apache.axis2.transport.tcp.TCPTransportSender"/> -->
- <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>
- <!--REMOVED FOR TUSCANY transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/> -->
- <transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
- <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
- <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
- </transportSender>
- <transportSender name="https"
- class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
- <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>
- <parameter name="Transfer-Encoding" locked="false">chunked</parameter>
- </transportSender>
-
- <!-- Uncomment this one with the appropriate papameters to enable the SMTP transport Receiver
- <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">
- <parameter name="transport.mail.smtp.host" locked="false">127.0.0.1</parameter>
- <parameter name="transport.mail.smtp.user" locked="false">axis2</parameter>
- <parameter name="transport.mail.smtp.password" locked="false">axis2</parameter>
- <parameter name="transport.mail.smtp.port" locked="false">25</parameter>
- </transportSender>
- -->
-
- <!-- ================================================= -->
- <!-- Global Modules -->
- <!-- ================================================= -->
- <!-- Comment this to disable Addressing -->
- <!--REMOVED FOR TUSCANY module ref="addressing"/> -->
-
-
- <!--Configuring module , providing parameters for modules whether they refer or not-->
- <!--<moduleConfig name="addressing">-->
- <!--<parameter name="addressingPara" locked="false">N/A</parameter>-->
- <!--</moduleConfig>-->
-
- <!-- ================================================= -->
- <!-- Phases -->
- <!-- ================================================= -->
- <phaseOrder type="inflow">
- <!-- System pre defined phases -->
- <phase name="TransportIn"/>
- <phase name="PreDispatch"/>
- <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
- <handler name="AddressingBasedDispatcher"
- class="org.apache.axis2.engine.AddressingBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="RequestURIBasedDispatcher"
- class="org.apache.axis2.engine.RequestURIBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPActionBasedDispatcher"
- class="org.apache.axis2.engine.SOAPActionBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
-
- <handler name="SOAPMessageBodyBasedDispatcher"
- class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher">
- <order phase="Dispatch"/>
- </handler>
- <handler name="InstanceDispatcher"
- class="org.apache.axis2.engine.InstanceDispatcher">
- <order phase="PostDispatch"/>
- </handler>
- </phase>
- <!-- System pre defined phases -->
- <!-- After Postdispatch phase module author or or service author can add any phase he want -->
- <phase name="userphase1"/>
- </phaseOrder>
- <phaseOrder type="outflow">
- <!-- user can add his own phases to this area -->
- <phase name="userphase1"/>
- <!--system predefined phase-->
- <!--these phase will run irrespective of the service-->
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- </phaseOrder>
- <phaseOrder type="INfaultflow">
- <!-- user can add his own phases to this area -->
- <phase name="userphase1"/>
- </phaseOrder>
- <phaseOrder type="Outfaultflow">
- <!-- user can add his own phases to this area -->
- <phase name="userphase1"/>
- <phase name="PolicyDetermination"/>
- <phase name="MessageOut"/>
- </phaseOrder>
-</axisconfig>
-
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
deleted file mode 100644
index 4273a8171c..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/classes/sca.module
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005 BEA Sytems Inc.
- Copyright (c) 2005 International Business Machines
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<module xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
- name="testModule">
-
-</module>
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/web.xml b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/web.xml
deleted file mode 100644
index a363db8e12..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/WEB-INF/web.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-</web-app> \ No newline at end of file
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/index.html b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/index.html
deleted file mode 100644
index 55ecbd81ba..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app1/index.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-<body>Hello World</body>
-</html> \ No newline at end of file
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
deleted file mode 100644
index fd1d63a7a6..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/classes/sca.module
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2005 BEA Sytems Inc.
- Copyright (c) 2005 International Business Machines
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-<module xmlns="http://www.osoa.org/xmlns/sca/0.9" xmlns:v="http://www.osoa.org/xmlns/sca/values/0.9"
- name="testModule">
-
-</module>
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/web.xml b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/web.xml
deleted file mode 100644
index abf92d4ca7..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/WEB-INF/web.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE web-app
- PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
- <context-param>
- <param-name>org.apache.tuscany.core.webapp.ModuleComponentName</param-name>
- <param-value>testContext</param-value>
- </context-param>
- <listener>
- <listener-class>org.apache.tuscany.core.webapp.TuscanyServletListener</listener-class>
- </listener>
- <servlet>
- <servlet-name>TestServlet</servlet-name>
- <servlet-class>org.apache.tuscany.tomcat.integration.TestServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>TestServlet</servlet-name>
- <url-pattern>/servlet</url-pattern>
- </servlet-mapping>
- <filter>
- <filter-name>TuscanyFilter</filter-name>
- <filter-class>org.apache.tuscany.core.webapp.TuscanyRequestFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>TuscanyFilter</filter-name>
- <servlet-name>TestServlet</servlet-name>
- </filter-mapping>
-</web-app> \ No newline at end of file
diff --git a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/index.html b/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/index.html
deleted file mode 100644
index 55ecbd81ba..0000000000
--- a/tags/java-stable-20060304/sca/tomcat/src/test/resources/app2/index.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
-<body>Hello World</body>
-</html> \ No newline at end of file