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/09/16 12:08:20 UTC

svn commit: r815706 - in /incubator/wink/trunk: wink-client/src/main/java/org/apache/wink/client/ wink-client/src/test/java/org/apache/wink/client/ wink-common/src/main/java/org/apache/wink/common/internal/application/ wink-common/src/main/java/org/apa...

Author: elman
Date: Wed Sep 16 10:08:18 2009
New Revision: 815706

URL: http://svn.apache.org/viewvc?rev=815706&view=rev
Log:
automatic registration of wink-application
See [WINK-181]

Added:
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
      - copied, changed from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonArrayProvider.java
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonJAXBProvider.java
      - copied, changed from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonJAXBProvider.java
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonProvider.java
      - copied, changed from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonProvider.java
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/wink-application
Removed:
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonArrayProvider.java
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonJAXBProvider.java
    incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonProvider.java
Modified:
    incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/ClientConfig.java
    incubator/wink/trunk/wink-client/src/test/java/org/apache/wink/client/ProvidersTest.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java
    incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/FileLoader.java
    incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties
    incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/application/ApplicationFileLoaderTest.java
    incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/model/atom/AtomTest.java
    incubator/wink/trunk/wink-examples/apps/QADefect/src/main/webapp/WEB-INF/application
    incubator/wink/trunk/wink-providers/wink-json-provider/src/test/java/org/apache/wink/providers/json/internal/JsonProviderTest.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/application/ServletApplicationFileLoader.java
    incubator/wink/trunk/wink-server/src/main/resources/META-INF/wink-default.properties

Modified: incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/ClientConfig.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/ClientConfig.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/ClientConfig.java (original)
+++ incubator/wink/trunk/wink-client/src/main/java/org/apache/wink/client/ClientConfig.java Wed Sep 16 10:08:18 2009
@@ -52,6 +52,7 @@
     private LinkedList<Application>   applications;
     private boolean                   modifiable;
     private boolean                   isAcceptHeaderAutoSet;
