home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast.application;
-
- import java.applet.Applet;
- import java.applet.AppletContext;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.ResourceBundle;
- import java.util.StringTokenizer;
- import java.util.Vector;
- import marimba.castanet.client.CastanetChannel;
- import marimba.castanet.client.CastanetConstants;
- import marimba.castanet.client.CastanetException;
- import marimba.castanet.client.CastanetObject;
- import marimba.castanet.client.CastanetObserver;
- import marimba.castanet.client.CastanetTransmitter;
- import marimba.castanet.client.CastanetWorkspace;
- import marimba.castanet.util.ProgressInfo;
- import netscape.applet.CastanetChannelInfo;
- import netscape.javascript.JSObject;
- import netscape.netcast.ApplicationThread;
- import netscape.netcast.NSCastanetWorkspace;
- import netscape.netcast.NSNetcast;
- import netscape.netcast.infostream.ISMgr;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
-
- public class Const implements NSNetcast, CastanetObserver, CastanetConstants {
- static final int POLLED_CHANNEL = 1;
- static final int CASTANET_CHANNEL = 2;
- public static ChannelScheduler scheduler = new ChannelScheduler();
- public static String VERSION_STRING;
- static CategoryData selectorData;
- SiteData adminCache;
- Vector items = new Vector(0);
- public ConstPR4 applet;
- // $FF: renamed from: ws marimba.castanet.client.CastanetWorkspace
- CastanetWorkspace field_0;
-
- public Const(Applet var1) {
- this.applet = (ConstPR4)var1;
- this.applet.constManager = this;
- NCPrefsManager.Initialize(var1);
- DebugManager.setDebugMode(NCPrefsManager.GetData("netcaster.debug", "false"));
- NetcasterConfig var2 = new NetcasterConfig(this);
- var2.run();
- Object var6 = null;
- this.initCastanetWorkspace();
- String var3 = "netcaster.NetcasterAdmin";
- this.adminCache = NCPrefsManager.getSiteData(var1, var3);
-
- try {
- selectorData = NCPrefsManager.LoadChannelList();
- } catch (Exception var5) {
- System.out.println(((Throwable)var5).getMessage());
- ((Throwable)var5).printStackTrace();
- }
- }
-
- public static void SetVersionString(String var0) {
- VERSION_STRING = var0;
- }
-
- public static void setInfoStreamObject(JSObject var0) {
- ISMgr.setInfoStreamObject(var0);
- }
-
- public static CategoryData getData() {
- return selectorData;
- }
-
- public Vector getVector() {
- return this.items;
- }
-
- public void addItem(DataItem var1, String var2, boolean var3) throws ConstException {
- CategoryData var4;
- if (var2 == null) {
- var4 = selectorData;
- } else {
- var4 = selectorData.FindContainer(var2);
- }
-
- if (var4 != null) {
- var4.addItem(var1, var3);
- } else {
- throw new ConstException("NO CONTAINER FOUND");
- }
- }
-
- public void addItem(DataItem var1, String var2) throws ConstException {
- this.addItem(var1, var2, false);
- }
-
- public void openAllCaches() {
- if (selectorData != null) {
- selectorData.openAllCaches();
- }
-
- }
-
- public DataItem FindItemByPrefKey(String var1) {
- return selectorData.FindItemByPrefKey(var1);
- }
-
- public DataItem findItemByName(String var1) {
- return selectorData.findItemByName(var1);
- }
-
- public Boolean close() {
- if (selectorData != null && !selectorData.canClose()) {
- return Boolean.FALSE;
- } else {
- try {
- NCPrefsManager.SaveChannelList(selectorData, true);
- this.adminCache.close();
- this.adminCache.saveData("netcaster");
- selectorData.close();
- scheduler.stop();
- if (this.field_0 != null) {
- try {
- this.field_0.stop();
- } catch (NullPointerException var4) {
- }
-
- this.field_0 = null;
- NSCastanetWorkspace.doShutdownCleanup();
- }
- } catch (Exception var5) {
- System.out.println("Errors occurred trying to close Netcaster.");
- } finally {
- ;
- }
-
- return Boolean.TRUE;
- }
- }
-
- void initCastanetWorkspace() {
- NSCastanetWorkspace.init(this);
- }
-
- public void setCastanetWorkspace(CastanetWorkspace var1) {
- this.field_0 = var1;
- PrivilegeManager var2 = PrivilegeManager.getPrivilegeManager();
- if (var2 != null) {
- Target var3 = Target.findTarget("MarimbaAppContextTarget");
- if (var3 != null) {
- try {
- var2.enablePrivilege(var3);
- } catch (Exception var4) {
- this.field_0 = null;
- return;
- }
- }
- }
-
- CastanetChannelInfo.setWorkspacePath(((CastanetObject)var1).getDirectory().getAbsolutePath());
- ((CastanetObject)var1).addObserver(this);
- }
-
- synchronized CastanetDataItem findCastanetDataItem(CastanetChannel var1) {
- if (var1 == null) {
- return null;
- } else {
- CastanetDataItem var2 = selectorData.findCastanetChannel(var1);
- return var2;
- }
- }
-
- public void showCastanetChannel(String var1, CastanetChannel var2) {
- CastanetDataItem var3 = this.findCastanetDataItem(var2);
- JSObject var4 = JSObject.getWindow(this.applet);
- if (var3 != null && ((DataItem)var3).getMode().equalsIgnoreCase("webtop")) {
- var4.eval("parent.selector.openWebtopURL('" + var1 + "'" + var3 + ")");
- } else if (var3 != null && ((DataItem)var3).getMode().equalsIgnoreCase("full")) {
- var4.eval("parent.selector.openSiteURL(true,'" + var1 + "')");
- } else {
- var4.eval("parent.selector.openSiteURL(false,'" + var1 + "')");
- }
- }
-
- public boolean showDocument(String var1, String var2) {
- if (var1.startsWith("tuner:")) {
- var1 = "castanet:" + var1.substring(6);
- }
-
- if (var2 == null) {
- var2 = "channel";
- }
-
- JSObject var3 = JSObject.getWindow(this.applet);
- String[] var4 = new String[]{var1, var2};
- var3.call("open", var4);
- return true;
- }
-
- public void showStatus(String var1) {
- }
-
- public AppletContext getAppletContext() {
- return this.applet.getAppletContext();
- }
-
- public void add(String var1, String[] var2) {
- this.applet.AddNewCastanetChannel(var1, var2);
- }
-
- public void remove() {
- }
-
- public void setChannelURL(String var1) {
- }
-
- public String getChannelURL() {
- return null;
- }
-
- public void setChannelDescription(String var1) {
- }
-
- public String getChannelDescription() {
- return null;
- }
-
- public void setChannelEstCacheSize(int var1) {
- }
-
- public int getChannelEstCacheSize() {
- return 0;
- }
-
- public void setChannelMaxCacheSize(int var1) {
- }
-
- public int getChannelMaxCacheSize() {
- return 0;
- }
-
- public void setChannelCrawlDepth(int var1) {
- }
-
- public int getChannelCrawlDepth() {
- return 0;
- }
-
- public void setChannelDisplayMode(String var1) {
- }
-
- public String getChannelDisplayMode() {
- return null;
- }
-
- public void setChannelWidthHint(int var1) {
- }
-
- public int getChannelWidthHint() {
- return 0;
- }
-
- public void setChannelHeightHint(int var1) {
- }
-
- public int getChannelHeightHint() {
- return 0;
- }
-
- public void setChannelTopHint(int var1) {
- }
-
- public int getChannelTopHint() {
- return 0;
- }
-
- public void setChannelLeftHint(int var1) {
- }
-
- public int getChannelLeftHint() {
- return 0;
- }
-
- public void setChannelUpdateInterval(int var1) {
- }
-
- public int getChannelUpdateInterval() {
- return 0;
- }
-
- public void setChannelUpdateAbsolute(int var1) {
- }
-
- public int getChannelUpdateAbsolute() {
- return 0;
- }
-
- public void setChannelScheduleUpdate(boolean var1) {
- }
-
- public boolean getChannelScheduleUpdate() {
- return false;
- }
-
- public void setChannelPreviewGIF(String var1) {
- }
-
- public String getChannelPreviewGIF() {
- return null;
- }
-
- public void openCastanetURL(String var1) {
- try {
- PrivilegeManager var2 = PrivilegeManager.getPrivilegeManager();
- if (var2 != null) {
- Target var3 = Target.findTarget("MarimbaInternalTarget");
- if (var3 != null) {
- var2.enablePrivilege(var3);
- }
- }
-
- URL var18 = new URL(var1);
- String var4 = var18.getHost();
- int var5 = var18.getPort();
- if (var5 < 0) {
- var5 = 80;
- }
-
- String var6 = var4 + ":" + var5;
-
- String var7;
- for(var7 = var18.getFile(); var7.startsWith("/"); var7 = var7.substring(1)) {
- }
-
- int var8 = var7.indexOf(47);
- if (var8 >= 0) {
- var7 = var7.substring(0, var8);
- }
-
- String var9 = "start";
- var8 = var7.indexOf(63);
- if (var8 >= 0) {
- var9 = var7.substring(var8 + 1);
- var7 = var7.substring(0, var8);
- }
-
- CastanetTransmitter var10 = this.field_0.getTransmitter(var6);
- if (var10 != null) {
- CastanetChannel var11 = var10.getChannel(var7);
- CastanetDataItem var12 = selectorData.findCastanetChannel(var11);
- if (var12 != null) {
- if (var12.bInitialDownload) {
- JSObject var20 = JSObject.getWindow(this.applet);
- ResourceBundle var21 = ResourceBundle.getBundle("netscape.netcast.application.NetcasterStrings");
- var20.eval("parent.selector.showError('" + var21.getString("This channel can not be opened during the initial update.") + "');");
- return;
- }
-
- if (!var9.startsWith("start,")) {
- var11.start();
- return;
- }
-
- String var13 = var9.substring(6);
- Vector var14 = new Vector();
- StringTokenizer var15 = new StringTokenizer(var13, ",");
-
- while(var15.hasMoreTokens()) {
- var14.addElement(var15.nextToken());
- }
-
- String[] var16 = new String[var14.size()];
- var14.copyInto(var16);
- var11.start(var16);
- return;
- }
- }
- } catch (MalformedURLException var17) {
- ((Throwable)var17).printStackTrace();
- }
-
- }
-
- synchronized void addCastanetChannel(CastanetChannel var1) {
- CastanetDataItem var2 = new CastanetDataItem(this.applet, var1);
- ((DataItem)var2).setType(2);
- ((DataItem)var2).setURL("castanet://" + var1.getTransmitter().getAddress() + "/" + var1.getEncodedName() + "?start");
- ((DataItem)var2).setItemName(((CastanetObject)var1).getName());
- ((DataItem)var2).setPrefsKey("netcaster.channel." + var1.getEncodedName());
- ((DataItem)var2).setMode("window");
-
- try {
- this.addItem(var2, CategoryData.getDefaultContainerName(), true);
- } catch (ConstException var4) {
- ((Throwable)var4).printStackTrace();
- }
- }
-
- synchronized boolean checkCastanetChannel(CastanetChannel var1) {
- if (selectorData == null) {
- return false;
- } else {
- CastanetDataItem var2 = this.findCastanetDataItem(var1);
- if (var2 == null) {
- this.addCastanetChannel(var1);
- return true;
- } else {
- return false;
- }
- }
- }
-
- synchronized boolean checkCastanetChannels() {
- PrivilegeManager var1 = PrivilegeManager.getPrivilegeManager();
- if (var1 != null) {
- Target var2 = Target.findTarget("MarimbaInternalTarget");
- if (var2 != null) {
- var1.enablePrivilege(var2);
- }
- }
-
- boolean var7 = false;
- if (this.field_0 != null) {
- CastanetTransmitter[] var3 = this.field_0.getTransmitters();
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- CastanetChannel[] var5 = var3[var4].getChannels();
-
- for(int var6 = 0; var6 < var5.length; ++var6) {
- var7 |= this.checkCastanetChannel(var5[var6]);
- }
- }
- }
-
- return var7;
- }
-
- void setCastanetProps(CastanetChannel var1) {
- CastanetDataItem var2 = this.findCastanetDataItem(var1);
- if (var2 != null) {
- var2.setCastanetProps(var1);
- }
-
- }
-
- void setStatus(CastanetChannel var1, String var2, int var3) {
- CastanetDataItem var4 = this.findCastanetDataItem(var1);
- if (var4 != null) {
- var4.setStatus(var2, var3);
- }
-
- }
-
- void setProgress(CastanetChannel var1, ProgressInfo var2, int var3) {
- CastanetDataItem var4 = this.findCastanetDataItem(var1);
- if (var4 != null) {
- var4.setProgress(var2, var3);
- }
-
- }
-
- String getError(CastanetException var1) {
- if (var1 == null) {
- return null;
- } else {
- Object var2 = var1.getArgument();
- int var3 = var1.getErrorCode();
- int var4 = var1.getErrorDetail();
- ResourceBundle var5 = ResourceBundle.getBundle("netscape.netcast.application.NetcasterStrings");
- switch (var3) {
- case 601:
- return var5.getString("Cache inconsistency");
- case 602:
- switch (var4) {
- case 862:
- return var5.getString("No 'main' property defined in channel");
- case 863:
- return var5.getString("No default constructor in class: ") + var2;
- case 864:
- return var5.getString("Class not found: ") + var2;
- case 865:
- return var5.getString("Can't instantiate main: ") + var2;
- case 866:
- return var5.getString("No access to class: ") + var2;
- case 867:
- return var5.getString("Main class does not implement Application: ") + var2;
- case 868:
- return var5.getString("Error in setContext: ") + var2;
- case 869:
- case 870:
- case 871:
- default:
- return var5.getString("Unknown error: ") + var3 + "/" + var4 + "/" + var2;
- case 872:
- return var5.getString("Error while stopping: ") + var2;
- }
- case 603:
- if (var2 != null) {
- return var2.toString();
- }
-
- return var5.getString("Connection failed");
- case 604:
- switch (var4) {
- case 820:
- case 821:
- case 822:
- case 824:
- case 825:
- return var5.getString("Error creating: ") + var2;
- case 823:
- case 826:
- case 827:
- default:
- return var5.getString("Unknown error: ") + var3 + "/" + var4 + "/" + var2;
- case 828:
- return var5.getString("Error reading: ") + var2;
- case 829:
- case 830:
- return var5.getString("Error deleting: ") + var2;
- }
- case 605:
- case 606:
- case 607:
- return var5.getString("Internal error: ") + var3 + "/" + var4;
- case 608:
- switch (var4) {
- case 801:
- case 802:
- case 803:
- case 805:
- return var5.getString("Network error: ") + var4;
- case 804:
- return var5.getString("Network error: checksum mismatch");
- case 806:
- return var5.getString("HTTP error: ") + var2;
- case 807:
- return var5.getString("Network connection lost");
- default:
- return var5.getString("Unknown error: ") + var3 + "/" + var4 + "/" + var2;
- }
- case 609:
- return var5.getString("Unknown host: ") + var2;
- case 610:
- return var5.getString("Protocol not supported");
- case 611:
- return var5.getString("No such channel");
- case 612:
- return var5.getString("Transmitter busy");
- case 613:
- return var5.getString("Authentication required");
- case 614:
- return var5.getString("Transmitter expired");
- case 615:
- return var5.getString("Transmitter error: ") + var2;
- case 616:
- return var5.getString("Transmitter user limit exceeded");
- default:
- return var5.getString("Unknown error: ") + var3 + "/" + var4 + "/" + var2;
- }
- }
- }
-
- void setError(CastanetObject var1, CastanetException var2) {
- String var3 = this.getError(var2);
- if (var1 instanceof CastanetChannel) {
- CastanetDataItem var4 = this.findCastanetDataItem((CastanetChannel)var1);
- if (var4 != null) {
- var4.setError(var3);
- return;
- }
- } else {
- this.setError(var3);
- }
-
- }
-
- void setError(String var1) {
- }
-
- public synchronized void notify(CastanetObject var1, int var2, Object var3) {
- ResourceBundle var4 = ResourceBundle.getBundle("netscape.netcast.application.NetcasterStrings");
- switch (var2) {
- case 103:
- return;
- case 104:
- return;
- case 105:
- return;
- case 106:
- if (var3 instanceof CastanetException) {
- this.setError(var1, (CastanetException)var3);
- }
-
- if (var3 instanceof Throwable) {
- ((Throwable)var3).printStackTrace();
- }
-
- return;
- case 110:
- CastanetObject var5 = (CastanetObject)var3;
- var5.addObserver(this);
- return;
- case 111:
- if (var3 instanceof CastanetChannel) {
- CastanetChannel var14 = (CastanetChannel)var3;
- CastanetDataItem var17 = this.findCastanetDataItem(var14);
- if (var17 != null) {
- ((DataItem)var17).deleteMe();
- }
-
- CastanetTransmitter var19 = var14.getTransmitter();
- if (var19.empty()) {
- var19.remove();
- }
- }
-
- return;
- case 112:
- return;
- case 400:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("repairing"), var2);
- return;
- }
- break;
- case 401:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("listed"), var2);
- return;
- }
- break;
- case 402:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("unsubscribed"), var2);
- return;
- }
- break;
- case 403:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("subscribed"), var2);
- return;
- }
- break;
- case 404:
- this.setStatus((CastanetChannel)var1, "notifying", var2);
- if (var1 instanceof CastanetChannel) {
- CastanetChannel var13 = (CastanetChannel)var1;
- if (!var13.getOnDemand() && !"html".equalsIgnoreCase(var13.getChannelProperty("type"))) {
- String var16 = var13.getChannelProperty("install.inactive");
- if (var16 != null && var16.equalsIgnoreCase("notify")) {
- new ApplicationThread(var13, var2, var3);
- return;
- }
-
- var13.stopped();
- return;
- }
-
- var13.stopped();
- return;
- }
- break;
- case 405:
- this.setStatus((CastanetChannel)var1, "starting", var2);
- if (var1 instanceof CastanetChannel) {
- CastanetChannel var12 = (CastanetChannel)var1;
- if (!var12.getOnDemand() && !"html".equalsIgnoreCase(var12.getChannelProperty("type"))) {
- new ApplicationThread(var12, var2, var3);
- return;
- }
-
- String var15 = var12.getChannelProperty("index.page");
- if (var15 == null) {
- var15 = "index.html";
- }
-
- String var18 = "castanet://" + var12.getTransmitter().getAddress() + "/" + var12.getEncodedName() + "/" + var15;
- this.showCastanetChannel(var18, var12);
- var12.stopped();
- JSObject var20 = JSObject.getWindow(this.applet);
- var20.eval("parent.titlebar.AutoHide();");
- return;
- }
- break;
- case 406:
- this.setStatus((CastanetChannel)var1, var4.getString("running"), var2);
- return;
- case 407:
- this.setStatus((CastanetChannel)var1, var4.getString("stopping"), var2);
- return;
- case 408:
- this.setStatus((CastanetChannel)var1, var4.getString("killing"), var2);
- return;
- case 409:
- this.setStatus((CastanetChannel)var1, var4.getString("removed"), var2);
- return;
- case 410:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("subscribing"), var2);
- return;
- }
- break;
- case 411:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("updating"), var2);
- return;
- }
- break;
- case 420:
- if (var1 instanceof CastanetChannel) {
- JSObject var10 = JSObject.getWindow(this.applet);
- var10.eval("parent.titlebar.AutoHide();");
- }
- case 421:
- if (var1 instanceof CastanetChannel) {
- CastanetDataItem var11 = this.findCastanetDataItem((CastanetChannel)var1);
- if (var11 != null) {
- var11.updateProps();
- return;
- }
- }
- break;
- case 500:
- this.setStatus((CastanetChannel)var1, var4.getString("queued"), var2);
- this.setError(var1, (CastanetException)null);
- return;
- case 501:
- case 502:
- case 503:
- case 504:
- case 505:
- case 506:
- break;
- case 507:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("done"), var2);
- return;
- }
- break;
- case 508:
- this.setError(var1, (CastanetException)var3);
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("error"), var2);
- }
-
- if (var3 instanceof Throwable) {
- ((Throwable)var3).printStackTrace();
- return;
- }
- break;
- case 509:
- if (var1 instanceof CastanetChannel) {
- this.setStatus((CastanetChannel)var1, var4.getString("cancelled"), var2);
- return;
- }
- break;
- case 703:
- if (var1 instanceof CastanetChannel) {
- CastanetChannel var6 = (CastanetChannel)var1;
- if ("true".equalsIgnoreCase(var6.getChannelProperty("http.log"))) {
- String var7 = (String)var3;
- int var8 = var7.length();
- byte[] var9 = new byte[var8];
- var7.getBytes(0, var8, var9, 0);
- var6.appendLog(var9);
- return;
- }
- }
- break;
- case 5012:
- this.setCastanetProps((CastanetChannel)var1);
- case 5009:
- case 5010:
- case 5011:
- this.setProgress((CastanetChannel)var1, (ProgressInfo)var3, var2);
- return;
- default:
- return;
- }
-
- }
- }
-