You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by el...@apache.org on 2009/07/02 13:14:49 UTC

svn commit: r790550 [1/3] - in /incubator/wink/trunk: wink-component-test-support/src/main/java/org/apache/wink/server/ wink-component-test-support/src/main/java/org/apache/wink/server/internal/ wink-component-test-support/src/main/java/org/apache/wink...

Author: elman
Date: Thu Jul  2 11:14:47 2009
New Revision: 790550

URL: http://svn.apache.org/viewvc?rev=790550&view=rev
Log:
Refactoring of unit tests as part of [WINK-30]

Added:
    incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/
    incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/
    incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/
    incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/MockServletInvocationTest.java
      - copied, changed from r790456, incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockServletInvocationTest.java
    incubator/wink/trunk/wink-examples/ext/History/src/test/resources/org/apache/wink/example/history/history.properties
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/UserProvidersOverBuiltinProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/FindResourceMethodTest1.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/FindResourceMethodTest2.java
    incubator/wink/trunk/wink-server/src/test/resources/org/apache/wink/server/internal/registry/
    incubator/wink/trunk/wink-server/src/test/resources/org/apache/wink/server/internal/registry/FindResourceMethodTest2.properties
Removed:
    incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockServletInvocationTest.java
Modified:
    incubator/wink/trunk/wink-examples/apps/HelloWorld/src/test/java/org/apache/wink/example/helloworld/HelloWorldTest.java
    incubator/wink/trunk/wink-examples/apps/QADefect/src/test/java/org/apache/wink/example/qadefect/QADefectsTest.java
    incubator/wink/trunk/wink-examples/core/Jaxb/src/test/java/org/apache/wink/example/jaxb/JaxbTest.java
    incubator/wink/trunk/wink-examples/core/Preconditions/src/test/java/org/apache/wink/example/locking/LockingTest.java
    incubator/wink/trunk/wink-examples/ext/History/src/test/java/org/apache/wink/example/history/HistoryTest.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java
    incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/utils/RegistrationUtils.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceBeanTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithDuplicateWorkspaceTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithEmptyPathTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/DispatchErrorTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/JAXRSContextTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/QueryTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/categories/CollectionCategoriesTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriConfigurationTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriDetectionTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/CustomLocationHeaderConfigurationTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DefaultLocationHeaderConfigurationTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DispatchIPv6Test.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ErrorResponseTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ExtensionResourceBeanTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/HeadTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/NoContentTypePostTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/OptionsMethodTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ParameterConversionTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/PreconditionsTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/SlashEndingUriTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/StreamResponseTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/UnknownMimeTypeTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/factory/InjectFieldsTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/HttpHeadersImplTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/UriInfoImplTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AppCategoriesDocumentProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AssetProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomEntryProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomFeedProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/CategoriesDocumentProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/EntityLocatorProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/FormMultivaluedMapProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/JAXBElementProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/JsonProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/MultiTableCsvDescriptorTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/SourceProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/StreamingOutputProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/SyndEntryLocatorProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/SyndFeedLocatorProviderTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlMockServletInvocationTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlRepresentationCollectionCustomizedTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlRepresentationCollectionDefaultTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlRepresentationEntryCustomizedTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlRepresentationEntryDefaultTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/html/HtmlRepresentationServiceDocumentTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/FindResourceMethodTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/InjectableDataTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/PrototypeResourceTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/ResponseDispatchTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/registry/ValueConvertorTest.java
    incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/utils/LinksBuilderTest.java
    incubator/wink/trunk/wink-webdav/src/test/java/org/apache/wink/webdav/model/AbstractWebDAVModelTest.java
    incubator/wink/trunk/wink-webdav/src/test/java/org/apache/wink/webdav/server/AbstractWebDAVResourcesTest.java
    incubator/wink/trunk/wink-webdav/src/test/java/org/apache/wink/webdav/server/WebDAVDocumentResourceTest.java

Copied: incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/MockServletInvocationTest.java (from r790456, incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockServletInvocationTest.java)
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/MockServletInvocationTest.java?p2=incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/MockServletInvocationTest.java&p1=incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockServletInvocationTest.java&r1=790456&r2=790550&rev=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockServletInvocationTest.java (original)
+++ incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/server/internal/servlet/MockServletInvocationTest.java Thu Jul  2 11:14:47 2009
@@ -17,26 +17,22 @@
  *  under the License.
  *  
  *******************************************************************************/
-package org.apache.wink.test.mock;
+package org.apache.wink.server.internal.servlet;
 
 import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.util.HashSet;
 import java.util.LinkedHashSet;
