Author: tv
Date: Thu Oct 3 10:14:42 2013
New Revision: 1528777
URL: http://svn.apache.org/r1528777
Log:
Improve getParser() signature to use generics
Modified:
turbine/fulcrum/trunk/parser/src/changes/changes.xml
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/DefaultParserService.java
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/ParserService.java
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
turbine/fulcrum/trunk/parser/xdocs/index.xml
Modified: turbine/fulcrum/trunk/parser/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/changes/changes.xml?rev=1528777&r1=1528776&r2=1528777&view=diff
==============================================================================
--- turbine/fulcrum/trunk/parser/src/changes/changes.xml (original)
+++ turbine/fulcrum/trunk/parser/src/changes/changes.xml Thu Oct 3 10:14:42
2013
@@ -26,6 +26,9 @@
</release>
<release version="1.0.3" date="2013-10-03">
<action dev="tv" type="update">
+ Improve getParser() signature to use generics
+ </action>
+ <action dev="tv" type="update">
Derive from Turbine parent POM 3
</action>
<action dev="tv" type="add">
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=1528777&r1=1528776&r2=1528777&view=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
Thu Oct 3 10:14:42 2013
@@ -222,13 +222,15 @@ public class DefaultParserService
*
* @throws InstantiationException if the instance could not be created
*/
- public ValueParser getParser(Class<? extends ValueParser> ppClass) throws
InstantiationException
+ public <P extends ValueParser> P getParser(Class<P> ppClass) throws
InstantiationException
{
- ValueParser vp = null;
+ P vp = null;
try
{
- vp = (ValueParser) poolService.getInstance(ppClass);
+ @SuppressWarnings("unchecked") // Until PoolService is generified
+ P parserInstance = (P) poolService.getInstance(ppClass);
+ vp = parserInstance;
if (vp instanceof ParserServiceSupport)
{
@@ -237,7 +239,7 @@ public class DefaultParserService
if (vp instanceof LogEnabled)
{
-
((LogEnabled)vp).enableLogging(getLogger().getChildLogger(ppClass.getName()));
+
((LogEnabled)vp).enableLogging(getLogger().getChildLogger(ppClass.getSimpleName()));
}
}
catch (PoolException pe)
Modified:
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/ParserService.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/ParserService.java?rev=1528777&r1=1528776&r2=1528777&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/ParserService.java
(original)
+++
turbine/fulcrum/trunk/parser/src/java/org/apache/fulcrum/parser/ParserService.java
Thu Oct 3 10:14:42 2013
@@ -136,7 +136,7 @@ public interface ParserService
*
* @throws InstantiationException if the instance could not be created
*/
- ValueParser getParser(Class<? extends ValueParser> ppClass) throws
InstantiationException;
+ <P extends ValueParser> P getParser(Class<P> ppClass) throws
InstantiationException;
/**
* Return a used Parser to the service. This allows for
Modified:
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java?rev=1528777&r1=1528776&r2=1528777&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
(original)
+++
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/BaseValueParserTest.java
Thu Oct 3 10:14:42 2013
@@ -44,7 +44,7 @@ public class BaseValueParserTest extends
private BaseValueParser parser;
private ParserService parserService;
-
+
/**
* Performs any initialization that must happen before each test is run.
* @throws Exception
@@ -55,7 +55,7 @@ public class BaseValueParserTest extends
try
{
parserService = (ParserService)this.lookup(ParserService.ROLE);
- parser = (BaseValueParser)
parserService.getParser(BaseValueParser.class);
+ parser = parserService.getParser(BaseValueParser.class);
}
catch (ComponentException e)
{
@@ -72,7 +72,7 @@ public class BaseValueParserTest extends
parserService.putParser(parser);
this.release(parserService);
}
-
+
public void testDate()
{
parser.clear();
@@ -81,7 +81,7 @@ public class BaseValueParserTest extends
assertEquals("Wrong number of keys", 0, parser.keySet().size());
parser.add("foo", "03/21/2008");
-
+
Calendar cal = Calendar.getInstance(Locale.US);
cal.clear();
cal.set(2008, 2, 21, 0, 0, 0);
@@ -92,7 +92,7 @@ public class BaseValueParserTest extends
parser.setLocale(Locale.GERMANY);
parser.add("foo", "21.03.2008");
-
+
cal = Calendar.getInstance(Locale.GERMANY);
cal.clear();
cal.set(2008, 2, 21, 0, 0, 0);
@@ -669,7 +669,7 @@ public class BaseValueParserTest extends
{
try
{
- BaseValueParser vp = (BaseValueParser)
parserService.getParser(BaseValueParser.class);
+ BaseValueParser vp =
parserService.getParser(BaseValueParser.class);
assertFalse(vp.isDisposed());
parserService.putParser(vp);
}
@@ -775,11 +775,11 @@ public class BaseValueParserTest extends
parser.clear();
parser.setLocale(Locale.GERMANY);
-
+
String testDouble = "2,3";
parser.add("foo", testDouble);
assertEquals("Wrong double value", 2.3, parser.getDouble("foo"),
0.001);
-
+
parser.add("unparsable2", "1a");
Double result = parser.getDoubleObject("unparsable2");
assertNull("Double object should be null", result);
@@ -906,8 +906,8 @@ public class BaseValueParserTest extends
assertEquals("Wrong number of keys", 1, parser.keySet().size());
assertEquals("Wrong string value", "123", parser.getString("foo"));
- assertEquals("Wrong long value", (long) testValue,
parser.getLong("foo"));
- assertEquals("Wrong Long value", (long) testValue,
parser.getLongObject("foo").longValue());
+ assertEquals("Wrong long value", testValue, parser.getLong("foo"));
+ assertEquals("Wrong Long value", testValue,
parser.getLongObject("foo").longValue());
long [] longs = parser.getLongs("foo");
assertEquals("Wrong Array Size", 1, longs.length);
@@ -933,8 +933,8 @@ public class BaseValueParserTest extends
assertEquals("Wrong number of keys", 1, parser.keySet().size());
assertEquals("Wrong string value", "123", parser.getString("foo"));
- assertEquals("Wrong double value", (double) testValue,
parser.getDouble("foo"), 0.001);
- assertEquals("Wrong Double value", (double) testValue,
parser.getDoubleObject("foo").doubleValue(), 0.001);
+ assertEquals("Wrong double value", testValue, parser.getDouble("foo"),
0.001);
+ assertEquals("Wrong Double value", testValue,
parser.getDoubleObject("foo").doubleValue(), 0.001);
double [] doubles = parser.getDoubles("foo");
assertEquals("Wrong Array Size", 1, doubles.length);
@@ -960,8 +960,8 @@ public class BaseValueParserTest extends
assertEquals("Wrong number of keys", 1, parser.keySet().size());
assertEquals("Wrong string value", "9223372036854775807",
parser.getString("foo"));
- assertEquals("Wrong double value", (double) testValue,
parser.getDouble("foo"), 0.001);
- assertEquals("Wrong Double value", (double) testValue,
parser.getDoubleObject("foo").doubleValue(), 0.001);
+ assertEquals("Wrong double value", testValue, parser.getDouble("foo"),
0.001);
+ assertEquals("Wrong Double value", testValue,
parser.getDoubleObject("foo").doubleValue(), 0.001);
double [] doubles = parser.getDoubles("foo");
assertEquals("Wrong Array Size", 1, doubles.length);
@@ -1850,7 +1850,7 @@ public class BaseValueParserTest extends
String[] booleanString = {"on", "off", "false", "true", " ",
"justaword"};
parser.add("foo", booleanString);
boolean[] theArray = parser.getBooleans("foo");
-
+
assertEquals(6, theArray.length);
assertTrue(theArray[0]);
assertFalse(theArray[1]);
@@ -1858,7 +1858,7 @@ public class BaseValueParserTest extends
assertTrue(theArray[3]);
assertFalse(theArray[4]);
assertFalse(theArray[5]);
-
+
assertNull(parser.getBooleans("keydontexist"));
}
@@ -1866,7 +1866,7 @@ public class BaseValueParserTest extends
String[] booleanString = {"on", "off", "false", "true", " ",
"justaword"};
parser.add("foo", booleanString);
Boolean[] theArray = parser.getBooleanObjects("foo");
-
+
assertEquals(6, theArray.length);
assertEquals(Boolean.TRUE, theArray[0]);
assertEquals(Boolean.FALSE, theArray[1]);
@@ -1874,26 +1874,26 @@ public class BaseValueParserTest extends
assertEquals(Boolean.TRUE, theArray[3]);
assertEquals(null, theArray[4]);
assertEquals(null, theArray[5]);
-
+
assertNull(parser.getBooleanObjects("keydontexist"));
}
public void testGet() {
-
+
// no param
String result = parser.get("invalid");
assertNull(result);
-
+
// null value
parser.add("valid", "value");
assertEquals("value", parser.get("valid"));
-
+
// only return the first added
parser.add("multiple", "test");
parser.add("multiple", "test2");
assertEquals("test", parser.get("multiple"));
-
+
}
-
+
}
Modified:
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java?rev=1528777&r1=1528776&r2=1528777&view=diff
==============================================================================
---
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
(original)
+++
turbine/fulcrum/trunk/parser/src/test/org/apache/fulcrum/parser/ParameterParserTest.java
Thu Oct 3 10:14:42 2013
@@ -56,7 +56,7 @@ public class ParameterParserTest extends
try
{
parserService = (ParserService)this.lookup(ParserService.ROLE);
- parameterParser = (ParameterParser)
parserService.getParser(DefaultParameterParser.class);
+ parameterParser =
parserService.getParser(DefaultParameterParser.class);
}
catch (ComponentException e)
{
Modified: turbine/fulcrum/trunk/parser/xdocs/index.xml
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/parser/xdocs/index.xml?rev=1528777&r1=1528776&r2=1528777&view=diff
==============================================================================
--- turbine/fulcrum/trunk/parser/xdocs/index.xml (original)
+++ turbine/fulcrum/trunk/parser/xdocs/index.xml Thu Oct 3 10:14:42 2013
@@ -125,15 +125,15 @@
</p>
<source><![CDATA[
- // Get a ValueParser instance
- ValueParser parser = (ValueParser)
parserService.getParser(BaseValueParser.class);
+// Get a ValueParser instance
+ValueParser parser = parserService.getParser(BaseValueParser.class);
- parser.add(...);
- Double d = parser.getDoubleObject(...);
-
- // Return the instance to the service
- parserService.putParser(parser);
- ]]></source>
+parser.add(...);
+Double d = parser.getDoubleObject(...);
+
+// Return the instance to the service
+parserService.putParser(parser);
+]]></source>
<p>
Parsers are pooled inside the service. You can use this service to manage
any types of