View Javadoc

1   package com.flexiblewebsolutions.xdriveunit;
2   
3   import com.flexiblewebsolutions.xml.util.XMLStringParser;
4   
5   /***
6    * Loads the configuration information and retrieves and returns requested
7    * information.
8    * 
9    * @author Donavon Buss
10   *  
11   */
12  class TestConfigurationLoader {
13  	private StringBuffer _ConfigXML = new StringBuffer();
14  
15  	/***
16  	 * Constructor
17  	 * 
18  	 * @param pConfigXML Xml configuration data for test.
19  	 */
20  	public TestConfigurationLoader(StringBuffer pConfigXML) {
21  		_ConfigXML = pConfigXML;
22  	}
23  
24  	/***
25  	 * Retrieve entire XML entry where class name value of the entry is equal to
26  	 * passed in value.
27  	 * 
28  	 * @param pClassName -
29  	 *            Entry will be returned if stored value matches this value
30  	 * @return XML String containing configuration information.
31  	 */
32  	public String parseConfigurationForClass(String pClassName) {
33  		String returnXML = null;
34  		StringBuffer xmlString = new StringBuffer(_ConfigXML.toString());
35  		boolean classFound = false;
36  		xmlString = new StringBuffer(XMLStringParser.getValueForTag(xmlString,
37  				"classes"));
38  		String classTag = "class";
39  		String startTag = "<" + classTag + ">";
40  		String endTag = "</" + classTag + ">"; 
41  
42  		String[] classDefs = XMLStringParser.getMatchingNestedTags(xmlString
43  				.toString(), classTag);
44  		for (int i = 0; i < classDefs.length && (!classFound); i++) {
45  			StringBuffer thisEntry = new StringBuffer(classDefs[i]);
46  
47  			String classname = XMLStringParser.getValueForTag(thisEntry,
48  					"classname");
49  
50  			if (classname.equals(pClassName)) {
51  				classFound = true;
52  				returnXML = thisEntry.toString();
53  			}
54  
55  			thisEntry = null;
56  			classname = null;
57  		}
58  
59  		xmlString = null;
60  		classTag = null;
61  		startTag = null;
62  		endTag = null;
63  
64  		return (returnXML);
65  	}
66  }