svn commit: r1851476 - /turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java

2019-01-16 Thread painter
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

2019-01-16 Thread painter
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/

2019-01-16 Thread painter
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

2019-01-16 Thread painter
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

2019-01-16 Thread painter
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) {
+   }
+}
+
+
+