this patch ads plural-names support to tables in Torque. The OM templates
often hard-coded "${className}s" as the plural name, which doesn't always
make sense in English. (less if you're using another language.) This
affects the generated method names like "public Vector getFoos()/public
Vector getFoosRelatedByColumn()"
This makes a pluralName property which still defaults to javaName + "s" but
can be overridden from the schema definition.
-- Bill
Index: src/dtd/database.dtd
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/dtd/database.dtd,v
retrieving revision 1.12
diff -u -r1.12 database.dtd
--- src/dtd/database.dtd 14 Mar 2002 00:54:33 -0000 1.12
+++ src/dtd/database.dtd 16 Apr 2002 14:16:38 -0000
@@ -51,6 +51,7 @@
<!ATTLIST table
name CDATA #REQUIRED
javaName CDATA #IMPLIED
+ pluralName CDATA #IMPLIED
idMethod (idbroker|native|autoincrement|sequence|none|null) "null"
skipSql (true|false) "false"
abstract (true|false) "false"
Index: src/java/org/apache/torque/engine/database/model/Table.java
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/java/org/apache/torque/engine/dat
abase/model/Table.java,v
retrieving revision 1.28
diff -u -r1.28 Table.java
--- src/java/org/apache/torque/engine/database/model/Table.java 14 Apr 2002
12:59:27 -0000 1.28
+++ src/java/org/apache/torque/engine/database/model/Table.java 16 Apr 2002
14:16:40 -0000
@@ -91,6 +91,7 @@
private String name;
private String description;
private String javaName;
+ private String pluralName;
private String idMethod;
private String javaNamingMethod;
private Database tableParent;
@@ -145,6 +146,7 @@
{
name = attrib.getValue("name");
javaName = attrib.getValue("javaName");
+ pluralName = attrib.getValue("pluralName");
idMethod = attrib.getValue("idMethod");
// retrieves the method for converting from specified name to
@@ -626,6 +628,19 @@
{
description = newDescription;
}
+
+ /**
+ * Get the plural form of the name to use in Java sources. If none
+ * is explicitly supplied, adds an "s" to getJavaName.
+ */
+ public String getPluralName()
+ {
+ if (pluralName == null)
+ {
+ pluralName = getJavaName() + "s";
+ }
+ return pluralName;
+ }
/**
* Get name to use in Java sources
@@ -659,6 +674,14 @@
}
/**
+ * Set plural form of name to use in Java sources
+ */
+ public void setPluralName(String pluralName)
+ {
+ this.pluralName = pluralName;
+ }
+
+ /**
* Get the method for generating pk's
*/
public String getIdMethod()
@@ -960,6 +983,13 @@
{
result.append(" javaname=\"")
.append(javaName)
+ .append('\"');
+ }
+
+ if (pluralName != null)
+ {
+ result.append(" pluralName=\"")
+ .append(pluralName)
.append('\"');
}
Index: src/templates/om/Object.vm
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/templates/om/Object.vm,v
retrieving revision 1.25
diff -u -r1.25 Object.vm
--- src/templates/om/Object.vm 11 Apr 2002 02:06:12 -0000 1.25
+++ src/templates/om/Object.vm 16 Apr 2002 14:16:43 -0000
@@ -174,9 +174,9 @@
#if ( !($tblFK.Name.equals($table.Name)) )
#set ( $colFK = $tblFK.getColumn($fkColName) )
#if ($colFK.isMultipleFK())
- #set ( $collName =
"coll${tblFK.JavaName}sRelatedBy$colFK.JavaName" )
+ #set ( $collName =
"coll${tblFK.PluralName}RelatedBy$colFK.JavaName" )
#else
- #set ( $collName = "coll${tblFK.JavaName}s" )
+ #set ( $collName = "coll${tblFK.PluralName}" )
#end
// update associated $tblFK.JavaName
@@ -269,7 +269,7 @@
#set ( $and = " && " )
#set ( $comma = ", " )
#end
- #set ( $pCollName = "${table.JavaName}s$relCol" )
+ #set ( $pCollName = "${table.PluralName}$relCol" )
public $className get${pVarName}() throws TorqueException
{
@@ -334,6 +334,7 @@
#set ( $tblFK = $fk.Table )
#if ( !($tblFK.Name.equals($table.Name)) )
#set ( $className = $tblFK.JavaName )
+ #set ( $classPlural = $tblFK.PluralName )
#set ( $relatedByCol = "" )
#foreach ($columnName in $fk.LocalColumns)
#set ( $column = $tblFK.getColumn($columnName) )
@@ -344,11 +345,11 @@
#if ($relatedByCol == "")
#set ( $suffix = "" )
- #set ( $relCol = "${className}s" )
+ #set ( $relCol = "${classPlural}" )
#set ( $relColMs = $className )
#else
#set ( $suffix = "RelatedBy$relatedByCol" )
- #set ( $relCol= "${className}sRelatedBy$relatedByCol" )
+ #set ( $relCol= "${classPlural}RelatedBy$relatedByCol" )
#set ( $relColMs= "${className}RelatedBy$relatedByCol" )
#end
#set ( $collName = "coll$relCol" )
@@ -916,9 +917,9 @@
#end
#if ($relCol == "")
- #set ( $relCol = "${className}s" )
+ #set ( $relCol = "${classPlural}" )
#else
- #set ( $relCol = "${className}sRelatedBy$relCol" )
+ #set ( $relCol = "${classPlural}RelatedBy$relCol" )
#end
#set ( $collName = "coll$relCol" )
@@ -1141,10 +1142,10 @@
#end
#if ($relCol == "")
- #set ( $pCollName = "${className}s" )
+ #set ( $pCollName = "${classPlural}" )
#set ( $pCollNameNoS = "${className}" )
#else
- #set ( $pCollName = "${className}sRelatedBy$relCol" )
+ #set ( $pCollName = "${classPlural}RelatedBy$relCol" )
#set ( $pCollNameNoS = "${className}RelatedBy$relCol" )
#end
Index: src/templates/om/ObjectWithManager.vm
===================================================================
RCS file:
/home/cvspublic/jakarta-turbine-torque/src/templates/om/ObjectWithManager.vm
,v
retrieving revision 1.4
diff -u -r1.4 ObjectWithManager.vm
--- src/templates/om/ObjectWithManager.vm 14 Mar 2002 02:03:41 -0000 1.4
+++ src/templates/om/ObjectWithManager.vm 16 Apr 2002 14:16:43 -0000
@@ -178,9 +178,9 @@
#if ( !($tblFK.Name.equals($table.Name)) )
#set ( $colFK = $tblFK.getColumn($fkColName) )
#if ($colFK.isMultipleFK())
- #set ( $collName =
"coll${tblFK.JavaName}sRelatedBy$colFK.JavaName" )
+ #set ( $collName =
"coll${tblFK.PluralName}RelatedBy$colFK.JavaName" )
#else
- #set ( $collName = "coll${tblFK.JavaName}s" )
+ #set ( $collName = "coll${tblFK.PluralName}" )
#end
// update associated $tblFK.JavaName
@@ -336,6 +336,7 @@
#set ( $tblFK = $fk.Table )
#if ( !($tblFK.Name.equals($table.Name)) )
#set ( $className = $tblFK.JavaName )
+ #set ( $classPlural = $tblFK.PluralName )
#set ( $relatedByCol = "" )
#foreach ($columnName in $fk.LocalColumns)
#set ( $column = $tblFK.getColumn($columnName) )
@@ -346,11 +347,11 @@
#if ($relatedByCol == "")
#set ( $suffix = "" )
- #set ( $relCol = "${className}s" )
+ #set ( $relCol = "${classPlural}" )
#set ( $relColMs = $className )
#else
#set ( $suffix = "RelatedBy$relatedByCol" )
- #set ( $relCol= "${className}sRelatedBy$relatedByCol" )
+ #set ( $relCol= "${classPlural}RelatedBy$relatedByCol" )
#set ( $relColMs= "${className}RelatedBy$relatedByCol" )
#end
#set ( $collName = "coll$relCol" )
@@ -934,9 +935,9 @@
#end
#if ($relCol == "")
- #set ( $relCol = "${className}s" )
+ #set ( $relCol = "${classPlural}" )
#else
- #set ( $relCol = "${className}sRelatedBy$relCol" )
+ #set ( $relCol = "${classPlural}RelatedBy$relCol" )
#end
#set ( $collName = "coll$relCol" )
@@ -1167,10 +1168,10 @@
#end
#if ($relCol == "")
- #set ( $pCollName = "${className}s" )
+ #set ( $pCollName = "${classPlural}" )
#set ( $pCollNameNoS = "${className}" )
#else
- #set ( $pCollName = "${className}sRelatedBy$relCol" )
+ #set ( $pCollName = "${classPlural}RelatedBy$relCol" )
#set ( $pCollNameNoS = "${className}RelatedBy$relCol" )
#end
Index: src/templates/om/Peer.vm
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/templates/om/Peer.vm,v
retrieving revision 1.25
diff -u -r1.25 Peer.vm
--- src/templates/om/Peer.vm 9 Apr 2002 15:59:44 -0000 1.25
+++ src/templates/om/Peer.vm 16 Apr 2002 14:16:43 -0000
@@ -1032,6 +1032,7 @@
## setup joins
##
#set ( $className = $table.JavaName )
+ #set ( $classPlural = $table.PluralName )
#set ( $countFK = 0 )
#foreach ($dummyFK in $table.ForeignKeys)
#set ( $countFK = $countFK + 1 )
@@ -1060,12 +1061,12 @@
#if ($partJoinName == "")
#set ( $joinColumnId = $joinClassName )
#set ( $joinInterface = $interfaceName )
- #set ( $collThisTable = "${className}s" )
+ #set ( $collThisTable = "${classPlural}" )
#set ( $collThisTableMs = $className )
#else
#set ( $joinColumnId= "${joinClassName}RelatedBy$partJoinName" )
#set ( $joinInterface= "${interfaceName}RelatedBy$partJoinName" )
- #set ( $collThisTable="${className}sRelatedBy$partJoinName" )
+ #set ( $collThisTable="${classPlural}RelatedBy$partJoinName" )
#set ( $collThisTableMs="${className}RelatedBy$partJoinName" )
#end
@@ -1223,11 +1224,11 @@
#if ($relatedByCol == "")
#set ( $excludeString = $excludeClassName )
- #set ( $collThisTable = "${className}s" )
+ #set ( $collThisTable = "${classPlural}" )
#set ( $collThisTableMs = $className )
#else
#set ( $excludeString="${excludeClassName}RelatedBy$relatedByCol" )
- #set ( $collThisTable="${className}sRelatedBy$relatedByCol" )
+ #set ( $collThisTable="${classPlural}RelatedBy$relatedByCol" )
#set ( $collThisTableMs="${className}RelatedBy$relatedByCol" )
#end
@@ -1353,11 +1354,11 @@
#if ($partJoinName == "")
#set ( $joinString = $interfaceName )
- #set ( $collThisTable = "${className}s" )
+ #set ( $collThisTable = "${classPlural}" )
#set ( $collThisTableMs = $className )
#else
#set (
$joinString="${interfaceName}RelatedBy$partJoinName" )
- #set (
$collThisTable="${className}sRelatedBy$partJoinName" )
+ #set (
$collThisTable="${classPlural}RelatedBy$partJoinName" )
#set (
$collThisTableMs="${className}RelatedBy$partJoinName" )
#end
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>