1*cd519653SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*cd519653SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*cd519653SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*cd519653SAndrew Rist * distributed with this work for additional information 6*cd519653SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*cd519653SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*cd519653SAndrew Rist * "License"); you may not use this file except in compliance 9*cd519653SAndrew Rist * with the License. You may obtain a copy of the License at 10*cd519653SAndrew Rist * 11*cd519653SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*cd519653SAndrew Rist * 13*cd519653SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*cd519653SAndrew Rist * software distributed under the License is distributed on an 15*cd519653SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*cd519653SAndrew Rist * KIND, either express or implied. See the License for the 17*cd519653SAndrew Rist * specific language governing permissions and limitations 18*cd519653SAndrew Rist * under the License. 19*cd519653SAndrew Rist * 20*cd519653SAndrew Rist *************************************************************/ 21*cd519653SAndrew Rist 22*cd519653SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package mod._scripting; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import java.io.File; 27cdf0e10cSrcweir import java.io.FileReader; 28cdf0e10cSrcweir import java.io.BufferedReader; 29cdf0e10cSrcweir import java.io.IOException; 30cdf0e10cSrcweir 31cdf0e10cSrcweir import java.util.ArrayList; 32cdf0e10cSrcweir import java.util.HashMap; 33cdf0e10cSrcweir import java.util.StringTokenizer; 34cdf0e10cSrcweir 35cdf0e10cSrcweir import lib.TestEnvironment; 36cdf0e10cSrcweir import lib.Parameters; 37cdf0e10cSrcweir 38cdf0e10cSrcweir public class TestDataLoader { 39cdf0e10cSrcweir TestDataLoader()40cdf0e10cSrcweir private TestDataLoader() { 41cdf0e10cSrcweir } 42cdf0e10cSrcweir setupData(TestEnvironment tEnv, String name)43cdf0e10cSrcweir public static void setupData(TestEnvironment tEnv, String name) { 44cdf0e10cSrcweir String filename = 45cdf0e10cSrcweir util.utils.getFullTestDocName("testdata"); 46cdf0e10cSrcweir File testdatadir = new File(filename); 47cdf0e10cSrcweir File f = new File(testdatadir, name + ".csv"); 48cdf0e10cSrcweir 49cdf0e10cSrcweir if (!f.exists()) 50cdf0e10cSrcweir return; 51cdf0e10cSrcweir 52cdf0e10cSrcweir BufferedReader in; 53cdf0e10cSrcweir 54cdf0e10cSrcweir try { 55cdf0e10cSrcweir in = new BufferedReader(new FileReader(f)); 56cdf0e10cSrcweir 57cdf0e10cSrcweir String s, previous, current; 58cdf0e10cSrcweir ArrayList list = new ArrayList(11); 59cdf0e10cSrcweir 60cdf0e10cSrcweir if ((s = in.readLine()) != null) { 61cdf0e10cSrcweir StringTokenizer st = new StringTokenizer(s, ";"); 62cdf0e10cSrcweir 63cdf0e10cSrcweir current = previous = st.nextToken(); 64cdf0e10cSrcweir list.add(getParameters(st)); 65cdf0e10cSrcweir } 66cdf0e10cSrcweir else { 67cdf0e10cSrcweir return; 68cdf0e10cSrcweir } 69cdf0e10cSrcweir 70cdf0e10cSrcweir while ((s = in.readLine()) != null) { 71cdf0e10cSrcweir StringTokenizer st = new StringTokenizer(s, ";"); 72cdf0e10cSrcweir 73cdf0e10cSrcweir current = st.nextToken(); 74cdf0e10cSrcweir 75cdf0e10cSrcweir if (!current.equals(previous)) { 76cdf0e10cSrcweir tEnv.addObjRelation(previous, list); 77cdf0e10cSrcweir previous = current; 78cdf0e10cSrcweir list = new ArrayList(11); 79cdf0e10cSrcweir } 80cdf0e10cSrcweir 81cdf0e10cSrcweir list.add(getParameters(st)); 82cdf0e10cSrcweir } 83cdf0e10cSrcweir 84cdf0e10cSrcweir tEnv.addObjRelation(previous, list); 85cdf0e10cSrcweir } 86cdf0e10cSrcweir catch (IOException ioe) { 87cdf0e10cSrcweir } 88cdf0e10cSrcweir } 89cdf0e10cSrcweir getParameters(StringTokenizer st)90cdf0e10cSrcweir private static Parameters getParameters(StringTokenizer st) { 91cdf0e10cSrcweir String separator = "="; 92cdf0e10cSrcweir HashMap map = new HashMap(5); 93cdf0e10cSrcweir 94cdf0e10cSrcweir while (st.hasMoreTokens()) { 95cdf0e10cSrcweir String pair = st.nextToken(); 96cdf0e10cSrcweir StringTokenizer tokens = new StringTokenizer(pair, separator); 97cdf0e10cSrcweir 98cdf0e10cSrcweir String name; 99cdf0e10cSrcweir String value; 100cdf0e10cSrcweir 101cdf0e10cSrcweir if (tokens.countTokens() < 2) 102cdf0e10cSrcweir continue; 103cdf0e10cSrcweir 104cdf0e10cSrcweir name = tokens.nextToken(); 105cdf0e10cSrcweir if (tokens.countTokens() == 1) 106cdf0e10cSrcweir value = tokens.nextToken(); 107cdf0e10cSrcweir else { 108cdf0e10cSrcweir StringBuffer buf = new StringBuffer(tokens.nextToken()); 109cdf0e10cSrcweir while (tokens.hasMoreTokens()) 110cdf0e10cSrcweir buf.append(separator).append(tokens.nextToken()); 111cdf0e10cSrcweir value = buf.toString(); 112cdf0e10cSrcweir } 113cdf0e10cSrcweir 114cdf0e10cSrcweir map.put(name, value); 115cdf0e10cSrcweir } 116cdf0e10cSrcweir 117cdf0e10cSrcweir return new Parameters(map); 118cdf0e10cSrcweir } 119cdf0e10cSrcweir } 120