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); }