tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From antel...@apache.org
Subject svn commit: r1041529 - /tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
Date Thu, 02 Dec 2010 18:59:29 GMT
Author: antelder
Date: Thu Dec  2 18:59:29 2010
New Revision: 1041529

URL: http://svn.apache.org/viewvc?rev=1041529&view=rev
Log:
If WEB-INF/sca-contributions contains contributions then use it automatically without requireing
users define it in the web.xml

Modified:
    tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java

Modified: tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java?rev=1041529&r1=1041528&r2=1041529&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
(original)
+++ tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
Thu Dec  2 18:59:29 2010
@@ -42,6 +42,7 @@ public class WebAppHelper {
     private static final String ROOT = "/";
     // The prefix for the parameters in web.xml which configure the folders that contain
SCA contributions
     private static final String CONTRIBUTIONS = "contributions";
+    private static final String DEFAULT_CONTRIBUTIONS = "/WEB-INF/sca-contributions";
     // The prefix for the parameters in web.xml which configure the individual SCA contributions
     private static final String CONTRIBUTION = "contribution";
     private static final String NODE_CONFIGURATION = "node.configuration";
@@ -91,10 +92,14 @@ public class WebAppHelper {
             configuration = factory.loadConfiguration(url.openStream(), url);
         } else {
             configuration = factory.createNodeConfiguration();
+            
+            
+            boolean explicitContributions = false;
             Enumeration<String> names = servletContext.getAttributeNames();
             while (names.hasMoreElements()) {
                 String name = names.nextElement();
                 if (name.equals(CONTRIBUTION) || name.startsWith(CONTRIBUTION + ".")) {
+                    explicitContributions = true;
                     // We need to have a way to select one or more folders within the webapp
as the contributions
                     String listOfValues = (String)servletContext.getAttribute(name);
                     if (listOfValues != null) {
@@ -107,6 +112,7 @@ public class WebAppHelper {
                         }
                     }
                 } else if (name.equals(CONTRIBUTIONS) || name.startsWith(CONTRIBUTIONS +
".")) {
+                    explicitContributions = true;
                     String listOfValues = (String)servletContext.getAttribute(name);
                     if (listOfValues != null) {
                         for (String path : parse(listOfValues)) {
@@ -126,14 +132,25 @@ public class WebAppHelper {
                 }
             }
 
-            if (configuration.getContributions().isEmpty()) {
+            URL composite = getResource(servletContext, WEB_COMPOSITE);
+            if (configuration.getContributions().isEmpty() || (!explicitContributions &&
composite != null)) {
                 // TODO: Which path should be the default root
                 configuration.addContribution(getResource(servletContext, ROOT));
             }
-            URL composite = getResource(servletContext, WEB_COMPOSITE);
             if (composite != null) {
                 configuration.getContributions().get(0).addDeploymentComposite(composite);
             }
+            if (!explicitContributions) {
+                URL url = getResource(servletContext, DEFAULT_CONTRIBUTIONS);
+                if (url != null) {
+                    File f = new File(url.toURI());
+                    if (f.isDirectory()) {
+                        for (File n : f.listFiles()) {
+                            configuration.addContribution(n.toURI().toURL());
+                        }
+                    }
+                }
+            }
             String nodeURI = (String)servletContext.getAttribute(NODE_URI);
             if (nodeURI == null) {
                 nodeURI = new File(servletContext.getRealPath(ROOT)).getName();



Mime
View raw message