This is what I wanted to do, but I couldn't find the correct place to do
it.  Thanks for fixing it.  I've tested it and it works.

-Kurt

On 21 Aug 2002 [EMAIL PROTECTED] wrote:

> jmcnally    2002/08/20 18:51:21
>
>   Modified:    src/java/org/apache/torque/pool TorqueClassicDataSource.java
>   Log:
>   set the dataSourceName even if the backend is supplied through the cpds setter.
>   This is needed in the event multiple DataSources are initialized in this
>   manner.
>
>   Revision  Changes    Path
>   1.4       +30 -1     
>jakarta-turbine-torque/src/java/org/apache/torque/pool/TorqueClassicDataSource.java
>
>   Index: TorqueClassicDataSource.java
>   ===================================================================
>   RCS file: 
>/home/cvs/jakarta-turbine-torque/src/java/org/apache/torque/pool/TorqueClassicDataSource.java,v
>   retrieving revision 1.3
>   retrieving revision 1.4
>   diff -u -r1.3 -r1.4
>   --- TorqueClassicDataSource.java    21 Aug 2002 01:48:22 -0000      1.3
>   +++ TorqueClassicDataSource.java    21 Aug 2002 01:51:21 -0000      1.4
>   @@ -87,6 +87,7 @@
>    {
>        /** Pools keyed by username. */
>        private static Map pools = new HashMap();
>   +    private static int cpdsCounter;
>
>        /** DataSource Name used to find the ConnectionPoolDataSource */
>        private String dataSourceName;
>   @@ -317,6 +318,13 @@
>         */
>        public void setDataSourceName(String  v)
>        {
>   +        if (getConnectionPoolDataSource() != null)
>   +        {
>   +            throw new IllegalStateException("connectionPoolDataSource property"
>   +                + " already has a value.  Both dataSourceName and "
>   +                + "connectionPoolDataSource properties cannot be set.");
>   +        }
>   +
>            this.dataSourceName = v;
>        }
>
>   @@ -397,9 +405,24 @@
>         *
>         * @param v  Value to assign to connectionPoolDataSource.
>         */
>   -    public void setConnectionPoolDataSource(ConnectionPoolDataSource  v)
>   +    public void
>   +        setConnectionPoolDataSource(ConnectionPoolDataSource  v)
>        {
>   +        if (v == null)
>   +        {
>   +            throw new IllegalArgumentException(
>   +                "Null argument value is not allowed.");
>   +        }
>   +        if (getDataSourceName() != null)
>   +        {
>   +            throw new IllegalStateException("dataSourceName property"
>   +                + " already has a value.  Both dataSourceName and "
>   +                + "connectionPoolDataSource properties cannot be set.");
>   +        }
>            this.cpds = v;
>   +
>   +        // set the dataSourceName to a unique value
>   +        dataSourceName = v.hashCode() + " internal cpds name " + cpdsCounter++;
>        }
>
>
>   @@ -444,6 +467,12 @@
>        private String getKey(String suffix)
>        {
>            String key = getDataSourceName();
>   +        if (key == null)
>   +        {
>   +            throw new IllegalStateException("Attempted to use DataSource "
>   +                + "without a backend ConnectionPoolDataSource defined.");
>   +        }
>   +
>            if ( suffix != null )
>            {
>                key += suffix;
>
>
>
>
> --
> 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