-import java.util.Properties;
 import java.util.Set;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
 import javax.ws.rs.core.Application;
 
 import junit.framework.TestCase;
 
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.mock.web.MockServletConfig;
 
 /**
  * <p>
@@ -44,42 +40,27 @@
  * invocation.
  * <p>
  * The method <tt>invoke</tt> invokes the servlet call.
- * <p>
- * In order to add configuration to the unit test override the following
- * methods: <tt>getJaxRSClasses</tt>, <tt>getUrletClasses</tt>,
- * <tt>getJaxRSSingletons</tt>, <tt>getUrlets</tt>, <tt>getPropertiesFile</tt> -
- * see javadoc on the methods for more details.
- * 
- * @param <PROCESSOR>
- * @param <REGISTRY>
- * @param <BUILDER>
  */
 public abstract class MockServletInvocationTest extends TestCase {
 
-    private Object              requestProcessor;
-    private final Set<Class<?>> jaxRSClasses      = new LinkedHashSet<Class<?>>();
-
-    @SuppressWarnings("unchecked")
-    protected <T> T getRequestProcessor(Class<T> cls) {
-        return (T) requestProcessor;
-    }
+    private static ThreadLocal<MockServletInvocationTest> tls = new ThreadLocal<MockServletInvocationTest>();
+    private HttpServlet                                   servlet;
 
-    class MockApplication extends Application {
+    public static class MockApplication extends Application {
 
         @Override
         public Set<Class<?>> getClasses() {
             HashSet<Class<?>> set = new LinkedHashSet<Class<?>>();
-            for (Class<?> cls : MockServletInvocationTest.this.getClasses()) {
+            for (Class<?> cls : tls.get().getClasses()) {
                 set.add(cls);
             }
-            set.addAll(jaxRSClasses);
             return set;
         }
 
         @Override
         public Set<Object> getSingletons() {
             HashSet<Object> set = new LinkedHashSet<Object>();
-            for (Object o : MockServletInvocationTest.this.getSingletons()) {
+            for (Object o : tls.get().getSingletons()) {
                 set.add(o);
             }
             return set;
@@ -87,52 +68,35 @@
 
     }
 
-    protected Properties getProperties() throws IOException {
-        String propertiesFile = getPropertiesFile();
-        if (propertiesFile != null) {
-            Properties properties = new Properties();
-            InputStream resourceAsStream = getClass().getClassLoader().getResourceAsStream(
-                propertiesFile);
-            if (resourceAsStream != null) {
-                properties.load(resourceAsStream);
-            }
-            return properties;
-        }
-        return null;
+    /**
+     * Returns the class name of an application class. Override this method in
+     * order to provide a custom Application class. Pay attention that when
+     * overridden, the methods getClasses() and getSingletons() will be ignored.
+     */
+    protected String getApplicationClassName() {
+        return MockApplication.class.getName();
     }
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-//        loadCoreApplicationFile();
+        servlet = (HttpServlet) Class.forName("org.apache.wink.server.internal.servlet.RestServlet").newInstance();
+        MockServletConfig servletConfig = new MockServletConfig();
+        servletConfig.addInitParameter("javax.ws.rs.Application", getApplicationClassName());
 
-        Class<?> configurationClass = Class.forName("org.apache.wink.server.internal.DeploymentConfiguration");
-        Class<?> requestProcessorClass = Class.forName("org.apache.wink.server.internal.RequestProcessor");
-        Constructor<?> requestProcessorConstructor = requestProcessorClass.getConstructor(configurationClass);
-        Method setPropertiesMethod = configurationClass.getMethod("setProperties", Properties.class);
-        Method initMethod = configurationClass.getMethod("init");
-        Method addApplicationMethod = configurationClass.getMethod("addApplication",
-            Application.class);
-
-        Object configuration = createDeploymentConfiguration(configurationClass);
-        Properties properties = getProperties();
-        if (properties != null) {
-            setPropertiesMethod.invoke(configuration, properties);
+        String propertiesFile = getPropertiesFile();
+        if (propertiesFile != null) {
+            servletConfig.addInitParameter("symphony.propertiesLocation", propertiesFile);
         }
-        initMethod.invoke(configuration);
-        addApplicationMethod.invoke(configuration, getApplication());
-
-        requestProcessor = requestProcessorConstructor.newInstance(configuration);
-    }
 
-    protected Object createDeploymentConfiguration(Class<?> configurationClass) throws Exception {
-        return configurationClass.newInstance();
+        tls.set(this);
+        servlet.init(servletConfig);
     }
 
     /**
      * @return the name of the properties file. The file must be located on the
-     *         classpath.
+     *         classpath. By default returns null.
      */
     protected String getPropertiesFile() {
         return null;
@@ -154,65 +118,6 @@
         return new Object[0];
     }
 
-    protected Object[] getInstances() {
-        return new Object[0];
-    }
-
-    protected Application getApplication() {
-        return new MockApplication();
-    }
-
-//    private void loadCoreApplicationFile() throws IOException {
-//
-//        Enumeration<URL> resources = getClass().getClassLoader().getResources(
-//            "META-INF/server/symphony.app");
-//        while (resources.hasMoreElements()) {
-//            InputStream is = resources.nextElement().openStream();
-//            if (is != null) {
-//                loadClasses(is);
-//            } else {
-//                throw new RuntimeException("File not found");
-//            }
-//        }
-//    }
-
-//    private void loadClasses(InputStream is) {
-//        try {
-//            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
-//            String line;
-//            while ((line = bufferedReader.readLine()) != null) {
-//                Class<?> cls = null;
-//                try {
-//                    line = line.trim();
-//                    if (line.length() == 0 || line.startsWith("#")) {
-//                        continue;
-//                    }
-//                    cls = Class.forName(line);
-//                    if (cls.getAnnotation(Path.class) != null
-//                        || cls.getAnnotation(Provider.class) != null) {
-//                        jaxRSClasses.add(cls);
-//                    } else {
-//                        symphonyInstances.add(cls.newInstance());
-//                    }
-//                } catch (ClassNotFoundException e) {
-//                    logger.error("{} is not a class", line);
-//                } catch (InstantiationException e) {
-//                    logger.error("Failed to instantiate {}", cls);
-//                } catch (IllegalAccessException e) {
-//                    logger.error("Illegal access to {}", cls);
-//                }
-//            }
-//        } catch (IOException e) {
-//            throw new RuntimeException(e);
-//        } finally {
-//            try {
-//                is.close();
-//            } catch (IOException e) {
-//                logger.info("Exception when closing file", e);
-//            }
-//        }
-//    }
-
     /**
      * Passes the test to the servlet instance simulating AS behaviour.
      * 
@@ -221,51 +126,18 @@
      * @return a new response as filled by the servlet
      * @throws IOException
      *             io error
+     * @throws ServletException
      */
     public MockHttpServletResponse invoke(MockHttpServletRequest request) throws IOException {
         MockHttpServletResponse response = new MockHttpServletResponse();
+
         try {
-            Method handleRequestMethod = requestProcessor.getClass().getMethod("handleRequest",
-                HttpServletRequest.class, HttpServletResponse.class);
-            handleRequestMethod.invoke(requestProcessor, request, response);
-        } catch (IllegalArgumentException e) {
-            throw new RuntimeException(e);
-        } catch (SecurityException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
+            servlet.service(request, response);
+        } catch (ServletException e) {
             throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof RuntimeException){
-               throw (RuntimeException)e.getTargetException();
-            }
-            throw new RuntimeException(e);
-        } finally {
-            response.getOutputStream().flush();
         }
+
         return response;
     }
 
-    @SuppressWarnings("unchecked")
-    protected <T> T getResourceRegistry(Class<T> cls) {
-        try {
-            Method getConfigurationMethod = requestProcessor.getClass().getMethod(
-                "getConfiguration");
-            Object configuration = getConfigurationMethod.invoke(requestProcessor);
-            Method getUrletRegistryMethod = configuration.getClass().getMethod(
-                "getResourceRegistry");
-            return (T) getUrletRegistryMethod.invoke(configuration);
-        } catch (SecurityException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalArgumentException e) {
-            throw new RuntimeException(e);
-        } catch (NoSuchMethodException e) {
-            throw new RuntimeException(e);
-        } catch (IllegalAccessException e) {
-            throw new RuntimeException(e);
-        } catch (InvocationTargetException e) {
-            throw new RuntimeException(e);
-        }
-    }
 }

Modified: incubator/wink/trunk/wink-examples/apps/HelloWorld/src/test/java/org/apache/wink/example/helloworld/HelloWorldTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/apps/HelloWorld/src/test/java/org/apache/wink/example/helloworld/HelloWorldTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/apps/HelloWorld/src/test/java/org/apache/wink/example/helloworld/HelloWorldTest.java (original)
+++ incubator/wink/trunk/wink-examples/apps/HelloWorld/src/test/java/org/apache/wink/example/helloworld/HelloWorldTest.java Thu Jul  2 11:14:47 2009
@@ -30,7 +30,7 @@
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 import org.apache.wink.common.model.atom.AtomEntry;
 import org.apache.wink.example.helloworld.HelloWorld;
-import org.apache.wink.test.mock.MockServletInvocationTest;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-examples/apps/QADefect/src/test/java/org/apache/wink/example/qadefect/QADefectsTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/apps/QADefect/src/test/java/org/apache/wink/example/qadefect/QADefectsTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/apps/QADefect/src/test/java/org/apache/wink/example/qadefect/QADefectsTest.java (original)
+++ incubator/wink/trunk/wink-examples/apps/QADefect/src/test/java/org/apache/wink/example/qadefect/QADefectsTest.java Thu Jul  2 11:14:47 2009
@@ -24,7 +24,7 @@
 import java.util.Set;
 
 import org.apache.wink.common.internal.application.ApplicationFileLoader;
-import org.apache.wink.test.mock.MockServletInvocationTest;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 
 
 /**

Modified: incubator/wink/trunk/wink-examples/core/Jaxb/src/test/java/org/apache/wink/example/jaxb/JaxbTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/core/Jaxb/src/test/java/org/apache/wink/example/jaxb/JaxbTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/core/Jaxb/src/test/java/org/apache/wink/example/jaxb/JaxbTest.java (original)
+++ incubator/wink/trunk/wink-examples/core/Jaxb/src/test/java/org/apache/wink/example/jaxb/JaxbTest.java Thu Jul  2 11:14:47 2009
@@ -25,8 +25,8 @@
 import javax.ws.rs.core.Response;
 
 import org.apache.wink.example.jaxb.JaxbResource;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-examples/core/Preconditions/src/test/java/org/apache/wink/example/locking/LockingTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/core/Preconditions/src/test/java/org/apache/wink/example/locking/LockingTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/core/Preconditions/src/test/java/org/apache/wink/example/locking/LockingTest.java (original)
+++ incubator/wink/trunk/wink-examples/core/Preconditions/src/test/java/org/apache/wink/example/locking/LockingTest.java Thu Jul  2 11:14:47 2009
@@ -24,8 +24,8 @@
 import javax.ws.rs.core.MediaType;
 
 import org.apache.wink.example.locking.resources.DefectResource;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.apache.wink.test.mock.SpringMockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;

Modified: incubator/wink/trunk/wink-examples/ext/History/src/test/java/org/apache/wink/example/history/HistoryTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/ext/History/src/test/java/org/apache/wink/example/history/HistoryTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/ext/History/src/test/java/org/apache/wink/example/history/HistoryTest.java (original)
+++ incubator/wink/trunk/wink-examples/ext/History/src/test/java/org/apache/wink/example/history/HistoryTest.java Thu Jul  2 11:14:47 2009
@@ -17,7 +17,7 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
+
 package org.apache.wink.example.history;
 
 import java.io.InputStream;
@@ -35,15 +35,14 @@
 import org.apache.wink.common.model.atom.AtomFeed;
 import org.apache.wink.example.history.resources.DefectsResource;
 import org.apache.wink.server.internal.resources.HtmlServiceDocumentResource;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.diff.DiffIgnoreUpdateWithAttributeQualifier;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.apache.wink.test.mock.SpringMockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 import org.w3c.dom.Document;
 
-
 /**
  *
  */
@@ -51,15 +50,13 @@
 
     @Override
     protected Class<?>[] getClasses() {
-        return new Class[] { DefectsResource.class};
+        return new Class[] { DefectsResource.class };
     }
 
     @Override
-    protected Properties getProperties() {
-        Properties p = new Properties();
-        p.setProperty("wink.defaultUrisRelative", "false");
-        p.setProperty("symphony.generator", "REST-style WS SDK");
-        return p;
+    protected String getPropertiesFile() {
+        return SpringMockServletInvocationTest.packageToPath(getClass().getPackage().getName())
+            + "\\history.properties";
     }
 
     public void testAll() throws Exception {

Added: incubator/wink/trunk/wink-examples/ext/History/src/test/resources/org/apache/wink/example/history/history.properties
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/ext/History/src/test/resources/org/apache/wink/example/history/history.properties?rev=790550&view=auto
==============================================================================
--- incubator/wink/trunk/wink-examples/ext/History/src/test/resources/org/apache/wink/example/history/history.properties (added)
+++ incubator/wink/trunk/wink-examples/ext/History/src/test/resources/org/apache/wink/example/history/history.properties Thu Jul  2 11:14:47 2009
@@ -0,0 +1,2 @@
+wink.defaultUrisRelative=false
+symphony.generator=REST-style WS SDK
\ No newline at end of file

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/RequestProcessor.java Thu Jul  2 11:14:47 2009
@@ -76,7 +76,9 @@
         String registerRootResource = properties.getProperty(PROPERTY_ROOT_RESOURCE,
             PROPERTY_ROOT_RESOURCE_DEFAULT);
         if (registerRootResource.equals(PROPERTY_ROOT_RESOURCE_ATOM)) {
-            configuration.addApplication(new RegistrationUtils.InnerApplication(RootResource.class));
+            RegistrationUtils.InnerApplication application = new RegistrationUtils.InnerApplication(RootResource.class);
+            application.setPriority(0.1);
+            configuration.addApplication(application);
         } else if (registerRootResource.equals(PROPERTY_ROOT_RESOURCE_NONE)) {
             // do nothing
         } else {
@@ -85,7 +87,9 @@
             if (css != null) {
                 instance.setServiceDocumentCssPath(css);
             }
-            configuration.addApplication(new RegistrationUtils.InnerApplication(instance));
+            RegistrationUtils.InnerApplication application = new RegistrationUtils.InnerApplication(instance);
+            application.setPriority(0.1);
+            configuration.addApplication(application);
         }
     }
 

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/servlet/RestServlet.java Thu Jul  2 11:14:47 2009
@@ -36,7 +36,6 @@
 import org.apache.wink.server.internal.application.ServletSymphonyApplication;
 import org.apache.wink.server.internal.utils.ServletFileLoader;
 
-
 /**
  * <p>
  * Main servlet that is used by Symphony runtime to handle the incoming request.
@@ -61,7 +60,8 @@
 
     private static final long   serialVersionUID              = 8797036173835816706L;
 
-    private static final Logger logger = LoggerFactory.getLogger(RestServlet.class);
+    private static final Logger logger                        = LoggerFactory.getLogger(RestServlet.class);
+    private static final String APPLICATION_INIT_PARAM        = "javax.ws.rs.Application";
     private static final String PROPERTIES_DEFAULT_FILE       = "META-INF/configuration-default.properties";
     private static final String PROPERTIES_INIT_PARAM         = "symphony.propertiesLocation";
     private static final String SYMPHONY_APP_LOCATION_PARAM   = "symphony.applicationConfigLocation";
@@ -101,8 +101,9 @@
     protected RequestProcessor createRequestProcessor() throws ClassNotFoundException,
         InstantiationException, IllegalAccessException, IOException {
         DeploymentConfiguration deploymentConfiguration = getDeploymentConfiguration();
+        RequestProcessor requestProcessor = new RequestProcessor(deploymentConfiguration);
         deploymentConfiguration.addApplication(getApplication());
-        return new RequestProcessor(deploymentConfiguration);
+        return requestProcessor;
     }
 
     protected DeploymentConfiguration getDeploymentConfiguration() throws ClassNotFoundException,
@@ -138,7 +139,7 @@
     protected Application getApplication() throws ClassNotFoundException, InstantiationException,
         IllegalAccessException {
         Class<? extends Application> appClass = null;
-        String initParameter = getInitParameter("javax.ws.rs.Application");
+        String initParameter = getInitParameter(APPLICATION_INIT_PARAM);
         if (initParameter != null) {
             appClass = (Class<Application>) Class.forName(initParameter);
             return appClass.newInstance();

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/utils/RegistrationUtils.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/utils/RegistrationUtils.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/utils/RegistrationUtils.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/utils/RegistrationUtils.java Thu Jul  2 11:14:47 2009
@@ -28,7 +28,6 @@
 import org.apache.wink.common.SymphonyApplication;
 import org.apache.wink.server.internal.RequestProcessor;
 
-
 public class RegistrationUtils {
 
     /**
@@ -90,11 +89,12 @@
 
         private Set<Class<?>> classes   = null;
         private Set<Object>   instances = null;
+        private double        priority  = DEFAULT_PRIORITY;
 
         public InnerApplication(Set<Class<?>> set) {
             classes = set;
         }
-        
+
         public InnerApplication(Class<?>... classes) {
             this.classes = new HashSet<Class<?>>(classes.length);
             for (Class<?> cls : classes) {
@@ -125,5 +125,13 @@
             return instances;
         }
 
+        public void setPriority(double priority) {
+            this.priority = priority;
+        }
+
+        public double getPriority() {
+            return priority;
+        }
+
     }
 }

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceBeanTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceBeanTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceBeanTest.java Thu Jul  2 11:14:47 2009
@@ -17,7 +17,6 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
 
 package org.apache.wink.server;
 
@@ -29,82 +28,89 @@
 import javax.ws.rs.Path;
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.wink.common.AbstractDynamicResource;
 import org.apache.wink.common.SymphonyApplication;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.custommonkey.xmlunit.Diff;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 import org.xml.sax.SAXException;
 
+public class AbstractResourceBeanTest extends MockServletInvocationTest {
 
-public class AbstractResourceBeanTest extends
-    MockServletInvocationTest {
+    public static class InnerApplication extends SymphonyApplication {
+
+        @Override
+        public Set<Object> getInstances() {
+            AbstractTestCollectionResource servicesCollection = new AbstractTestCollectionResource();
+            servicesCollection.setDispatchedPath(new String[] { "/services" });
+
+            AbstractTestCollectionResource servicesCollectionWithWorkspaceAndTitle = new AbstractTestCollectionResource();
+            servicesCollectionWithWorkspaceAndTitle.setDispatchedPath(new String[] { "/services/workspaceAndTitle" });
+            servicesCollectionWithWorkspaceAndTitle.setWorkspaceTitle("Services Workspace Title");
+            servicesCollectionWithWorkspaceAndTitle.setCollectionTitle("Services Collection Title");
+
+            AbstractTestSingleResource singleService = new AbstractTestSingleResource();
+            singleService.setDispatchedPath(new String[] { "/services/{id}" });
+
+            // TODO: do we support multiple paths?
+            AbstractTestSingleResource singleServiceDifferentURIs = new AbstractTestSingleResource();
+            singleServiceDifferentURIs.setDispatchedPath(new String[] { "/services1/{id}"/*
+                                                                                          * ,
+                                                                                          * "/services2/{id}"
+                                                                                          */});
+
+            AbstractTestSingleParentResource singleServiceParent = new AbstractTestSingleParentResource();
+            singleServiceParent.setDispatchedPath(new String[] { "parent" });
+            singleServiceParent.setParents(new Object[] { singleService });
+
+            // TODO: do we support multiple paths and multiple parents?
+            AbstractTestSingleParentResource singleServiceMultipleParents = new AbstractTestSingleParentResource();
+            singleServiceMultipleParents.setDispatchedPath(new String[] { "parent1"/*
+                                                                                    * ,
+                                                                                    * "parent2"
+                                                                                    */});
+            singleServiceMultipleParents.setParents(new Object[] { singleService /*
+                                                                                  * ,
+                                                                                  * singleServiceDifferentURIs
+                                                                                  */});
+
+            AbstractTestReferencingBeanResource beanReferencingaAnotherBean = new AbstractTestReferencingBeanResource();
+            beanReferencingaAnotherBean.setDispatchedPath(new String[] { "/referenceBean/{id}" });
+            beanReferencingaAnotherBean.setRefdBean(singleService);
+
+            AbstractTestWithAnnotationsResource resourceWithAnnotations = new AbstractTestWithAnnotationsResource();
+
+            AbstractTestReferencingBeanResource beanReferencingClass = new AbstractTestReferencingBeanResource();
+            beanReferencingClass.setDispatchedPath(new String[] { "/referenceClass/{id}" });
+            beanReferencingClass.setRefdBean(resourceWithAnnotations);
+
+            AbstractTestSingleParentResource singleServiceParentIsClass = new AbstractTestSingleParentResource();
+            singleServiceParentIsClass.setDispatchedPath(new String[] { "parent" });
+            singleServiceParentIsClass.setParents(new Object[] { resourceWithAnnotations });
+
+            Set<Object> set = new HashSet<Object>();
+            set.add(servicesCollection);
+            set.add(servicesCollectionWithWorkspaceAndTitle);
+            set.add(singleService);
+            set.add(singleServiceDifferentURIs);
+            set.add(singleServiceParent);
+            set.add(singleServiceMultipleParents);
+            set.add(beanReferencingaAnotherBean);
+            set.add(resourceWithAnnotations);
+            set.add(beanReferencingClass);
+            set.add(singleServiceParentIsClass);
+            return set;
+        }
+    }
 
     @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                AbstractTestCollectionResource servicesCollection = new AbstractTestCollectionResource();
-                servicesCollection.setDispatchedPath(new String[] { "/services" });
-        
-                AbstractTestCollectionResource servicesCollectionWithWorkspaceAndTitle = new AbstractTestCollectionResource();
-                servicesCollectionWithWorkspaceAndTitle.setDispatchedPath(new String[] { "/services/workspaceAndTitle" });
-                servicesCollectionWithWorkspaceAndTitle.setWorkspaceTitle("Services Workspace Title");
-                servicesCollectionWithWorkspaceAndTitle.setCollectionTitle("Services Collection Title");
-        
-                AbstractTestSingleResource singleService = new AbstractTestSingleResource();
-                singleService.setDispatchedPath(new String[] { "/services/{id}" });
-        
-                // TODO: do we support multiple paths?
-                AbstractTestSingleResource singleServiceDifferentURIs = new AbstractTestSingleResource();
-                singleServiceDifferentURIs.setDispatchedPath(new String[] { "/services1/{id}"/*,
-                    "/services2/{id}" */});
-        
-                AbstractTestSingleParentResource singleServiceParent = new AbstractTestSingleParentResource();
-                singleServiceParent.setDispatchedPath(new String[] { "parent" });
-                singleServiceParent.setParents(new Object[] { singleService });
-        
-                // TODO: do we support multiple paths and multiple parents?
-                AbstractTestSingleParentResource singleServiceMultipleParents = new AbstractTestSingleParentResource();
-                singleServiceMultipleParents.setDispatchedPath(new String[] { "parent1"/*, "parent2"*/ });
-                singleServiceMultipleParents.setParents(new Object[] { singleService/*,
-                    singleServiceDifferentURIs */});
-        
-                AbstractTestReferencingBeanResource beanReferencingaAnotherBean = new AbstractTestReferencingBeanResource();
-                beanReferencingaAnotherBean.setDispatchedPath(new String[] { "/referenceBean/{id}" });
-                beanReferencingaAnotherBean.setRefdBean(singleService);
-        
-                AbstractTestWithAnnotationsResource resourceWithAnnotations = new AbstractTestWithAnnotationsResource();
-        
-                AbstractTestReferencingBeanResource beanReferencingClass = new AbstractTestReferencingBeanResource();
-                beanReferencingClass.setDispatchedPath(new String[] { "/referenceClass/{id}" });
-                beanReferencingClass.setRefdBean(resourceWithAnnotations);
-        
-                AbstractTestSingleParentResource singleServiceParentIsClass = new AbstractTestSingleParentResource();
-                singleServiceParentIsClass.setDispatchedPath(new String[] { "parent" });
-                singleServiceParentIsClass.setParents(new Object[] { resourceWithAnnotations });
-        
-                Set<Object> set = new HashSet<Object>();
-                set.add(servicesCollection);
-                set.add(servicesCollectionWithWorkspaceAndTitle);
-                set.add(singleService);
-                set.add(singleServiceDifferentURIs);
-                set.add(singleServiceParent);
-                set.add(singleServiceMultipleParents);
-                set.add(beanReferencingaAnotherBean);
-                set.add(resourceWithAnnotations);
-                set.add(beanReferencingClass);
-                set.add(singleServiceParentIsClass);
-                return set;
-            }
-        };
+    protected String getApplicationClassName() {
+        return InnerApplication.class.getName();
     }
 
     private static final String EXPECTED_SERVICE_COLLECTION    = "expected service collection";