+    private boolean                   loadWinkApplications = true;
 
     /**
      * Construct a new ClientConfig with the following default settings:
@@ -78,7 +79,8 @@
     private void initDefaultApplication() {
 
         try {
-            final Set<Class<?>> classes = new ApplicationFileLoader().getClasses();
+            final Set<Class<?>> classes =
+                new ApplicationFileLoader(loadWinkApplications).getClasses();
 
             applications(new WinkApplication() {
                 @Override
@@ -336,4 +338,12 @@
         }
     }
 
+    public void setLoadWinkApplications(boolean loadWinkApplications) {
+        this.loadWinkApplications = loadWinkApplications;
+    }
+
+    public boolean isLoadWinkApplications() {
+        return loadWinkApplications;
+    }
+
 }

Modified: incubator/wink/trunk/wink-client/src/test/java/org/apache/wink/client/ProvidersTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-client/src/test/java/org/apache/wink/client/ProvidersTest.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-client/src/test/java/org/apache/wink/client/ProvidersTest.java (original)
+++ incubator/wink/trunk/wink-client/src/test/java/org/apache/wink/client/ProvidersTest.java Wed Sep 16 10:08:18 2009
@@ -39,7 +39,6 @@
 import org.apache.wink.common.internal.contexts.ProvidersImpl;
 import org.apache.wink.common.internal.lifecycle.LifecycleManagersRegistry;
 import org.apache.wink.common.internal.lifecycle.ScopeLifecycleManager;
-import org.apache.wink.common.internal.providers.entity.xml.JAXBXmlProvider;
 import org.apache.wink.common.internal.registry.ProvidersRegistry;
 import org.apache.wink.common.internal.registry.metadata.ProviderMetadataCollector;
 import org.apache.wink.common.internal.runtime.AbstractRuntimeContext;
@@ -102,7 +101,7 @@
         ProvidersRegistry providersRegistry =
             new ProvidersRegistry(ofFactoryRegistry, new ApplicationValidator());
 
-        Set<Class<?>> classes = new ApplicationFileLoader().getClasses();
+        Set<Class<?>> classes = new ApplicationFileLoader(true).getClasses();
         if (classes != null) {
             for (Class<?> cls : classes) {
                 if (ProviderMetadataCollector.isProvider(cls)) {

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/application/ApplicationFileLoader.java Wed Sep 16 10:08:18 2009
@@ -24,6 +24,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.Enumeration;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
@@ -45,6 +47,7 @@
  */
 public class ApplicationFileLoader {
 
+    private static final String WINK_APPLICATION = "META-INF/wink-application";
     private static final Logger logger           =
                                                      LoggerFactory
                                                          .getLogger(ApplicationFileLoader.class);
@@ -54,10 +57,27 @@
     /**
      * Loads core application file.
      * 
+     * @param loadWinkApplication - indicates if classes from
+     *            "META-INF/wink-application" files should be loaded
      * @throws FileNotFoundException if file is not found (should never happen)
      */
-    public ApplicationFileLoader() throws FileNotFoundException {
+    public ApplicationFileLoader(boolean loadWinkApplication) throws FileNotFoundException {
         this(CORE_APPLICATION);
+
+        // load wink-application
+        try {
+            if (loadWinkApplication) {
+                Enumeration<URL> applications =
+                    FileLoader.loadFileUsingClassLoaders(WINK_APPLICATION);
+                while (applications.hasMoreElements()) {
+                    URL url = applications.nextElement();
+                    logger.info(Messages.getMessage("loadingApplication"), url.toExternalForm());
+                    loadClasses(url.openStream());
+                }
+            }
+        } catch (IOException e) {
+            throw new WebApplicationException(e);
+        }
     }
 
     /**
@@ -67,7 +87,8 @@
      * @throws FileNotFoundException - if file is not found
      */
     public ApplicationFileLoader(String appConfigFile) throws FileNotFoundException {
-        this(FileLoader.loadFileAsStream(appConfigFile));
+        logger.info(Messages.getMessage("loadingApplication"), appConfigFile);
+        loadClasses(FileLoader.loadFileAsStream(appConfigFile));
     }
 
     /**

Modified: incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/FileLoader.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/FileLoader.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/FileLoader.java (original)
+++ incubator/wink/trunk/wink-common/src/main/java/org/apache/wink/common/internal/utils/FileLoader.java Wed Sep 16 10:08:18 2009
@@ -28,6 +28,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.util.Enumeration;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,7 +49,17 @@
      * @throws FileNotFoundException
      */
     public static URL loadFile(String fileName) throws FileNotFoundException {
-        return loadFileUsingClassLoaders(fileName);
+        Enumeration<URL> resources;
+        try {
+            resources = loadFileUsingClassLoaders(fileName);
+        } catch (IOException e) {
+            logger.error(e.getMessage(), e);
+            throw new FileNotFoundException(fileName);
+        }
+        if (!resources.hasMoreElements()) {
+            throw new FileNotFoundException(fileName);
+        }
+        return resources.nextElement();
     }
 
     /**
@@ -80,7 +91,17 @@
         }
 
         // file is not a normal file, try to find it using classloaders
-        URL url = loadFileUsingClassLoaders(fileName);
+        Enumeration<URL> resources;
+        try {
+            resources = loadFileUsingClassLoaders(fileName);
+        } catch (IOException e) {
+            logger.error(e.getMessage(), e);
+            throw new FileNotFoundException(fileName);
+        }
+        if (!resources.hasMoreElements()) {
+            throw new FileNotFoundException(fileName);
+        }
+        URL url = resources.nextElement();
         try {
             // decode any escaped sequences such as <space> which is %20 in URL
             URI uri = url.toURI();
@@ -106,40 +127,33 @@
      * 
      * @param filename
      * @return
-     * @throws FileNotFoundException
+     * @throws IOException 
      */
-    public static URL loadFileUsingClassLoaders(String filename) throws FileNotFoundException {
+    public static Enumeration<URL> loadFileUsingClassLoaders(String filename) throws IOException {
         logger.debug("Searching for {} using thread context classloader.", filename);
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-        URL url = loadFileUsingClassLoader(classLoader, filename);
-        if (url != null) {
-            return url;
+        Enumeration<URL> resources = loadFileUsingClassLoader(classLoader, filename);
+        if (resources.hasMoreElements()) {
+            return resources;
         }
 
         logger.debug("Searching for {} using current classloader.", filename);
         classLoader = FileLoader.class.getClassLoader();
-        url = loadFileUsingClassLoader(classLoader, filename);
-        if (url != null) {
-            return url;
+        resources = loadFileUsingClassLoader(classLoader, filename);
+        if (resources.hasMoreElements()) {
+            return resources;
         }
 
         logger.debug("Searching for {} using system classloader.", filename);
-        url = ClassLoader.getSystemResource(filename);
-        if (url == null) {
-            // well, the last attempt has failed! throw FileNotFoundException
-            logger.error("Failed to find file using classloaders");
-            throw new FileNotFoundException(filename);
-        }
-
-        return url;
+        return ClassLoader.getSystemResources(filename);
     }
 
-    private static URL loadFileUsingClassLoader(ClassLoader classLoader, String filename) {
-        URL url = null;
+    private static Enumeration<URL> loadFileUsingClassLoader(ClassLoader classLoader, String filename) throws IOException {
+        Enumeration<URL> resources = null;
         if (classLoader != null) {
-            url = classLoader.getResource(filename);
+            resources = classLoader.getResources(filename);
         }
-        return url;
+        return resources;
     }
 
 }

Modified: incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties (original)
+++ incubator/wink/trunk/wink-common/src/main/resources/org/apache/wink/common/internal/i18n/resource.properties Wed Sep 16 10:08:18 2009
@@ -27,6 +27,9 @@
 classInstantiationException=Failed to instantiate class {}.
 classIllegalAccess=Illegal access to {}.
 
+loadingApplication=Loading application from {}.
+
+
 exceptionOccurredDuringClassProcessing=An exception occurred during processing of class {}. Ignoring class.
 listExceptionDuringClassProcessing=The following exception occurred during processing of class: 
 exceptionOccurredDuringSingletonProcessing=An exception occurred during processing of singleton {}. Ignoring singleton.

Modified: incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/application/ApplicationFileLoaderTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/application/ApplicationFileLoaderTest.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/application/ApplicationFileLoaderTest.java (original)
+++ incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/internal/application/ApplicationFileLoaderTest.java Wed Sep 16 10:08:18 2009
@@ -29,7 +29,7 @@
 public class ApplicationFileLoaderTest extends TestCase {
 
     public void testDefault() throws IOException {
-        ApplicationFileLoader applicationFileLoader = new ApplicationFileLoader();
+        ApplicationFileLoader applicationFileLoader = new ApplicationFileLoader(true);
         Set<Class<?>> classes = applicationFileLoader.getClasses();
         assertTrue(classes
             .contains(org.apache.wink.common.internal.providers.entity.FileProvider.class));

Modified: incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/model/atom/AtomTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/model/atom/AtomTest.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/model/atom/AtomTest.java (original)
+++ incubator/wink/trunk/wink-common/src/test/java/org/apache/wink/common/model/atom/AtomTest.java Wed Sep 16 10:08:18 2009
@@ -298,7 +298,7 @@
         ProvidersRegistry providersRegistry =
             new ProvidersRegistry(ofFactoryRegistry, new ApplicationValidator());
 
-        Set<Class<?>> classes = new ApplicationFileLoader().getClasses();
+        Set<Class<?>> classes = new ApplicationFileLoader(true).getClasses();
         if (classes != null) {
             for (Class<?> cls : classes) {
                 if (ProviderMetadataCollector.isProvider(cls)) {

Modified: incubator/wink/trunk/wink-examples/apps/QADefect/src/main/webapp/WEB-INF/application
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-examples/apps/QADefect/src/main/webapp/WEB-INF/application?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-examples/apps/QADefect/src/main/webapp/WEB-INF/application (original)
+++ incubator/wink/trunk/wink-examples/apps/QADefect/src/main/webapp/WEB-INF/application Wed Sep 16 10:08:18 2009
@@ -17,6 +17,3 @@
 org.apache.wink.example.qadefect.resources.TestsResource
 org.apache.wink.example.qadefect.resources.DefectTestsResource
 
-org.apache.wink.providers.json.internal.JsonJAXBProvider
-org.apache.wink.providers.json.internal.JsonProvider
-org.apache.wink.providers.json.internal.JsonArrayProvider
\ No newline at end of file

Copied: incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java (from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonArrayProvider.java)
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java?p2=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java&p1=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonArrayProvider.java&r1=815626&r2=815706&rev=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonArrayProvider.java (original)
+++ incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java Wed Sep 16 10:08:18 2009
@@ -17,7 +17,7 @@
  *  under the License.
  *  
  *******************************************************************************/
-package org.apache.wink.providers.json.internal;
+package org.apache.wink.providers.json;
 
 import java.io.IOException;
 import java.io.InputStream;

Copied: incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonJAXBProvider.java (from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonJAXBProvider.java)
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonJAXBProvider.java?p2=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonJAXBProvider.java&p1=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonJAXBProvider.java&r1=815626&r2=815706&rev=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonJAXBProvider.java (original)
+++ incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonJAXBProvider.java Wed Sep 16 10:08:18 2009
@@ -18,7 +18,7 @@
  *  
  *******************************************************************************/
 
-package org.apache.wink.providers.json.internal;
+package org.apache.wink.providers.json;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -126,24 +126,6 @@
         }
     }
 
-    // private JSONObject jaxbToJson(Object jaxbObject, Class<?> type, MediaType
-    // mediaType) {
-    // try {
-    // if (type == JAXBElement.class) {
-    // type = ((JAXBElement<?>)jaxbObject).getDeclaredType();
-    // }
-    // Marshaller marshaller = super.getMarshaller(type, mediaType);
-    // JsonContentHandler handler = new JsonContentHandler();
-    // marshaller.setListener(handler);
-    // marshaller.marshal(jaxbObject, handler);
-    // return handler.getJsonResult();
-    // } catch (JAXBException e) {
-    // logger.error(Messages.getMessage("jsonFailConvertJAXBToJSON"),
-    // type.getName());
-    // throw new WebApplicationException(e);
-    // }
-    // }
-
     public boolean isReadable(Class<?> type,
                               Type genericType,
                               Annotation[] annotations,

Copied: incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonProvider.java (from r815626, incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonProvider.java)
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonProvider.java?p2=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonProvider.java&p1=incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonProvider.java&r1=815626&r2=815706&rev=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/internal/JsonProvider.java (original)
+++ incubator/wink/trunk/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonProvider.java Wed Sep 16 10:08:18 2009
@@ -18,7 +18,7 @@
  *  
  *******************************************************************************/
 
-package org.apache.wink.providers.json.internal;
+package org.apache.wink.providers.json;
 
 import java.io.IOException;
 import java.io.InputStream;

Added: incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/wink-application
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/wink-application?rev=815706&view=auto
==============================================================================
--- incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/wink-application (added)
+++ incubator/wink/trunk/wink-providers/wink-json-provider/src/main/resources/META-INF/wink-application Wed Sep 16 10:08:18 2009
@@ -0,0 +1,17 @@
+#	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.
+
+org.apache.wink.providers.json.JsonJAXBProvider
+org.apache.wink.providers.json.JsonProvider
+org.apache.wink.providers.json.JsonArrayProvider
\ No newline at end of file

Modified: incubator/wink/trunk/wink-providers/wink-json-provider/src/test/java/org/apache/wink/providers/json/internal/JsonProviderTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-providers/wink-json-provider/src/test/java/org/apache/wink/providers/json/internal/JsonProviderTest.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-providers/wink-json-provider/src/test/java/org/apache/wink/providers/json/internal/JsonProviderTest.java (original)
+++ incubator/wink/trunk/wink-providers/wink-json-provider/src/test/java/org/apache/wink/providers/json/internal/JsonProviderTest.java Wed Sep 16 10:08:18 2009
@@ -45,6 +45,9 @@
 import org.apache.wink.common.model.synd.SyndFeed;
 import org.apache.wink.common.model.synd.SyndText;
 import org.apache.wink.providers.json.JSONUtils;
+import org.apache.wink.providers.json.JsonArrayProvider;
+import org.apache.wink.providers.json.JsonJAXBProvider;
+import org.apache.wink.providers.json.JsonProvider;
 import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
 import org.apache.wink.test.mock.MockRequestConstructor;
 import org.json.JSONArray;

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=815706&r1=815705&r2=815706&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 Wed Sep 16 10:08:18 2009
@@ -56,10 +56,11 @@
     private static final String           PROPERTY_ROOT_RESOURCE_ATOM_HTML = "atom+html";
     private static final String           PROPERTY_ROOT_RESOURCE_DEFAULT   =
                                                                                PROPERTY_ROOT_RESOURCE_ATOM_HTML;
-    private static final String           PROPERTY_ROOT_RESOURCE           =
-                                                                               "wink.rootResource";
+    private static final String           PROPERTY_ROOT_RESOURCE           = "wink.rootResource";
     private static final String           PROPERTY_ROOT_RESOURCE_CSS       =
                                                                                "wink.serviceDocumentCssPath";
+    private static final String           PROPERTY_LOAD_WINK_APPLICATIONS  =
+                                                                               "wink.loadApplications";
 
     private final DeploymentConfiguration configuration;
 
@@ -71,7 +72,12 @@
 
     private void registerDefaultApplication() {
         try {
-            final Set<Class<?>> classes = new ServletApplicationFileLoader().getClasses();
+            String loadWinkApplicationsProperty =
+                configuration.getProperties().getProperty(PROPERTY_LOAD_WINK_APPLICATIONS,
+                                                          Boolean.toString(true));
+            final Set<Class<?>> classes =
+                new ServletApplicationFileLoader(Boolean.parseBoolean(loadWinkApplicationsProperty))
+                    .getClasses();
             configuration.addApplication(new RegistrationUtils.InnerApplication(classes));
         } catch (FileNotFoundException e) {
             throw new WebApplicationException(e);

Modified: incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ServletApplicationFileLoader.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ServletApplicationFileLoader.java?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ServletApplicationFileLoader.java (original)
+++ incubator/wink/trunk/wink-server/src/main/java/org/apache/wink/server/internal/application/ServletApplicationFileLoader.java Wed Sep 16 10:08:18 2009
@@ -30,8 +30,8 @@
 
     private static final String SERVER_CORE_APPLICATION = "META-INF/server/wink-providers";
 
-    public ServletApplicationFileLoader() throws FileNotFoundException {
-        super();
+    public ServletApplicationFileLoader(boolean loadWinkApplication) throws FileNotFoundException {
+        super(loadWinkApplication);
         loadClasses(ServletFileLoader.loadFileAsStream(SERVER_CORE_APPLICATION));
     }
 

Modified: incubator/wink/trunk/wink-server/src/main/resources/META-INF/wink-default.properties
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-server/src/main/resources/META-INF/wink-default.properties?rev=815706&r1=815705&r2=815706&view=diff
==============================================================================
--- incubator/wink/trunk/wink-server/src/main/resources/META-INF/wink-default.properties (original)
+++ incubator/wink/trunk/wink-server/src/main/resources/META-INF/wink-default.properties Wed Sep 16 10:08:18 2009
@@ -40,4 +40,7 @@
 # Root Resources 
 # valid values are: none, atom, atom+html
 wink.rootResource=atom+html
-wink.serviceDocumentCssPath=
\ No newline at end of file
+wink.serviceDocumentCssPath=
+
+# Indicates if wink should load all META-INF/wink-application files found in classpath
+wink.loadApplications=true
\ No newline at end of file