[CONF] Confluence Changes in the last 24 hours

2008-05-19 Thread confluence
-
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

2008-05-19 Thread dblevins

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/

2008-05-19 Thread musachy
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/

2008-05-19 Thread musachy
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/

2008-05-19 Thread musachy
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