morciuch    2002/09/30 10:35:04

  Modified:    src/java/org/apache/jetspeed/util StringUtils.java
  Log:
  Added method replaceVars
  
  Revision  Changes    Path
  1.7       +40 -1     
jakarta-jetspeed/src/java/org/apache/jetspeed/util/StringUtils.java
  
  Index: StringUtils.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/StringUtils.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StringUtils.java  26 Jul 2002 01:47:21 -0000      1.6
  +++ StringUtils.java  30 Sep 2002 17:35:04 -0000      1.7
  @@ -56,12 +56,14 @@
   
   import org.apache.turbine.util.Log;
   import java.util.StringTokenizer;
  +import java.util.Map;
   
   /**
    * This class provides static util methods for String manaipulation that 
    * aren't part of the default JDK functionalities.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Rapha�l Luta</a>
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Mark Orciuch</a> 
    * @version $Id$
    */
   public class StringUtils 
  @@ -245,5 +247,42 @@
           }
           return filename;
       }               
  +
  +    /**
  +     * Performs variable substitution for a string. String is scanned for 
${variable_name} and if one is found,
  +     * it is replaced with corresponding value from the vars hashtable.
  +     * 
  +     * @param origString unmodified string
  +     * @param vars Hashtable of replacement values
  +     * @return modified string
  +     * @exception Exception
  +     */
  +    public static String replaceVars(String origString, Map vars) 
  +    {
  +
  +        StringBuffer finalString = new StringBuffer();
  +        int index = 0;
  +        int i = 0;
  +        String key = null;
  +        String value = null;
  +        while ((index = origString.indexOf("${", i)) > -1) 
  +        {
  +            key = origString.substring(index + 2, origString.indexOf("}", index+3));
  +            value = (String) vars.get(key);
  +            finalString.append(origString.substring(i, index));
  +            if (value != null) 
  +            {
  +                finalString.append(value);
  +            } 
  +            else 
  +            {
  +                finalString.append("${"+key+"}");
  +            }
  +            i = index + 3 + key.length();
  +        }
  +        finalString.append (origString.substring(i));
  +
  +        return finalString.toString();
  +    }
   
   }
  
  
  

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

Reply via email to