I use a different xxx_torque.properties file for each of my many 
configurations.  In each configuration's override settings, I include:

component.torque.config=${webappRoot}/WEB-INF/conf/xxx_torque.properties

This overrides the setting in tr.p, which works for strings.  That way 
my file is used instead of the default.

- Glenn

On Wednesday, September 18, 2002, at 04:53  PM, Pat Ryan wrote:

>
> This is what we did at our place to, but I could not find a way to do 
> this for
> Torque.properties.
>
> Right now I include our torque file as the first line in the 
> Torque.properties.
> Any ideas on how to do this better?
>
> Thanks
> Pat
>
>
> "Glenn R. Golden" wrote:
>
>> Josh -
>>
>> What I do is change the web.xml to point to my own properties file, put
>> in all my overrides, then include tr.p from my properties file.
>>
>> - Glenn
>>
>> On Wednesday, September 18, 2002, at 08:37  AM, Josh Hone wrote:
>>
>>> Hi Glenn -
>>>
>>> No, my version is not very new at all.  So my personal properties
>>> include in TR.p must be before the include of JR.p?
>>>
>>> Josh Hone
>>>
>>>
>>>> From: Glenn Golden <[EMAIL PROTECTED]>
>>>> Reply-To: "Jetspeed Users List" <[EMAIL PROTECTED]>
>>>> To: 'Jetspeed Users List' <[EMAIL PROTECTED]>
>>>> Subject: RE: JR.prop duplicate booleans break...
>>>> Date: Wed, 18 Sep 2002 08:25:24 -0400
>>>>
>>>> Josh -
>>>>
>>>> I just recently fixed this for Jetspeed properties (properties aimed 
>>>> at
>>>> Turbine may not be done in this way), so that you can override the 
>>>> jr.p
>>>> values in your own resources.properties.  Make sure your values come
>>>> *first*.  The first setting will be used.
>>>>
>>>> Are you using the latest code from cvs?
>>>>
>>>> If you are running with this fix already in, let me know and I'll 
>>>> look
>>>> into
>>>> it further.
>>>>
>>>> Thanks!
>>>>
>>>> Here's the cvs message from that checkin:
>>>>
>>>> * * * * * * * * * * * * * * *
>>>>
>>>> ggolden     2002/09/09 19:01:27
>>>>
>>>>   Modified:    src/java/org/apache/jetspeed/services/resources
>>>>                         JetspeedResources.java
>>>>   Log:
>>>>   When overriding settings in the JetspeedResources.properties (and
>>>> TurbineResources.properties), we might want to set a value with our
>>>>   site's setting, a value that is also set in the standard jr.p and
>>>> tr.p
>>>> distribution files.  It's nice to be able to use these files 
>>>> unchanged
>>>> so we
>>>> can keep up easily
>>>>   with Jetspeed development.
>>>>
>>>>   If the value we are setting is a string, this already works - the
>>>> first
>>>> value set to
>>>>   the property is used, so we can just do our settings before the
>>>> standard
>>>> files
>>>>   are read in.
>>>>
>>>>   If the value we are setting is a boolean, long, float, double, or
>>>> int,
>>>> this doesn't work - we get class cast exceptions.
>>>>
>>>>   JetspeedSecurity, which is used by Jetspeed code to access the
>>>> configuration values, now catches these class cast exceptions, and 
>>>> also
>>>> takes the calls to getString.  If there's an array of values, it will
>>>> use
>>>> the first one (it's the combination of the array of values that mess
>>>> up the
>>>> reading without this).
>>>>
>>>>   Note: this only works for Jetspeed properties - turbine properties
>>>> don't
>>>> use this
>>>>   code.  Only string properties can be overridden by setting your 
>>>> site
>>>> values first
>>>>   for turbine properties.
>>>>
>>>>   Note: This code would be best deep inside turbine, but can live 
>>>> here
>>>> till
>>>> Turbine
>>>>   handles these cases.
>>>>
>>>>   Revision  Changes    Path
>>>>   1.13      +322 -2
>>>> jakarta-
>>>> jetspeed/src/java/org/apache/jetspeed/services/resources/JetspeedRes
>>>> ources.java
>>>>
>>>>   Index: JetspeedResources.java
>>>>   ===================================================================
>>>>   RCS file:
>>>> /home/cvs/jakarta-
>>>> jetspeed/src/java/org/apache/jetspeed/services/resources/J
>>>> etspeedResources.java,v
>>>>   retrieving revision 1.12
>>>>   retrieving revision 1.13
>>>>   diff -u -r1.12 -r1.13
>>>>   --- JetspeedResources.java 26 Jul 2002 01:47:21 -0000      1.12
>>>>   +++ JetspeedResources.java 10 Sep 2002 02:01:27 -0000      1.13
>>>>   @@ -55,16 +55,22 @@
>>>>    package org.apache.jetspeed.services.resources;
>>>>
>>>>    import org.apache.turbine.services.resources.TurbineResources;
>>>>   +import org.apache.turbine.util.Log;
>>>>
>>>>    /**
>>>>     * This class defines the Jetspeed properties keys.
>>>>     * All properties can be retrieved using TurbineResources or
>>>> JetspeedResources
>>>>   - * directly
>>>>   + * directly.
>>>>   + *
>>>>   + * This class also overrides the covers for many of the get
>>>> routines.  It
>>>> handles the cases
>>>>   + * where we want a single value, perhaps as a boolean or float, 
>>>> but
>>>> the
>>>> configuration may have
>>>>   + * an array of values.  In these cases, we let the first value
>>>> override
>>>> all the others and use it.
>>>>     *
>>>>     * @author <a href="mailto:[EMAIL PROTECTED]";>Kevin A. Burton</a>
>>>>     * @author <a href="mailto:[EMAIL PROTECTED]";>Rapha�l Luta</a>
>>>>     * @author <a href="mailto:[EMAIL PROTECTED]";>Tom Adams</a>
>>>>     * @author <a href="mailto:[EMAIL PROTECTED]";>Chris 
>>>> Kimpton</a>
>>>>   + * @author <a href="mailto:[EMAIL PROTECTED]";>Glenn R. Golden</a>
>>>>     * @version $Id$
>>>>     */
>>>>    public class JetspeedResources extends TurbineResources {
>>>>   @@ -156,7 +162,321 @@
>>>>         */
>>>>        public static final String PATH_PANEL_KEY = "select-panel";
>>>>
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a boolean value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @return The value of the named resource as a boolean.
>>>>   +     */
>>>>   +    public static boolean getBoolean(String name)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getBoolean (name);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return new Boolean(values[0]).booleanValue();
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purppose of this method is to get the configuration
>>>>   +     * resource with the given name as a boolean value, or a 
>>>> default
>>>>   +     * value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the named resource as a boolean.
>>>>   +     */
>>>>   +    public static boolean getBoolean(String name,
>>>>   +                                     boolean def)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getBoolean(name, def);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return new Boolean(values[0]).booleanValue();
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a double.
>>>>   +     *
>>>>   +     * @param name The resoource name.
>>>>   +     * @return The value of the named resource as double.
>>>>   +     */
>>>>   +    public static double getDouble(String name)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getDouble(name);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Double.parseDouble(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a double, or a default value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the named resource as a double.
>>>>   +     */
>>>>   +    public static double getDouble(String name,
>>>>   +                                   double def)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getDouble(name, def);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Double.parseDouble(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a float.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @return The value of the resource as a float.
>>>>   +     */
>>>>   +    public static float getFloat(String name)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getFloat(name);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Float.parseFloat(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a float, or a default value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the resource as a float.
>>>>   +     */
>>>>   +    public static float getFloat(String name,
>>>>   +                                 float def)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getFloat(name, def);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Float.parseFloat(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as an integer.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @return The value of the resource as an integer.
>>>>   +     */
>>>>   +    public static int getInt(String name)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getInt(name);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Integer.parseInt(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as an integer, or a default value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the resource as an integer.
>>>>   +     */
>>>>   +    public static int getInt(String name,
>>>>   +                             int def)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getInt(name, def);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Integer.parseInt(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a long.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @return The value of the resource as a long.
>>>>   +     */
>>>>   +    public static long getLong(String name)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getLong(name);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Long.parseLong(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>   +
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a long, or a default value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the resource as a long.
>>>>   +     */
>>>>   +    public static long getLong(String name,
>>>>   +                               long def)
>>>>   +    {
>>>>   +        try
>>>>   +        {
>>>>   +            return TurbineResources.getLong(name, def);
>>>>   +        }
>>>>   +        catch (ClassCastException e)
>>>>   +        {
>>>>   +            // get the possible list
>>>>   +            String[] values = getStringArray(name);
>>>>   +
>>>>   +            // try again with the first
>>>>   +            if ((values != null) && (values.length > 0))
>>>>   +                return Long.parseLong(values[0]);
>>>>   +
>>>>   +            // otherwise, just throw the exception
>>>>   +            throw e;
>>>>   +        }
>>>>   +    }
>>>>
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a string.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @return The value of the resource as a string.
>>>>   +     */
>>>>   +    public static String getString(String name)
>>>>   +    {
>>>>   +        // get the possible list
>>>>   +        String[] values = getStringArray(name);
>>>>   +        if ((values != null) && (values.length > 0))
>>>>   +            return values[0];
>>>>
>>>>   +        return TurbineResources.getString(name);
>>>>   +    }
>>>>
>>>>   +    /**
>>>>   +     * The purpose of this method is to get the configuration
>>>> resource
>>>>   +     * with the given name as a string, or a default value.
>>>>   +     *
>>>>   +     * @param name The resource name.
>>>>   +     * @param def The default value of the resource.
>>>>   +     * @return The value of the resource as a string.
>>>>   +     */
>>>>   +    public static String getString(String name,
>>>>   +                                   String def)
>>>>   +    {
>>>>   +        // get the possible list
>>>>   +        String[] values = getStringArray(name);
>>>>   +        if ((values != null) && (values.length > 0))
>>>>   +            return values[0];
>>>>   +
>>>>   +        return TurbineResources.getString(name, def);
>>>>   +    }
>>>>    }
>>>>   +
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> To unsubscribe, e-mail:
>>>> <mailto:[EMAIL PROTECTED]>
>>>> For additional commands, e-mail:
>>>> <mailto:[EMAIL PROTECTED]>
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: Josh Hone [mailto:[EMAIL PROTECTED]]
>>>>> Sent: Tuesday, September 17, 2002 9:58 PM
>>>>> To: [EMAIL PROTECTED]
>>>>> Subject: JR.prop duplicate booleans break...
>>>>>
>>>>>
>>>>> Hi all -
>>>>>
>>>>> I have noticed that if I have duplicate boolean values for
>>>>> some properties
>>>>> that the machine gives you a horrible exception and does not
>>>>> like it at all.
>>>>>   It says that the value assigned to the property is not
>>>>> boolean.  Here is
>>>>> what I did:
>>>>>
>>>>> I copied some properties from JR.p to my own properties
>>>>> files.  Then I
>>>>> edited some (for the email config) and restarted everything.
>>>>> Upon opening
>>>>> the portal, I encountered the horrible exception for a
>>>>> property that was
>>>>> duplicated in both properties files.  It was the same both 
>>>>> places.  I
>>>>> commented it out and restarted everything.  This time I was
>>>>> able to log in
>>>>> but again received a Horrible Exception, pointing to a
>>>>> property that I did
>>>>> alter.  Both times the error message was the same.
>>>>>
>>>>> The issue was resolved as I removed the duplicate areas.  I
>>>>> deleted the ones
>>>>> I changed in my personal file from JR.p.  I also deleted the
>>>>> ones I did not
>>>>> change from my personal file.  Then the system works fine (I
>>>>> just have to
>>>>> get out of the firewall...).
>>>>>
>>>>> Is this a bug?
>>>>>
>>>>> I am interested in this mainly because for an upgrade of a
>>>>> jetspeed system,
>>>>> it is much easier to maintain your own properties files.  It
>>>>> gets much
>>>>> harder when you have to manually go into the default files to
>>>>> look for
>>>>> things to edit.  Not harder for me personally, but for
>>>>> whoever after me
>>>>> looks after this portal.
>>>>>
>>>>> Josh Hone
>>>>>
>>>>> _________________________________________________________________
>>>>> Chat with friends online, try MSN Messenger: 
>>>>> http://messenger.msn.com
>>>>>
>>>>>
>>>>> --
>>>>> To unsubscribe, e-mail:
>>>>> <mailto:jetspeed-user-> [EMAIL PROTECTED]>
>>>>> For
>>>>> additional commands,
>>>>> e-mail: <mailto:[EMAIL PROTECTED]>
>>>>>
>>>>
>>>> --
>>>> To unsubscribe, e-mail:   <mailto:jetspeed-user-
>>>> [EMAIL PROTECTED]>
>>>> For additional commands, e-mail: <mailto:jetspeed-user-
>>>> [EMAIL PROTECTED]>
>>>
>>>
>>>
>>>
>>> _________________________________________________________________
>>> MSN Photos is the easiest way to share and print your photos:
>>> http://photos.msn.com/support/worldwide.aspx
>>>
>>>
>>> --
>>> To unsubscribe, e-mail:   <mailto:jetspeed-user-
>>> [EMAIL PROTECTED]>
>>> For additional commands, e-mail: <mailto:jetspeed-user-
>>> [EMAIL PROTECTED]>
>>>

- Glenn

---------------------------------------------------------------------
Glenn R. Golden    Systems Research Programmer
School of Information             University of Michigan
[EMAIL PROTECTED]                            734-615-1419
---------------------------------------------------------------------
>>
>> --
>> To unsubscribe, e-mail:   <mailto:jetspeed-user-
>> [EMAIL PROTECTED]>
>> For additional commands, e-mail: <mailto:jetspeed-user-
>> [EMAIL PROTECTED]>
>
>
> --
> To unsubscribe, e-mail:   <mailto:jetspeed-user-
> [EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:jetspeed-user-
> [EMAIL PROTECTED]>


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

Reply via email to