You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/12/02 19:59:29 UTC
svn commit: r1041529 -
/tuscany/sca-java-2.x/trunk/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppHelper.java
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();