Home | History | Annotate | Download | only in dbtool
      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