svn commit: r1406109 - in /struts/struts2/trunk/apps/blank: pom.xml src/main/resources/struts.xml
Author: lukaszlenart Date: Tue Nov 6 12:10:41 2012 New Revision: 1406109 URL: http://svn.apache.org/viewvc?rev=1406109&view=rev Log: WW-3916 adds the latest Jetty maven plugin to blank app Modified: struts/struts2/trunk/apps/blank/pom.xml struts/struts2/trunk/apps/blank/src/main/resources/struts.xml Modified: struts/struts2/trunk/apps/blank/pom.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/blank/pom.xml?rev=1406109&r1=1406108&r2=1406109&view=diff == --- struts/struts2/trunk/apps/blank/pom.xml (original) +++ struts/struts2/trunk/apps/blank/pom.xml Tue Nov 6 12:10:41 2012 @@ -65,15 +65,14 @@ org.mortbay.jetty -maven-jetty-plugin -6.0.1 +jetty-maven-plugin +8.1.7.v20120910 +CTRL+C +8999 10 -src/main/webapp/WEB-INF src/main/webapp/WEB-INF/web.xml -src/main/resources/struts.xml -src/main/resources/example.xml Modified: struts/struts2/trunk/apps/blank/src/main/resources/struts.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/apps/blank/src/main/resources/struts.xml?rev=1406109&r1=1406108&r2=1406109&view=diff == --- struts/struts2/trunk/apps/blank/src/main/resources/struts.xml (original) +++ struts/struts2/trunk/apps/blank/src/main/resources/struts.xml Tue Nov 6 12:10:41 2012 @@ -6,7 +6,7 @@ - +
svn commit: r1406110 - in /struts/struts2/trunk: plugins/convention/src/main/java/org/apache/struts2/convention/ plugins/embeddedjsp/src/main/java/org/apache/struts2/ xwork-core/src/main/java/com/open
Author: lukaszlenart Date: Tue Nov 6 12:18:21 2012 New Revision: 1406110 URL: http://svn.apache.org/viewvc?rev=1406110&view=rev Log: WW-3917 removes FileManager dependency from UrlSet Modified: struts/struts2/trunk/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java struts/struts2/trunk/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.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=1406110&r1=1406109&r2=1406110&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 Tue Nov 6 12:18:21 2012 @@ -65,6 +65,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -80,6 +81,7 @@ import java.util.regex.Pattern; public class PackageBasedActionConfigBuilder implements ActionConfigBuilder { private static final Logger LOG = LoggerFactory.getLogger(PackageBasedActionConfigBuilder.class); +private static final boolean EXTRACT_BASE_INTERFACES = true; private final Configuration configuration; private final ActionNameBuilder actionNameBuilder; @@ -384,7 +386,8 @@ public class PackageBasedActionConfigBui // only considers classes that match the action packages // specified by the user Test classPackageTest = getClassPackageTest(); -ClassFinder finder = new ClassFinder(getClassLoaderInterface(), buildUrlSet().getUrls(), true, this.fileProtocols, classPackageTest); +List urls = readUrls(); +ClassFinder finder = new ClassFinder(getClassLoaderInterface(), urls, EXTRACT_BASE_INTERFACES, fileProtocols, classPackageTest); Test test = getActionClassTest(); classes.addAll(finder.findClasses(test)); @@ -397,9 +400,19 @@ public class PackageBasedActionConfigBui return classes; } +private List readUrls() throws IOException { +List list = buildUrlSet().getUrls(); +// Usually the "classes" dir. +ArrayList classesList = Collections.list(getClassLoaderInterface().getResources("")); +for (URL url : classesList) { +list.addAll(fileManager.getAllPhysicalUrls(url)); +} +return list; +} + private UrlSet buildUrlSet() throws IOException { ClassLoaderInterface classLoaderInterface = getClassLoaderInterface(); -UrlSet urlSet = new UrlSet(fileManager, classLoaderInterface, this.fileProtocols); +UrlSet urlSet = new UrlSet(classLoaderInterface, this.fileProtocols); //excluding the urls found by the parent class loader is desired, but fails in JBoss (all urls are removed) if (excludeParentClassLoader) { @@ -425,7 +438,11 @@ public class PackageBasedActionConfigBui } //try to find classes dirs inside war files -urlSet = urlSet.includeClassesUrl(classLoaderInterface); +urlSet = urlSet.includeClassesUrl(classLoaderInterface, new UrlSet.FileProtocolNormalizer() { +public URL normalizeToFileProtocol(URL url) { +return fileManager.normalizeToFileProtocol(url); +} +}); urlSet = urlSet.excludeJavaExtDirs(); @@ -472,7 +489,7 @@ public class PackageBasedActionConfigBui } } } -return new UrlSet(fileManager, includeUrls); +return new UrlSet(includeUrls); } return urlSet; Modified: struts/struts2/trunk/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java?rev=1406110&r1=1406109&r2=1406110&view=diff == --- struts/struts2/trunk/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java (original) +++ struts/struts2/trunk/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java Tue Nov 6 12:18:21 2012 @@ -184,7 +184,7 @@ public class JSPLoader { //find available jars ClassLoaderInterface classLoaderInterface = getClassLoaderInterface(); -UrlSet
svn commit: r1406145 - in /struts/struts2/trunk: core/src/main/java/org/apache/struts2/util/fs/ core/src/test/java/org/apache/struts2/dispatcher/ plugins/oval/src/main/java/org/apache/struts2/oval/int
Author: lukaszlenart Date: Tue Nov 6 14:23:51 2012 New Revision: 1406145 URL: http://svn.apache.org/viewvc?rev=1406145&view=rev Log: WW-3918 removes FileManager#isReloadConfigs() method and use @Inject("struts.configuration.xml.reload") Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java struts/struts2/trunk/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/FileManager.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManager.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/AnnotationActionValidatorManager.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/DefaultActionValidatorManager.java struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactoryTest.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java?rev=1406145&r1=1406144&r2=1406145&view=diff == --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/util/fs/JBossFileManager.java Tue Nov 6 14:23:51 2012 @@ -154,8 +154,9 @@ public class JBossFileManager extends De } private void readFile(List urls, File physicalFile) throws MalformedURLException { -if (physicalFile.isDirectory()) { -for (File file : physicalFile.listFiles()) { +File[] files = physicalFile.listFiles(); +if (physicalFile.isDirectory() && files != null) { +for (File file : files) { if (file.isFile()) { addIfAbsent(urls, file.toURI().toURL()); } else if (file.isDirectory()) { Modified: struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java?rev=1406145&r1=1406144&r2=1406145&view=diff == --- struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java (original) +++ struts/struts2/trunk/core/src/test/java/org/apache/struts2/dispatcher/DispatcherTest.java Tue Nov 6 14:23:51 2012 @@ -23,8 +23,8 @@ package org.apache.struts2.dispatcher; import com.mockobjects.dynamic.C; import com.mockobjects.dynamic.Mock; -import com.opensymphony.xwork2.FileManagerFactory; import com.opensymphony.xwork2.ObjectFactory; +import com.opensymphony.xwork2.XWorkConstants; import com.opensymphony.xwork2.config.Configuration; import com.opensymphony.xwork2.config.ConfigurationManager; import com.opensymphony.xwork2.config.entities.InterceptorMapping; @@ -33,7 +33,6 @@ import com.opensymphony.xwork2.config.en import com.opensymphony.xwork2.inject.Container; import com.opensymphony.xwork2.interceptor.Interceptor; import com.opensymphony.xwork2.util.LocalizedTextUtil; -import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory; import org.apache.struts2.StrutsConstants; import org.apache.struts2.StrutsTestCase; import org.apache.struts2.dispatcher.FilterDispatcherTest.InnerDestroyableObjectFactory; @@ -194,17 +193,19 @@ public class DispatcherTest extends Stru cm.setConfiguration((Configuration)mockConfiguration.proxy()); Mock mockContainer = new Mock(Container.class); -mockConfiguration.expectAndReturn("getContainer", mockContainer.proxy()); +String reloadConfigs = container.getInstance(String.class, XWorkConstants.RELOAD_XML_CONFIGURATION); +mockContainer.expectAndReturn("getInstance", C.args(C.eq(String.class), C.eq(XWorkConstants.RELOAD_XML_CONFIGURATION)), +reloadConfigs); mockContainer.expectAndReturn("getInstance", C.args(C.eq(ObjectFactory.class)), destroyedObjectFactory); +mockContainer.expectAndReturn("getInstance", C.args(C.eq(String.class), C.eq(XWorkConstants.RELOAD_XML_CONFIGURATION)), +reloadConfigs); + +mockConfiguration.expectAndReturn("getContainer", mockConta
svn commit: r1406154 - /struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java
Author: lukaszlenart Date: Tue Nov 6 14:44:10 2012 New Revision: 1406154 URL: http://svn.apache.org/viewvc?rev=1406154&view=rev Log: Does minor code refactoring and adds some additional logging Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java?rev=1406154&r1=1406153&r2=1406154&view=diff == --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/fs/DefaultFileManagerFactory.java Tue Nov 6 14:44:10 2012 @@ -19,12 +19,12 @@ public class DefaultFileManagerFactory i private static final Logger LOG = LoggerFactory.getLogger(DefaultFileManagerFactory.class); private boolean reloadingConfigs; -private FileManager fileManager; +private FileManager systemFileManager; private Container container; @Inject(value = "system") public void setFileManager(FileManager fileManager) { -this.fileManager = fileManager; +this.systemFileManager = fileManager; } @Inject @@ -38,6 +38,22 @@ public class DefaultFileManagerFactory i } public FileManager getFileManager() { +FileManager fileManager = lookupFileManager(); +if (fileManager != null) { +if (LOG.isDebugEnabled()) { +LOG.debug("Using FileManager implementation [#0]", fileManager.getClass().getSimpleName()); +} +fileManager.setReloadingConfigs(reloadingConfigs); +return fileManager; +} +if (LOG.isDebugEnabled()) { +LOG.debug("Using default implementation of FileManager provided under name [system]: #0", systemFileManager.getClass().getSimpleName()); +} +systemFileManager.setReloadingConfigs(reloadingConfigs); +return systemFileManager; +} + +private FileManager lookupFileManager() { Set names = container.getInstanceNames(FileManager.class); if (LOG.isDebugEnabled()) { LOG.debug("Found following implementations of FileManager interface: #0", names.toString()); @@ -57,7 +73,6 @@ public class DefaultFileManagerFactory i if (LOG.isDebugEnabled()) { LOG.debug("Using FileManager implementation [#0]", fm.getClass().getSimpleName()); } -fm.setReloadingConfigs(reloadingConfigs); return fm; } } @@ -69,11 +84,7 @@ public class DefaultFileManagerFactory i return fm; } } -if (LOG.isDebugEnabled()) { -LOG.debug("Using default implementation of FileManager provided under name [system]: #0", fileManager.getClass().getSimpleName()); -} -fileManager.setReloadingConfigs(reloadingConfigs); -return fileManager; +return null; } }
svn commit: r1406159 - /struts/struts2/trunk/pom.xml
Author: lukaszlenart Date: Tue Nov 6 14:54:28 2012 New Revision: 1406159 URL: http://svn.apache.org/viewvc?rev=1406159&view=rev Log: WW-3907 upgrades to OGNL 3.0.6 Modified: struts/struts2/trunk/pom.xml Modified: struts/struts2/trunk/pom.xml URL: http://svn.apache.org/viewvc/struts/struts2/trunk/pom.xml?rev=1406159&r1=1406158&r2=1406159&view=diff == --- struts/struts2/trunk/pom.xml (original) +++ struts/struts2/trunk/pom.xml Tue Nov 6 14:54:28 2012 @@ -85,7 +85,7 @@ ${project.version} 3.0.5.RELEASE -3.0.5 +3.0.6 3.3 2.0.6
svn commit: r1406176 - /struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
Author: lukaszlenart Date: Tue Nov 6 15:28:56 2012 New Revision: 1406176 URL: http://svn.apache.org/viewvc?rev=1406176&view=rev Log: WW-3918 removes FileManager#isReloadConfigs() method and use @Inject("struts.configuration.xml.reload") Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java?rev=1406176&r1=1406175&r2=1406176&view=diff == --- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java (original) +++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Tue Nov 6 15:28:56 2012 @@ -6,7 +6,6 @@ import com.opensymphony.xwork2.XWorkTest import java.io.File; import java.io.InputStream; -import java.net.URISyntaxException; import java.net.URL; import java.util.Date; @@ -62,19 +61,21 @@ public class DefaultFileManagerTest exte // then url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); fm = container.getInstance(FileManagerFactory.class).getFileManager(); -assertTrue("Url is " + url, fm.fileNeedsReloading(url)); +assertTrue(fm.fileNeedsReloading(url)); restoreLastModified(resourceName); } -private void changeLastModified(String resourceName) throws URISyntaxException { +private void changeLastModified(String resourceName) throws Exception { URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); lastModified = new File(url.toURI()).lastModified(); new File(url.toURI()).setLastModified(new Date().getTime() - 1000*10); +Thread.sleep(1100); } -private void restoreLastModified(String resourceName) throws URISyntaxException { +private void restoreLastModified(String resourceName) throws Exception { URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); new File(url.toURI()).setLastModified(lastModified); +Thread.sleep(1100); } }
svn commit: r1406183 - /struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
Author: lukaszlenart Date: Tue Nov 6 15:36:59 2012 New Revision: 1406183 URL: http://svn.apache.org/viewvc?rev=1406183&view=rev Log: WW-3918 removes FileManager#isReloadConfigs() method and use @Inject("struts.configuration.xml.reload") Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java?rev=1406183&r1=1406182&r2=1406183&view=diff == --- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java (original) +++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Tue Nov 6 15:36:59 2012 @@ -67,8 +67,9 @@ public class DefaultFileManagerTest exte private void changeLastModified(String resourceName) throws Exception { URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); -lastModified = new File(url.toURI()).lastModified(); -new File(url.toURI()).setLastModified(new Date().getTime() - 1000*10); +File file = new File(url.toURI()); +lastModified = file.lastModified(); +file.setLastModified(new Date().getTime() - 1000 * 20); Thread.sleep(1100); }
svn commit: r1406190 - /struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java
Author: lukaszlenart Date: Tue Nov 6 15:45:57 2012 New Revision: 1406190 URL: http://svn.apache.org/viewvc?rev=1406190&view=rev Log: WW-3918 removes FileManager#isReloadConfigs() method and use @Inject("struts.configuration.xml.reload") Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java?rev=1406190&r1=1406189&r2=1406190&view=diff == --- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java (original) +++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/DefaultFileManagerTest.java Tue Nov 6 15:45:57 2012 @@ -4,10 +4,8 @@ import com.opensymphony.xwork2.FileManag import com.opensymphony.xwork2.FileManagerFactory; import com.opensymphony.xwork2.XWorkTestCase; -import java.io.File; import java.io.InputStream; import java.net.URL; -import java.util.Date; /** * FileManager Tester. @@ -51,32 +49,14 @@ public class DefaultFileManagerTest exte container.getInstance(FileManagerFactory.class).setReloadingConfigs("false"); FileManager fm = container.getInstance(FileManagerFactory.class).getFileManager(); String resourceName = "xwork-sample.xml"; -URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); -assertFalse(fm.fileNeedsReloading(url)); +assertFalse(fm.fileNeedsReloading(resourceName)); // when container.getInstance(FileManagerFactory.class).setReloadingConfigs("true"); -changeLastModified(resourceName); // then -url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); fm = container.getInstance(FileManagerFactory.class).getFileManager(); -assertTrue(fm.fileNeedsReloading(url)); -restoreLastModified(resourceName); -} - -private void changeLastModified(String resourceName) throws Exception { -URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); -File file = new File(url.toURI()); -lastModified = file.lastModified(); -file.setLastModified(new Date().getTime() - 1000 * 20); -Thread.sleep(1100); -} - -private void restoreLastModified(String resourceName) throws Exception { -URL url = ClassLoaderUtil.getResource(resourceName, DefaultFileManagerTest.class); -new File(url.toURI()).setLastModified(lastModified); -Thread.sleep(1100); +assertTrue(fm.fileNeedsReloading(resourceName)); } }
[CONF] Confluence Changes in the last 24 hours
This is a daily summary of all recent changes in Confluence. - Updated Spaces: - Apache Cloudstack (https://cwiki.apache.org/confluence/display/CLOUDSTACK) Pages - Index edited by jzb (03:50 PM) https://cwiki.apache.org/confluence/display/CLOUDSTACK/Index Accounts, Domains, and Admin explained created by jzb (01:38 PM) https://cwiki.apache.org/confluence/display/CLOUDSTACK/Accounts%2C+Domains%2C+and+Admin+explained Wiki Migration (General) edited by jzb (12:35 PM) https://cwiki.apache.org/confluence/display/CLOUDSTACK/Wiki+Migration+%28General%29 EC2 Query API Test Suite Automation edited by anshulg (06:08 AM) https://cwiki.apache.org/confluence/display/CLOUDSTACK/EC2+Query+API+Test+Suite+Automation Apache Crunch (https://cwiki.apache.org/confluence/display/CRUNCH) Pages - Validating a Release created by mafr (12:42 PM) https://cwiki.apache.org/confluence/display/CRUNCH/Validating+a+Release Apache Felix (https://cwiki.apache.org/confluence/display/FELIX) Pages - iPOJO-news edited by clement.escoffier (04:52 AM) https://cwiki.apache.org/confluence/display/FELIX/iPOJO-news news edited by clement.escoffier (04:48 AM) https://cwiki.apache.org/confluence/display/FELIX/news downloads edited by clement.escoffier (04:34 AM) https://cwiki.apache.org/confluence/display/FELIX/downloads Download edited by clement.escoffier (04:22 AM) https://cwiki.apache.org/confluence/display/FELIX/Download Apache Gora (https://cwiki.apache.org/confluence/display/GORA) Pages - Apache Gora SNAPSHOT Deployment HOW_TO created by lewismc (01:54 PM) https://cwiki.apache.org/confluence/display/GORA/Apache+Gora+SNAPSHOT+Deployment+HOW_TO Index edited by lewismc (01:44 PM) https://cwiki.apache.org/confluence/display/GORA/Index Apache Lucene.NET (https://cwiki.apache.org/confluence/display/LUCENENET) Pages - November 2012 created by prescottnasser (03:15 PM) https://cwiki.apache.org/confluence/display/LUCENENET/November+2012 Apache Tapestry (https://cwiki.apache.org/confluence/display/TAPESTRY) Pages - Presentations edited by bobharner (10:37 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Presentations Documentation edited by bobharner (10:35 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Documentation Home edited by bobharner (09:34 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Home Documentation Improvement Tasks edited by bobharner (09:21 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Documentation+Improvement+Tasks Release Process edited by bobharner (09:10 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Process Developer Information edited by bobharner (09:07 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Developer+Information Release Notes edited by bobharner (08:58 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes Release Notes 5.0 edited by bobharner (08:51 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.0 Release Notes 5.1 edited by bobharner (08:48 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.1 Release Notes 5.2.6 edited by bobharner (08:45 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.6 Release Notes 5.2.5 edited by bobharner (08:45 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.5 Release Notes 5.2.4 edited by bobharner (08:45 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.4 Release Notes 5.2.3 edited by bobharner (08:44 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.3 Release Notes 5.2.2 edited by bobharner (08:44 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.2 Release Notes 5.2.1 edited by bobharner (08:43 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.1 Release Notes 5.2.0 edited by bobharner (08:42 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.2.0 Release Notes 5.3 edited by bobharner (08:41 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.3 Release Notes 5.3.1 edited by bobharner (08:37 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.3.1 Release Notes 5.3.2 edited by bobharner (08:36 PM) https://cwiki.apache.org/confluence/display/TAPESTRY/Release+Notes+5.3.2 Release Notes 5.3.3 edited by bobharner (08:36 PM)