[CONF] Confluence Changes in the last 24 hours
- This is a daily summary of all recent changes in Confluence. - Updated Spaces: - Apache Felix (FELIX) http://cwiki.apache.org/confluence/display/FELIX | |-Pages Added or Edited in This Space |-- Junit4OSGi was created by clement.escoffier (02:26 PM). | http://cwiki.apache.org/confluence/display/FELIX/Junit4OSGi Apache Camel (CAMEL) http://cwiki.apache.org/confluence/display/CAMEL | |-Pages Added or Edited in This Space |-- Camel JMX was last edited by njiang (08:29 PM). | http://cwiki.apache.org/confluence/display/CAMEL/Camel+JMX Apache Qpid (qpid) http://cwiki.apache.org/confluence/display/qpid | |-Pages Added or Edited in This Space |-- GSoC was last edited by cctrieloff (07:02 PM). | http://cwiki.apache.org/confluence/display/qpid/GSoC Tuscany Wiki (TUSCANYWIKI) http://cwiki.apache.org/confluence/display/TUSCANYWIKI | |-Pages Added or Edited in This Space |-- Tuscany Geronimo Integration Next Steps was last edited by rfeng (10:47 PM). | http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Tuscany+Geronimo+Integration+Next+Steps Apache Wicket Website (WICKETxSITE) http://cwiki.apache.org/confluence/display/WICKETxSITE | |-Pages Added or Edited in This Space |-- Wicket 1.4 M2 News was created by seitz (12:04 PM). | http://cwiki.apache.org/confluence/display/WICKETxSITE/Wicket+1.4+M2+News Apache MINA (MINA) http://cwiki.apache.org/confluence/display/MINA | |-Pages Added or Edited in This Space |-- Documentation was last edited by trustin (04:14 PM). | http://cwiki.apache.org/confluence/display/MINA/Documentation Apache Tuscany (TUSCANY) http://cwiki.apache.org/confluence/display/TUSCANY | |-Pages Added or Edited in This Space |-- Getting Started with Tuscany (using Tuscany Eclipse Plugin) was last edited by [EMAIL PROTECTED] (08:21 AM). | http://cwiki.apache.org/confluence/display/TUSCANY/Getting+Started+with+Tuscany+%28using+Tuscany+Eclipse+Plugin%29 - CONFLUENCE INFORMATION This message is automatically generated by Confluence Unsubscribe or edit your notifications preferences http://cwiki.apache.org/confluence/users/viewnotifications.action If you think it was sent incorrectly contact one of the administrators http://cwiki.apache.org/confluence/administrators.action If you want more information on Confluence, or have a bug to report see http://www.atlassian.com/software/confluence
Issues Opened: week of 2008-05-19
Struts2 - Monday, May 19, 2008 5 opened in last 7 days [WW-2651] FileUploadInterceptor.java javadoc is not formatted correctly for Confluence snippets - Type: Bug - Reporter: Matthieu Chase Heimer - Components: [Documentation] - Affects Versions: [] - http://issues.apache.org/struts/browse/WW-2651 [WW-2648] SlashesInActionNames does not work when namespace is the root context (i.e. namespace="/") - Type: Bug - Reporter: Rodel T. Viado - Components: [Core Interceptors] - Affects Versions: [] - http://issues.apache.org/struts/browse/WW-2648 [WW-2647] Result type stream issue with inline file download in IE6 - Type: Bug - Reporter: Ashish Sharma - Components: [Other] - Affects Versions: [] - http://issues.apache.org/struts/browse/WW-2647 [WW-2652] Live Confluence snippets and html exported docs are using different sources - Type: Bug - Reporter: Matthieu Chase Heimer - Components: [] - Affects Versions: [] - http://issues.apache.org/struts/browse/WW-2652 [WW-2645] Name of the input text element is not rendered in IE 6 or IE 7 but works fine in Firefox - Type: Bug - Reporter: Anupam Sinha - Components: [Plugin - Dojo Tags] - Affects Versions: [] - http://issues.apache.org/struts/browse/WW-2645
svn commit: r657889 - in /struts/sandbox/trunk/struts2-convention-plugin/src/main: java/org/apache/struts2/convention/ java/org/apache/struts2/convention/annotation/ resources/
Author: musachy Date: Mon May 19 10:55:00 2008 New Revision: 657889 URL: http://svn.apache.org/viewvc?rev=657889&view=rev Log: @Action can be applied to a class (used from REST plugin) Add flags to control what is scanned (used from REST plugin) Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/AbstractClassLoaderResolver.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/Action.java struts/sandbox/trunk/struts2-convention-plugin/src/main/resources/struts-plugin.xml Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/AbstractClassLoaderResolver.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/AbstractClassLoaderResolver.java?rev=657889&r1=657888&r2=657889&view=diff == --- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/AbstractClassLoaderResolver.java (original) +++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/AbstractClassLoaderResolver.java Mon May 19 10:55:00 2008 @@ -354,10 +354,15 @@ File[] files = location.listFiles(); for (File file : files) { -if (file.isDirectory() && recursive) { -loadResourcesInDirectory(test, recursive, baseURLSpec, dirName, parent + "/" + file.getName(), file); -} else if (!file.isDirectory()) { -addIfMatching(test, baseURLSpec, parent, file.getName()); +try { +if (file.isDirectory() && recursive) { +loadResourcesInDirectory(test, recursive, baseURLSpec, dirName, parent + "/" + file.getName(), file); +} else if (!file.isDirectory()) { +addIfMatching(test, baseURLSpec, parent, file.getName()); +} +} catch (Exception ex) { +if (LOG.isErrorEnabled()) +LOG.error("Unable to scan [#0] for resources", ex, file.toString()); } } } @@ -420,7 +425,9 @@ } for (String exclusion : exclusions) { -if (exclusion.endsWith("/*") && name.startsWith(exclusion.substring(0, exclusion.length() - 2)) || +String tmpName = name.endsWith("/") ? name : name + "/"; +//adding "/" to the name, otherwise "org/apache/struts/*" will filter "org/apache/struts2" out +if (exclusion.endsWith("/*") && tmpName.startsWith(exclusion.substring(0, exclusion.length() - 1)) || name.equals(exclusion)) { return true; } Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=657889&r1=657888&r2=657889&view=diff == --- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java (original) +++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java Mon May 19 10:55:00 2008 @@ -69,8 +69,10 @@ private String[] excludePackages; private String[] packageLocators; private boolean disableActionScanning = false; +private boolean disableGlobalActionScanning = false; private String actionSuffix = "Action"; private boolean checkImplementsAction = true; +private boolean mapAllMatches = false; /** * Constructs actions based on a list of packages. @@ -112,6 +114,22 @@ } /** + * @param disableActionScanning Disable scanning for actions + */ +@Inject(value = "struts.convention.action.disableScanning", required = false) +public void setDisableActionScanning(String disableActionScanning) { +this.disableActionScanning = "true".equals(disableActionScanning); +} + +/** + * @param disableActionScanning If set to true, only the named packages will be scanned + */ +@Inject(value = "struts.convention.action.disableGlobalScanning", required = false) +public void setDisableGlobalActionScanning(String disableGlobalActionScanning) { +this.disableGlobalActionScanning = "true".equals(disableGlobalActionScanning); +} + +/** * @param actionPackages (Optional) An optional list of action packages that this should create * configuration
svn commit: r657932 - in /struts/sandbox/trunk/struts2-convention-plugin/src: main/java/org/apache/struts2/convention/ main/java/org/apache/struts2/convention/annotation/ test/java/org/apache/struts2/
Author: musachy Date: Mon May 19 12:29:07 2008 New Revision: 657932 URL: http://svn.apache.org/viewvc?rev=657932&view=rev Log: Add "params" to @Action Added: struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/params/ struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/params/ActionParamsMethodLevelAction.java Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/StringTools.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/Action.java struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java?rev=657932&r1=657931&r2=657932&view=diff == --- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java (original) +++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java Mon May 19 12:29:07 2008 @@ -85,7 +85,7 @@ if (LOG.isTraceEnabled()) LOG.trace("Adding interceptor [#0] to [#1]", interceptor.value(), actionName); -Map params = createParameterMap(interceptor +Map params = StringTools.createParameterMap(interceptor .params()); interceptorList.addAll(buildInterceptorList(builder, interceptor, params)); @@ -94,29 +94,6 @@ return interceptorList; } - protected Map createParameterMap(String[] parms) { - Map map = new HashMap(); - int subtract = parms.length % 2; - if (subtract != 0) { - throw new ConfigurationException( - "The InterceptorRef annotation uses an array of strings for" - + " parameters and they must be in a key value pair configuration. It looks like you" - + " have specified an odd number of parameters and there should only be an even number." - + " (e.g. params = {\"key\", \"value\"})"); - } - - for (int i = 0; i < parms.length; i = i + 2) { - String key = parms[i]; - String value = parms[i + 1]; - map.put(key, value); - if (LOG.isTraceEnabled()) { - LOG.trace("Adding parmeter [#0:#1] to interceptor", key, value); - } - } - - return map; - } - protected List buildInterceptorList( PackageConfig.Builder builder, InterceptorRef ref, Map params) { return InterceptorBuilder.constructInterceptorReference(builder, ref Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java?rev=657932&r1=657931&r2=657932&view=diff == --- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java (original) +++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java Mon May 19 12:29:07 2008 @@ -361,7 +361,7 @@ // Handle the annotation if (result != null) { -params.putAll(createParameterMap(result.params())); +params.putAll(StringTools.createParameterMap(result.params())); } // Map the location to the default param for the result or a param named location @@ -375,28 +375,6 @@ return new ResultConfig.Builder(info.name, resultTypeConfig.getClassName()).addParams(params).build();
svn commit: r658000 - in /struts/sandbox/trunk/struts2-convention-plugin/src: main/java/org/apache/struts2/convention/ main/java/org/apache/struts2/convention/annotation/ test/java/org/apache/struts2/
Author: musachy Date: Mon May 19 14:55:23 2008 New Revision: 658000 URL: http://svn.apache.org/viewvc?rev=658000&view=rev Log: Add @ExceptionMapping and @ExceptionMappings Added: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/ExceptionMapping.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/ExceptionMappings.java struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/exception/ struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/exception/ExceptionsActionLevelAction.java struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/actions/exception/ExceptionsMethodLevelAction.java Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/annotation/Action.java struts/sandbox/trunk/struts2-convention-plugin/src/test/java/org/apache/struts2/convention/PackageBasedActionConfigBuilderTest.java Modified: struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java?rev=658000&r1=657999&r2=658000&view=diff == --- struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java (original) +++ struts/sandbox/trunk/struts2-convention-plugin/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java Mon May 19 14:55:23 2008 @@ -35,6 +35,8 @@ import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Actions; import org.apache.struts2.convention.annotation.AnnotationTools; +import org.apache.struts2.convention.annotation.ExceptionMapping; +import org.apache.struts2.convention.annotation.ExceptionMappings; import org.apache.struts2.convention.annotation.InterceptorRef; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; @@ -43,11 +45,13 @@ import com.opensymphony.xwork2.config.Configuration; import com.opensymphony.xwork2.config.ConfigurationException; import com.opensymphony.xwork2.config.entities.ActionConfig; +import com.opensymphony.xwork2.config.entities.ExceptionMappingConfig; import com.opensymphony.xwork2.config.entities.InterceptorMapping; import com.opensymphony.xwork2.config.entities.PackageConfig; import com.opensymphony.xwork2.config.entities.ResultConfig; import com.opensymphony.xwork2.config.providers.InterceptorBuilder; import com.opensymphony.xwork2.inject.Inject; +import com.opensymphony.xwork2.util.DomHelper; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; @@ -505,9 +509,36 @@ if (annotation != null) actionConfig.addParams(StringTools.createParameterMap(annotation.params())); +//add exception mappings from annotation +if (annotation != null && annotation.exceptionMappings() != null) + actionConfig.addExceptionMappings(buildExceptionMappings(annotation.exceptionMappings(), actionName)); + +//add exception mapping from class +ExceptionMappings exceptionMappings = actionClass.getAnnotation(ExceptionMappings.class); +if (exceptionMappings != null) + actionConfig.addExceptionMappings(buildExceptionMappings(exceptionMappings.value(), actionName)); + +//add pkgCfg.addActionConfig(actionName, actionConfig.build()); } +private List buildExceptionMappings(ExceptionMapping[] exceptions, String actionName) { +List exceptionMappings = new ArrayList(); + +for (ExceptionMapping exceptionMapping : exceptions) { +if (LOG.isTraceEnabled()) +LOG.trace("Mapping exception [#0] to result [#1] for action [#2]", exceptionMapping.exception(), +exceptionMapping.result(), actionName); +ExceptionMappingConfig.Builder builder = new ExceptionMappingConfig.Builder(null, exceptionMapping +.exception(), exceptionMapping.result()); +if (exceptionMapping.params() != null) + builder.addParams(StringTools.createParameterMap(exceptionMapping.params())); +exceptionMappings.add(builder.build()); +} + +return exceptionMappings; +} + private PackageConfig.Builder getPackageConfig(final Map packageConfigs, String actionNamespa