@@ -216,11 +222,11 @@
         String responseContent = response.getContentAsString();
         assertEquals(EXPECTED_SINGLE_ENTRY + "1", responseContent);
 
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/1",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY + "1", responseContent);
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/1",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY + "1", responseContent);
     }
 
     public void testServicesSingleEntryWithParent() throws IOException {
@@ -239,35 +245,35 @@
         assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
 
         // TODO: do we support multiple paths and multiple parents
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services/2/parent2",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
-//
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services1/2/parent1",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
-//
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services1/2/parent2",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
-//
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/2/parent1",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
-//
-//        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/2/parent2",
-//            MediaType.APPLICATION_ATOM_XML_TYPE);
-//        response = invoke(mockRequest);
-//        responseContent = response.getContentAsString();
-//        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services/2/parent2",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
+        //
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services1/2/parent1",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
+        //
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services1/2/parent2",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
+        //
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/2/parent1",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
+        //
+        //        mockRequest = MockRequestConstructor.constructMockRequest("GET", "/services2/2/parent2",
+        //            MediaType.APPLICATION_ATOM_XML_TYPE);
+        //        response = invoke(mockRequest);
+        //        responseContent = response.getContentAsString();
+        //        assertEquals(EXPECTED_SINGLE_ENTRY_PARENT + "2", responseContent);
     }
 
     public void testBeanReferencingAnotherBean() throws IOException {

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithDuplicateWorkspaceTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithDuplicateWorkspaceTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithDuplicateWorkspaceTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithDuplicateWorkspaceTest.java Thu Jul  2 11:14:47 2009
@@ -17,7 +17,6 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
 
 package org.apache.wink.server;
 
@@ -27,55 +26,43 @@
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.wink.common.AbstractDynamicResource;
 import org.apache.wink.common.SymphonyApplication;
 import org.apache.wink.common.annotations.Workspace;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.custommonkey.xmlunit.Diff;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 import org.xml.sax.SAXException;
 
-
 public class AbstractResourceWithDuplicateWorkspaceTest extends MockServletInvocationTest {
 
-    @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                Set<Object> set = new HashSet<Object>();
-                AbstractTestWithWorkspaceResource servicesCollectionWithWorskapce = new AbstractTestWithWorkspaceResource();
-                servicesCollectionWithWorskapce.setDispatchedPath(new String[] { "/services/withWorkspace" });
-                servicesCollectionWithWorskapce.setCollectionTitle("Spring Collection");
-                servicesCollectionWithWorskapce.setWorkspaceTitle("Spring Workspace");
-
-                AbstractTestWithWorkspaceResource servicesCollectionWithoutWorskapce = new AbstractTestWithWorkspaceResource();
-                servicesCollectionWithoutWorskapce.setDispatchedPath(new String[] { "/services/withoutWorkspace" });
-                
-                set.add(servicesCollectionWithWorskapce);
-                set.add(servicesCollectionWithoutWorskapce);
-                return set;
-            }
-        };
+    public static class InnerApplication extends SymphonyApplication {
+
+        @Override
+        public Set<Object> getInstances() {
+            Set<Object> set = new HashSet<Object>();
+            AbstractTestWithWorkspaceResource servicesCollectionWithWorskapce = new AbstractTestWithWorkspaceResource();
+            servicesCollectionWithWorskapce.setDispatchedPath(new String[] { "/services/withWorkspace" });
+            servicesCollectionWithWorskapce.setCollectionTitle("Spring Collection");
+            servicesCollectionWithWorskapce.setWorkspaceTitle("Spring Workspace");
+
+            AbstractTestWithWorkspaceResource servicesCollectionWithoutWorskapce = new AbstractTestWithWorkspaceResource();
+            servicesCollectionWithoutWorskapce.setDispatchedPath(new String[] { "/services/withoutWorkspace" });
+
+            set.add(servicesCollectionWithWorskapce);
+            set.add(servicesCollectionWithoutWorskapce);
+            return set;
+        }
     }
 
     @Override
