svn commit: r1851476 - /turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
Author: painter Date: Wed Jan 16 18:28:49 2019 New Revision: 1851476 URL: http://svn.apache.org/viewvc?rev=1851476=rev Log: Add default pool capacity to startup of commons-pool objects Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1851476=1851475=1851476=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Wed Jan 16 18:28:49 2019 @@ -36,6 +36,7 @@ import org.apache.avalon.framework.servi import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.service.Serviceable; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.apache.fulcrum.parser.ValueParser.URLCaseFolding; import org.apache.fulcrum.parser.pool.BaseValueParserFactory; import org.apache.fulcrum.parser.pool.BaseValueParserPool; @@ -65,19 +66,50 @@ public class DefaultParserService * The parameter encoding to use when parsing parameter strings */ private String parameterEncoding = PARAMETER_ENCODING_DEFAULT; + +/** + * The default pool capacity. + */ +int DEFAULT_POOL_CAPACITY = 1024; /** * Use commons pool to manage value parsers */ -private BaseValueParserPool valueParserPool - = new BaseValueParserPool(new BaseValueParserFactory()); +private BaseValueParserPool valueParserPool; /** * Use commons pool to manage parameter parsers */ -private DefaultParameterParserPool parameterParserPool - = new DefaultParameterParserPool(new DefaultParameterParserFactory()); +private DefaultParameterParserPool parameterParserPool; + +public DefaultParserService() +{ + // Define the default configuration + GenericObjectPoolConfig config = new GenericObjectPoolConfig<>(); + config.setMaxIdle(1); + config.setMaxTotal(DEFAULT_POOL_CAPACITY); + + // init the pool + valueParserPool + = new BaseValueParserPool(new BaseValueParserFactory(), config); + + // init the pool + parameterParserPool + = new DefaultParameterParserPool(new DefaultParameterParserFactory(), config); +} + +public DefaultParserService(GenericObjectPoolConfig config) +{ + // init the pool + valueParserPool + = new BaseValueParserPool(new BaseValueParserFactory(), config); + + // init the pool + parameterParserPool + = new DefaultParameterParserPool(new DefaultParameterParserFactory(), config); +} + /** * Get the character encoding that will be used by this ValueParser. */
svn commit: r1851474 - /turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml
Author: painter Date: Wed Jan 16 17:56:18 2019 New Revision: 1851474 URL: http://svn.apache.org/viewvc?rev=1851474=rev Log: Parser no longer depends on factory and pool, so remove these services or tests will fail Modified: turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml Modified: turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml?rev=1851474=1851473=1851474=diff == --- turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml (original) +++ turbine/fulcrum/trunk/intake/src/test/TestRoleConfig.xml Wed Jan 16 17:56:18 2019 @@ -20,16 +20,6 @@ - -
svn commit: r1851472 - in /turbine/fulcrum/trunk/parser: ./ src/changes/ src/java/org/apache/fulcrum/parser/ src/java/org/apache/fulcrum/parser/pool/ src/test/
Author: painter Date: Wed Jan 16 17:16:28 2019 New Revision: 1851472 URL: http://svn.apache.org/viewvc?rev=1851472=rev Log: Replace fulcrum-pool with commons-pool2 instead Added: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/BaseValueParserFactory.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/BaseValueParserPool.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/DefaultParameterParserFactory.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/DefaultParameterParserPool.java Modified: turbine/fulcrum/trunk/parser/pom.xml turbine/fulcrum/trunk/parser/src/changes/changes.xml turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/BaseValueParser.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java turbine/fulcrum/trunk/parser/src/test/TestRoleConfig.xml Modified: turbine/fulcrum/trunk/parser/pom.xml URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/pom.xml?rev=1851472=1851471=1851472=diff == --- turbine/fulcrum/trunk/parser/pom.xml (original) +++ turbine/fulcrum/trunk/parser/pom.xml Wed Jan 16 17:16:28 2019 @@ -90,11 +90,11 @@ commons-lang3 3.8.1 - - org.apache.fulcrum - fulcrum-pool - 1.0.5 - + + org.apache.commons + commons-pool2 + 2.6.0 + Modified: turbine/fulcrum/trunk/parser/src/changes/changes.xml URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/changes/changes.xml?rev=1851472=1851471=1851472=diff == --- turbine/fulcrum/trunk/parser/src/changes/changes.xml (original) +++ turbine/fulcrum/trunk/parser/src/changes/changes.xml Wed Jan 16 17:16:28 2019 @@ -23,6 +23,9 @@ + +Remove dependency on fulcrum-pool and use commons-pool2 v2.6.0 instead + Added tests for getParts() Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/BaseValueParser.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/BaseValueParser.java?rev=1851472=1851471=1851472=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/BaseValueParser.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/BaseValueParser.java Wed Jan 16 17:16:28 2019 @@ -39,7 +39,6 @@ import org.apache.avalon.framework.logge import org.apache.avalon.framework.logger.Logger; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.fulcrum.pool.Recyclable; /** * BaseValueParser is a base class for classes that need to parse @@ -73,7 +72,7 @@ import org.apache.fulcrum.pool.Recyclabl */ public class BaseValueParser implements ValueParser, - Recyclable, ParserServiceSupport, LogEnabled + ParserServiceSupport, LogEnabled { /** The ParserService instance to query for conversion and configuration */ protected ParserService parserService; @@ -168,7 +167,6 @@ public class BaseValueParser /** * Recycles the parser. */ -@Override public void recycle() { recycle(DEFAULT_CHARACTER_ENCODING); @@ -187,7 +185,6 @@ public class BaseValueParser /** * Disposes the parser. */ -@Override public void dispose() { clear(); @@ -1622,7 +1619,6 @@ public class BaseValueParser * * @return true, if the object is disposed. */ -@Override public boolean isDisposed() { return disposed; @@ -1683,4 +1679,11 @@ public class BaseValueParser { return parserService.getUrlFolding(); } + + public boolean isValid() + { + if ( this.characterEncoding != null && this.locale != null ) + return true; + return false; + } } Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1851472=1851471=1851472=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Wed Jan 16 17:16:28 2019 @@ -37,8 +37,10 @@ import org.apache.avalon.framework.servi import
svn commit: r1851479 - /turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
Author: painter Date: Wed Jan 16 19:22:33 2019 New Revision: 1851479 URL: http://svn.apache.org/viewvc?rev=1851479=rev Log: Add returnObj for cookieParser pool Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1851479=1851478=1851479=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Wed Jan 16 19:22:33 2019 @@ -326,6 +326,10 @@ public class DefaultParserService parameterParserPool.returnObject( (DefaultParameterParser) parser ); } +if ( parser.getClass().isInstance(DefaultCookieParser.class) ) +{ + cookieParserPool.returnObject( (DefaultCookieParser) parser ); +} } /**
svn commit: r1851478 - in /turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser: CookieParser.java DefaultCookieParser.java DefaultParserService.java pool/CookieParserFactory.java pool/Cook
Author: painter Date: Wed Jan 16 19:14:15 2019 New Revision: 1851478 URL: http://svn.apache.org/viewvc?rev=1851478=rev Log: Add cookie parser to the pool, required by turbine Added: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/CookieParserFactory.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/pool/CookieParserPool.java Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/CookieParser.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultCookieParser.java turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/CookieParser.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/CookieParser.java?rev=1851478=1851477=1851478=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/CookieParser.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/CookieParser.java Wed Jan 16 19:14:15 2019 @@ -100,4 +100,6 @@ public interface CookieParser * @param name the name of the cooking to unset */ void unset (String name); + + boolean isValid(); } Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultCookieParser.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultCookieParser.java?rev=1851478=1851477=1851478=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultCookieParser.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultCookieParser.java Wed Jan 16 19:14:15 2019 @@ -154,5 +154,10 @@ public class DefaultCookieParser { set (name, " ", AGE_DELETE); } + +public boolean isValid() +{ + return true; +} } Modified: turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java URL: http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java?rev=1851478=1851477=1851478=diff == --- turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java (original) +++ turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java Wed Jan 16 19:14:15 2019 @@ -40,6 +40,8 @@ import org.apache.commons.pool2.impl.Gen import org.apache.fulcrum.parser.ValueParser.URLCaseFolding; import org.apache.fulcrum.parser.pool.BaseValueParserFactory; import org.apache.fulcrum.parser.pool.BaseValueParserPool; +import org.apache.fulcrum.parser.pool.CookieParserFactory; +import org.apache.fulcrum.parser.pool.CookieParserPool; import org.apache.fulcrum.parser.pool.DefaultParameterParserFactory; import org.apache.fulcrum.parser.pool.DefaultParameterParserPool; @@ -81,11 +83,16 @@ public class DefaultParserService * Use commons pool to manage parameter parsers */ private DefaultParameterParserPool parameterParserPool; - + +/** + * Use commons pool to manage cookie parsers + */ +private CookieParserPool cookieParserPool; + public DefaultParserService() { // Define the default configuration - GenericObjectPoolConfig config = new GenericObjectPoolConfig<>(); + GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setMaxIdle(1); config.setMaxTotal(DEFAULT_POOL_CAPACITY); @@ -96,9 +103,13 @@ public class DefaultParserService // init the pool parameterParserPool = new DefaultParameterParserPool(new DefaultParameterParserFactory(), config); + + // init the pool + cookieParserPool + = new CookieParserPool(new CookieParserFactory(), config); } -public DefaultParserService(GenericObjectPoolConfig config) +public DefaultParserService(GenericObjectPoolConfig config) { // init the pool valueParserPool @@ -271,6 +282,17 @@ public class DefaultParserService } } +if ( ppClass.equals(DefaultCookieParser.class) ) +{ + try { + DefaultCookieParser parserInstance = cookieParserPool.borrowObject(); + vp = (P) parserInstance; + } catch (Exception e) { + } +} + + +