1 package com.mot.dm.dbtool; 2 3 import java.util.*; 4 5 public class Browser { 6 public static int colsNum = 0; //number of columns in the comma sep file. 7 public static ArrayList arrBrowserFromLines = new ArrayList(); 8 public static ArrayList arrBrowserLineHeaders = new ArrayList(); 9 10 public Value mcc = new Value(); 11 public Value mnc = new Value(); 12 public Value operator_name = new Value(); 13 public Value country_name = new Value(); 14 public Value ap_requires_auth = new Value(); 15 public Value ppp_auth_type = new Value(); 16 public Value ppp_auth_name = new Value(); 17 public Value ppp_auth_secret = new Value(); 18 public Value service_name = new Value(); 19 public Value nap_addr_type = new Value(); 20 public Value gprs_access_point_name = new Value(); 21 public Value dns_1 = new Value(); 22 public Value dns_2 = new Value(); 23 public Value bearer = new Value(); 24 public Value proxy = new Value(); 25 public Value proxy_addr_type = new Value(); 26 public Value port = new Value(); 27 public Value proxy_type = new Value(); 28 public Value proxy_requires_auth = new Value(); 29 public Value proxy_auth_name = new Value(); 30 public Value proxy_auth_secret = new Value(); 31 public Value proxy_auth_type = new Value(); 32 public Value account_type = new Value(); 33 public Value homepage_url = new Value(); 34 public String id_name = ""; 35 36 // Data validation 37 public String validateData() { 38 boolean isProxyEmpty = Validator.isValEmpty(proxy); 39 StringBuffer err = new StringBuffer(); 40 err.append(Validator.validateMCC(mcc)); 41 err.append(Validator.validateMNC(mnc)); 42 err.append(Validator.validateStringValue(operator_name, true, -1, 43 Const.OPERATOR_NAME_MAX_LENGTH, 44 "operator_name")); 45 err.append(Validator.validateApRequiresAuth(ap_requires_auth)); 46 err.append(Validator.validatePppAuthType(ppp_auth_type, 47 ap_requires_auth.val)); 48 err.append(Validator.validatePppAuthName(ppp_auth_name, 49 ap_requires_auth.val)); 50 err.append(Validator.validatePppAuthSecret(ppp_auth_secret, 51 ap_requires_auth.val)); 52 err.append(Validator.validateStringValue(service_name, true, -1, 53 Const.SERVICE_NAME_MAX_LENGTH, 54 "service_name")); 55 err.append(Validator.validateNAPAddrType(nap_addr_type)); 56 err.append(Validator.validateGprsAccessPoint(gprs_access_point_name, 57 nap_addr_type.val)); 58 err.append(Validator.validateDNS(dns_1)); 59 err.append(Validator.validateDNS(dns_2)); 60 err.append(Validator.validateBearer(bearer)); 61 err.append(Validator.validateProxy(proxy, proxy_addr_type.val)); 62 err.append(Validator.validateProxyAddrType(proxy_addr_type, isProxyEmpty)); 63 err.append(Validator.validatePort(port, isProxyEmpty)); 64 err.append(Validator.validateProxyType(proxy_type, isProxyEmpty)); 65 err.append(Validator.validateProxyRequiresAuth(proxy_requires_auth, 66 isProxyEmpty)); 67 err.append(Validator.validateProxyAuthName(proxy_auth_name, isProxyEmpty, 68 proxy_requires_auth.val)); 69 err.append(Validator.validateProxyAuthSecret(proxy_auth_secret, 70 isProxyEmpty, 71 proxy_requires_auth.val)); 72 err.append(Validator.validateProxyAuthType(proxy_auth_type, isProxyEmpty, 73 proxy_requires_auth.val)); 74 err.append(Validator.validateAccountType(account_type)); 75 76 return err.toString(); 77 } 78 79 public static void createXmlMessages() throws Exception { 80 for (int i = 0; i < arrBrowserFromLines.size(); i++) { 81 createXml((Browser) arrBrowserFromLines.get(i)); 82 } 83 } 84 85 public static void createXml(Browser browser) throws Exception { 86 String xml; 87 // String key = browser.mcc.val + ":" + browser.mnc.val + ":" + browser.operator_name.val + 88 // ":" + browser.account_type.val.toUpperCase(); 89 String key = Record.createKey(browser.mcc.val, browser.mnc.val, 90 browser.operator_name.val, 91 browser.account_type.val.toUpperCase()); 92 93 browser.id_name = Util.getIdNameFromRecords(browser.service_name.val, key); 94 // APPLICATION 95 xml = " <characteristic type=\"APPLICATION\">\n"; 96 xml += " <parm name=\"APPID\" value=\"w2\"/>\n"; 97 xml += " <parm name=\"NAME\" value=\"" + browser.id_name + "\"/>\n"; 98 if (browser.proxy.val.length() > 0) { 99 xml += " <parm name=\"TO-PROXY\" value=\"PX_" + browser.id_name + "\"/>\n"; 100 } 101 else { 102 xml += " <parm name=\"TO-NAPID\" value=\"NAP_" + browser.id_name + "\"/>\n"; 103 } 104 // RESOURCE 105 xml += " <characteristic type=\"RESOURCE\">\n"; 106 xml += " <parm name=\"URI\" value=\"" + browser.homepage_url.val + 107 "\"/>\n"; 108 xml += " <parm name=\"NAME\" value=\"RES_" + browser.id_name + "\"/>\n"; 109 xml += " <parm name=\"STARTPAGE\" value=\"" + browser.homepage_url.val + 110 "\"/>\n"; 111 xml += " </characteristic>\n"; ///// RESOURCE 112 xml += " </characteristic>\n\n"; ///// APPLICATION 113 114 if (browser.proxy.val.length() > 0) { 115 // PXLOGICAL 116 xml += " <characteristic type=\"PXLOGICAL\">\n"; 117 xml += " <parm name=\"PROXY-ID\" value=\"PX_" + browser.id_name + "\"/>\n"; 118 xml += " <parm name=\"NAME\" value=\"" + browser.id_name + "\"/>\n"; 119 // PXPHYSICAL 120 xml += " <characteristic type=\"PXPHYSICAL\">\n"; 121 xml += " <parm name=\"PHYSICAL-PROXY-ID\" value=\"PXPH_" + browser.id_name + 122 "\"/>\n"; 123 xml += " <parm name=\"PXADDR\" value=\"" + browser.proxy.val + 124 "\"/>\n"; 125 xml += " <parm name=\"PXADDRTYPE\" value=\"" + 126 browser.proxy_addr_type.val + "\"/>\n"; 127 xml += " <parm name=\"TO-NAPID\" value=\"NAP_" + browser.id_name + "\"/>\n"; 128 if (browser.port.val.length() > 0) { 129 //PORT 130 xml += " <characteristic type=\"PORT\">\n"; 131 xml += " <parm name=\"PORTNBR\" value=\"" + browser.port.val + 132 "\"/>\n"; 133 if (browser.proxy_type.val.length() > 0) { 134 xml += " <parm name=\"SERVICE\" value=\"" + 135 browser.proxy_type.val + 136 "\"/>\n"; 137 } 138 xml += " </characteristic>\n"; /////PORT 139 } 140 xml += " </characteristic>\n"; ///// PXPHYSICAL 141 if (Util.strToBool(browser.proxy_requires_auth.val)) { 142 // PXAUTHINFO 143 xml += " <characteristic type=\"PXAUTHINFO\">\n"; 144 xml += " <parm name=\"PXAUTH-TYPE\" value=\"" + 145 browser.proxy_auth_type.val + "\"/>\n"; 146 xml += " <parm name=\"PXAUTH-ID\" value=\"" + 147 browser.proxy_auth_name.val + "\"/>\n"; 148 xml += " <parm name=\"PXAUTH-PW\" value=\"" + 149 browser.proxy_auth_secret.val + "\"/>\n"; 150 xml += " </characteristic>\n"; ///// PXAUTHINFO 151 } 152 xml += " </characteristic>\n\n"; ///// PXLOGICAL 153 } 154 // NAPDEF 155 xml += " <characteristic type=\"NAPDEF\">\n"; 156 xml += " <parm name=\"NAPID\" value=\"NAP_" + browser.id_name + "\"/>\n"; 157 xml += " <parm name=\"NAME\" value=\"" + browser.id_name + "\"/>\n"; 158 xml += " <parm name=\"BEARER\" value=\"" + browser.bearer.val + "\"/>\n"; 159 xml += " <parm name=\"NAP-ADDRESS\" value=\"" + 160 browser.gprs_access_point_name.val + "\"/>\n"; 161 xml += " <parm name=\"NAP-ADDRTYPE\" value=\"" + 162 browser.nap_addr_type.val + "\"/>\n"; 163 if (browser.dns_1.val.length() > 0) { 164 xml += " <parm name=\"DNS-ADDR\" value=\"" + browser.dns_1.val + 165 "\"/>\n"; 166 } 167 if (browser.dns_2.val.length() > 0) { 168 xml += " <parm name=\"DNS-ADDR\" value=\"" + browser.dns_2.val + 169 "\"/>\n"; 170 } 171 if (Util.strToBool(browser.ap_requires_auth.val)) { 172 // NAPAUTHINFO 173 xml += " <characteristic type=\"NAPAUTHINFO\">\n"; 174 xml += " <parm name=\"AUTHTYPE\" value=\"" + 175 browser.ppp_auth_type.val + 176 "\"/>\n"; 177 xml += " <parm name=\"AUTHNAME\" value=\"" + 178 browser.ppp_auth_name.val + 179 "\"/>\n"; 180 xml += " <parm name=\"AUTHSECRET\" value=\"" + 181 browser.ppp_auth_secret.val + "\"/>\n"; 182 xml += " </characteristic>\n"; ///// NAPAUTHINFO 183 } 184 xml += " </characteristic>\n\n"; ///// NAPDEF 185 Util.addXmlToRecord(xml, key, browser.id_name, "Browser"); 186 } 187 } 188