diff options
author | zero <zero@66b5f39b-87a2-44c3-adb7-4b08653a3962> | 2009-12-04 00:38:49 +0000 |
---|---|---|
committer | Michael Blume <blume.mike@gmail.com> | 2010-05-30 19:43:25 -0700 |
commit | 48ce56f2ce57c1f381ae4b17ee86d78fedf40772 (patch) | |
tree | e44ab2d90b73ae1e425220c8c82aca847c25ad07 | |
parent | c28e529dccd6efecf4ad0a57d3e7958833625a3b (diff) | |
download | uncertainfuture-48ce56f2ce57c1f381ae4b17ee86d78fedf40772.tar.gz uncertainfuture-48ce56f2ce57c1f381ae4b17ee86d78fedf40772.zip |
Compability fixes, better error messages added
git-svn-id: svn+ssh://10.37.55.100/usr/local/svn/uf@24 66b5f39b-87a2-44c3-adb7-4b08653a3962
-rw-r--r-- | java/build.jardesc | 40 | ||||
-rw-r--r-- | java/libs/plugin.jar | bin | 0 -> 1023321 bytes | |||
-rw-r--r-- | java/src/org/singinst/uf/common/LogUtil.java | 6 | ||||
-rw-r--r-- | java/src/org/singinst/uf/model/NodeMetadataFactory.java | 4 | ||||
-rw-r--r-- | java/src/org/singinst/uf/model/ScalarValueHolder.java | 11 | ||||
-rw-r--r-- | java/src/org/singinst/uf/presenter/Store.java | 4 | ||||
-rw-r--r-- | java/src/org/singinst/uf/view/AppletBrowser.java | 108 | ||||
-rw-r--r-- | java/src/org/singinst/uf/view/UfApplet.java | 3 | ||||
-rw-r--r-- | java/src/org/singinst/uf/view/ViewUtil.java | 29 | ||||
-rw-r--r-- | web/UfApplet.jar | bin | 722518 -> 705854 bytes | |||
-rw-r--r-- | web/UfApplet.jnlp | 3 | ||||
-rw-r--r-- | web/main.html | 85 | ||||
-rw-r--r-- | web/plugin.jar | bin | 0 -> 1023321 bytes |
13 files changed, 177 insertions, 116 deletions
diff --git a/java/build.jardesc b/java/build.jardesc index 0497f93..110ca02 100644 --- a/java/build.jardesc +++ b/java/build.jardesc @@ -11,24 +11,29 @@ </sealing> </manifest> <selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false"> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{ViewUtil.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{AppletStore.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{AtLeastOneHappensCalculation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.math{InvertableFunction.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooresLawNodeMetadataContentsFactory.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{SummarySource.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{LogBounds.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooreAsymptote.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{AxisDirection.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooreAsymptote.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarSubIDString.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooreConstraint.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{GraphCanvas.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{IncidentFunction.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{SimpleLine.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{SwingHelp.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{AxisSample.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{SimpleStyle.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarValueDependency.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{SimpleStyle.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NormalNodeMetadataContentsFactory.java"/> <file path="/java/src/org/singinst/uf/model/UiTextConstant.java~"/> <file path="/java/.classpath"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{TextScalarBinder.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{MainWindow.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{YearwiseCalculationRelation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{DraggableLine.java"/> <file path="/java/libs/commons-math-1.2.jar"/> @@ -42,27 +47,26 @@ <javaElement handleIdentifier="=java/src<org.singinst.uf.math{MathUtilTest.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{Evaluable.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{YearExtremeNodeMetadataContentsFactory.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NodeMetadataFactory.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{MouseClickListener.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NodeMetadataFactory.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{LineBounds.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.math{MathUtil.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ResearchersNodeMetadataContentsFactory.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.common{StringUtil.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{UfHelp.java"/> - <javaElement handleIdentifier="=java/src<org.apache"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{ScaledCanvas.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NodeMetadataBuilder.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{PowerFunction.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{GeneLearningExtreme.java"/> - <javaElement handleIdentifier="=java/src<org.apache.commons.math"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{GeneLearningNodeMetadataContentsFactory.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooreDraggableLine.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{Store.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooreDraggableLine.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.math{SimplePoint.java"/> <file path="/java/build.jardesc"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NeuromorphicAiRelation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{UiText.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NotablePercentile.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{GraphTransform.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NotablePercentile.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NeedsCalcCache.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NormalConstraint.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{OtherIaExtreme.java"/> @@ -70,31 +74,36 @@ <file path="/java/.project"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{Axis.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ConclusionReportGenerator.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{RangeScalarBinder.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{Calculation.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{SwingGraphCanvas.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{Completion.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarRelation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarValueHolder.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{RescheduledEventsRelation.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{PercentileDraggableLine.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarRelation.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{AppletBrowser.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NodeIDString.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarSchema.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{PercentileDraggableLine.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{RescheduledEventsRelation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{IncidentExtremeNodeMetadataContentsFactory.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ScalarSchema.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{CanvasString.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.common"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ValueListener.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{NumericEntry.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{ClickableCurve.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MooresLawData.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{UfApplet.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{LineBounded.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{MultiplicationCalculation.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ModelUtil.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{CompositeCalculation.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{ModelUtil.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{Graph.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{IncidentBounds.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{PlaneBounded.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{NodeMetadata.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{ProxyCanvas.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{UiTextConstant.java"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.view"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.view{SwingStyle.java"/> + <javaElement handleIdentifier="=java/src<org.apache.commons.math{MathException.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{MouseDragListener.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{CalculationRelation.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{OtherIaNodeMetadataContentsFactory.java"/> @@ -104,8 +113,9 @@ <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{HtmlUtil.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{SimpleColor.java"/> <javaElement handleIdentifier="=java/src<org"/> - <javaElement handleIdentifier="=java/src<org.singinst.uf.model{Node.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.common{LogUtil.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.math{LinearTransform.java"/> + <javaElement handleIdentifier="=java/src<org.singinst.uf.model{Node.java"/> <file path="/java/libs/junit-4.6.jar"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.model{HazardRateNodeMetadataContentsFactory.java"/> <javaElement handleIdentifier="=java/src<org.singinst.uf.presenter{RelationPresentation.java"/> diff --git a/java/libs/plugin.jar b/java/libs/plugin.jar Binary files differnew file mode 100644 index 0000000..bd3b292 --- /dev/null +++ b/java/libs/plugin.jar diff --git a/java/src/org/singinst/uf/common/LogUtil.java b/java/src/org/singinst/uf/common/LogUtil.java index c316b54..5db6c6c 100644 --- a/java/src/org/singinst/uf/common/LogUtil.java +++ b/java/src/org/singinst/uf/common/LogUtil.java @@ -3,13 +3,17 @@ package org.singinst.uf.common; public class LogUtil {
+ // Show debug information
+ private static final boolean debug = true;
+
public static void error(Exception e) {
e.printStackTrace();
}
public static void info(String string) {
- System.err.println(string);
+ if (debug)
+ System.err.println(string);
}
}
diff --git a/java/src/org/singinst/uf/model/NodeMetadataFactory.java b/java/src/org/singinst/uf/model/NodeMetadataFactory.java index 1aa93bd..734e85a 100644 --- a/java/src/org/singinst/uf/model/NodeMetadataFactory.java +++ b/java/src/org/singinst/uf/model/NodeMetadataFactory.java @@ -6,6 +6,10 @@ import java.util.List; import org.singinst.uf.presenter.NumericEntry;
public class NodeMetadataFactory {
+ /**
+ * Create all nodes (tabs) and set default values.
+ * @return
+ */
public static List<NodeMetadata> createTheNetwork() {
NodeMetadata q1_1 = constructQ1_1Builder().build();
NodeMetadata q1_2 = constructQ1_2Builder().build();
diff --git a/java/src/org/singinst/uf/model/ScalarValueHolder.java b/java/src/org/singinst/uf/model/ScalarValueHolder.java index e435c3d..bdf9890 100644 --- a/java/src/org/singinst/uf/model/ScalarValueHolder.java +++ b/java/src/org/singinst/uf/model/ScalarValueHolder.java @@ -7,10 +7,12 @@ import java.util.List; import java.util.Map;
import java.util.Set;
+import org.singinst.uf.common.LogUtil;
import org.singinst.uf.common.StringUtil;
import org.singinst.uf.math.MathUtil;
import org.singinst.uf.presenter.LineBounds;
import org.singinst.uf.presenter.Store;
+import org.singinst.uf.view.ViewUtil;
public class ScalarValueHolder implements Evaluable {
@Override
@@ -29,6 +31,12 @@ public class ScalarValueHolder implements Evaluable { this.scalarSchema = scalarSchema;
try {
Store s = Store.getInstance();
+ if (s == null) {
+ LogUtil.info("ScalarValueHolder.init(): Store instance is null!");
+ }
+ if (scalarSchema == null) {
+ LogUtil.info("ScalarValueHolder.init(): scalarSchema is null!");
+ }
Double storedValue = s.get(scalarSchema.getKey());
if (storedValue == null) {
this.value = value;
@@ -51,7 +59,8 @@ public class ScalarValueHolder implements Evaluable { timestamp = System.currentTimeMillis();
this.value = constrainedValue;
notifyListeners();
- org.singinst.uf.common.LogUtil.info("storing with key \"" + scalarSchema.getKey() + "\" and value of "+value);
+
+ LogUtil.info("storing with key \"" + scalarSchema.getKey() + "\" and value of "+value);
try {
Store s = Store.getInstance();
s.put(scalarSchema.getKey(), value);
diff --git a/java/src/org/singinst/uf/presenter/Store.java b/java/src/org/singinst/uf/presenter/Store.java index fcbfbe0..3cb3f41 100644 --- a/java/src/org/singinst/uf/presenter/Store.java +++ b/java/src/org/singinst/uf/presenter/Store.java @@ -12,6 +12,10 @@ public abstract class Store { public abstract Double get(String key);
public abstract void put(String key, double value);
+ /**
+ * Load data (expert claim). This is called from the browser.
+ * @param jsonSubset
+ */
public void loadData(String jsonSubset) {
try {
attemptLoad(jsonSubset);
diff --git a/java/src/org/singinst/uf/view/AppletBrowser.java b/java/src/org/singinst/uf/view/AppletBrowser.java index 52c162c..df50bfb 100644 --- a/java/src/org/singinst/uf/view/AppletBrowser.java +++ b/java/src/org/singinst/uf/view/AppletBrowser.java @@ -1,19 +1,14 @@ package org.singinst.uf.view;
import java.applet.Applet;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.rmi.UnexpectedException;
+import netscape.javascript.JSObject;
+
+import org.singinst.uf.common.LogUtil;
import org.w3c.dom.Element;
import org.w3c.dom.html.HTMLDocument;
+import org.w3c.dom.html.HTMLIFrameElement;
import com.sun.java.browser.dom.DOMAccessor;
import com.sun.java.browser.dom.DOMAction;
@@ -24,7 +19,6 @@ public class AppletBrowser { private DOMService service;
private static AppletBrowser instance;
private final Applet applet;
- private static BufferedWriter log = null;
public AppletBrowser(Applet applet) {
this.applet = applet;
try {
@@ -34,61 +28,61 @@ public class AppletBrowser { }
}
-// private void log(String msg) {
-// if (log == null) {
-//// File logFile = new File("uf-log" + new SimpleDateFormat("yyMMdd").format(new Date()) + ".log");
-// File logFile = null;
-// try {
-// logFile = File.createTempFile("uf-log", "log");
-// } catch (IOException e1) {
-// e1.printStackTrace();
-// }
-// OutputStream outStream = null;
-// try {
-// outStream = new FileOutputStream(logFile);
-// } catch (FileNotFoundException e) {
-// e.printStackTrace();
-// }
-// log = new BufferedWriter(new OutputStreamWriter(outStream));
-// System.out.println("FIXME: Created log file " + logFile.getAbsolutePath());
-// }
-// try {
-// log.write(msg + "\n");
-// log.flush();
-// System.out.println("FIXME: " + msg);
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-//// try {
-//// log.close();
-//// } catch (IOException e) {
-//// e.printStackTrace();
-//// }
-// }
-
+ /**
+ * Switch shown help page.
+ */
public void loadPage(final String helpName) {
-// log("loadPage(" + helpName + ")");
if (service != null) {
-// log("service != null");
try {
service.invokeAndWait(new DOMAction()
{
+ /**
+ * Firefox on Mac has some issues with accessing HTML elements
+ * from applets and is currently not working.
+ *
+ * See http://forums.sun.com/thread.jspa?threadID=5391691.
+ *
+ * This method is an approach that doesn't work, but might be used
+ * as a starting point.
+ */
+ private void getMacSidebar() {
+// element.getOwnerDocument() // Get document from element
+// applet.getDocumentBase() // Get URL for applet base
+ JSObject w = JSObject.getWindow(applet);
+ Object o = w.eval("getSidebar()");
+ Object o2 = w.eval("document.getElementById('sidebar')");
+ LogUtil.info("getSidebar(): " + o);
+ LogUtil.info("document.getElementById('sidebar'): " + o2 + ", " + o2.getClass());
+ LogUtil.info("sidebar object has class: " + o.getClass());
+ if (o instanceof HTMLIFrameElement) {
+ HTMLIFrameElement e = (HTMLIFrameElement) o;
+ e.setAttribute("class", "fooBar");
+ }
+ Class c = o.getClass();
+ }
public Object run(DOMAccessor accessor)
{
+ LogUtil.info("Applet: " + applet);
HTMLDocument doc = (HTMLDocument) accessor.getDocument(applet);
- Element element = doc.getElementById("sidebar");
-// log("doc: " + doc + ", element: " + element);
- //for (int i = 0; i < nodeList.getLength(); i++) {
- //Node node = nodeList.item(i);
- //if (node instanceof Element) {
- //Element element = (Element) node;
- if (element.getAttribute("name").startsWith("ufHelp")) {
- String pageName = "ufHelp/" + helpName + ".html";
- element.setAttribute("src", pageName);
- }
- //}
- //}
+ LogUtil.info("HTML document: " + doc);
+
+// if (ViewUtil.runningOnApple()) {
+// LogUtil.info("Running on OS X");
+// } else {
+// LogUtil.info("Running on ~OS X");
+// }
+
+ if (doc == null) {
+ LogUtil.error(new UnexpectedException("HTML document could not be accessed!"));
+ return null;
+ }
+ Element element = doc.getElementById("sidebar");
+ LogUtil.info("Element with id sidebar: " + element);
+ if (element.getAttribute("name").startsWith("ufHelp")) {
+ String pageName = "ufHelp/" + helpName + ".html";
+ element.setAttribute("src", pageName);
+ }
return null;
}
});
diff --git a/java/src/org/singinst/uf/view/UfApplet.java b/java/src/org/singinst/uf/view/UfApplet.java index f71da15..783f45b 100644 --- a/java/src/org/singinst/uf/view/UfApplet.java +++ b/java/src/org/singinst/uf/view/UfApplet.java @@ -37,9 +37,6 @@ public class UfApplet extends JApplet { Store.getInstance().loadData(jsonSubset);
}
- /**
- *
- */
private void createGUI() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
diff --git a/java/src/org/singinst/uf/view/ViewUtil.java b/java/src/org/singinst/uf/view/ViewUtil.java index ce4c843..a8619ef 100644 --- a/java/src/org/singinst/uf/view/ViewUtil.java +++ b/java/src/org/singinst/uf/view/ViewUtil.java @@ -3,23 +3,32 @@ package org.singinst.uf.view; import java.net.MalformedURLException;
import java.net.URL;
+import org.singinst.uf.common.LogUtil;
+
public class ViewUtil {
- private static Boolean isApple = isApple();
+ private static Boolean isApple = null;
public static boolean renderExponentsAsSuperscript() {
- return !isApple;
+ return !runningOnApple();
}
- private static URL apple() throws MalformedURLException {
- return new URL("http://apple.com/");
+ private static URL getAppleUrl() throws MalformedURLException {
+ return new URL("http://www.apple.com/");
}
- private static boolean isApple() {
- try {
- // this seems surprisingly slow on FireFox, try to only call it once
- return apple().equals(new URL(System.getProperty("java.vendor.url")));
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
+ public static boolean runningOnApple() {
+ if (isApple == null) {
+ try {
+ // this seems surprisingly slow on FireFox, try to only call it once
+ String vendorUrlString = System.getProperty("java.vendor.url");
+ LogUtil.info("Vendor URL: " + vendorUrlString);
+ isApple = getAppleUrl().equals(new URL(vendorUrlString));
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ isApple = false;
+ // throw new RuntimeException(e);
+ }
}
+ return isApple;
}
}
diff --git a/web/UfApplet.jar b/web/UfApplet.jar Binary files differindex 98cfa1b..d00c9c4 100644 --- a/web/UfApplet.jar +++ b/web/UfApplet.jar diff --git a/web/UfApplet.jnlp b/web/UfApplet.jnlp index 6e686c6..fb3c76f 100644 --- a/web/UfApplet.jnlp +++ b/web/UfApplet.jnlp @@ -6,10 +6,11 @@ <offline-allowed />
</information>
<resources>
- <j2se version="1.6+"
+ <j2se version="1.5+"
href="http://java.sun.com/products/autodl/j2se" />
<jar href="UfApplet.jar" main="true" />
<jar href="commons-math-1.2.jar" />
+ <jar href="plugin.jar" />
</resources>
<applet-desc
name="The Uncertain Future"
diff --git a/web/main.html b/web/main.html index 618b0fa..ffb95e7 100644 --- a/web/main.html +++ b/web/main.html @@ -8,37 +8,66 @@ <!-- <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> --> <script type="text/javascript" src="js/json2.js"></script> <script type="text/javascript"> +var debug = 2; - function clog(str) { -/* if (console && console.log) - console.log(str);*/ +// Print debug messages if debug > 0 +function clog(str) { + if (debug > 1) + alert(str); + else if (debug > 0 && console && console.log) + console.log(str); } - function loadData(jsonObj) { -/* clog("loadData:" + JSON.stringify(jsonObj));*/ - var json = JSON.stringify(jsonObj); - if (getBrowser() == "ie") { - alert("We're sorry, but this functionality isn't currently supported in IE. Please consider switching to Firefox or Opera."); - } else { - top.document.applets[0].loadData(json); // This fails on IE - } - } +// Load data for an exprt claim +function loadData(jsonObj) { + clog("loadData:" + JSON.stringify(jsonObj)); + var json = JSON.stringify(jsonObj); +// if (getBrowser() == "ie") { +// alert("We're sorry, but this functionality isn't currently supported in Internet Explorer. Please consider using to Firefox or Opera."); +// } else { + top.document.applets[0].loadData(json); // This fails on IE +// } +} + +function getOS() { + var agent = navigator.userAgent; + if (agent.indexOf("Linux") != -1) + return "linux"; + else if (agent.indexOf("Mac OS X") != -1) + return "mac"; + else if (agent.indexOf("Windows") != -1) + return "windows"; +} + function getBrowser() { - // alert("userAgent: " + navigator.userAgent + ", appName: " + navigator.appName); - var agent = navigator.userAgent; - if (agent.indexOf("Firefox") != -1) - return "ff"; - else if (agent.indexOf("Safari") != -1) - return "sf"; - else { - var name = navigator.appName; - if (name.indexOf("Internet Explorer") != -1) - return "ie"; - else - return "unknown"; - } - } - </script> + clog("userAgent: " + navigator.userAgent + ", appName: " + navigator.appName); + var agent = navigator.userAgent; + if (agent.indexOf("Firefox") != -1) + return "ff"; + else if (agent.indexOf("Safari") != -1) + return "sf"; + else { + var name = navigator.appName; + if (name.indexOf("Internet Explorer") != -1) + return "ie"; + else + return "unknown"; + } +} + +// Check browser and display warning if user has combination known to have issues +function checkBrowser() { + var os = getOS(); + var browser = getBrowser(); + if (os == "mac" && browser == "ff") { + alert("We're sorry, but Firefox on Mac OS X does not support all features of this site. Please consider using Safari or Opera if you experience any problems."); + } else if (browser == "ie") { + alert("We're sorry, but Internet Explorer does not support all features of this site. Please consider using Firefox or Opera if you experience any problems."); + } + +} + + </script> </head> <body> <div id="wrap"> @@ -48,7 +77,7 @@ function getBrowser() { archive:'UfApplet.jar,commons-math-1.2.jar', width:900, height:660, mayscript: true} ; var parameters = {jnlp_href: 'UfApplet.jnlp'} ; deployJava.runApplet(attributes, parameters, '1.5'); - + checkBrowser(); </script> <div id="sidebar-wrap"> <hr style="margin: 0;"/> diff --git a/web/plugin.jar b/web/plugin.jar Binary files differnew file mode 100644 index 0000000..bd3b292 --- /dev/null +++ b/web/plugin.jar |