-    protected Object[] getInstances() {
-        AbstractTestWithWorkspaceResource servicesCollectionWithWorskapce = new AbstractTestWithWorkspaceResource();
-        servicesCollectionWithWorskapce.setDispatchedPath(new String[] { "/services/withWorkspace" });
-        servicesCollectionWithWorskapce.setCollectionTitle("Spring Collection");
-        servicesCollectionWithWorskapce.setWorkspaceTitle("Spring Workspace");
-
-        AbstractTestWithWorkspaceResource servicesCollectionWithoutWorskapce = new AbstractTestWithWorkspaceResource();
-        servicesCollectionWithoutWorskapce.setDispatchedPath(new String[] { "/services/withoutWorkspace" });
-
-        return new Object[] { servicesCollectionWithWorskapce, servicesCollectionWithoutWorskapce, };
+    protected String getApplicationClassName() {
+        return InnerApplication.class.getName();
     }
 
     private static final String EXPECTED_SERVICE_COLLECTION = "expected service collection 1";

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithEmptyPathTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithEmptyPathTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithEmptyPathTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/AbstractResourceWithEmptyPathTest.java Thu Jul  2 11:14:47 2009
@@ -17,7 +17,6 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
 
 package org.apache.wink.server;
 
@@ -27,37 +26,37 @@
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.wink.common.AbstractDynamicResource;
 import org.apache.wink.common.SymphonyApplication;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 
+public class AbstractResourceWithEmptyPathTest extends MockServletInvocationTest {
 
-public class AbstractResourceWithEmptyPathTest extends
-    MockServletInvocationTest {
+    public static class InnerApplication extends SymphonyApplication {
+
+        @Override
+        public Set<Object> getInstances() {
+            AbstractTestCollectionResource emptyPath = new AbstractTestCollectionResource();
+            emptyPath.setDispatchedPath(new String[] { "/a" });
+
+            AbstractTestCollectionResource2 emptyParent = new AbstractTestCollectionResource2();
+            emptyParent.setDispatchedPath(new String[] { "/emptyParent" });
+            emptyParent.setParents(new Object[0]);
+            Set<Object> set = new HashSet<Object>();
+            set.add(emptyPath);
+            set.add(emptyParent);
+            return set;
+        }
+    }
 
     @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                AbstractTestCollectionResource emptyPath = new AbstractTestCollectionResource();
-                emptyPath.setDispatchedPath(new String[] { "" });
-        
-                AbstractTestCollectionResource2 emptyParent = new AbstractTestCollectionResource2();
-                emptyParent.setDispatchedPath(new String[] { "/emptyParent" });
-                emptyParent.setParents(new Object[0]);
-                Set<Object> set = new HashSet<Object>();
-                set.add(emptyPath);
-                set.add(emptyParent);
-                return set;
-            }
-        };
+    protected String getApplicationClassName() {
+        return InnerApplication.class.getName();
     }
 
     private static final String EXPECTED_SERVICE_COLLECTION_1 = "expected service collection 1";
@@ -84,7 +83,7 @@
 
     public void testBeanWithEmptyPath() throws IOException {
         MockHttpServletRequest mockRequest = MockRequestConstructor.constructMockRequest("GET",
-            "/", MediaType.APPLICATION_ATOM_XML_TYPE);
+            "/a", MediaType.APPLICATION_ATOM_XML_TYPE);
         MockHttpServletResponse response = invoke(mockRequest);
         String responseContent = response.getContentAsString();
         assertEquals(EXPECTED_SERVICE_COLLECTION_1, responseContent);

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/DispatchErrorTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/DispatchErrorTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/DispatchErrorTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/DispatchErrorTest.java Thu Jul  2 11:14:47 2009
@@ -30,8 +30,8 @@
 import javax.ws.rs.core.Response;
 
 import org.apache.wink.common.http.HttpStatus;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/JAXRSContextTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/JAXRSContextTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/JAXRSContextTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/JAXRSContextTest.java Thu Jul  2 11:14:47 2009
@@ -32,8 +32,8 @@
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.Providers;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/QueryTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/QueryTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/QueryTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/QueryTest.java Thu Jul  2 11:14:47 2009
@@ -27,8 +27,8 @@
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/categories/CollectionCategoriesTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/categories/CollectionCategoriesTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/categories/CollectionCategoriesTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/categories/CollectionCategoriesTest.java Thu Jul  2 11:14:47 2009
@@ -36,9 +36,9 @@
 import org.apache.wink.common.internal.MultivaluedMapImpl;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
 import org.apache.wink.common.model.atom.AtomCategory;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.diff.DiffIgnoreUpdateWithAttributeQualifier;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriConfigurationTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriConfigurationTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriConfigurationTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriConfigurationTest.java Thu Jul  2 11:14:47 2009
@@ -29,8 +29,8 @@
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriInfo;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.apache.wink.test.mock.SpringMockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriDetectionTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriDetectionTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriDetectionTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/BaseUriDetectionTest.java Thu Jul  2 11:14:47 2009
@@ -29,8 +29,8 @@
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriInfo;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/CustomLocationHeaderConfigurationTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/CustomLocationHeaderConfigurationTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/CustomLocationHeaderConfigurationTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/CustomLocationHeaderConfigurationTest.java Thu Jul  2 11:14:47 2009
@@ -33,8 +33,8 @@
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.core.Response.Status;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.apache.wink.test.mock.SpringMockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DefaultLocationHeaderConfigurationTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DefaultLocationHeaderConfigurationTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DefaultLocationHeaderConfigurationTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DefaultLocationHeaderConfigurationTest.java Thu Jul  2 11:14:47 2009
@@ -33,8 +33,8 @@
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.core.Response.Status;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DispatchIPv6Test.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DispatchIPv6Test.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DispatchIPv6Test.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/DispatchIPv6Test.java Thu Jul  2 11:14:47 2009
@@ -46,9 +46,9 @@
 import org.apache.wink.common.model.synd.SyndEntry;
 import org.apache.wink.common.model.synd.SyndFeed;
 import org.apache.wink.common.model.synd.SyndText;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.server.utils.LinkBuilders;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.apache.wink.test.mock.SpringMockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ErrorResponseTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ErrorResponseTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ErrorResponseTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ErrorResponseTest.java Thu Jul  2 11:14:47 2009
@@ -30,7 +30,7 @@
 
 import org.apache.wink.common.RestConstants;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
-import org.apache.wink.test.mock.MockServletInvocationTest;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 
 
 /**

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ExtensionResourceBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ExtensionResourceBeanTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ExtensionResourceBeanTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ExtensionResourceBeanTest.java Thu Jul  2 11:14:47 2009
@@ -25,57 +25,47 @@
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
 import org.apache.wink.common.AbstractDynamicResource;
-import org.apache.wink.common.SymphonyApplication;
-import org.apache.wink.test.mock.MockServletInvocationTest;
-
-
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 
 /**
  * This test checks scenarios with Resource that are defined as beans.
  * 
  */
-public class ExtensionResourceBeanTest extends
-    MockServletInvocationTest {
+public class ExtensionResourceBeanTest extends MockServletInvocationTest {
 
     @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                BasicBeanResource basicResourceResource = new BasicBeanResource();
-                basicResourceResource.setDispatchedPath(new String[] { "/basicBeanUrl", "/basicBeanUrlNoParent" });
-        
-                BasicResource basit = new BasicResource();
-        
-                ExtendedBasicBeanResource  extendedBasicBeanResource = new ExtendedBasicBeanResource();
-                extendedBasicBeanResource.setDispatchedPath(new String[] { "" });
-                extendedBasicBeanResource.setParents(new Object[] { basicResourceResource });
-        
-                ExtendedBasicBeanWithNoParentResource extendedBasicBeanWithNoParentResource = new ExtendedBasicBeanWithNoParentResource();
-                extendedBasicBeanWithNoParentResource.setDispatchedPath(new String[] { "/basicBeanUrl",
-                    "/basicBeanUrlNoParent" });
-        
-                ExtendedBasicResource extendedBasicResource = new ExtendedBasicResource();
-                extendedBasicResource.setDispatchedPath(new String[] { "" });
-                extendedBasicResource.setParents(new Object[] { basicResourceResource });
-        
-                Set<Object> set = new HashSet<Object>();
-                set.add(basicResourceResource);
-                set.add(basit);
-                set.add(extendedBasicBeanResource);
-                set.add(extendedBasicBeanWithNoParentResource);
-                set.add(extendedBasicResource);
-                return set;
-            }
-        };
-
+    protected Object[] getSingletons() {
+        BasicBeanResource basicResourceResource = new BasicBeanResource();
+        basicResourceResource.setDispatchedPath(new String[] { "/basicBeanUrl",
+            "/basicBeanUrlNoParent" });
+
+        BasicResource basit = new BasicResource();
+
+        ExtendedBasicBeanResource extendedBasicBeanResource = new ExtendedBasicBeanResource();
+        extendedBasicBeanResource.setDispatchedPath(new String[] { "" });
+        extendedBasicBeanResource.setParents(new Object[] { basicResourceResource });
+
+        ExtendedBasicBeanWithNoParentResource extendedBasicBeanWithNoParentResource = new ExtendedBasicBeanWithNoParentResource();
+        extendedBasicBeanWithNoParentResource.setDispatchedPath(new String[] { "/basicBeanUrl",
+            "/basicBeanUrlNoParent" });
+
+        ExtendedBasicResource extendedBasicResource = new ExtendedBasicResource();
+        extendedBasicResource.setDispatchedPath(new String[] { "" });
+        extendedBasicResource.setParents(new Object[] { basicResourceResource });
+
+        Set<Object> set = new HashSet<Object>();
+        set.add(basicResourceResource);
+        set.add(basit);
+        set.add(extendedBasicBeanResource);
+        set.add(extendedBasicBeanWithNoParentResource);
+        set.add(extendedBasicResource);
+        return new Object[] { basicResourceResource, basit, extendedBasicBeanResource,
+            extendedBasicBeanWithNoParentResource, extendedBasicResource };
     }
 
-
     /**
      * Basic Resource Bean with class annotations defined on the configuration
      * file.

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/HeadTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/HeadTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/HeadTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/HeadTest.java Thu Jul  2 11:14:47 2009
@@ -27,8 +27,8 @@
 import javax.ws.rs.Produces;
 
 import org.apache.wink.common.http.HttpStatus;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/NoContentTypePostTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/NoContentTypePostTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/NoContentTypePostTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/NoContentTypePostTest.java Thu Jul  2 11:14:47 2009
@@ -17,44 +17,31 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
+
 package org.apache.wink.server.internal;
 
 import java.io.IOException;
-import java.util.HashSet;
-import java.util.Set;
 
 import javax.ws.rs.Consumes;
 import javax.ws.rs.POST;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
-import org.apache.wink.common.SymphonyApplication;
 import org.apache.wink.common.http.HttpStatus;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 
-
 /**
  * Test response on POST without Content-Type HTTP header in request.
  */
-public class NoContentTypePostTest extends
-    MockServletInvocationTest {
+public class NoContentTypePostTest extends MockServletInvocationTest {
 
     @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                Set<Object> set = new HashSet<Object>();
-                set.add(new PostResource());
-                return set;
-            }
-        };
+    protected Object[] getSingletons() {
+        return new Object[] { new PostResource() };
     }
 
     @Path("t")
@@ -73,7 +60,8 @@
         MockHttpServletRequest request = MockRequestConstructor.constructMockRequest("POST", "t",
             "*/*");
         MockHttpServletResponse response = invoke(request);
-        assertEquals("status code", HttpStatus.UNSUPPORTED_MEDIA_TYPE.getCode(), response.getStatus());
+        assertEquals("status code", HttpStatus.UNSUPPORTED_MEDIA_TYPE.getCode(),
+            response.getStatus());
     }
 
 }

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/OptionsMethodTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/OptionsMethodTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/OptionsMethodTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/OptionsMethodTest.java Thu Jul  2 11:14:47 2009
@@ -20,28 +20,27 @@
  
 package org.apache.wink.server.internal;
 
