summaryrefslogtreecommitdiffstats
path: root/branches/pre-spec-changes/runtime/webapp/webapp-host/src
diff options
context:
space:
mode:
Diffstat (limited to 'branches/pre-spec-changes/runtime/webapp/webapp-host/src')
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionId.java58
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java142
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java48
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java44
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java82
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java179
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl44
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl34
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl172
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java25
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java25
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionIdTestCase.java44
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java86
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java107
-rw-r--r--branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/resources/testapp.scdl26
15 files changed, 0 insertions, 1116 deletions
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionId.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionId.java
deleted file mode 100644
index 8d3f1153ba..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionId.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.tuscany.core.component.ScopeIdentifier;
-
-/**
- * Implements a <code>ScopeIdentifier</code> for a Servlet-based transport.
- * Wraps an <code>HttpServletRequest</code> so that the session id associated
- * with the current request may be lazily retrieved by the module context - i.e.
- * if a session context or session-scoped component is not accessed, no session
- * is created.
- *
- * @version $Rev$ $Date$
- */
-public class LazyHTTPSessionId implements ScopeIdentifier {
-
- private HttpServletRequest request;
-
- //----------------------------------
- // Constructors
- //----------------------------------
-
- public LazyHTTPSessionId(HttpServletRequest request) {
- this.request = request;
- }
-
- //----------------------------------
- // Methods
- //----------------------------------
-
- /**
- * Returns the session identifier
- *
- * @see org.apache.tuscany.core.context.ScopeIdentifier#getIdentifier()
- */
- public Object getIdentifier() {
- return request.getSession(true);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java
deleted file mode 100644
index f642e272e0..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletHostImpl.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import javax.servlet.Servlet;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Service;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.ScopeContainer;
-import org.apache.tuscany.spi.component.ScopeRegistry;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.event.Event;
-import org.apache.tuscany.spi.event.EventFilter;
-import org.apache.tuscany.spi.event.EventPublisher;
-import org.apache.tuscany.spi.event.RuntimeEventListener;
-import org.apache.tuscany.spi.host.ServletHost;
-import org.apache.tuscany.spi.model.Scope;
-
-import org.apache.tuscany.core.component.event.HttpRequestEnded;
-import org.apache.tuscany.core.component.event.HttpRequestStart;
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
-import org.apache.tuscany.core.component.event.HttpSessionStart;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-
-/**
- * A <code>ServletHost</code> implementation that forwards requests to registered servlets
- *
- * @version $Rev$ $Date$
- */
-@Service(ServletHost.class)
-@EagerInit
-public class ServletHostImpl implements ServletHost, ServletRequestInjector, EventPublisher {
- protected Map<String, Servlet> servlets;
- protected ScopeRegistry registry;
- protected WorkContext workContext;
-
- public ServletHostImpl() {
- this.servlets = new HashMap<String, Servlet>();
- }
-
- @Autowire(required = false)
- public void setSessionScopeContainer(ScopeRegistry registry) {
- this.registry = registry;
- }
-
- @Autowire(required = false)
- public void setWorkContext(WorkContext workContext) {
- this.workContext = workContext;
- }
-
- public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
- assert req instanceof HttpServletRequest : "implementation only supports HttpServletRequest";
- String path = ((HttpServletRequest) req).getPathInfo();
- Servlet servlet = servlets.get(path);
- if (servlet == null) {
- throw new IllegalStateException("No servlet registered for path: " + path);
- }
- servlet.service(req, resp);
- }
-
- public void registerMapping(String path, Servlet servlet) {
- if (servlets.containsKey(path)) {
- throw new IllegalStateException("Servlet already registered at path: " + path);
- }
- servlets.put(path, servlet);
- }
-
- public boolean isMappingRegistered(String mapping) {
- return servlets.containsKey(mapping);
-
- }
-
- public Servlet unregisterMapping(String path) {
- return servlets.remove(path);
- }
-
- public void addListener(RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
- public void addListener(EventFilter filter, RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
- public void publish(Event event) {
- if (null != registry && (event instanceof HttpSessionStart || event instanceof HttpSessionEnd)) {
- ScopeContainer sc = registry.getScopeContainer(Scope.SESSION);
- if (null != sc) {
- sc.onEvent(event);
-
- }
- }
- if (null != workContext) {
- if (event instanceof HttpRequestStart) {
- Object key = ((HttpRequestStart) event).getId();
- if (null != key) {
- workContext.setIdentifier(Scope.SESSION, ((HttpRequestStart) event).getId());
- } else { // new request with no session.
- workContext.clearIdentifier(Scope.SESSION);
- }
- } else if (event instanceof HttpRequestEnded) {
- workContext.clearIdentifier(Scope.SESSION);
-
- }
-
- }
-
- }
-
- public void removeListener(RuntimeEventListener listener) {
- throw new UnSupportedRuntimeException("Not Supported");
-
- }
-
-} \ No newline at end of file
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java
deleted file mode 100644
index 0b47744e5f..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/ServletLauncherInitException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Thrown when an error is encountered booting the runtme in a web app environment
- *
- * @version $Rev$ $Date$
- */
-public class ServletLauncherInitException extends TuscanyRuntimeException {
-
- public ServletLauncherInitException() {
- }
-
- public ServletLauncherInitException(String message) {
- super(message);
- }
-
- public ServletLauncherInitException(String message, String identifier) {
- super(message, identifier);
- }
-
- public ServletLauncherInitException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public ServletLauncherInitException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java
deleted file mode 100644
index 9cfa7345d6..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/UnSupportedRuntimeException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * Thrown when an error is encountered booting the runtme in a web app environment
- *
- * @version $Rev: 439728 $ $Date: 2006-09-03 02:02:44 -0400 (Sun, 03 Sep 2006) $
- */
-public class UnSupportedRuntimeException extends TuscanyRuntimeException {
-
- public UnSupportedRuntimeException() {
- }
-
- public UnSupportedRuntimeException(String message) {
- super(message);
- }
-
- public UnSupportedRuntimeException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public UnSupportedRuntimeException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java
deleted file mode 100644
index 89f0f31b1b..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebResourceScanExtender.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Set;
-import javax.servlet.ServletContext;
-
-import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Property;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-
-import org.apache.tuscany.core.services.extension.AbstractExtensionDeployer;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebResourceScanExtender extends AbstractExtensionDeployer {
- private final WebappRuntimeInfo runtimeInfo;
- private final String path;
-
- public WebResourceScanExtender(@Autowire WebappRuntimeInfo runtimeInfo,
- @Property(name = "path") String path) {
- this.runtimeInfo = runtimeInfo;
- this.path = path;
- }
-
- @Init
- public void init() {
- ServletContext servletContext = runtimeInfo.getServletContext();
- Set extensions = servletContext.getResourcePaths(path);
- if (extensions == null || extensions.isEmpty()) {
- // no extensions in this webapp
- return;
- }
-
- for (Object e : extensions) {
- String extensionPath = (String) e;
- URL extension;
- try {
- extension = servletContext.getResource(extensionPath);
- } catch (MalformedURLException e1) {
- // web container should return an invalid URL for a path it gave us
- throw new AssertionError();
- }
-
- String name = extensionPath.substring(path.length());
- if (name.charAt(name.length() - 1) == '/') {
- // TODO support exploded extensions
- continue;
- }
- if (name.charAt(0) == '.') {
- // hidden file
- continue;
- }
-
- int lastDot = name.lastIndexOf('.');
- if (lastDot != -1) {
- name = name.substring(0, lastDot);
- }
- deployExtension(name, extension);
- }
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
deleted file mode 100644
index 82278f89ee..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import java.util.StringTokenizer;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
-
-import org.osoa.sca.CompositeContext;
-
-import org.apache.tuscany.core.component.event.HttpRequestEnded;
-import org.apache.tuscany.core.component.event.HttpRequestStart;
-import org.apache.tuscany.core.component.event.HttpSessionEnd;
-import org.apache.tuscany.core.component.event.HttpSessionStart;
-import org.apache.tuscany.core.component.event.RequestEnd;
-import org.apache.tuscany.core.component.event.RequestStart;
-import org.apache.tuscany.core.launcher.CompositeContextImpl;
-import org.apache.tuscany.core.runtime.AbstractRuntime;
-import org.apache.tuscany.host.runtime.InitializationException;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import org.apache.tuscany.spi.component.AtomicComponent;
-import org.apache.tuscany.spi.component.ComponentRegistrationException;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObject;
-import org.apache.tuscany.spi.event.EventPublisher;
-
-/**
- * Bootstrapper for the Tuscany runtime in a web application host. This listener manages one runtime per servlet
- * context; the lifecycle of that runtime corresponds to the the lifecycle of the associated servlet context.
- * <p/>
- * The bootstrapper launches the runtime, booting system extensions and applications, according to the servlet
- * parameters defined in {@link Constants}. When the runtime is instantiated, it is placed in the servlet context with
- * the attribute {@link Constants#RUNTIME_PARAM}. The runtime implements {@link WebappRuntime} so that filters and
- * servlets loaded in the parent web app classloader may pass events and requests to it.
- * <p/>
- * By default, the top-most application composite component will be returned when "non-managed" web application code
- * such as JSPs call {@link org.osoa.sca.CurrentCompositeContext}. If a composite deeper in the hierarchy should be
- * returned instead, the <code>web.xml</code> must contain an entry for {@link Constants#CURRENT_COMPOSITE_PATH_PARAM}
- * whose value is a component path expression using '/' as a delimeter such as foo/bar/baz.
- *
- * @version $$Rev$$ $$Date$$
- */
-
-public class WebappRuntimeImpl extends AbstractRuntime implements WebappRuntime {
- private ServletContext servletContext;
-
-
- private ServletRequestInjector requestInjector;
- private CompositeContextImpl context;
- private CompositeComponent application;
-
- public ServletContext getServletContext() {
- return servletContext;
- }
-
- public void setServletContext(ServletContext servletContext) {
- this.servletContext = servletContext;
- }
-
- protected void registerSystemComponents() throws InitializationException {
- super.registerSystemComponents();
- try {
- getSystemComponent().registerJavaObject(WebappRuntimeInfo.COMPONENT_NAME,
- WebappRuntimeInfo.class,
- (WebappRuntimeInfo) getRuntimeInfo());
- } catch (ComponentRegistrationException e) {
- throw new InitializationException(e);
- }
- }
-
- public void initialize() throws InitializationException {
- super.initialize();
-
- try {
- SCAObject host = getTuscanySystem().getSystemChild("servletHost");
- if (!(host instanceof AtomicComponent)) {
- throw new InitializationException("Servlet host must be an atomic component");
- }
- requestInjector = (ServletRequestInjector) ((AtomicComponent) host).getTargetInstance();
-
- if (getApplicationScdl() == null) {
- throw new TuscanyInitException("Could not find application SCDL");
- }
- getRuntime().getRootComponent().start();
- application = deployApplicationScdl(getDeployer(),
- getRuntime().getRootComponent(),
- getApplicationName(),
- getApplicationScdl(),
- getHostClassLoader());
- application.start();
- CompositeComponent current = application;
- String path = servletContext.getInitParameter(Constants.CURRENT_COMPOSITE_PATH_PARAM);
- if (path != null) {
- StringTokenizer tokenizer = new StringTokenizer(path, "/");
- while (tokenizer.hasMoreTokens()) {
- SCAObject o = current.getChild(tokenizer.nextToken());
- if (!(o instanceof CompositeComponent)) {
- throw new ServletLauncherInitException("Invalid context path", path);
- }
- current = (CompositeComponent) o;
- }
- }
- context = new CompositeContextImpl(current, getWireService());
- servletContext.setAttribute(Constants.CONTEXT_ATTRIBUTE, context);
- } catch (Exception e) {
- throw new ServletLauncherInitException(e);
- }
- }
-
- public void destroy() {
- servletContext.removeAttribute(Constants.CONTEXT_ATTRIBUTE);
- if (application != null) {
- application.stop();
- application = null;
- }
- super.destroy();
- }
-
- public CompositeContext getContext() {
- return context;
- }
-
- public ServletRequestInjector getRequestInjector() {
- return requestInjector;
- }
-
- public void sessionCreated(HttpSessionEvent event) {
- HttpSessionStart startSession = new HttpSessionStart(this, event.getSession().getId());
- application.publish(startSession);
- ((EventPublisher) requestInjector).publish(startSession);
- }
-
- public void sessionDestroyed(HttpSessionEvent event) {
- HttpSessionEnd endSession = new HttpSessionEnd(this, event.getSession().getId());
- application.publish(endSession);
- ((EventPublisher) requestInjector).publish(endSession);
- }
-
- public void httpRequestStarted(HttpServletRequest request) {
- HttpSession session = request.getSession(false);
- Object sessionId = session == null ? new LazyHTTPSessionId(request) : session.getId();
- HttpRequestStart httpRequestStart = new HttpRequestStart(this, sessionId);
- application.publish(httpRequestStart);
- ((EventPublisher) requestInjector).publish(httpRequestStart);
- }
-
- public void httpRequestEnded(Object sessionid) {
- HttpRequestEnded httpRequestEnded = new HttpRequestEnded(this, sessionid);
- application.publish(httpRequestEnded);
- ((EventPublisher) requestInjector).publish(httpRequestEnded);
- }
-
-
- public void startRequest() {
- application.publish(new RequestStart(this));
- }
-
- public void stopRequest() {
- application.publish(new RequestEnd(this));
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl
deleted file mode 100644
index b1a1fde4c4..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/binding.axis2.scdl
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
--->
-<!-- Axis2 based WebService binding extension -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
- xmlns:tuscany="http://tuscany.apache.org/xmlns/1.0-SNAPSHOT"
- name="org.apache.tuscany.binding.axis2">
-
- <!-- [rfeng] Commented it out for now. When this SCDL is loaded, the DependencyLoader component
- has not been initiated yet. We may need to play with initLevel setting -->
- <!--
- <tuscany:dependency>
- <group>axis2</group>
- <artifact>axis2-core</artifact>
- <version>SNAPSHOT</version>
- </tuscany:dependency>
- -->
-
- <component name="webservice.bindingLoader">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.WebServiceBindingLoader"/>
- </component>
-
- <component name="webservice.axis2.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.binding.axis2.Axis2BindingBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl
deleted file mode 100644
index 6897567d2d..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/sca/databinding.sdo.scdl
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
--->
-<!--
- import.sdo configuration
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
- name="org.apache.tuscany.databinding.sdo">
-
- <!-- import.sdo element loader implementations -->
- <component name="elementLoader.import.sdo">
- <system:implementation.system class="org.apache.tuscany.databinding.sdo.ImportSDOLoader"/>
- </component>
-
-</composite>
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl
deleted file mode 100644
index 58af279788..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/main/resources/META-INF/tuscany/webapp.scdl
+++ /dev/null
@@ -1,172 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
--->
-<!--
- Default system configuration for the launcher environment.
-
- $Rev$ $Date$
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
- name="org.apache.tuscany.runtime.webapp.System">
-
- <!-- Component that provides the Deployer service -->
- <component name="deployer">
- <system:implementation.system class="org.apache.tuscany.core.deployer.DeployerImpl"/>
- </component>
-
- <!-- Work management -->
- <component name="workContext">
- <system:implementation.system class="org.apache.tuscany.core.component.WorkContextImpl"/>
- </component>
-
- <!-- Wire service -->
- <component name="wireService">
- <system:implementation.system class="org.apache.tuscany.core.wire.jdk.JDKWireService"/>
- </component>
-
- <!-- Scope infrastructure -->
- <component name="scopeRegistry">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ScopeRegistryImpl"/>
- </component>
-
- <!-- Store infrastructure -->
- <component name="store">
- <system:implementation.system class="org.apache.tuscany.core.services.store.memory.MemoryStore"/>
- </component>
-
- <!-- Resource host registry -->
- <component name="resourceHostRegistry">
- <system:implementation.system class="org.apache.tuscany.core.services.host.DelegatingResourceHostRegistry"/>
- </component>
-
- <!-- Builder and BuilderRegistry -->
- <component name="builder">
- <system:implementation.system class="org.apache.tuscany.core.builder.BuilderRegistryImpl"/>
- </component>
-
- <!-- Loader and LoaderRegistry -->
- <component name="loader">
- <system:implementation.system class="org.apache.tuscany.core.loader.LoaderRegistryImpl"/>
- </component>
-
- <!-- Introspector and IntrospectionRegistry -->
- <component name="introspector">
- <system:implementation.system class="org.apache.tuscany.core.implementation.IntrospectionRegistryImpl"/>
- </component>
-
- <!-- Connector infrastructure -->
- <component name="connector">
- <system:implementation.system class="org.apache.tuscany.core.builder.ConnectorImpl"/>
- </component>
-
- <component name="wirePostProcessorRegistry">
- <system:implementation.system class="org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl"/>
- </component>
-
- <!-- Default scopes -->
- <component name="scope.module">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.CompositeScopeObjectFactory"/>
- </component>
-
- <component name="scope.stateless">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.StatelessScopeObjectFactory"/>
- </component>
-
- <component name="scope.httpsession">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.HttpSessionScopeObjectFactory"/>
- </component>
-
- <component name="scope.request">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.RequestScopeObjectFactory"/>
- </component>
-
- <component name="scope.conversational">
- <system:implementation.system class="org.apache.tuscany.core.component.scope.ConversationalScopeObjectFactory"/>
- </component>
-
- <!-- include loader configuration -->
- <include name="org.apache.tuscany.launcher.Loader" scdlResource="org/apache/tuscany/core/loader.scdl"/>
-
- <!-- include implementation processor configuration -->
- <include name="org.apache.tuscany.launcher.Implementation" scdlResource="org/apache/tuscany/core/implementation.scdl"/>
-
- <!-- Java interface definition language -->
- <include name="org.apache.tuscany.launcher.InterfaceJava" scdlResource="org/apache/tuscany/core/interfaceJava.scdl"/>
-
- <!-- include omposite implementation type -->
- <include name="org.apache.tuscany.launcher.Composite" scdlResource="org/apache/tuscany/core/composite.scdl"/>
-
- <!-- System implementation type -->
- <include name="org.apache.tuscany.launcher.SystemImplementation" scdlResource="org/apache/tuscany/core/systemImplementation.scdl"/>
-
- <!-- Java implementation type -->
- <include name="org.apache.tuscany.launcher.JavaImplementation" scdlResource="org/apache/tuscany/core/javaImplementation.scdl"/>
-
- <!-- Data Binding -->
- <include name="org.apache.tuscany.launcher.DataBinding" scdlResource="org/apache/tuscany/core/databinding.scdl"/>
-
- <!-- WorkScheduler service -->
- <component name="workManager">
- <system:implementation.system
- class="org.apache.tuscany.core.services.work.jsr237.workmanager.ThreadPoolWorkManager"/>
- <property name="poolSize">10</property>
- </component>
-
- <component name="workScheduler">
- <system:implementation.system class="org.apache.tuscany.core.services.work.jsr237.Jsr237WorkScheduler"/>
- </component>
-
- <!-- Web app ServletHost -->
- <component name="servletHost">
- <system:implementation.system class="org.apache.tuscany.runtime.webapp.ServletHostImpl"/>
- </component>
-
- <component name="policyBuilderRegistry">
- <system:implementation.system class="org.apache.tuscany.core.policy.PolicyBuilderRegistryImpl"/>
- </component>
-
- <component name="propertyFactory">
- <system:implementation.system class="org.apache.tuscany.core.property.PropertyObjectFactoryImpl"/>
- </component>
-
- <component name="artifactRepository">
- <system:implementation.system class="org.apache.tuscany.services.maven.MavenArtifactRepository"/>
- <property name="remoteRepoUrl">http://repo1.maven.org/maven2/,http://people.apache.org/repo/m2-snapshot-repository,http://people.apache.org/repo/m2-incubating-repository/,http://people.apache.org/repo/m1-snapshot-repository/</property>
- </component>
-
- <component name="extender" initLevel="90">
- <system:implementation.system class="org.apache.tuscany.runtime.webapp.WebResourceScanExtender"/>
- <property name="path">/WEB-INF/tuscany/extensions/</property>
- </component>
-
- <component name="wireLoader">
- <system:implementation.system class="org.apache.tuscany.core.loader.WireLoader"/>
- </component>
-
- <!-- the local binding -->
- <component name="localBindingLoader">
- <system:implementation.system class="org.apache.tuscany.core.binding.local.LocalBindingLoader"/>
- </component>
-
- <component name="localBindingBuilder">
- <system:implementation.system class="org.apache.tuscany.core.binding.local.LocalBindingBuilder"/>
- </component>
-
-</composite>
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java
deleted file mode 100644
index 75b49de188..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/Foo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Foo {
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java
deleted file mode 100644
index dd938f2a58..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/FooImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-/**
- * @version $Rev$ $Date$
- */
-public class FooImpl implements Foo {
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionIdTestCase.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionIdTestCase.java
deleted file mode 100644
index f41fa2361b..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/LazyHTTPSessionIdTestCase.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import junit.framework.TestCase;
-
-public class LazyHTTPSessionIdTestCase extends TestCase {
-
- public void testGetIdentifier() {
- HttpSession id = createMock(HttpSession.class);
-
- HttpServletRequest request = createMock(HttpServletRequest.class);
- expect(request.getSession(true)).andReturn(id);
- replay(request);
-
- LazyHTTPSessionId lazyHTTPSessionId = new LazyHTTPSessionId(request);
- assertEquals(id, lazyHTTPSessionId.getIdentifier());
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java
deleted file mode 100644
index 3d979e8f46..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/ServletHostTestCase.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.verify;
-
-import javax.servlet.Servlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
-
-/**
- * @version $Rev$ $Date$
- */
-public class ServletHostTestCase extends TestCase {
-
- public void testDispatch() throws Exception {
- HttpServletRequest req = createMock(HttpServletRequest.class);
- expect(req.getPathInfo()).andReturn("foo");
- replay(req);
- HttpServletResponse res = createMock(HttpServletResponse.class);
- Servlet servlet = createMock(Servlet.class);
- servlet.service(req, res);
- EasyMock.expectLastCall();
- replay(servlet);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- host.service(req, res);
- verify(servlet);
- }
-
- public void testDuplicateRegistration() throws Exception {
- Servlet servlet = createMock(Servlet.class);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- assertEquals(true, host.isMappingRegistered("foo"));
- assertEquals(false, host.isMappingRegistered("bar"));
- try {
- host.registerMapping("foo", servlet);
- fail();
- } catch (IllegalStateException e) {
- // expected
- }
- }
-
- public void testUnregister() throws Exception {
- HttpServletRequest req = createMock(HttpServletRequest.class);
- expect(req.getPathInfo()).andReturn("foo");
- replay(req);
- HttpServletResponse res = createMock(HttpServletResponse.class);
- Servlet servlet = createMock(Servlet.class);
- replay(servlet);
- ServletHostImpl host = new ServletHostImpl();
- host.registerMapping("foo", servlet);
- Servlet unregedServlet = host.unregisterMapping("foo");
- assertEquals(unregedServlet, servlet);
- try {
- host.service(req, res);
- } catch (IllegalStateException e) {
- // expected
- }
- verify(servlet);
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
deleted file mode 100644
index c4e7c35208..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/java/org/apache/tuscany/runtime/webapp/WebappRuntimeImplTestCase.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.runtime.webapp;
-
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
-import static org.easymock.EasyMock.isA;
-import static org.easymock.EasyMock.eq;
-import org.osoa.sca.CompositeContext;
-
-import java.net.URL;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.core.monitor.NullMonitorFactory;
-import org.apache.tuscany.host.servlet.ServletRequestInjector;
-import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.model.Scope;
-
-/**
- * @version $Rev$ $Date$
- */
-public class WebappRuntimeImplTestCase extends TestCase {
- private URL applicationScdl;
- private URL systemScdl;
- private WebappRuntimeImpl runtime;
- private ServletContext context;
-
- /**
- * Verifies the web app host is configured properly to perform a basic boot
- */
- public void testBootWithDefaults() throws Exception {
- expect(context.getResourcePaths("/WEB-INF/tuscany/extensions/")).andReturn(null);
- expect(context.getInitParameter("tuscany.currentCompositePath")).andReturn(null);
- context.setAttribute(eq(Constants.CONTEXT_ATTRIBUTE), isA(CompositeContext.class));
- replay(context);
- runtime.initialize();
- verify(context);
- }
-
- public void testLazyHttpSessionId() throws Exception {
- expect(context.getResourcePaths("/WEB-INF/tuscany/extensions/")).andReturn(null);
- expect(context.getInitParameter("tuscany.currentCompositePath")).andReturn(null);
- context.setAttribute(eq(Constants.CONTEXT_ATTRIBUTE), isA(CompositeContext.class));
- replay(context);
- runtime.initialize();
- verify(context);
-
- HttpServletRequest request = createMock(HttpServletRequest.class);;
- expect(request.getSession(true)).andReturn(null);
- expect(request.getSession(false)).andReturn(null);
- replay(request);
-
- runtime.httpRequestStarted(request);
-
- ServletRequestInjector injector = runtime.getRequestInjector();
- class WorkContextAccessor extends ServletHostImpl {
- ServletHostImpl servletHostImpl;
- WorkContextAccessor(ServletHostImpl servletHostImpl){
- this.servletHostImpl = servletHostImpl;
- }
- WorkContext getWorkContext() {
- return servletHostImpl.workContext;
- }
- }
- WorkContext workContext = new WorkContextAccessor((ServletHostImpl)injector).getWorkContext();
- workContext.getIdentifier(Scope.SESSION);
- verify(request);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- systemScdl = getClass().getResource("/META-INF/tuscany/webapp.scdl");
- applicationScdl = getClass().getResource("/testapp.scdl");
- context = createMock(ServletContext.class);
-
- runtime = new WebappRuntimeImpl();
- runtime.setRuntimeInfo(new WebappRuntimeInfoImpl(context, null, false));
- runtime.setMonitorFactory(new NullMonitorFactory());
- runtime.setHostClassLoader(getClass().getClassLoader());
- runtime.setServletContext(context);
- runtime.setSystemScdl(systemScdl);
- runtime.setApplicationName("foo");
- runtime.setApplicationScdl(applicationScdl);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/resources/testapp.scdl b/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/resources/testapp.scdl
deleted file mode 100644
index 9b5bda7fb6..0000000000
--- a/branches/pre-spec-changes/runtime/webapp/webapp-host/src/test/resources/testapp.scdl
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.
--->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0" name="testapp">
-
- <component name="component">
- <implementation.java class="org.apache.tuscany.runtime.webapp.FooImpl"/>
- </component>
-
-</composite>