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

  1. package netscape.netcast.application;
  2.  
  3. import java.applet.Applet;
  4. import java.util.StringTokenizer;
  5. import java.util.Vector;
  6. import netscape.javascript.JSObject;
  7.  
  8. public final class NCPrefsManager extends Thread {
  9.    private static Applet applet = null;
  10.    private static JSObject jsContext;
  11.    private CategoryData threadChannelType;
  12.    static String m_defaultChannelName;
  13.    static final String PREF_CHANNEL_BASE = "netcaster.containers.container";
  14.    static final String PREF_CONTAINER_COUNT = "netcaster.containers.count";
  15.    static final String GET_PREF_FUNCTION_STR = "getNavigatorPrefStr";
  16.    static final String SET_PREF_FUNCTION_STR = "setNavigatorPrefStr";
  17.    static final String DEL_PREF_FUNCTION = "delNavigatorPref";
  18.  
  19.    public static void Initialize(Applet var0) {
  20.       applet = var0;
  21.       jsContext = JSObject.getWindow(var0);
  22.    }
  23.  
  24.    public static CategoryData LoadChannelList() {
  25.       String[] var1 = new String[]{""};
  26.       String var7 = "";
  27.       String var8 = "";
  28.       String var9 = "";
  29.       String var10 = "";
  30.       if (applet == null) {
  31.          throw new IllegalStateException("Preferences not initialized");
  32.       } else {
  33.          m_defaultChannelName = GetData("netcaster.defaultChannel", "");
  34.          var1[0] = "netcaster.containers.count";
  35.          String var0 = (String)jsContext.call("getNavigatorPrefStr", var1);
  36.          int var5;
  37.          if (var0 != null && var0.equals("undefined")) {
  38.             var5 = 0;
  39.          } else if (var0 != null) {
  40.             var5 = Integer.parseInt(var0);
  41.          } else {
  42.             var5 = 0;
  43.          }
  44.  
  45.          CategoryData var4 = new CategoryData(applet, "Top_Level");
  46.  
  47.          for(int var6 = 1; var6 <= var5; ++var6) {
  48.             var0 = GetData("netcaster.containers.container_" + String.valueOf(var6), "");
  49.             if (var0.length() != 0) {
  50.                StringTokenizer var2 = new StringTokenizer(var0, ";");
  51.                if (var2.hasMoreElements()) {
  52.                   var7 = var2.nextToken();
  53.                } else {
  54.                   var7 = "";
  55.                }
  56.  
  57.                if (!var2.hasMoreElements()) {
  58.                   var8 = "";
  59.                } else {
  60.                   var8 = var2.nextToken("\t\n\r;");
  61.                   if (var8.startsWith("'") && var8.endsWith("'") || var8.startsWith("\"") && var8.endsWith("\"")) {
  62.                      var8 = var8.substring(1, var8.length() - 1);
  63.                   }
  64.                }
  65.  
  66.                if (var2.hasMoreElements()) {
  67.                   var10 = var2.nextToken(";");
  68.                } else {
  69.                   var10 = var8;
  70.                }
  71.  
  72.                if (var2.hasMoreElements()) {
  73.                   var9 = var2.nextToken(";");
  74.                } else {
  75.                   var9 = "";
  76.                }
  77.  
  78.                CategoryData var3 = new CategoryData(applet, var8, var10);
  79.                var3.LoadData(var7, var9);
  80.                var4.addItem(var3, true);
  81.                var3.LoadItems();
  82.             }
  83.          }
  84.  
  85.          return var4;
  86.       }
  87.    }
  88.  
  89.    public static void SaveChannelList(CategoryData var0, boolean var1) {
  90.       String[] var2 = new String[]{"", ""};
  91.       if (applet == null) {
  92.          throw new IllegalStateException("Preferences not initialized");
  93.       } else {
  94.          int var3 = var0.size();
  95.          var2[0] = "netcaster.containers.count";
  96.          var2[1] = "" + var3;
  97.          jsContext.call("setNavigatorPrefStr", var2);
  98.  
  99.          for(int var4 = 0; var4 < var3; ++var4) {
  100.             Vector var5 = var0.getVector();
  101.             var2[0] = "netcaster.containers.container" + String.valueOf(var4 + 1);
  102.             var2[1] = ((CategoryData)var5.elementAt(var4)).keyString();
  103.             jsContext.call("setNavigatorPrefStr", var2);
  104.             ((CategoryData)var5.elementAt(var4)).Save(var1);
  105.          }
  106.  
  107.       }
  108.    }
  109.  
  110.    public static void writePrefs() {
  111.       jsContext.eval("navigator.savePreferences();");
  112.    }
  113.  
  114.    public static void GetChannelsOfType(String var0, CategoryData var1) {
  115.       String[] var2 = new String[]{""};
  116.       if (applet == null) {
  117.          throw new IllegalStateException("Preferences not initialized");
  118.       } else {
  119.          var2[0] = "netcaster." + var0 + ".count";
  120.          String var3 = (String)jsContext.call("getNavigatorPrefStr", var2);
  121.          int var4;
  122.          if (var3 != null && var3.equals("undefined")) {
  123.             var4 = 0;
  124.          } else {
  125.             var4 = Integer.parseInt(var3);
  126.          }
  127.  
  128.          for(int var5 = 1; var5 <= var4; ++var5) {
  129.             var2[0] = "netcaster." + var0 + "." + var0 + "_" + var5;
  130.             var3 = (String)jsContext.call("getNavigatorPrefStr", var2);
  131.             if (var3 != null && var3.equals("undefined")) {
  132.                boolean var13 = true;
  133.             } else {
  134.                boolean var10000 = false;
  135.             }
  136.  
  137.             String var7 = "netcaster." + var0 + "." + var3 + ".";
  138.             var2[0] = var7 + "type";
  139.             var3 = (String)jsContext.call("getNavigatorPrefStr", var2);
  140.             Integer var8;
  141.             if (var3 != null && var3.equals("undefined")) {
  142.                var8 = new Integer(0);
  143.             } else {
  144.                var8 = new Integer(0);
  145.  
  146.                try {
  147.                   if (var3 != null) {
  148.                      var8 = new Integer(var3);
  149.                   }
  150.                } catch (NumberFormatException var10) {
  151.                   ((Throwable)var10).printStackTrace();
  152.                }
  153.             }
  154.  
  155.             Object var6;
  156.             if (var8 == 2) {
  157.                var6 = new CastanetDataItem(applet, var7);
  158.             } else {
  159.                var6 = new SiteData(applet, var7);
  160.             }
  161.  
  162.             var1.addItem((DataItem)var6, true);
  163.          }
  164.  
  165.       }
  166.    }
  167.  
  168.    public static String GetData(String var0, String var1) {
  169.       String[] var3 = new String[]{""};
  170.       if (applet == null) {
  171.          throw new IllegalStateException("Preferences not initialized");
  172.       } else {
  173.          var3[0] = var0;
  174.          String var2 = (String)jsContext.call("getNavigatorPrefStr", var3);
  175.          if (var2 == null || var2.equals("undefined")) {
  176.             var2 = var1;
  177.          }
  178.  
  179.          return var2;
  180.       }
  181.    }
  182.  
  183.    public static Boolean GetData(String var0, Boolean var1) {
  184.       String[] var3 = new String[]{""};
  185.       if (applet == null) {
  186.          throw new IllegalStateException("Preferences not initialized");
  187.       } else {
  188.          var3[0] = var0;
  189.          Boolean var2 = (Boolean)jsContext.call("getNavigatorPrefStr", var3);
  190.          if (var2 == null) {
  191.             ;
  192.          }
  193.  
  194.          return var1;
  195.       }
  196.    }
  197.  
  198.    public static void GetBatchData(String[] var0, String[] var1) {
  199.       Object[] var2 = new Object[2];
  200.       if (applet == null) {
  201.          throw new IllegalStateException("Preferences not initialized");
  202.       } else {
  203.          var2[0] = var0;
  204.          var2[1] = var1;
  205.          jsContext.call("getNavigatorBatchPrefs", var2);
  206.       }
  207.    }
  208.  
  209.    public static void SetBatchData(String[] var0, String[] var1) {
  210.       Object[] var2 = new Object[2];
  211.       if (applet == null) {
  212.          throw new IllegalStateException("Preferences not initialized");
  213.       } else {
  214.          var2[0] = var0;
  215.          var2[1] = var1;
  216.          jsContext.call("setNavigatorBatchPrefs", var2);
  217.       }
  218.    }
  219.  
  220.    public static void SaveData(String var0, String var1) {
  221.       String[] var2 = new String[]{"", ""};
  222.       if (applet == null) {
  223.          throw new IllegalStateException("Preferences not initialized");
  224.       } else {
  225.          var2[0] = var0;
  226.          var2[1] = var1;
  227.          jsContext.call("setNavigatorPrefStr", var2);
  228.       }
  229.    }
  230.  
  231.    public static void SaveData(String var0, Boolean var1) {
  232.       String[] var2 = new String[]{"", ""};
  233.       if (applet == null) {
  234.          throw new IllegalStateException("Preferences not initialized");
  235.       } else {
  236.          var2[0] = var0;
  237.          var2[1] = var1.toString();
  238.          jsContext.call("setNavigatorPrefStr", var2);
  239.       }
  240.    }
  241.  
  242.    public static void DelPref(String var0) {
  243.       String[] var1 = new String[]{""};
  244.       if (var0 != null) {
  245.          if (applet == null) {
  246.             throw new IllegalStateException("Preferences not initialized");
  247.          } else {
  248.             var1[0] = var0;
  249.             jsContext.call("delNavigatorPref", var1);
  250.          }
  251.       }
  252.    }
  253.  
  254.    public static SiteData getSiteData(Applet var0, String var1) {
  255.       SiteData var2 = new SiteData(var0, var1);
  256.       var2.added((CategoryData)null, true);
  257.       return var2;
  258.    }
  259.  
  260.    public synchronized void threadedSaveChannelList(CategoryData var1) {
  261.       ((Thread)this).setPriority(1);
  262.       this.threadChannelType = var1;
  263.       ((Thread)this).start();
  264.    }
  265.  
  266.    public void run() {
  267.       SaveChannelList(this.threadChannelType, false);
  268.    }
  269. }
  270.