You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2009/01/03 20:36:36 UTC
svn commit: r731070 - in /struts/struts2/trunk/plugins/convention/src:
main/java/org/apache/struts2/convention/ main/resources/
test/java/org/apache/struts2/convention/
Author: musachy
Date: Sat Jan 3 11:36:36 2009
New Revision: 731070
URL: http://svn.apache.org/viewvc?rev=731070&view=rev
Log:
WW-2947 Remove convention's "excludeJars" and add "includeJars" instead
Modified:
struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml
struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java (original)
+++ struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java Sat Jan 3 11:36:36 2009
@@ -82,7 +82,6 @@
private String[] packageLocators;
private String[] includeJars;
private String packageLocatorsBasePackage;
- private boolean disableJarScanning = true;
private boolean disableActionScanning = false;
private boolean disablePackageLocatorsScanning = false;
private String actionSuffix = "Action";
@@ -161,14 +160,6 @@
}
/**
- * @param disableJarScanning Disable scanning jar files for actions
- */
- @Inject(value = "struts.convention.action.disableJarScanning", required = false)
- public void setDisableJarScanning(String disableJarScanning) {
- this.disableJarScanning = "true".equals(disableJarScanning);
- }
-
- /**
* @param disableActionScanning If set to true, only the named packages will be scanned
*/
@Inject(value = "struts.convention.package.locators.disable", required = false)
@@ -338,20 +329,26 @@
urlSet = urlSet.excludePaths(System.getProperty("sun.boot.class.path", ""));
urlSet = urlSet.exclude(".*/JavaVM.framework/.*");
- if (disableJarScanning || includeJars == null) {
+ if (includeJars == null) {
urlSet = urlSet.exclude(".*?jar(!/)?");
- } else if (includeJars != null) {
+ } else {
+ //jar urls regexes were specified
//TODO: add this functionality to UrlSet in xwork for next release
-
List<URL> rawIncludedUrls = urlSet.getUrls();
Set<URL> includeUrls = new HashSet<URL>();
+
for (URL url : rawIncludedUrls) {
- //check if the url matches one of the "includeJars"
- for (String includeJar : includeJars) {
- if (Pattern.matches(includeJar, url.toExternalForm())) {
- includeUrls.add(url);
- break;
+ if ("jar".equalsIgnoreCase(url.getProtocol())) {
+ //it is a jar file, make sure it macthes at least a url regex
+ for (String includeJar : includeJars) {
+ if (Pattern.matches(includeJar, url.toExternalForm())) {
+ includeUrls.add(url);
+ break;
+ }
}
+ } else {
+ //it is not a jar
+ includeUrls.add(url);
}
}
Modified: struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml (original)
+++ struts/struts2/trunk/plugins/convention/src/main/resources/struts-plugin.xml Sat Jan 3 11:36:36 2009
@@ -42,7 +42,6 @@
<constant name="struts.convention.result.flatLayout" value="true"/>
<constant name="struts.convention.action.suffix" value="Action"/>
<constant name="struts.convention.action.disableScanning" value="false"/>
- <constant name="struts.convention.action.disableJarScanning" value="true"/>
<constant name="struts.convention.action.mapAllMatches" value="false"/>
<constant name="struts.convention.action.checkImplementsAction" value="true"/>
<constant name="struts.convention.default.parent.package" value="convention-default"/>
Modified: struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java?rev=731070&r1=731069&r2=731070&view=diff
==============================================================================
--- struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java (original)
+++ struts/struts2/trunk/plugins/convention/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java Sat Jan 3 11:36:36 2009
@@ -279,7 +279,6 @@
interceptorBuilder.setConfiguration(configuration);
PackageBasedActionConfigBuilder builder = new PackageBasedActionConfigBuilder(configuration,
actionNameBuilder, resultMapBuilder, interceptorBuilder ,of, "false", "struts-default");
- builder.setDisableJarScanning("true");
if (actionPackages != null) {
builder.setActionPackages(actionPackages);
}