home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPMessageSvr.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  8.3 KB  |  397 lines

  1. import java.io.FileOutputStream;
  2. import java.io.InputStream;
  3. import java.util.StringTokenizer;
  4. import java.util.Vector;
  5.  
  6. public class JDPMessageSvr extends JDPServerJob {
  7.    public void runJob() {
  8.       String var1 = (String)super.params.restoreObject("messageFunction", "");
  9.       if (var1.equals("sendBulkMail")) {
  10.          this.sendBulkMail();
  11.       } else if (var1.equals("sendSingleMessage")) {
  12.          this.sendSingleMessage();
  13.       } else if (var1.equals("sendBulkAlphaPage")) {
  14.          this.sendBulkAlphaPage();
  15.       } else if (var1.equals("sendLoadedAlphaPages")) {
  16.          this.sendLoadedAlphaPages();
  17.       } else if (var1.equals("sendSingleAlphaPage")) {
  18.          this.sendSingleAlphaPage();
  19.       } else {
  20.          super.user.mainmsg.setStatusMsg("Unsupported function: " + var1, 30);
  21.       }
  22.    }
  23.  
  24.    void sendSingleMessage() {
  25.       String var1 = (String)super.params.restoreObject("mailServer", "");
  26.       String var2 = (String)super.params.restoreObject("returnAddress", "");
  27.       String var3 = (String)super.params.restoreObject("messageSubject", "");
  28.       String var4 = (String)super.params.restoreObject("message", "");
  29.       String var5 = (String)super.params.restoreObject("toAddress", "");
  30.       String var6 = (String)super.params.restoreObject("attachment", "");
  31.       if (var1 != null && !var1.equals("")) {
  32.          if (var2 != null && !var2.equals("")) {
  33.             if (var3 != null && !var3.equals("")) {
  34.                if (var4 != null && !var4.equals("")) {
  35.                   if (var5 != null && !var5.equals("")) {
  36.                      if (var6 != null && var6.equals("")) {
  37.                         var6 = "";
  38.                      }
  39.  
  40.                      String[] var7 = new String[0];
  41.                      Vector var8 = new Vector();
  42.                      var8.addElement(var5);
  43.                      this.sendMail(var1, var2, var3, var4, var7, var8, var6);
  44.                      System.runFinalization();
  45.                      System.gc();
  46.                   } else {
  47.                      this.paramReqd("toAddress");
  48.                   }
  49.                } else {
  50.                   this.paramReqd("message");
  51.                }
  52.             } else {
  53.                this.paramReqd("messageSubject");
  54.             }
  55.          } else {
  56.             this.paramReqd("returnAddress");
  57.          }
  58.       } else {
  59.          this.paramReqd("mailServer");
  60.       }
  61.    }
  62.  
  63.    void sendBulkMail() {
  64.       String var1 = (String)super.params.restoreObject("mailServer", "");
  65.       String var2 = (String)super.params.restoreObject("returnAddress", "");
  66.       String var3 = (String)super.params.restoreObject("messageSubject", "");
  67.       String var4 = (String)super.params.restoreObject("message", "");
  68.       String var5 = (String)super.params.restoreObject("attachment", "");
  69.       String var6 = (String)super.params.restoreObject("SQL", "");
  70.       String var7 = (String)super.params.restoreObject("whereClause", "");
  71.       String[] var8 = new String[0];
  72.       var8 = (String[])super.params.restoreObject("columns", var8);
  73.       if (var1 != null && !var1.equals("")) {
  74.          if (var2 != null && !var2.equals("")) {
  75.             if (var3 != null && !var3.equals("")) {
  76.                if (var4 != null && !var4.equals("")) {
  77.                   if (var6 == null) {
  78.                      this.paramReqd("SQL");
  79.                   } else if (var8 == null) {
  80.                      this.paramReqd("columns");
  81.                   } else {
  82.                      if (var5 != null && var5.equals("")) {
  83.                         var5 = "";
  84.                      }
  85.  
  86.                      super.user.mainmsg.setStatusMsg("Extracting names from database...", 0);
  87.                      Vector var9 = new Vector();
  88.                      super.jaggSQL.execSQL(var6 + var7, var9);
  89.                      this.sendMail(var1, var2, var3, var4, var8, var9, var5);
  90.                      System.runFinalization();
  91.                      System.gc();
  92.                   }
  93.                } else {
  94.                   this.paramReqd("message");
  95.                }
  96.             } else {
  97.                this.paramReqd("messageSubject");
  98.             }
  99.          } else {
  100.             this.paramReqd("returnAddress");
  101.          }
  102.       } else {
  103.          this.paramReqd("mailServer");
  104.       }
  105.    }
  106.  
  107.    void sendSingleAlphaPage() {
  108.       int var1 = super.params.restoreObject("commPort", 0);
  109.       int var2 = super.params.restoreObject("baudRate", 0);
  110.       String var3 = (String)super.params.restoreObject("serviceProvider", "");
  111.       String var4 = (String)super.params.restoreObject("pagerPINNumber", "");
  112.       String var5 = (String)super.params.restoreObject("message", "");
  113.       if (var1 == 0) {
  114.          this.paramReqd("commPort");
  115.       } else if (var2 == 0) {
  116.          this.paramReqd("baudRate");
  117.       } else if (var3 != null && !var3.equals("")) {
  118.          if (var4 != null && !var4.equals("")) {
  119.             if (var5 != null && !var5.equals("")) {
  120.                this.sendAlphaPage(var1, var2, var3, var4, var5, (String[])null, (Vector)null, (String[][])null);
  121.             } else {
  122.                this.paramReqd("message");
  123.             }
  124.          } else {
  125.             this.paramReqd("pagerPINNumber");
  126.          }
  127.       } else {
  128.          this.paramReqd("serviceProvider");
  129.       }
  130.    }
  131.  
  132.    void sendLoadedAlphaPages() {
  133.       int var1 = super.params.restoreObject("commPort", 0);
  134.       int var2 = super.params.restoreObject("baudRate", 0);
  135.       if (var1 == 0) {
  136.          this.paramReqd("commPort");
  137.       } else if (var2 == 0) {
  138.          this.paramReqd("baudRate");
  139.       } else {
  140.          String[][] var3 = new String[1][1];
  141.          var3 = (String[][])super.params.restoreObject("messageArray", var3);
  142.          if (var3 == null) {
  143.             this.paramReqd("messages");
  144.          } else {
  145.             this.sendAlphaPage(var1, var2, (String)null, (String)null, (String)null, (String[])null, (Vector)null, var3);
  146.          }
  147.       }
  148.    }
  149.  
  150.    void sendBulkAlphaPage() {
  151.       int var1 = super.params.restoreObject("commPort", 0);
  152.       int var2 = super.params.restoreObject("baudRate", 0);
  153.       String var3 = (String)super.params.restoreObject("message", "");
  154.       String var4 = (String)super.params.restoreObject("SQL", "");
  155.       String var5 = (String)super.params.restoreObject("whereClause", "");
  156.       String[] var6 = new String[0];
  157.       var6 = (String[])super.params.restoreObject("columns", var6);
  158.       if (var1 == 0) {
  159.          this.paramReqd("commPort");
  160.       } else if (var2 == 0) {
  161.          this.paramReqd("baudRate");
  162.       } else if (var3 != null && !var3.equals("")) {
  163.          if (var4 == null) {
  164.             this.paramReqd("SQL");
  165.          } else if (var6 == null) {
  166.             this.paramReqd("columns");
  167.          } else {
  168.             super.user.mainmsg.setStatusMsg("Extracting names from database...", 0);
  169.             Vector var7 = new Vector();
  170.             super.jaggSQL.execSQL(var4 + var5, var7);
  171.             this.sendAlphaPage(var1, var2, (String)null, (String)null, var3, var6, var7, (String[][])null);
  172.          }
  173.       } else {
  174.          this.paramReqd("message");
  175.       }
  176.    }
  177.  
  178.    boolean sendMail(String var1, String var2, String var3, String var4, String[] var5, Vector var6, String var7) {
  179.       int var9 = 0;
  180.       int var10 = 0;
  181.       String var11 = "";
  182.       String var12 = "";
  183.       int var13 = 0;
  184.       int var14 = 0;
  185.       JDPSendMail var8 = new JDPSendMail(var1);
  186.       int var16 = var6.size();
  187.       if (var16 > 1) {
  188.          super.user.mainmsg.setStatusMsg("Preparing to send " + Integer.toString(var16) + " messages...", 10);
  189.       } else {
  190.          super.user.mainmsg.setStatusMsg("Preparing to send message...", 10);
  191.       }
  192.  
  193.       for(int var17 = 0; var17 < var16; ++var17) {
  194.          StringTokenizer var15 = new StringTokenizer((String)var6.elementAt(var17), "\u0003");
  195.          String var18 = var15.nextToken().trim();
  196.          if (var18.toUpperCase().equals(var12) && !var12.equals("")) {
  197.             ++var10;
  198.          } else {
  199.             int var19 = var18.indexOf("@");
  200.             if (var19 < 0) {
  201.                super.user.mainmsg.setStatusMsg("Invalid Email address: " + var18, 10);
  202.             } else {
  203.                ++var9;
  204.                var11 = this.mailInsert(var4, var15, var5);
  205.                if (var14++ >= 99) {
  206.                   super.user.mainmsg.setStatusMsg("Sending message " + Integer.toString(var9) + " of " + Integer.toString(var16) + "...", 0);
  207.                   var14 = 0;
  208.                }
  209.  
  210.                if (!var8.mailMessage(var18, var2, var3, var11, var7)) {
  211.                   super.user.mainmsg.setStatusMsg(var8.result, 10);
  212.                   ++var13;
  213.                }
  214.             }
  215.  
  216.             var12 = var18.toUpperCase();
  217.          }
  218.       }
  219.  
  220.       super.user.mainmsg.setStatusMsg(Integer.toString(var9 - var13) + " sent. " + Integer.toString(var13) + " not sent. " + Integer.toString(var10) + " duplicates.", 0);
  221.       var8.closePort();
  222.       return true;
  223.    }
  224.  
  225.    boolean sendAlphaPage(int var1, int var2, String var3, String var4, String var5, String[] var6, Vector var7, String[][] var8) {
  226.       String var9 = "pagingfile.txt ";
  227.       String var10 = "Bin\\JDPAlphaPage ";
  228.       var10 = var10 + var9 + " ";
  229.       var10 = var10 + Integer.toString(var1) + " ";
  230.       var10 = var10 + Integer.toString(var2);
  231.       String var11 = "";
  232.       String var12 = "";
  233.       String var13 = "";
  234.       String var14 = "";
  235.       String var15 = "";
  236.       Object var16 = null;
  237.       int var17 = 0;
  238.       int var18 = 0;
  239.       if (var5 == null) {
  240.          for(int var19 = 0; var19 < var8.length; ++var19) {
  241.             var14 = var8[var19][0].trim();
  242.             var15 = super.user.u.replace(var8[var19][1].trim(), " ", "");
  243.             if (!var14.equals("") && !var15.equals("")) {
  244.                ++var17;
  245.                var11 = var11 + var14 + "\u0002" + var15 + "\u0002" + var8[var19][2] + "\u0001";
  246.             }
  247.          }
  248.       } else if (var7 != null) {
  249.          int var35 = var7.size();
  250.  
  251.          for(int var20 = 0; var20 < var35; ++var20) {
  252.             StringTokenizer var34 = new StringTokenizer((String)var7.elementAt(var20), "\u0003");
  253.             var14 = var34.nextToken().trim();
  254.             var15 = super.user.u.replace(var34.nextToken().trim(), " ", "");
  255.             var12 = var14 + "\u0002" + var15 + "\u0002";
  256.             if (!var14.equals("") && !var15.equals("")) {
  257.                if (!var12.toUpperCase().equals(var13) || var13.equals("")) {
  258.                   var13 = var12.toUpperCase();
  259.                   ++var17;
  260.                   var12 = var12 + this.mailInsert(var5, var34, var6) + "\u0001";
  261.                   var11 = var11 + var12;
  262.                }
  263.             } else {
  264.                ++var18;
  265.             }
  266.          }
  267.       } else {
  268.          var14 = var3.trim();
  269.          var15 = super.user.u.replace(var4.trim(), " ", "");
  270.          if (!var14.equals("") && !var15.equals("")) {
  271.             ++var17;
  272.             var11 = var14 + "\u0002" + var15 + "\u0002" + var5 + "\u0001";
  273.          }
  274.       }
  275.  
  276.       if (var17 != 0 && !var11.equals("")) {
  277.          try {
  278.             FileOutputStream var36 = new FileOutputStream(var9);
  279.             int var37 = var11.length();
  280.             byte[] var21 = new byte[var37];
  281.             var11.getBytes(0, var37, var21, 0);
  282.             var36.write(var21);
  283.             var36.close();
  284.          } catch (Exception var22) {
  285.             ((Throwable)var22).printStackTrace();
  286.             return false;
  287.          }
  288.  
  289.          if (var17 > 1) {
  290.             super.user.mainmsg.setStatusMsg("Preparing to send " + Integer.toString(var17) + " messages.", 15);
  291.          } else {
  292.             super.user.mainmsg.setStatusMsg("Preparing to send 1 message.", 15);
  293.          }
  294.  
  295.          this.execCommand(var10);
  296.          return true;
  297.       } else {
  298.          return true;
  299.       }
  300.    }
  301.  
  302.    String mailInsert(String var1, StringTokenizer var2, String[] var3) {
  303.       int var5 = var2.countTokens();
  304.  
  305.       for(int var7 = 0; var7 < var5; ++var7) {
  306.          String var8 = var2.nextToken().trim();
  307.          if (var3.length > var7 && var3[var7] != null) {
  308.             int var6 = ("@" + var3[var7]).length();
  309.  
  310.             for(int var4 = var1.indexOf("@" + var3[var7]); var4 >= 0; var4 = var1.indexOf("@" + var3[var7], var4)) {
  311.                var1 = var1.substring(0, var4) + var8 + var1.substring(var4 + var6);
  312.             }
  313.          }
  314.       }
  315.  
  316.       return var1;
  317.    }
  318.  
  319.    void paramReqd(String var1) {
  320.       super.user.mainmsg.setStatusMsg("Required parameter not supplied: " + var1, 20);
  321.    }
  322.  
  323.    int execCommand(String var1) {
  324.       int var2 = 0;
  325.       String[] var3 = new String[]{var1};
  326.       Object var4 = null;
  327.       Object var5 = null;
  328.       char[] var6 = null;
  329.       char[] var7 = var6;
  330.       if (var6 == null) {
  331.          var7 = var6 = new char[128];
  332.       }
  333.  
  334.       int var8 = var7.length;
  335.       int var9 = 0;
  336.       boolean var10 = false;
  337.  
  338.       try {
  339.          Runtime var11 = Runtime.getRuntime();
  340.          Process var12 = var11.exec(var1);
  341.          InputStream var15 = var12.getInputStream();
  342.          InputStream var16 = var12.getErrorStream();
  343.          var2 = var12.waitFor();
  344.          if (var15 != null) {
  345.             for(int var17 = var15.read(); var17 > -1; var17 = var15.read()) {
  346.                --var8;
  347.                if (var8 < 0) {
  348.                   var7 = new char[var9 + 128];
  349.                   var8 = var7.length - var9 - 1;
  350.                   System.arraycopy(var6, 0, var7, 0, var9);
  351.                   var6 = var7;
  352.                }
  353.  
  354.                var7[var9++] = (char)var17;
  355.             }
  356.  
  357.             if (var9 > 0) {
  358.                super.user.mainmsg.setStatusMsg(String.copyValueOf(var7, 0, var9), 0);
  359.                Thread.sleep(2L);
  360.             }
  361.  
  362.             var15.close();
  363.          }
  364.  
  365.          if (var16 != null) {
  366.             for(int var18 = var16.read(); var18 > -1; var18 = var16.read()) {
  367.                --var8;
  368.                if (var8 < 0) {
  369.                   var7 = new char[var9 + 128];
  370.                   var8 = var7.length - var9 - 1;
  371.                   System.arraycopy(var6, 0, var7, 0, var9);
  372.                   var6 = var7;
  373.                }
  374.  
  375.                var7[var9++] = (char)var18;
  376.             }
  377.  
  378.             if (var9 > 0) {
  379.                super.user.mainmsg.setStatusMsg(String.copyValueOf(var7, 0, var9), 0);
  380.                Thread.sleep(2L);
  381.             }
  382.  
  383.             var16.close();
  384.          }
  385.  
  386.          var12.destroy();
  387.       } catch (Exception var13) {
  388.          super.user.mainmsg.setStatusMsg("Call to paging program failed. See JaggServer console.", 20);
  389.          System.out.println("Call to paging program failed: " + var1);
  390.          ((Throwable)var13).printStackTrace();
  391.          var2 = -1;
  392.       }
  393.  
  394.       return var2;
  395.    }
  396. }
  397.