home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast.application;
-
- import java.applet.Applet;
- import java.util.Enumeration;
- import java.util.StringTokenizer;
- import java.util.Vector;
- import marimba.castanet.client.CastanetChannel;
- import netscape.javascript.JSObject;
-
- public class CategoryData extends DataItem {
- private Vector m_data;
- private Vector m_types;
- private String parameters;
- private String m_UserData;
- static final long PERM_DELETE_ITEMS = 8192L;
- static final long PERM_ADD_ITEMS = 16384L;
-
- public CategoryData(Applet var1, String var2) {
- super.m_Applet = (ConstPR4)var1;
- super.m_Type = -1;
- super.m_Name = var2;
- super.m_PrefsKey = "netcaster.containers." + super.m_Name;
- super.m_Description = var2;
- this.m_UserData = "";
- this.m_data = new Vector(0);
- this.m_UserData = NCPrefsManager.GetData(super.m_PrefsKey + ".userData", "");
- String var3 = NCPrefsManager.GetData(super.m_PrefsKey + ".permissions", String.valueOf(24576L));
- super.m_Permissions = Long.parseLong(var3);
- }
-
- public CategoryData(Applet var1, String var2, String var3) {
- this(var1, var2);
- super.m_Description = var3;
- }
-
- public static String getDefaultContainerName() {
- String var0 = NCPrefsManager.GetData("netcaster.defaultContainer", "");
- return var0;
- }
-
- public String getUserData() {
- return this.m_UserData;
- }
-
- public boolean canRemove() {
- return (super.m_Permissions & 8192L) != 0L;
- }
-
- public Boolean getCanRmvItems() {
- return new Boolean(this.canRemove());
- }
-
- public boolean canAdd() {
- return (super.m_Permissions & 16384L) != 0L;
- }
-
- public Boolean getCanAddItems() {
- return new Boolean(this.canAdd());
- }
-
- public void setUserData(String var1) {
- this.m_UserData = var1;
- NCPrefsManager.SaveData(super.m_PrefsKey + ".userData", var1);
- }
-
- public void LoadData(String var1, String var2) {
- this.m_types = new Vector(0);
- this.parameters = var2;
- int var3 = 0;
- int var4 = var1.indexOf(",");
-
- do {
- String var5;
- if (var4 == -1) {
- var5 = var1.substring(var3);
- var3 = -1;
- } else {
- var5 = var1.substring(var3, var4);
- var3 = var4 + 1;
- var4 = var1.indexOf(",", var3);
- }
-
- this.m_types.addElement(var5);
- if (Integer.parseInt(var5) == -3) {
- StringTokenizer var6 = new StringTokenizer(var2, "'\"");
- PageData var7 = new PageData(super.m_Applet, var6.nextToken());
- this.addItem(var7, true);
- return;
- }
- } while(var3 != -1);
-
- }
-
- public void LoadItems() {
- Enumeration var6 = this.m_types.elements();
-
- while(var6.hasMoreElements()) {
- int var2 = Integer.parseInt((String)var6.nextElement());
- String var1;
- switch (var2) {
- case -3:
- return;
- case 1:
- case 2:
- var1 = "channel";
- break;
- default:
- var1 = super.m_Name;
- }
-
- String var7 = NCPrefsManager.GetData("netcaster." + var1 + ".count", "0");
- int var3 = Integer.parseInt(var7);
- String[] var8 = new String[var3];
- String[] var9 = new String[var3];
- String[] var10 = new String[var3];
-
- for(int var4 = 0; var4 < var3; ++var4) {
- var8[var4] = "netcaster." + var1 + "." + var1 + "_" + (var4 + 1);
- var9[var4] = null;
- }
-
- NCPrefsManager.GetBatchData(var8, var9);
-
- for(int var12 = 0; var12 < var3; ++var12) {
- if (var9[var12] == null) {
- var8[var12] = null;
- } else {
- var10[var12] = "netcaster." + var1 + "." + var9[var12];
- var8[var12] = var10[var12] + ".type";
- }
-
- var9[var12] = null;
- }
-
- NCPrefsManager.GetBatchData(var8, var9);
-
- for(int var13 = 0; var13 < var3; ++var13) {
- if (var9[var13] != null) {
- int var11 = Integer.parseInt(var9[var13]);
- Object var5;
- if (var11 == 2) {
- var5 = new CastanetDataItem(super.m_Applet, var10[var13]);
- } else {
- var5 = new SiteData(super.m_Applet, var10[var13]);
- }
-
- this.addItem((DataItem)var5, true);
- }
- }
- }
-
- }
-
- public void Save(boolean var1) {
- String var3 = super.m_Name;
- int var4 = 0;
- Enumeration var6 = this.m_data.elements();
-
- while(var6.hasMoreElements()) {
- DataItem var5 = (DataItem)var6.nextElement();
- int var2 = var5.getType();
- switch (var2) {
- case 1:
- case 2:
- var3 = super.m_Name;
- ++var4;
- NCPrefsManager.SaveData("netcaster." + var3 + "." + var3 + "_" + var4, var5.getPrefsName());
- if (var1) {
- var5.saveData("netcaster." + var3);
- }
- break;
- default:
- return;
- }
- }
-
- NCPrefsManager.SaveData("netcaster." + var3 + ".count", String.valueOf(var4));
- NCPrefsManager.writePrefs();
- }
-
- public boolean canClose() {
- boolean var2 = true;
- Enumeration var3 = this.m_data.elements();
-
- while(var3.hasMoreElements() && var2) {
- DataItem var1 = (DataItem)var3.nextElement();
- if (var1.getType() != -1) {
- if (var1.getStatus() == 1 && super.m_Applet != null) {
- JSObject var4 = JSObject.getWindow(super.m_Applet);
- Object[] var5 = new Object[]{Boolean.TRUE, super.m_Applet.getLocalString("quitWhileCrawl")};
- if ((Boolean)var4.call("confirmQuit", var5)) {
- return true;
- }
-
- return false;
- }
- } else {
- var2 = var2 && ((CategoryData)var1).canClose();
- }
- }
-
- return var2;
- }
-
- public void close() {
- Enumeration var2 = this.m_data.elements();
-
- while(var2.hasMoreElements()) {
- DataItem var1 = (DataItem)var2.nextElement();
- if (var1.getType() == -1) {
- ((CategoryData)var1).close();
- } else {
- var1.close();
- }
- }
-
- }
-
- public String keyString() {
- String var1 = "";
- Enumeration var2 = this.m_types.elements();
-
- while(var2.hasMoreElements()) {
- var1 = var1 + (String)var2.nextElement();
- if (var2.hasMoreElements()) {
- var1 = var1 + ",";
- }
- }
-
- var1 = var1 + ";" + super.m_Name + ";" + this.parameters + ";" + super.m_Description;
- return var1;
- }
-
- public synchronized void addItem(DataItem var1, boolean var2) {
- this.m_data.addElement(var1);
- var1.added(this, var2);
- }
-
- public void createView() {
- if (super.m_Applet != null) {
- JSObject var1 = JSObject.getWindow(super.m_Applet);
- Object[] var2 = new Object[]{this};
- var1.call("createContainerLayer", var2);
- }
-
- }
-
- public void createViews() {
- Enumeration var2 = this.m_data.elements();
-
- while(var2.hasMoreElements()) {
- DataItem var1 = (DataItem)var2.nextElement();
- var1.createView();
- if (var1.getType() == -1) {
- ((CategoryData)var1).createViews();
- }
- }
-
- }
-
- public void openAllCaches() {
- if (this.m_data != null) {
- Enumeration var2 = this.m_data.elements();
-
- while(var2.hasMoreElements()) {
- DataItem var1 = (DataItem)var2.nextElement();
- if (var1 instanceof SiteData) {
- ((SiteData)var1).openCache();
- } else if (var1.getType() == -1) {
- ((CategoryData)var1).openAllCaches();
- }
- }
- }
-
- }
-
- public DataItem FindItemByPrefKey(String var1) {
- Enumeration var4 = this.m_data.elements();
-
- while(var4.hasMoreElements()) {
- DataItem var2 = (DataItem)var4.nextElement();
- if (var1.compareTo(var2.getPrefsName()) == 0) {
- return var2;
- }
-
- if (var2.getType() == -1) {
- DataItem var3 = ((CategoryData)var2).FindItemByPrefKey(var1);
- if (var3 != null) {
- return var3;
- }
- }
- }
-
- return null;
- }
-
- public DataItem findItemByName(String var1) {
- Enumeration var4 = this.m_data.elements();
-
- while(var4.hasMoreElements()) {
- DataItem var2 = (DataItem)var4.nextElement();
- if (var1.equals(var2.getItemName())) {
- return var2;
- }
-
- if (var2.getType() == -1) {
- DataItem var3 = ((CategoryData)var2).findItemByName(var1);
- if (var3 != null) {
- return var3;
- }
- }
- }
-
- return null;
- }
-
- public CastanetDataItem findCastanetChannel(String var1) {
- Enumeration var3 = this.m_data.elements();
-
- while(var3.hasMoreElements()) {
- DataItem var4 = (DataItem)var3.nextElement();
- switch (var4.getType()) {
- case -1:
- CastanetDataItem var7 = ((CategoryData)var4).findCastanetChannel(var1);
- if (var7 != null) {
- return var7;
- }
- break;
- case 2:
- CastanetDataItem var2 = (CastanetDataItem)var4;
- String var5 = ((DataItem)var2).getURL();
- if (var5 != null) {
- int var6 = var5.indexOf(63);
- if (var6 >= 0) {
- var5 = var5.substring(0, var6);
- }
-
- if (var1.startsWith(var5)) {
- return var2;
- }
- }
- }
- }
-
- return null;
- }
-
- public CastanetDataItem findCastanetChannel(CastanetChannel var1) {
- Enumeration var3 = this.m_data.elements();
-
- while(var3.hasMoreElements()) {
- DataItem var4 = (DataItem)var3.nextElement();
- switch (var4.getType()) {
- case -1:
- CastanetDataItem var5 = ((CategoryData)var4).findCastanetChannel(var1);
- if (var5 != null) {
- return var5;
- }
- break;
- case 2:
- CastanetDataItem var2 = (CastanetDataItem)var4;
- if (var2.channel == var1) {
- return var2;
- }
- }
- }
-
- return null;
- }
-
- public void deleteItem(DataItem var1, boolean var2) {
- JSObject var3 = JSObject.getWindow(super.m_Applet);
- if (var1.isDeletable()) {
- boolean var4 = true;
- if (var2) {
- var4 = true;
- if (super.m_Applet != null) {
- Object[] var5 = new Object[]{var1.getItemName(), super.m_ItemView};
- var4 = (Boolean)var3.call("confirmDelete", var5);
- }
- }
-
- if (var4) {
- this.m_data.removeElement(var1);
- var1.deleted(this);
- Object var6 = null;
- NCPrefsManager var8 = new NCPrefsManager();
- var8.threadedSaveChannelList(Const.getData());
- return;
- }
- } else {
- Object[] var7 = new Object[]{var1.getItemName(), super.m_ItemView};
- var3.call("cantDelete", var7);
- }
-
- }
-
- public int size() {
- return this.m_data.size();
- }
-
- public Vector getVector() {
- return this.m_data;
- }
-
- public boolean allReady() {
- boolean var2 = true;
- Enumeration var3 = this.m_data.elements();
-
- while(var3.hasMoreElements()) {
- DataItem var1 = (DataItem)var3.nextElement();
- if (var1.getType() == -1) {
- var2 = var2 && ((CategoryData)var1).isReady();
- }
- }
-
- return var2;
- }
-
- public boolean isReady() {
- if (super.m_Applet != null && super.m_ItemView != null) {
- JSObject var1 = JSObject.getWindow(super.m_Applet);
- Object[] var2 = new Object[]{new Integer(this.m_data.size()), super.m_ItemView};
- return (Boolean)var1.call("containerIsReady", var2);
- } else {
- return false;
- }
- }
-
- public CategoryData FindContainer(String var1) {
- Enumeration var3 = this.m_data.elements();
-
- while(var3.hasMoreElements()) {
- DataItem var2 = (DataItem)var3.nextElement();
- if (var2.getType() == -1 && var1.compareTo(var2.getItemName()) == 0) {
- return (CategoryData)var2;
- }
- }
-
- return null;
- }
- }
-