-import java.util.Arrays;
-import java.util.List;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.RuntimeDelegate;
-
+import java.util.Arrays;
+import java.util.List;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.ext.RuntimeDelegate;
+
 import org.apache.wink.common.http.HttpHeadersEx;
 import org.apache.wink.common.http.HttpStatus;
 import org.apache.wink.common.http.OPTIONS;
-import org.apache.wink.server.internal.RequestProcessor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
-import org.junit.Assert;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
+import org.junit.Assert;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
 
 
 public class OptionsMethodTest extends
@@ -111,9 +110,7 @@
         };
         request.setMethod("OPTIONS");
         request.setRequestURI(path);
-        MockHttpServletResponse response = new MockHttpServletResponse();
-        RequestProcessor requestProcessor = getRequestProcessor(RequestProcessor.class);
-        requestProcessor.handleRequest(request, response);
+        MockHttpServletResponse response = invoke(request);
 
         // response
         // check status code

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ParameterConversionTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ParameterConversionTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ParameterConversionTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/ParameterConversionTest.java Thu Jul  2 11:14:47 2009
@@ -34,8 +34,8 @@
 
 import org.apache.wink.common.http.HttpStatus;
 import org.apache.wink.common.internal.uri.UriEncoder;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/PreconditionsTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/PreconditionsTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/PreconditionsTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/PreconditionsTest.java Thu Jul  2 11:14:47 2009
