home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / Key.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  3.8 KB  |  176 lines

  1. package webeq3;
  2.  
  3. import java.awt.Dialog;
  4. import java.awt.Frame;
  5. import java.io.DataInputStream;
  6. import java.io.FileInputStream;
  7. import java.io.FileNotFoundException;
  8. import java.io.FileOutputStream;
  9. import java.io.IOException;
  10. import java.io.PrintStream;
  11. import java.util.Date;
  12.  
  13. public class Key {
  14.    private static boolean evaluationFlag = true;
  15.    private static String evalStatusLine = "WebEQ Unlicensed Evaluation Edition";
  16.    private String keyString = "";
  17.    private static int IN_COOKIE = 853973;
  18.    private static int OUT_COOKIE = 115572;
  19.    private String licenseKey;
  20.    public static final int LICENSE_INVALID = 0;
  21.    public static final int LICENSE_EXPIRED = 1;
  22.    public static final int LICENSE_OK = 2;
  23.    private int licenseStatus;
  24.    private boolean evalKeyFlag = false;
  25.  
  26.    public int getLicenseStatus() {
  27.       String var1 = System.getProperty("file.separator");
  28.       String var2 = System.getProperty("user.home");
  29.       if (!var2.endsWith(var1)) {
  30.          var2 = var2 + var1;
  31.       }
  32.  
  33.       return evaluationFlag ? this.getLicenseStatus(var2 + "_dsevts") : this.getLicenseStatus(var2 + ".webeqrc");
  34.    }
  35.  
  36.    public int getLicenseStatus(String var1) {
  37.       String var2 = System.getProperty("file.separator");
  38.       int var3 = var1.lastIndexOf(var2.charAt(0));
  39.       String var4 = var1.substring(0, var3 + 1);
  40.       String var5 = var1.substring(var3 + 1);
  41.  
  42.       try {
  43.          DataInputStream var6 = new DataInputStream(new FileInputStream(var1));
  44.          this.keyString = var6.readLine();
  45.       } catch (FileNotFoundException var8) {
  46.          if (evaluationFlag) {
  47.             this.initializeEvalKey(var4, var5);
  48.          } else {
  49.             this.initializeKey(var4, var5);
  50.          }
  51.       } catch (IOException var9) {
  52.       }
  53.  
  54.       this.licenseStatus = this.getLStatus();
  55.       if (evaluationFlag) {
  56.          return this.licenseStatus;
  57.       } else {
  58.          if (this.evalKeyFlag) {
  59.             this.licenseStatus = 0;
  60.          }
  61.  
  62.          if (this.licenseStatus != 2) {
  63.             this.initializeKey(var4, var5);
  64.             this.licenseStatus = this.getLStatus();
  65.          }
  66.  
  67.          return this.licenseStatus;
  68.       }
  69.    }
  70.  
  71.    private int getLStatus() {
  72.       byte var1 = 0;
  73.       License var2 = new License(this.keyString, IN_COOKIE);
  74.       var2.setCookie(IN_COOKIE);
  75.       this.evalKeyFlag = var2.keyIsEval();
  76.       boolean var3 = var2.keyIsValid();
  77.       if (var2.getCookie() != OUT_COOKIE) {
  78.          var1 = 0;
  79.          return var1;
  80.       } else if (!var3) {
  81.          var1 = 0;
  82.          return var1;
  83.       } else {
  84.          boolean var4 = var2.keyIsCurrent();
  85.          if (var2.getCookie() != OUT_COOKIE) {
  86.             var1 = 0;
  87.             return var1;
  88.          } else if (!var4) {
  89.             var1 = 1;
  90.             return var1;
  91.          } else {
  92.             var1 = 2;
  93.             return var1;
  94.          }
  95.       }
  96.    }
  97.  
  98.    public static String getStatusLine() {
  99.       String var0 = "";
  100.       if (evaluationFlag) {
  101.          var0 = evalStatusLine;
  102.       }
  103.  
  104.       return var0;
  105.    }
  106.  
  107.    private void initializeEvalKey(String var1, String var2) {
  108.       License var3 = new License(IN_COOKIE);
  109.       Date var4 = new Date();
  110.       var4.setMonth(var4.getMonth() + 2);
  111.       var3.setKeyFromDateAndString(var4, "DSEval");
  112.       this.keyString = var3.getKey();
  113.  
  114.       try {
  115.          PrintStream var5 = new PrintStream(new FileOutputStream(var1 + var2));
  116.          var5.println(this.keyString);
  117.          var5.close();
  118.       } catch (Exception var6) {
  119.       }
  120.  
  121.    }
  122.  
  123.    private void initializeKey(String var1, String var2) {
  124.       new License(IN_COOKIE);
  125.       Frame var4 = new Frame();
  126.       KeyFrame var5 = new KeyFrame(var4, this);
  127.       ((Dialog)var5).show();
  128.  
  129.       try {
  130.          PrintStream var6 = new PrintStream(new FileOutputStream(var1 + var2));
  131.          var6.println(this.keyString);
  132.          var6.close();
  133.       } catch (Exception var7) {
  134.       }
  135.  
  136.    }
  137.  
  138.    public void setKeyString(String var1) {
  139.       this.keyString = var1;
  140.    }
  141.  
  142.    public String getKeyString() {
  143.       String var1 = System.getProperty("file.separator");
  144.       String var2 = System.getProperty("user.home");
  145.       if (!var2.endsWith(var1)) {
  146.          var2 = var2 + var1;
  147.       }
  148.  
  149.       String var3;
  150.       if (evaluationFlag) {
  151.          var3 = var2 + "_dsevts";
  152.       } else {
  153.          var3 = var2 + ".webeqrc";
  154.       }
  155.  
  156.       try {
  157.          DataInputStream var4 = new DataInputStream(new FileInputStream(var3));
  158.          if (evaluationFlag) {
  159.             String var5 = var4.readLine();
  160.             if (var5.length() < 8) {
  161.                return "couldn't read reg. num.";
  162.             } else {
  163.                String var6 = var5.substring(0, 4);
  164.                String var7 = var5.substring(4, 6);
  165.                String var8 = var5.substring(6, 8);
  166.                return "eval expires " + var7 + "/" + var8 + "/" + var6;
  167.             }
  168.          } else {
  169.             return var4.readLine();
  170.          }
  171.       } catch (Exception var9) {
  172.          return "couldn't read reg. num.";
  173.       }
  174.    }
  175. }
  176.