adding TestON
diff --git a/TestON/TAI/src/tai_ofa/OFAParamDeviceName.java b/TestON/TAI/src/tai_ofa/OFAParamDeviceName.java
new file mode 100644
index 0000000..a8146df
--- /dev/null
+++ b/TestON/TAI/src/tai_ofa/OFAParamDeviceName.java
@@ -0,0 +1,336 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tai_ofa;
+
+import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.FileInputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ *
+ * @author Raghav Kashyap (raghavkashyap@paxterrasolutions.com)
+
+ * TestON is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+
+ * TestON is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with TestON. If not, see <http://www.gnu.org/licenses/>.
+
+ */
+class OFAParamDeviceName {
+
+ String paramFilePath;
+ ArrayList<String> paramDeviceName;
+ ArrayList<String> driverFunctionName;
+ ArrayList<String> paramDeviceType;
+ ArrayList<String> paramDeviceCoordinate;
+ ArrayList<String> paramDeviceHost;
+ ArrayList<String> paramDeviceUser;
+ ArrayList<String> paramDevicePassword;
+ ArrayList<String> paramDeviceTransport;
+ ArrayList<String> paramDevicePort;
+ ArrayList<String> paramDeviceBrowser;
+ ArrayList<String> paramDeviceUrl;
+ HashMap<String, String> deviceInfo = new HashMap();
+ HashMap<String, String> urlInfo = new HashMap();
+ HashMap<String, String> browserInfo = new HashMap();
+ HashMap<String, String> coordinateInfo = new HashMap();
+ HashMap<String, String> hostInfo = new HashMap();
+ HashMap<String, String> userInfo = new HashMap();
+ HashMap<String, String> passwordInfo = new HashMap();
+ HashMap<String, String> portInfo = new HashMap();
+ HashMap<String, String> transportInfo = new HashMap();
+ String cliFunction;
+ HashMap deviceFunctionAndParameter = new HashMap();
+ HashMap<String, String> functionWithParameter;
+ String functionName;
+ String functionParameter;
+ HashMap<String, String> webFunctionHashFirstParameter = new HashMap<String, String>();
+ HashMap<String, String> webFunctionHashSecondParameter = new HashMap<String, String>();
+ ArrayList<String> seleniumFunctionList = new ArrayList<String>();
+ String bdrAction;
+ TAILocale label = new TAILocale(new Locale("en", "EN"));
+ String autoMateHarnessPath = label.OFAHarnessPath;
+ ArrayList<String> bdrFunctionName;
+
+ public OFAParamDeviceName() {
+ }
+
+ public OFAParamDeviceName(String filePath, String driverFilePath) {
+ paramDeviceName = new ArrayList<String>();
+ paramDeviceType = new ArrayList<String>();
+ paramDeviceCoordinate = new ArrayList<String>();
+ paramDeviceHost = new ArrayList<String>();
+ paramDeviceUser = new ArrayList<String>();
+ paramDevicePassword = new ArrayList<String>();
+ paramDeviceTransport = new ArrayList<String>();
+ paramDevicePort = new ArrayList<String>();
+ paramDeviceBrowser = new ArrayList<String>();
+ paramDeviceUrl = new ArrayList<String>();
+ this.paramFilePath = filePath;
+ }
+
+ public void parseParamFile() {
+ try {
+
+ FileInputStream fstream = new FileInputStream(paramFilePath);
+ ArrayList<String> paramFileName = new ArrayList<String>();
+ ArrayList<String> nameBetweenTags = new ArrayList<String>();
+ DataInputStream in = new DataInputStream(fstream);
+ BufferedReader br = new BufferedReader(new InputStreamReader(in));
+ String strLine;
+ while ((strLine = br.readLine()) != null) {
+ paramFileName.add(strLine);
+
+ }
+
+ for (int i = 0; i < paramFileName.size(); i++) {
+ String dName = "";
+ String dType = "";
+ String dCoordinate = "";
+ String dHost = "";
+ String dUser = "";
+ String dPassword = "";
+ String dTransport = "";
+ String dPort = "";
+ String dBrowser = "";
+ String dUrl = "";
+ Pattern devicePatternMatch = Pattern.compile("<COMPONENT>");
+ Matcher deviceNameMatch = devicePatternMatch.matcher(paramFileName.get(i));
+ if (deviceNameMatch.find()) {
+ int j = i + 1;
+ while (!paramFileName.get(j).equals("</COMPONENT>")) {
+ Pattern newTag = Pattern.compile("<(.+)(\\d+)>");
+ Matcher tagMatch = newTag.matcher(paramFileName.get(j));
+ if (tagMatch.find()) {
+ String temp = tagMatch.group(1);
+ Pattern slashCheck = Pattern.compile("^\\w+");
+ Matcher slashMatch = slashCheck.matcher(temp);
+ if (slashMatch.find()) {
+ paramDeviceName.add(slashMatch.group() + tagMatch.group(2));
+ dName = slashMatch.group() + tagMatch.group(2);
+ }
+
+ }
+
+
+ Pattern deviceTypePattern = Pattern.compile("<type>\\s*(.+)\\s*</type>");
+ Matcher deviceTypeMatch = deviceTypePattern.matcher(paramFileName.get(j));
+
+ while (deviceTypeMatch.find()) {
+ paramDeviceType.add(deviceTypeMatch.group(1));
+ dType = deviceTypeMatch.group(1).toLowerCase();
+
+ }
+ Pattern deviceCoordinatePattern = Pattern.compile("<coordinate(x,y)>\\s*(.+)\\s*</coordinate(x,y)>");
+ Matcher deviceCoordinateMatch = deviceCoordinatePattern.matcher(paramFileName.get(j));
+ while (deviceCoordinateMatch.find()) {
+ paramDeviceCoordinate.add(deviceCoordinateMatch.group(1));
+ dCoordinate = deviceCoordinateMatch.group(1);
+
+ }
+ Pattern devicehostNamePattern = Pattern.compile("<host>\\s*(.+)\\s*</host>");
+ Matcher deviceHostMatch = devicehostNamePattern.matcher(paramFileName.get(j));
+
+ while (deviceHostMatch.find()) {
+ paramDeviceHost.add(deviceHostMatch.group(1));
+ dHost = deviceHostMatch.group(1);
+ }
+ Pattern deviceUserPattern = Pattern.compile("<user>\\s*(.+)\\s*</user>");
+ Matcher deviceUserMatch = deviceUserPattern.matcher(paramFileName.get(j));
+ while (deviceUserMatch.find()) {
+ paramDeviceUser.add(deviceUserMatch.group(1));
+ dUser = deviceUserMatch.group(1);
+ }
+
+ Pattern devicePasswordPattern = Pattern.compile("<password>\\s*(.+)\\s*</password>");
+ Matcher devicePasswordMatch = devicePasswordPattern.matcher(paramFileName.get(j));
+ while (devicePasswordMatch.find()) {
+ paramDevicePassword.add(devicePasswordMatch.group(1));
+ dPassword = devicePasswordMatch.group(1);
+ }
+
+ Pattern devicePortPattern = Pattern.compile("<test_target>\\s*(.+)\\s*</test_target>");
+ Matcher devicePortMatch = devicePortPattern.matcher(paramFileName.get(j));
+ while (devicePortMatch.find()) {
+ paramDevicePort.add(devicePortMatch.group(1));
+ dPort = devicePortMatch.group(1);
+ }
+
+ deviceInfo.put(dName, dType);
+ coordinateInfo.put(dName, dCoordinate);
+ hostInfo.put(dName, dHost);
+ userInfo.put(dName, dUser);
+ passwordInfo.put(dName, dPassword);
+ portInfo.put(dName, dPort);
+ j++;
+ }
+ }
+ }
+ //Close the input stream
+ in.close();
+ } catch (Exception e) {//Catch exception if any
+ System.err.println("Error: " + e.getMessage());
+ }
+ }
+
+ public void parseDevice(String devicePath) {
+ try {
+ FileInputStream fstream = new FileInputStream(devicePath);
+ DataInputStream in = new DataInputStream(fstream);
+ BufferedReader br = new BufferedReader(new InputStreamReader(in));
+ String strLine;
+ while ((strLine = br.readLine()) != null) {
+ Pattern cliFunctionPattern = Pattern.compile("sub\\s+(\\w+)");
+ Matcher cliFunctionMatch = cliFunctionPattern.matcher(strLine);
+ Pattern cliFunctionArgumentPattern = Pattern.compile("utilities.parse_args\\(\\[\\s+qw\\((.*)\\)\\s*\\]\\,(.*)");
+ Matcher argumentMatch = cliFunctionArgumentPattern.matcher(strLine);
+ while (cliFunctionMatch.find()) {
+ cliFunction = cliFunctionMatch.group(1);
+ Pattern rm = Pattern.compile("_(.*)");
+ Matcher str2 = rm.matcher(cliFunction);
+ if (!str2.find()) {
+ }
+ }
+ while (argumentMatch.find()) {
+ deviceFunctionAndParameter.put(cliFunction, argumentMatch.group(1));
+ }
+ }
+ } catch (Exception e) {
+ }
+ }
+
+ public void driverFunctionName(String driverPath) {
+ try {
+ functionWithParameter = new HashMap<String, String>();
+ FileInputStream fstream = new FileInputStream(driverPath);
+ driverFunctionName = new ArrayList<String>();
+ DataInputStream in = new DataInputStream(fstream);
+ BufferedReader br = new BufferedReader(new InputStreamReader(in));
+ String strLine;
+ while ((strLine = br.readLine()) != null) {
+ Pattern functionParameterPattern = Pattern.compile("(.*)\\s*=\\s*utilities.parse_args\\(\\s*\\[\\s*(.*)\\s*\\]\\s*\\,(.*)");
+ Matcher functionParaMeterMatch = functionParameterPattern.matcher(strLine);
+ Pattern pattern = Pattern.compile("^\\s*def\\s+(\\w+)");
+ Matcher match = pattern.matcher(strLine);
+ while (match.find()) {
+ functionName = match.group(1);
+ Pattern cliFunctionWithOut_ = Pattern.compile("_(.*)");
+ Matcher cliFunctionWithOut_Match = cliFunctionWithOut_.matcher(functionName);
+ if (!cliFunctionWithOut_Match.find()) {
+ driverFunctionName.add(match.group(1));
+ }
+
+
+ }
+ while (functionParaMeterMatch.find()) {
+ functionParameter = functionParaMeterMatch.group(2);
+ functionWithParameter.put(functionName, functionParameter);
+ }
+ }
+ } catch (Exception e) {
+ }
+ }
+
+ public ArrayList<String> getParamDeviceName() {
+ return paramDeviceName;
+ }
+
+ public ArrayList<String> getParamDeviceType() {
+ return paramDeviceType;
+ }
+
+ public ArrayList<String> getDriverFunctionName() {
+ return driverFunctionName;
+ }
+
+ public ArrayList<String> getCoordinateName() {
+ return paramDeviceCoordinate;
+ }
+
+ public ArrayList<String> getBrowserName() {
+ return paramDeviceBrowser;
+ }
+
+ public ArrayList<String> getHostName() {
+ return paramDeviceHost;
+ }
+
+ public ArrayList<String> getUserName() {
+ return paramDeviceUser;
+ }
+
+ public ArrayList<String> getPassword() {
+ return paramDevicePassword;
+ }
+
+ public ArrayList<String> getTransport() {
+ return paramDeviceTransport;
+ }
+
+ public ArrayList<String> getPort() {
+ return paramDevicePort;
+ }
+
+ public ArrayList<String> getUrl() {
+ return paramDeviceUrl;
+ }
+
+ public HashMap<String, String> getdeviceNameAndType() {
+ return deviceInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndBrowser() {
+ return browserInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndUrl() {
+ return urlInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndCoordinate() {
+ return coordinateInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndHost() {
+ return hostInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndUser() {
+ return userInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndPassword() {
+ return passwordInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndTransport() {
+ return transportInfo;
+ }
+
+ public HashMap<String, String> getdeviceNameAndPort() {
+ return portInfo;
+ }
+
+ public HashMap<String, String> getDeviceFunctionAndArgument() {
+ return deviceFunctionAndParameter;
+ }
+}