home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / browser / ns405lyc / netcast.z / ncjava10.jar / netscape / netcast / application / ConstPR4.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-09  |  8.2 KB  |  356 lines

  1. package netscape.netcast.application;
  2.  
  3. import java.applet.Applet;
  4. import java.net.MalformedURLException;
  5. import java.net.URL;
  6. import java.util.Enumeration;
  7. import java.util.MissingResourceException;
  8. import java.util.ResourceBundle;
  9. import java.util.Vector;
  10. import netscape.javascript.JSObject;
  11. import netscape.netcast.NSCastanetWorkspace;
  12. import netscape.security.ForbiddenTargetException;
  13. import netscape.security.PrivilegeManager;
  14. import netscape.security.Target;
  15.  
  16. public class ConstPR4 extends Applet {
  17.    Const constManager;
  18.    JSObject win;
  19.    boolean securityDenied = false;
  20.    static boolean bClosing;
  21.  
  22.    public ConstPR4() {
  23.       PrivilegeManager var1 = PrivilegeManager.getPrivilegeManager();
  24.       if (var1 != null) {
  25.          Target var2 = Target.findTarget("MarimbaInternalTarget");
  26.          if (var2 != null) {
  27.             try {
  28.                var1.enablePrivilege(var2);
  29.             } catch (SecurityException var3) {
  30.                this.securityDenied = true;
  31.                return;
  32.             } catch (ForbiddenTargetException var4) {
  33.                this.securityDenied = true;
  34.                return;
  35.             }
  36.          }
  37.       }
  38.  
  39.       new MConstants();
  40.    }
  41.  
  42.    public void start() {
  43.       this.win = JSObject.getWindow(this);
  44.       if (this.securityDenied) {
  45.          String[] var3 = new String[]{""};
  46.          this.win.call("handleSecurityException", var3);
  47.       } else {
  48.          try {
  49.             this.constManager = new Const(this);
  50.          } catch (Exception var2) {
  51.             ((Throwable)var2).printStackTrace();
  52.          }
  53.  
  54.          this.constManager.checkCastanetChannels();
  55.          String[] var1 = new String[]{""};
  56.          this.win.call("setAppletReady", var1);
  57.          NSCastanetWorkspace.executeScheduledEvents();
  58.       }
  59.    }
  60.  
  61.    public void stop() {
  62.    }
  63.  
  64.    public String getLocalString(String var1) {
  65.       ResourceBundle var2 = ResourceBundle.getBundle("netscape.netcast.application.NetcasterStrings");
  66.       String var3 = null;
  67.  
  68.       try {
  69.          var3 = var2.getString(var1);
  70.       } catch (MissingResourceException var4) {
  71.          System.out.println("Can't find localized string: " + var1);
  72.       }
  73.  
  74.       return var3;
  75.    }
  76.  
  77.    public String getEncodedName(String var1) {
  78.       int var3 = var1.length();
  79.       StringBuffer var5 = new StringBuffer(var1);
  80.  
  81.       for(int var2 = 0; var2 < var3; ++var2) {
  82.          char var4 = var5.charAt(var2);
  83.          if (!Character.isLetterOrDigit(var4) || Character.getNumericValue(var4) > 255 || Character.getNumericValue(var4) < 0) {
  84.             var5.setCharAt(var2, '_');
  85.          }
  86.       }
  87.  
  88.       return var5.toString();
  89.    }
  90.  
  91.    public String getEncodedName(String var1, String var2) {
  92.       String var3 = this.getEncodedName(var1);
  93.       String var4 = var3;
  94.       CategoryData var6 = Const.getData();
  95.       boolean var7 = true;
  96.       int var8 = 1;
  97.       if (var6 != null) {
  98.          CategoryData var5 = var6.FindContainer(var2);
  99.          if (var5 != null) {
  100.             do {
  101.                if (var5.findItemByName(var4) != null) {
  102.                   var4 = var3 + var8++;
  103.                   var7 = false;
  104.                } else {
  105.                   var7 = true;
  106.                }
  107.             } while(!var7);
  108.          }
  109.       }
  110.  
  111.       return var4;
  112.    }
  113.  
  114.    public String unEncodeName(String var1) {
  115.       int var3 = var1.length();
  116.       StringBuffer var5 = new StringBuffer(var3);
  117.  
  118.       for(int var2 = 0; var2 < var3; ++var2) {
  119.          char var4 = var1.charAt(var2);
  120.          if (var4 != '_') {
  121.             var5.append(var4);
  122.          } else {
  123.             var5.append(' ');
  124.          }
  125.       }
  126.  
  127.       return var5.toString();
  128.    }
  129.  
  130.    public String getValidURL(String var1) {
  131.       String var2 = null;
  132.       boolean var3 = false;
  133.       var1 = var1.trim();
  134.       if (var1.length() <= 0) {
  135.          System.out.println("Empty content");
  136.          return null;
  137.       } else {
  138.          do {
  139.             var3 = false;
  140.  
  141.             try {
  142.                URL var10 = new URL(var1);
  143.                var2 = var10.getProtocol() + ":";
  144.             } catch (MalformedURLException var6) {
  145.                int var4 = 0;
  146.                int var5 = 0;
  147.                if ((var4 = var1.indexOf(58)) != -1 && ((var5 = var1.indexOf(47)) == -1 || var4 < var5)) {
  148.                   var2 = var1.substring(0, var4).toLowerCase();
  149.                }
  150.  
  151.                if (var2 != null) {
  152.                   if (!var2.equalsIgnoreCase("castanet:") && !var2.equalsIgnoreCase("about:")) {
  153.                      return null;
  154.                   }
  155.  
  156.                   return var1;
  157.                }
  158.  
  159.                var1 = "http://" + var1;
  160.                var3 = true;
  161.             }
  162.          } while(var3);
  163.  
  164.          if (var2.equalsIgnoreCase("http:") && var1.toLowerCase().endsWith("?start")) {
  165.             System.out.println("Converting HTTP Castanet URL to castanet:");
  166.             var1 = "castanet" + var1.substring(4);
  167.          }
  168.  
  169.          return var1;
  170.       }
  171.    }
  172.  
  173.    public String getNetcasterVersion() {
  174.       return Const.VERSION_STRING;
  175.    }
  176.  
  177.    public boolean validateTimeString(String var1) {
  178.       int var3 = var1.length();
  179.  
  180.       for(int var2 = 0; var2 < var3; ++var2) {
  181.          char var4 = var1.charAt(var2);
  182.          if ((var4 < '0' || var4 > '9') && var4 != ':' && var4 != ' ') {
  183.             return false;
  184.          }
  185.       }
  186.  
  187.       return true;
  188.    }
  189.  
  190.    public String getHour(String var1) {
  191.       int var2 = var1.indexOf(":");
  192.       return var2 == -1 ? var1 : var1.substring(0, var2);
  193.    }
  194.  
  195.    public String getMinute(String var1) {
  196.       int var2 = var1.indexOf(":");
  197.       if (var2 == -1) {
  198.          String var4 = new String("0");
  199.          return var4;
  200.       } else {
  201.          String var3 = var1.substring(var2 + 1, var1.length());
  202.          return var3.startsWith("0") ? var3.substring(1, var3.length()) : var3;
  203.       }
  204.    }
  205.  
  206.    public DataItem newDataItem(String var1) {
  207.       String var2 = this.getValidURL(var1);
  208.       if (var2 == null) {
  209.          return null;
  210.       } else if (var2.toLowerCase().startsWith("castanet:")) {
  211.          return new CastanetDataItem(var2, this);
  212.       } else {
  213.          SiteData var3 = new SiteData(this);
  214.          ((DataItem)var3).setURL(var2);
  215.          return var3;
  216.       }
  217.    }
  218.  
  219.    public void openAllCaches() {
  220.       if (this.constManager != null) {
  221.          this.constManager.openAllCaches();
  222.       }
  223.  
  224.    }
  225.  
  226.    public boolean isSelectorReady() {
  227.       try {
  228.          CategoryData var1 = Const.getData();
  229.          if (var1 != null) {
  230.             return var1.allReady();
  231.          }
  232.       } catch (Exception var2) {
  233.          ((Throwable)var2).printStackTrace();
  234.       }
  235.  
  236.       return false;
  237.    }
  238.  
  239.    public boolean isInDebug() {
  240.       return DebugManager.isInDebug();
  241.    }
  242.  
  243.    public Boolean isOnline() {
  244.       if (this.constManager.ws != null) {
  245.          return new Boolean(this.constManager.ws.getEnvironment().networkEnabled());
  246.       } else {
  247.          JSObject var1 = JSObject.getWindow(this);
  248.          return (Boolean)var1.eval("getPrefOnline();");
  249.       }
  250.    }
  251.  
  252.    public void createSelectorView() {
  253.       try {
  254.          CategoryData var1 = Const.getData();
  255.          if (var1 != null) {
  256.             var1.createViews();
  257.             return;
  258.          }
  259.       } catch (Exception var2) {
  260.          ((Throwable)var2).printStackTrace();
  261.       }
  262.  
  263.    }
  264.  
  265.    public void OpenWebtop(String var1) {
  266.       String[] var2 = new String[]{""};
  267.       this.constManager.openAllCaches();
  268.       var2[0] = var1;
  269.       this.win.call("OpenWebtop", var2);
  270.    }
  271.  
  272.    public void openCastanetURL(String var1) {
  273.       this.constManager.openCastanetURL(var1);
  274.    }
  275.  
  276.    public Boolean close() {
  277.       bClosing = true;
  278.       return this.constManager != null ? this.constManager.close() : Boolean.TRUE;
  279.    }
  280.  
  281.    public DataItem[] getData(String var1) {
  282.       DataItem[] var2 = null;
  283.       int var3 = 0;
  284.  
  285.       try {
  286.          CategoryData var4 = Const.getData();
  287.          if (var4 != null) {
  288.             CategoryData var5 = var4.FindContainer(var1);
  289.             if (var5 != null) {
  290.                Vector var6 = var5.getVector();
  291.                if (var6.size() > 0) {
  292.                   var2 = new DataItem[var6.size()];
  293.  
  294.                   for(Enumeration var7 = var6.elements(); var7.hasMoreElements(); var2[var3++] = (DataItem)var7.nextElement()) {
  295.                   }
  296.                } else {
  297.                   var2 = null;
  298.                }
  299.             }
  300.          }
  301.       } catch (Exception var8) {
  302.       }
  303.  
  304.       return var2;
  305.    }
  306.  
  307.    public CategoryData findContainerByName(String var1) {
  308.       try {
  309.          CategoryData var2 = Const.getData();
  310.          if (var2 != null) {
  311.             return var2.FindContainer(var1);
  312.          }
  313.       } catch (Exception var3) {
  314.       }
  315.  
  316.       return null;
  317.    }
  318.  
  319.    public void AddChannel(JSObject var1) {
  320.       JSObject[] var2 = new JSObject[]{var1};
  321.       this.win.call("AddChannel", var2);
  322.    }
  323.  
  324.    public void AddInfoblock(JSObject var1) {
  325.       JSObject[] var2 = new JSObject[]{var1};
  326.       this.win.call("AddInfoblock", var2);
  327.    }
  328.  
  329.    public void AddNewCastanetChannel(String var1, String[] var2) {
  330.       String[] var3 = new String[]{""};
  331.       CastanetDataItem var4 = Const.selectorData.findCastanetChannel(var1);
  332.       if (var4 != null) {
  333.          var4.channel.start(var2);
  334.       } else {
  335.          var3[0] = var1;
  336.          this.win.call("AddNewCastanetChannel", var3);
  337.       }
  338.    }
  339.  
  340.    public void addItem(DataItem var1, String var2) {
  341.       try {
  342.          this.constManager.addItem(var1, var2);
  343.       } catch (ConstException var4) {
  344.          ((Throwable)var4).printStackTrace();
  345.       }
  346.    }
  347.  
  348.    public DataItem FindItemByPrefKey(String var1) {
  349.       return this.constManager.FindItemByPrefKey(var1);
  350.    }
  351.  
  352.    public DataItem findItemByName(String var1) {
  353.       return this.constManager.findItemByName(var1);
  354.    }
  355. }
  356.