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