jvanzyl 2002/09/20 07:00:41
Modified: betwixt maven.xml
betwixt/src/java/org/apache/commons/betwixt/strategy
DefaultPluralStemmer.java
betwixt/src/test/org/apache/commons/betwixt/strategy
TestDefaultPluralStemmer.java
Log:
o Applying patch provided by John Thorhauer:
I have a patch for betwixt. The problem that I am having is with the
DefaultPluralStemmer. It does not deal real well with plurals that end
in 'es'. I have included a patch for both the test case and the patch
for the DefaultPluralStemmer. If you run the test without applying the
fix you will see the problem.
Revision Changes Path
1.4 +2 -2 jakarta-commons/betwixt/maven.xml
Index: maven.xml
===================================================================
RCS file: /home/cvs/jakarta-commons/betwixt/maven.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- maven.xml 12 Aug 2002 19:29:15 -0000 1.3
+++ maven.xml 20 Sep 2002 14:00:41 -0000 1.4
@@ -4,8 +4,8 @@
<echo>Copying test resources ...</echo>
- <copy todir="target/test-classes/org/apache/commons/betwixt/nowrap">
- <fileset dir="src/test/org/apache/commons/betwixt/nowrap">
+ <copy todir="${basedir}/target/test-classes/org/apache/commons/betwixt/nowrap">
+ <fileset dir="${basedir}/src/test/org/apache/commons/betwixt/nowrap">
<include name="*.betwixt"/>
<include name="*.xml"/>
</fileset>
1.3 +11 -6
jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/strategy/DefaultPluralStemmer.java
Index: DefaultPluralStemmer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/strategy/DefaultPluralStemmer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DefaultPluralStemmer.java 11 Jun 2002 16:05:21 -0000 1.2
+++ DefaultPluralStemmer.java 20 Sep 2002 14:00:41 -0000 1.3
@@ -90,6 +90,11 @@
int foundKeyCount = 0;
String keyFound = null;
ElementDescriptor answer = (ElementDescriptor) map.get( propertyName + "s"
);
+
+ if ( answer == null && !propertyName.endsWith( "y" )) {
+ answer = (ElementDescriptor) map.get( propertyName + "es" );
+ }
+
if ( answer == null ) {
int length = propertyName.length();
if ( propertyName.endsWith( "y" ) && length > 1 ) {
@@ -126,7 +131,7 @@
}
}
if (foundKeyCount > 1) {
- log.warn("More then one type matches, using closest match "+keyFound);
+ log.warn("More than one type matches, using closest match "+keyFound);
}
return answer;
1.2 +31 -7
jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/strategy/TestDefaultPluralStemmer.java
Index: TestDefaultPluralStemmer.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/test/org/apache/commons/betwixt/strategy/TestDefaultPluralStemmer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TestDefaultPluralStemmer.java 11 Jun 2002 16:05:21 -0000 1.1
+++ TestDefaultPluralStemmer.java 20 Sep 2002 14:00:41 -0000 1.2
@@ -151,7 +151,7 @@
ElementDescriptor result = dps.findPluralDescriptor("y", map);
assertEquals(des, result);
}
-
+
/**
* Tests to see if you get warned when there are multiple matches
* found
@@ -178,7 +178,31 @@
result = dps.findPluralDescriptor("yesno", map);
assertEquals(desyesno, result);
}
-
+
+ /**
+ * Test to find matched where plural ending is "es"
+ */
+ public void testESPluralEndingMatch() {
+ HashMap map = new HashMap();
+
+ ElementDescriptor index = new ElementDescriptor("index", "index","");
+ map.put("index", index);
+ ElementDescriptor indexes = new ElementDescriptor("indexes", "indexes","");
+ map.put("indexes", indexes);
+
+ ElementDescriptor patch = new ElementDescriptor("patch", "patch","");
+ map.put("patch", patch);
+ ElementDescriptor patches = new ElementDescriptor("patches", "patches","");
+ map.put("patches", patches);
+
+ DefaultPluralStemmer stemmer = new DefaultPluralStemmer();
+ ElementDescriptor result = stemmer.findPluralDescriptor("index", map);
+ assertEquals(indexes, result);
+
+ result = stemmer.findPluralDescriptor("patches", map);
+ assertEquals(patches, result);
+ }
+
/**
* Test if the closest match mechanisme is working
*/
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>