KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > jmeter > engine > util > ReplaceFunctionsWithStrings


1 // $Header: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/util/ReplaceFunctionsWithStrings.java,v 1.3 2004/02/14 03:34:28 sebb Exp $
2
/*
3  * Copyright 2003-2004 The Apache Software Foundation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17 */

18
19 /*
20  * Created on May 4, 2003
21  */

22 package org.apache.jmeter.engine.util;
23
24 import java.util.Iterator JavaDoc;
25 import java.util.Map JavaDoc;
26
27 import org.apache.jmeter.functions.InvalidVariableException;
28 import org.apache.jmeter.testelement.property.JMeterProperty;
29 import org.apache.jmeter.testelement.property.StringProperty;
30 import org.apache.jmeter.util.StringUtilities;
31
32 /**
33  * @author ano ano
34  * @version $Revision: 1.3 $
35  */

36 public class ReplaceFunctionsWithStrings extends AbstractTransformer
37 {
38     public ReplaceFunctionsWithStrings(
39         CompoundVariable masterFunction,
40         Map JavaDoc variables)
41     {
42         super();
43         setMasterFunction(masterFunction);
44         setVariables(variables);
45     }
46
47     /* (non-Javadoc)
48      * @see ValueTransformer#transformValue(JMeterProperty)
49      */

50     public JMeterProperty transformValue(JMeterProperty prop)
51         throws InvalidVariableException
52     {
53         Iterator JavaDoc iter = getVariables().keySet().iterator();
54         String JavaDoc input = prop.getStringValue();
55         while (iter.hasNext())
56         {
57             String JavaDoc key = (String JavaDoc) iter.next();
58             String JavaDoc value = (String JavaDoc) getVariables().get(key);
59             input = StringUtilities.substitute(input, value, "${" + key + "}");
60         }
61         StringProperty newProp = new StringProperty(prop.getName(), input);
62         return newProp;
63     }
64 }
65
Popular Tags