-1 on including this patch in the main line.  As Bill says, it doesn't
make sense in a lot of cases even in English, and is Latin-centric in
general.

"Bill Schneider" <[EMAIL PROTECTED]> writes:

> 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]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to