home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast.application;
-
- import java.applet.Applet;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
- import netscape.javascript.JSObject;
-
- public abstract class DataItem implements Alarmable {
- static final int CONTAINER = -1;
- static final int CATEGORY_CONTAINER = -2;
- static final int CONTENT_PAGE = -3;
- static final int POLLED_CHANNEL = 1;
- static final int CASTANET_CHANNEL = 2;
- static final int POLLED_MCF_CHANNEL = 3;
- static final int STATE_NONE = 0;
- static final int STATE_ERROR = -1;
- static final int STATE_CRITICAL_ERROR = -2;
- static final int STATE_UPDATED = 1;
- static final long PERM_SCHEDULED = 1L;
- static final long PERM_DELETABLE = 2L;
- static final long PERM_EDITABLE = 4L;
- protected ConstPR4 m_Applet;
- protected CategoryData parent;
- protected String m_PrefsKey;
- protected int m_Type;
- protected String m_Name;
- protected String m_URL;
- protected String m_Description;
- protected long m_Permissions;
- protected int m_Frequency;
- protected long m_LastUpdate;
- protected int m_UpdateTime;
- protected int m_StartTime;
- protected int m_EndTime;
- protected String m_Mode;
- protected int m_MaxSize;
- protected int m_State;
- protected int m_Status;
- protected JSObject m_ItemView;
- protected String m_Error;
- protected Boolean m_webtopStatus;
- protected Boolean m_Changed;
- protected static int m_AdminStart;
- protected static int m_AdminEnd;
- protected static int m_AdminUpdateTimes;
- protected static int m_NumItems;
-
- protected DataItem() {
- this.m_Applet = null;
- this.m_Type = 0;
- this.m_Name = "";
- this.m_Permissions = 7L;
- this.m_webtopStatus = Boolean.FALSE;
- }
-
- public DataItem(Applet var1, int var2, String var3) {
- this.m_Applet = (ConstPR4)var1;
- this.m_Type = var2;
- this.m_Name = var3;
- this.m_Permissions = 7L;
- this.m_webtopStatus = Boolean.FALSE;
- }
-
- public String getItemName() {
- return this.m_Name;
- }
-
- public String getPrefsKey() {
- return this.m_PrefsKey;
- }
-
- public String getURL() {
- return this.m_URL;
- }
-
- public int getFrequency() {
- return this.m_Frequency;
- }
-
- public long getLastUpdate() {
- return this.m_LastUpdate;
- }
-
- public int getType() {
- return this.m_Type;
- }
-
- public int getUpdateTime() {
- return this.m_UpdateTime;
- }
-
- public String getMode() {
- return this.m_Mode;
- }
-
- public String getDescription() {
- return this.m_Description;
- }
-
- public int getMaxSize() {
- return this.m_MaxSize;
- }
-
- public int getState() {
- return this.m_State;
- }
-
- public int getStatus() {
- return this.m_Status;
- }
-
- public String getError() {
- return this.m_Error;
- }
-
- public JSObject getItemView() {
- return this.m_ItemView;
- }
-
- public CategoryData getParent() {
- return this.parent;
- }
-
- public Boolean getWebtopStatus() {
- return this.m_webtopStatus;
- }
-
- public boolean isScheduled() {
- return (this.m_Permissions & 1L) != 0L;
- }
-
- public Boolean getScheduled() {
- return new Boolean(this.isScheduled());
- }
-
- public boolean isDeletable() {
- boolean var1 = true;
- if (this.parent != null) {
- var1 = this.parent.canRemove();
- }
-
- return var1 && (this.m_Permissions & 2L) != 0L;
- }
-
- public Boolean getDeletable() {
- return new Boolean(this.isDeletable());
- }
-
- public boolean isEditable() {
- return (this.m_Permissions & 4L) != 0L;
- }
-
- public String getPrefsName() {
- if (this.m_PrefsKey != null) {
- String var1 = this.m_PrefsKey.substring(this.m_PrefsKey.lastIndexOf(46) + 1);
- return var1;
- } else {
- return null;
- }
- }
-
- public void setItemName(String var1) {
- this.m_Name = var1;
- }
-
- public void setPrefsKey(String var1) {
- this.m_PrefsKey = var1;
- }
-
- public void setFrequency(int var1) {
- this.m_Frequency = var1;
- }
-
- public void setLastUpdate(long var1) {
- this.m_LastUpdate = var1;
- }
-
- public void setType(int var1) {
- this.m_Type = var1;
- }
-
- public void setUpdateTime(int var1) {
- this.m_UpdateTime = var1;
- }
-
- public void setDescription(String var1) {
- this.m_Description = var1;
- }
-
- public void setState(int var1) {
- this.m_State = var1;
- }
-
- public void setStatus(int var1) {
- this.m_Status = var1;
- }
-
- public void setMaxSize(int var1) {
- this.m_MaxSize = var1;
- }
-
- public void setWebtopStatus(Boolean var1) {
- this.m_webtopStatus = var1;
- }
-
- public void setMode(String var1) {
- this.m_Mode = var1;
- if (this.m_Mode.compareTo("webtop") == 0) {
- this.setWebtopIcon();
- }
-
- }
-
- public void setScheduled(Boolean var1) {
- if (var1) {
- this.m_Permissions |= 1L;
- } else {
- this.m_Permissions &= -2L;
- }
- }
-
- public void setURL(String var1) {
- try {
- new URL(var1);
- } catch (MalformedURLException var4) {
- var1 = "http://" + var1;
-
- try {
- new URL(var1);
- } catch (MalformedURLException var3) {
- this.m_URL = "about:larubbio";
- return;
- }
- }
-
- this.m_URL = var1;
- }
-
- protected int loadDataSetup(Vector var1, Vector var2) throws IllegalArgumentException {
- if (var1.size() != var2.size()) {
- throw new IllegalArgumentException("Different count of preference keys and values");
- } else {
- String var3 = this.getPrefsKey();
- var1.addElement(var3 + ".type");
- var2.addElement("" + 1);
- var1.addElement(var3 + ".url");
- var2.addElement("");
- var1.addElement(var3 + ".name");
- var2.addElement("None");
- var1.addElement(var3 + ".description");
- var2.addElement("None");
- var1.addElement(var3 + ".mode");
- var2.addElement("window");
- var1.addElement(var3 + ".lastUpdate");
- var2.addElement("0");
- var1.addElement(var3 + ".permissions");
- var2.addElement("" + 7L);
- return 7;
- }
- }
-
- protected void reflectLoadedData(String[] var1, String[] var2) {
- for(int var3 = 0; var3 < var1.length; ++var3) {
- String var4 = var1[var3].substring(var1[var3].lastIndexOf(46) + 1);
- if (var4.compareTo("type") == 0) {
- this.m_Type = Integer.parseInt(var2[var3]);
- } else if (var4.compareTo("url") == 0) {
- this.m_URL = var2[var3];
- } else if (var4.compareTo("name") == 0) {
- this.m_Name = var2[var3];
- } else if (var4.compareTo("description") == 0) {
- this.m_Description = var2[var3];
- } else if (var4.compareTo("mode") == 0) {
- this.m_Mode = var2[var3];
- } else if (var4.compareTo("lastUpdate") == 0) {
- this.m_LastUpdate = Long.parseLong(var2[var3]);
- } else if (var4.compareTo("permissions") == 0) {
- this.m_Permissions = Long.parseLong(var2[var3]);
- }
- }
-
- }
-
- public void loadData(String var1) {
- this.setPrefsKey(var1);
- Vector var2 = new Vector(15, 10);
- Vector var3 = new Vector(15, 10);
- int var4 = 0;
-
- try {
- var4 = this.loadDataSetup(var2, var3);
- String[] var5 = new String[var4];
- String[] var6 = new String[var4];
- var2.copyInto(var5);
- var3.copyInto(var6);
- NCPrefsManager.GetBatchData(var5, var6);
- this.reflectLoadedData(var5, var6);
- } catch (Exception var7) {
- System.out.println("An error occurred while trying to load an item");
- }
- }
-
- protected int saveDataSetup(Vector var1, Vector var2) throws IllegalArgumentException {
- if (var1.size() != var2.size()) {
- throw new IllegalArgumentException("Different count of preference keys and values");
- } else {
- String var3 = this.getPrefsKey();
- var1.addElement(var3 + ".type");
- var2.addElement("" + this.m_Type);
- var1.addElement(var3 + ".url");
- var2.addElement(this.m_URL);
- var1.addElement(var3 + ".name");
- var2.addElement("" + this.m_Name);
- var1.addElement(var3 + ".description");
- var2.addElement(this.m_Description);
- var1.addElement(var3 + ".mode");
- var2.addElement(this.m_Mode);
- var1.addElement(var3 + ".lastUpdate");
- var2.addElement("" + this.m_LastUpdate);
- var1.addElement(var3 + ".permissions");
- var2.addElement("" + this.m_Permissions);
- return 7;
- }
- }
-
- public void saveData(String var1) {
- Vector var2 = new Vector(15, 10);
- Vector var3 = new Vector(15, 10);
- int var4 = 0;
-
- try {
- var4 = this.saveDataSetup(var2, var3);
- String[] var5 = new String[var4];
- String[] var6 = new String[var4];
- var2.copyInto(var5);
- var3.copyInto(var6);
- NCPrefsManager.SetBatchData(var5, var6);
- } catch (Exception var7) {
- System.out.println("An error occurred while trying to save \"" + this.m_Name + "\"");
- }
- }
-
- public void update() {
- }
-
- public void cancelUpdate() {
- }
-
- public void deleteMe() {
- if (this.parent != null) {
- this.parent.deleteItem(this, true);
- }
-
- }
-
- public void properties() {
- if (this.m_Applet != null && this.m_ItemView != null) {
- JSObject var1 = JSObject.getWindow(this.m_Applet);
- Object[] var2 = new Object[]{this};
- var1.call("handleProperties", var2);
- }
-
- }
-
- public void close() {
- this.m_ItemView = null;
- this.m_Applet = null;
- }
-
- public void createView() {
- if (this.m_Applet != null) {
- JSObject var1 = JSObject.getWindow(this.m_Applet);
- Object[] var2 = new Object[]{this};
- var1.call("createItemLayer", var2);
- }
-
- }
-
- public void deleteView() {
- if (this.m_Applet != null && this.m_ItemView != null) {
- JSObject var1 = JSObject.getWindow(this.m_Applet);
- Object[] var2 = new Object[]{this, this.m_ItemView};
- var1.call("deleteItemLayer", var2);
- }
-
- }
-
- public void setItemView(JSObject var1) {
- this.m_ItemView = var1;
- }
-
- public void refreshView() {
- if (this.m_Applet != null && this.m_ItemView != null) {
- JSObject var1 = JSObject.getWindow(this.m_Applet);
- Object[] var2 = new Object[]{this, this.m_ItemView};
- var1.call("refreshItemLayer", var2);
- }
-
- }
-
- public String[][] getMenuItems() {
- String[][] var1 = new String[3][2];
- var1[0][0] = "Delete";
- var1[0][1] = "delete";
- var1[1][0] = "-";
- var1[1][1] = "";
- var1[2][0] = "Properties";
- var1[2][1] = "props";
- return var1;
- }
-
- public void processMenuItem(String var1) {
- if (var1.compareTo("delete") == 0) {
- this.deleteMe();
- } else {
- if (var1.compareTo("props") == 0) {
- this.properties();
- }
-
- }
- }
-
- public void added(CategoryData var1, boolean var2) {
- this.parent = var1;
- if (var2) {
- boolean var3 = false;
- if (NCPrefsManager.m_defaultChannelName != null && !NCPrefsManager.m_defaultChannelName.equals("")) {
- if (NCPrefsManager.m_defaultChannelName.indexOf(46) == -1 && NCPrefsManager.m_defaultChannelName.equals(this.getPrefsName())) {
- var3 = true;
- } else if (NCPrefsManager.m_defaultChannelName.equals(this.getPrefsKey())) {
- var3 = true;
- }
-
- if (var3 && this.m_Applet != null) {
- JSObject var4 = JSObject.getWindow(this.m_Applet);
- Object[] var5 = new Object[]{this};
- var4.call("setDefaultChannel", var5);
- }
- }
- }
-
- if (var1 != null) {
- this.createView();
- }
-
- }
-
- public void deleted(CategoryData var1) {
- this.deleteView();
- NCPrefsManager.DelPref(this.m_PrefsKey);
- }
-
- public void changed() {
- this.refreshView();
- this.saveData("");
- }
-
- public boolean opening() {
- boolean var1 = this.handleState();
- if (var1 && this.m_Mode.equals("webtop")) {
- this.setWebtopStatus(Boolean.TRUE);
- this.setWebtopIcon();
- }
-
- return var1;
- }
-
- public void closing() {
- if (this.m_Mode.equals("webtop")) {
- this.setWebtopStatus(Boolean.FALSE);
- this.setWebtopIcon();
- }
-
- }
-
- public void setWebtopIcon() {
- Object[] var1 = new Object[2];
- if (this.m_Applet != null && this.m_ItemView != null) {
- JSObject var2 = JSObject.getWindow(this.m_Applet);
- var1[0] = this.m_ItemView;
- var1[1] = this.m_webtopStatus == Boolean.TRUE ? "true" : "false";
- var2.call("contextSetWebtopStatus", var1);
- }
-
- }
-
- public int getAdminUpdateTimes() {
- if (m_AdminUpdateTimes == -1) {
- return m_AdminUpdateTimes;
- } else if (m_AdminUpdateTimes == 0) {
- return 0;
- } else {
- int var1;
- int var2;
- if ((var1 = this.getAdminStartTime()) < (var2 = this.getAdminEndTime())) {
- return 1;
- } else {
- return var1 > var2 ? 2 : 0;
- }
- }
- }
-
- public int getAdminStartTime() {
- return m_AdminStart;
- }
-
- public int getAdminEndTime() {
- return m_AdminEnd;
- }
-
- public synchronized void autoUpdate() {
- }
-
- public int getUpdateTimes() {
- if (this.isScheduled()) {
- int var1 = this.getFrequency();
- if (var1 != -5 && var1 != -6) {
- int var2;
- int var3;
- if ((var2 = this.getStartTime()) < (var3 = this.getEndTime())) {
- return 1;
- } else {
- return var2 > var3 ? 2 : 0;
- }
- } else {
- return 0;
- }
- } else {
- return -1;
- }
- }
-
- public int getStartTime() {
- return this.m_StartTime;
- }
-
- public int getEndTime() {
- return this.m_EndTime;
- }
-
- public String toString() {
- return "DataItem: " + this.m_Name;
- }
-
- public synchronized void setError(String var1) {
- this.m_Error = var1;
- if (var1 == null && this.getState() != 1) {
- this.setState(0);
- }
-
- }
-
- public synchronized void updateLEDImage(boolean var1) {
- if (this.parent != null) {
- Object[] var2 = new Object[2];
- if (this.m_Applet != null && this.m_ItemView != null) {
- JSObject var3 = JSObject.getWindow(this.m_Applet);
- var2[0] = this.m_ItemView;
- var2[1] = new Integer(this.m_State);
- var3.call("contextSetChannelStatus", var2);
- }
- }
-
- }
-
- public synchronized boolean handleState() {
- JSObject var1 = null;
- if (this.m_Applet != null) {
- var1 = JSObject.getWindow(this.m_Applet);
- }
-
- String var3 = this.getError();
- boolean var2;
- if (this.m_State < 0) {
- String[] var4 = new String[]{var3};
- if (var1 != null) {
- var1.call("showError", var4);
- }
-
- if (this.m_State == -2) {
- var2 = false;
- this.setState(-2);
- } else {
- var2 = true;
- this.setState(0);
- }
- } else {
- var2 = true;
- this.setState(0);
- }
-
- this.updateLEDImage(true);
- return var2;
- }
-
- static {
- String[] var0 = new String[]{""};
- var0[0] = "netcaster.admin.startTime";
- String var1 = NCPrefsManager.GetData(var0[0], "9");
- m_AdminStart = Integer.parseInt(var1);
- var0[0] = "netcaster.admin.endTime";
- var1 = NCPrefsManager.GetData(var0[0], "17");
- m_AdminEnd = Integer.parseInt(var1);
- var0[0] = "netcaster.admin.times";
- var1 = NCPrefsManager.GetData(var0[0], "0");
- m_AdminUpdateTimes = Integer.parseInt(var1);
- }
- }
-