@@ -38,8 +38,8 @@
 import javax.ws.rs.ext.RuntimeDelegate.HeaderDelegate;
 
 import org.apache.wink.common.internal.utils.HttpDateParser;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/SlashEndingUriTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/SlashEndingUriTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/SlashEndingUriTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/SlashEndingUriTest.java Thu Jul  2 11:14:47 2009
@@ -28,8 +28,8 @@
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.UriInfo;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/StreamResponseTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/StreamResponseTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/StreamResponseTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/StreamResponseTest.java Thu Jul  2 11:14:47 2009
@@ -17,29 +17,24 @@
  *  under the License.
  *  
  *******************************************************************************/
- 
+
 package org.apache.wink.server.internal;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.StringReader;
-import java.util.HashSet;
-import java.util.Set;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
-import javax.ws.rs.core.Application;
 import javax.ws.rs.core.MediaType;
 
-import org.apache.wink.common.SymphonyApplication;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 
-
 /**
  * Tests Response created from InputStream and Reader
  */
@@ -48,17 +43,9 @@
     private static byte[] BYTES  = new byte[] { 123, 23, 43, 54, 34, 66, 89, 77 };
     private static String STRING = createTestString();
 
-    
     @Override
-    protected Application getApplication() {
-        return new SymphonyApplication() {
-            @Override
-            public Set<Object> getInstances() {
-                Set<Object> set = new HashSet<Object>();
-                set.add(new Resource());
-                return set;
-            }
-        };
+    protected Class<?>[] getClasses() {
+        return new Class<?>[] { Resource.class };
     }
 
     private static String createTestString() {
@@ -76,7 +63,7 @@
         @GET
         @Produces(MediaTypeUtils.IMAGE_JPEG)
         public ByteArrayInputStream getBinary() {
-            
+
             return new ByteArrayInputStream(BYTES);
         }
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/UnknownMimeTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/UnknownMimeTypeTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/UnknownMimeTypeTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/UnknownMimeTypeTest.java Thu Jul  2 11:14:47 2009
@@ -36,8 +36,8 @@
 
 import org.apache.wink.common.internal.http.Accept;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/factory/InjectFieldsTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/factory/InjectFieldsTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/factory/InjectFieldsTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/factory/InjectFieldsTest.java Thu Jul  2 11:14:47 2009
@@ -19,8 +19,8 @@
  *******************************************************************************/
 package org.apache.wink.server.internal.factory;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.springframework.mock.web.MockHttpServletRequest;
 import org.springframework.mock.web.MockHttpServletResponse;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/HttpHeadersImplTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/HttpHeadersImplTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/HttpHeadersImplTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/HttpHeadersImplTest.java Thu Jul  2 11:14:47 2009
@@ -33,8 +33,8 @@
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.junit.Test;
 import org.springframework.mock.web.MockHttpServletRequest;
 

Modified: incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/UriInfoImplTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/UriInfoImplTest.java?rev=790550&r1=790549&r2=790550&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/UriInfoImplTest.java (original)
+++ incubator/wink/trunk/wink-server/src/test/java/org/apache/wink/server/internal/jaxrs/UriInfoImplTest.java Thu Jul  2 11:14:47 2009
@@ -30,8 +30,8 @@
 import javax.ws.rs.core.PathSegment;
 import javax.ws.rs.core.UriInfo;
 
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
-import org.apache.wink.test.mock.MockServletInvocationTest;
 import org.junit.Test;
 import org.springframework.mock.web.MockHttpServletRequest;