svn commit: r931828 - /struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java

2010-04-08 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr  8 08:18:25 2010
New Revision: 931828

URL: http://svn.apache.org/viewvc?rev=931828&view=rev
Log:
Improved log message

Modified:

struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java

Modified: 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java?rev=931828&r1=931827&r2=931828&view=diff
==
--- 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
 (original)
+++ 
struts/struts2/trunk/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
 Thu Apr  8 08:18:25 2010
@@ -25,9 +25,12 @@ import com.opensymphony.module.sitemesh.
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import freemarker.core.InvalidReferenceException;
-import freemarker.ext.jsp.TaglibFactory;
-import freemarker.ext.servlet.*;
-import freemarker.template.*;
+import freemarker.template.Configuration;
+import freemarker.template.ObjectWrapper;
+import freemarker.template.SimpleHash;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
+import freemarker.template.TemplateModel;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;
 import org.apache.struts2.dispatcher.Dispatcher;
@@ -40,14 +43,10 @@ import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
 import java.util.Enumeration;
-import java.util.GregorianCalendar;
 import java.util.Locale;
 
 /**
@@ -195,7 +194,7 @@ public class FreemarkerDecoratorServlet 
 
 StringBuilder msgBuf = new StringBuilder("Error applying 
freemarker template to\n   request: ");
 msgBuf.append(req.getRequestURL());
-if (req.getQueryString() == null) 
msgBuf.append("?").append(req.getQueryString());
+if (req.getQueryString() != null) 
msgBuf.append("?").append(req.getQueryString());
 msgBuf.append(" with resultCode: 
").append(resultCode).append(".\n\n").append(x.getMessage());
 String msg = msgBuf.toString();
 LOG.error(msg, x);




svn commit: r931829 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java

2010-04-08 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr  8 08:21:00 2010
New Revision: 931829

URL: http://svn.apache.org/viewvc?rev=931829&view=rev
Log:
Improved log message

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java?rev=931829&r1=931828&r2=931829&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
 Thu Apr  8 08:21:00 2010
@@ -21,39 +21,6 @@
 
 package org.apache.struts2.dispatcher;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.StrutsConstants;
-import org.apache.struts2.StrutsStatics;
-import org.apache.struts2.StrutsException;
-import org.apache.struts2.config.BeanSelectionProvider;
-import org.apache.struts2.config.DefaultPropertiesProvider;
-import org.apache.struts2.config.LegacyPropertiesConfigurationProvider;
-import org.apache.struts2.config.StrutsXmlConfigurationProvider;
-import org.apache.struts2.dispatcher.mapper.ActionMapping;
-import org.apache.struts2.dispatcher.multipart.MultiPartRequest;
-import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
-import org.apache.struts2.util.AttributeMap;
-import org.apache.struts2.util.ClassLoaderUtils;
-import org.apache.struts2.util.ObjectFactoryDestroyable;
-import org.apache.struts2.views.freemarker.FreemarkerManager;
-
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.ActionProxyFactory;
@@ -81,8 +48,38 @@ import com.opensymphony.xwork2.util.loca
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
-
 import freemarker.template.Template;
+import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.StrutsConstants;
+import org.apache.struts2.StrutsException;
+import org.apache.struts2.StrutsStatics;
+import org.apache.struts2.config.BeanSelectionProvider;
+import org.apache.struts2.config.DefaultPropertiesProvider;
+import org.apache.struts2.config.LegacyPropertiesConfigurationProvider;
+import org.apache.struts2.config.StrutsXmlConfigurationProvider;
+import org.apache.struts2.dispatcher.mapper.ActionMapping;
+import org.apache.struts2.dispatcher.multipart.MultiPartRequest;
+import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
+import org.apache.struts2.util.AttributeMap;
+import org.apache.struts2.util.ClassLoaderUtils;
+import org.apache.struts2.util.ObjectFactoryDestroyable;
+import org.apache.struts2.views.freemarker.FreemarkerManager;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
  * A utility class the actual dispatcher delegates most of its tasks to. Each 
instance
@@ -495,8 +492,12 @@ public class Dispatcher {
 } catch (ConfigurationException e) {
// WW-2874 Only log error if in devMode
if(devMode) {
-   LOG.error("Could not find action or result", e);
-   }
+String reqStr = request.getRequestURI();
+if (request.getQueryString() != null) {
+reqStr = reqStr + "?" + request.getQueryString();
+}
+LOG.error("Could not find action or result\n" + reqStr, e);
+}
else {
LOG.warn("Could not find action or result", e);
}




svn commit: r931994 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java

2010-04-08 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr  8 16:33:14 2010
New Revision: 931994

URL: http://svn.apache.org/viewvc?rev=931994&view=rev
Log:
Resolved WW-3237 - added special parameter to disable setting up character 
encoding on response - especialy needed in portlet environment

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java?rev=931994&r1=931993&r2=931994&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 Thu Apr  8 16:33:14 2010
@@ -21,18 +21,6 @@
 
 package org.apache.struts2.interceptor.validation;
 
-import java.text.CharacterIterator;
-import java.text.StringCharacterIterator;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts2.ServletActionContext;
-import org.apache.commons.lang.xwork.StringEscapeUtils;
-
 import com.opensymphony.xwork2.Action;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ModelDriven;
@@ -40,6 +28,15 @@ import com.opensymphony.xwork2.Validatio
 import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.lang.xwork.StringEscapeUtils;
+import org.apache.struts2.ServletActionContext;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Serializes validation and action errors into JSON. This interceptor does 
not
@@ -64,14 +61,22 @@ import com.opensymphony.xwork2.util.logg
  * If the request has a parameter 'struts.validateOnly' execution will 
return after
  * validation (action won't be executed).
  *
- * A request parameter named 'enableJSONValidation' must be set to 'true' to
+ * A request parameter named 'struts.enableJSONValidation' must be set to 
'true' to
  * use this interceptor
+ *
+ * If the request has a parameter 'struts.JSONValidation.set.encoding' set 
to true
+ * the character encoding will NOT be set on the response - is needed in 
portlet environment
+ * - for more details see issue WW-3237
  */
 public class JSONValidationInterceptor extends MethodFilterInterceptor {
+
 private static final Logger LOG = 
LoggerFactory.getLogger(JSONValidationInterceptor.class);
 
 private static final String VALIDATE_ONLY_PARAM = "struts.validateOnly";
 private static final String VALIDATE_JSON_PARAM = 
"struts.enableJSONValidation";
+private static final String NO_ENCODING_SET_PARAM = 
"struts.JSONValidation.no.encoding";
+
+private static final String DEFAULT_ENCODING = "UTF-8";
 
 private int validationFailedStatus = -1;
 
@@ -89,26 +94,18 @@ public class JSONValidationInterceptor e
 HttpServletRequest request = ServletActionContext.getRequest();
 
 Object action = invocation.getAction();
-String jsonEnabled = request.getParameter(VALIDATE_JSON_PARAM);
 
-if (jsonEnabled != null && "true".equals(jsonEnabled)) {
+if (isJsonEnabled(request)) {
 if (action instanceof ValidationAware) {
 // generate json
 ValidationAware validationAware = (ValidationAware) action;
 if (validationAware.hasErrors()) {
-if (validationFailedStatus >= 0)
-response.setStatus(validationFailedStatus);
-response.setCharacterEncoding("UTF-8");
-response.getWriter().print(buildResponse(validationAware));
-response.setContentType("application/json");
-return Action.NONE;
+return generateJSON(request, response, validationAware);
 }
 }
-
-String validateOnly = request.getParameter(VALIDATE_ONLY_PARAM);
-if (validateOnly != null && "true".equals(validateOnly)) {
+if (isValidateOnly(request)) {
 //there were no errors
-response.setCharacterEncoding("UTF-8");
+setupEncoding(response, request);
 response.getWriter().print("/* {} */");
 response.setContentType("application/json");
 return Ac

svn commit: r932008 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java

2010-04-08 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr  8 16:59:51 2010
New Revision: 932008

URL: http://svn.apache.org/viewvc?rev=932008&view=rev
Log:
Removed unneeded statics

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java?rev=932008&r1=932007&r2=932008&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/FileUploadInterceptor.java
 Thu Apr  8 16:59:51 2010
@@ -21,14 +21,6 @@
 
 package org.apache.struts2.interceptor;
 
-import java.io.File;
-import java.util.*;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.struts2.ServletActionContext;
-import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
-
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ActionProxy;
@@ -38,6 +30,19 @@ import com.opensymphony.xwork2.util.Loca
 import com.opensymphony.xwork2.util.TextParseUtil;
 import com.opensymphony.xwork2.util.logging.Logger;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.struts2.ServletActionContext;
+import org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * 
@@ -383,7 +388,7 @@ public class FileUploadInterceptor exten
  * @param filename- filename to check.
  * @return true if the filename has an allowed extension, false otherwise.
  */
-private static boolean hasAllowedExtension(Collection 
extensionCollection, String filename) {
+private boolean hasAllowedExtension(Collection 
extensionCollection, String filename) {
 if (filename == null) {
 return false;
 }
@@ -403,11 +408,11 @@ public class FileUploadInterceptor exten
  * @param item   - Item to search for.
  * @return true if itemCollection contains the item, false otherwise.
  */
-private static boolean containsItem(Collection itemCollection, 
String item) {
+private boolean containsItem(Collection itemCollection, String 
item) {
 return itemCollection.contains(item.toLowerCase());
 }
 
-private static boolean isNonEmpty(Object[] objArray) {
+private boolean isNonEmpty(Object[] objArray) {
 boolean result = false;
 for (int index = 0; index < objArray.length && !result; index++) {
 if (objArray[index] != null) {




svn commit: r932009 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java test/java/org/apache/struts2/interceptor/FileUploadInterceptorTe

2010-04-08 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr  8 17:01:16 2010
New Revision: 932009

URL: http://svn.apache.org/viewvc?rev=932009&view=rev
Log:
Huge parse method refactoring and generifying

Modified:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/FileUploadInterceptorTest.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java?rev=932009&r1=932008&r2=932009&view=diff
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaMultiPartRequest.java
 Thu Apr  8 17:01:16 2010
@@ -21,9 +21,22 @@
 
 package org.apache.struts2.dispatcher.multipart;
 
+import com.opensymphony.xwork2.inject.Inject;
+import com.opensymphony.xwork2.util.logging.Logger;
+import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.RequestContext;
+import org.apache.commons.fileupload.disk.DiskFileItem;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.struts2.StrutsConstants;
+
+import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
@@ -31,20 +44,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.RequestContext;
-import org.apache.commons.fileupload.disk.DiskFileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.struts2.StrutsConstants;
-
-import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
-
 /**
  * Multipart form data request adapter for Jakarta Commons Fileupload package.
  */
@@ -62,7 +61,7 @@ public class JakartaMultiPartRequest imp
 protected List errors = new ArrayList();
 
 protected long maxSize;
-
+
 @Inject(StrutsConstants.STRUTS_MULTIPART_MAXSIZE)
 public void setMaxSize(String maxSize) {
 this.maxSize = Long.parseLong(maxSize);
@@ -73,72 +72,87 @@ public class JakartaMultiPartRequest imp
  * multipart classes (see class description).
  *
  * @param saveDirthe directory to save off the file
- * @param servletRequest the request containing the multipart
+ * @param request the request containing the multipart
  * @throws java.io.IOException  is thrown if encoding fails.
  */
-public void parse(HttpServletRequest servletRequest, String saveDir)
-throws IOException {
-DiskFileItemFactory fac = new DiskFileItemFactory();
-// Make sure that the data is written to file
-fac.setSizeThreshold(0);
-if (saveDir != null) {
-fac.setRepository(new File(saveDir));
+public void parse(HttpServletRequest request, String saveDir) throws 
IOException {
+try {
+processUpload(request, saveDir);
+} catch (FileUploadException e) {
+LOG.warn("Unable to parse request", e);
+errors.add(e.getMessage());
 }
+}
 
-// Parse the request
-try {
-ServletFileUpload upload = new ServletFileUpload(fac);
-upload.setSizeMax(maxSize);
+private void processUpload(HttpServletRequest request, String saveDir) 
throws FileUploadException, UnsupportedEncodingException {
+for (FileItem item : parseRequest(request, saveDir)) {
+if (LOG.isDebugEnabled()) {
+LOG.debug("Found item " + item.getFieldName());
+}
+if (item.isFormField()) {
+processNormalFormField(item, request.getCharacterEncoding());
+} else {
+processFileField(item);
+}
+}
+}
 
-List items = 
upload.parseRequest(createRequestContext(servletRequest));
+private void processFileField(FileItem item) {
+LOG.debug("Item is a file upload");
 
-for (Object item1 : items) {
-  

[CONF] Confluence Changes in the last 24 hours

2010-04-08 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache ActiveMQ (http://cwiki.apache.org/confluence/display/ACTIVEMQ)

Pages
-
Version 5 Performance Tuning edited by  tjsnell  (02:02 AM)
http://cwiki.apache.org/confluence/display/ACTIVEMQ/Version+5+Performance+Tuning

Connection Configuration URI edited by  tjsnell  (02:00 AM)
http://cwiki.apache.org/confluence/display/ACTIVEMQ/Connection+Configuration+URI



Apache Camel (http://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
Creating a new Camel Component edited by  njiang  (03:37 AM)
http://cwiki.apache.org/confluence/display/CAMEL/Creating+a+new+Camel+Component



Community Development Site 
(http://cwiki.apache.org/confluence/display/COMDEVxSITE)

Pages
-
GSoC edited by  rgardler  (10:27 PM)
http://cwiki.apache.org/confluence/display/COMDEVxSITE/GSoC



Apache Continuum (http://cwiki.apache.org/confluence/display/CONTINUUM)

Pages
-
Continuum on JBoss edited by  sfcoy  (03:24 PM)
http://cwiki.apache.org/confluence/display/CONTINUUM/Continuum+on+JBoss



Apache Empire DB (http://cwiki.apache.org/confluence/display/empiredb)

Pages
-
Release Process edited by  francisdb  (10:42 PM)
http://cwiki.apache.org/confluence/display/empiredb/Release+Process



MyFaces Extensions Validator (http://cwiki.apache.org/confluence/display/EXTVAL)

Pages
-
Index created by  Anonymous (09:14 PM)
http://cwiki.apache.org/confluence/display/EXTVAL/Index

MyFaces Extensions Validator Released created by gpetracek (10:00 PM)
http://cwiki.apache.org/confluence/display/EXTVAL/2010/04/08/MyFaces+Extensions+Validator+Released



Apache Geronimo v2.2 (http://cwiki.apache.org/confluence/display/GMOxDOC22)

Pages
-
New features and enhancements edited by  chirun...@gmail.com  (02:22 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/New+features+and+enhancements



Apache MyFaces (http://cwiki.apache.org/confluence/display/MYFACES)

Pages
-
Index edited by  gpetracek  (11:46 PM)
http://cwiki.apache.org/confluence/display/MYFACES/Index

MyFaces Extensions Validator Released created by gpetracek (10:09 PM)
http://cwiki.apache.org/confluence/display/MYFACES/2010/04/08/MyFaces+Extensions+Validator+Released



Apache Qpid (http://cwiki.apache.org/confluence/display/qpid)

Pages
-
Qpid Java Broker - Guidance for 64Bit VM created by mmccorma (02:03 PM)
http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Broker+-+Guidance+for+64Bit+VM

Qpid JMX Management Console Testing Guide edited by  ritchiem  (01:37 PM)
http://cwiki.apache.org/confluence/display/qpid/Qpid+JMX+Management+Console+Testing+Guide



Apache Sling (http://cwiki.apache.org/confluence/display/SLING)

Pages
-
Using Scala with Sling edited by  mdue...@day.com  (02:19 PM)
http://cwiki.apache.org/confluence/display/SLING/Using+Scala+with+Sling



Apache Tuscany Wiki (http://cwiki.apache.org/confluence/display/TUSCANYWIKI)

Pages
-
Florian Moga - Asynchronous Servlet integration with SCA callbacks edited by  
moga_florian  (03:04 PM)
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Florian+Moga+-+Asynchronous+Servlet+integration+with+SCA+callbacks



Apache Wicket (http://cwiki.apache.org/confluence/display/WICKET)

Pages
-
Websites based on Wicket edited by  alex.objelean  (09:38 PM)
http://cwiki.apache.org/confluence/display/WICKET/Websites+based+on+Wicket

Wicket's XHTML tags edited by  tuukka.mustonen  (02:13 PM)
http://cwiki.apache.org/confluence/display/WICKET/Wicket%27s+XHTML+tags




Change your notification preferences: 
http://cwiki.apache.org/confluence/users/viewnotifications.action