Revision: 22620
http://gmod.svn.sourceforge.net/gmod/?rev=22620&view=rev
Author: montys9
Date: 2010-01-26 21:56:56 +0000 (Tue, 26 Jan 2010)
Log Message:
-----------
Serializing more objects for testing. use_serial flag is turned on now for testing. filtering objects as needed when loading serialized data,etc. work in progress.
Modified Paths:
--------------
nbrowse/trunk/src/org/jnet/api/JnetAdapter.java
nbrowse/trunk/src/org/jnet/api/JnetSimpleViewer.java
nbrowse/trunk/src/org/jnet/api/JnetViewer.java
nbrowse/trunk/src/org/jnet/api/LayouterInterface.java
nbrowse/trunk/src/org/jnet/applet/Jnet.java
nbrowse/trunk/src/org/jnet/collapse/Collapser.java
nbrowse/trunk/src/org/jnet/g3d/Circle3D.java
nbrowse/trunk/src/org/jnet/g3d/Cylinder3D.java
nbrowse/trunk/src/org/jnet/g3d/Font3D.java
nbrowse/trunk/src/org/jnet/g3d/Graphics3D.java
nbrowse/trunk/src/org/jnet/g3d/Hermite3D.java
nbrowse/trunk/src/org/jnet/g3d/Line3D.java
nbrowse/trunk/src/org/jnet/g3d/Normix3D.java
nbrowse/trunk/src/org/jnet/g3d/Platform3D.java
nbrowse/trunk/src/org/jnet/g3d/Rgb16.java
nbrowse/trunk/src/org/jnet/g3d/Sphere3D.java
nbrowse/trunk/src/org/jnet/g3d/Triangle3D.java
nbrowse/trunk/src/org/jnet/layouts/Layouter.java
nbrowse/trunk/src/org/jnet/modelset/BoxInfo.java
nbrowse/trunk/src/org/jnet/modelset/EdgeCollection.java
nbrowse/trunk/src/org/jnet/modelset/ModelCollection.java
nbrowse/trunk/src/org/jnet/modelset/ModelSet.java
nbrowse/trunk/src/org/jnet/modelset/NodeCollection.java
nbrowse/trunk/src/org/jnet/popup/JnetPopup.java
nbrowse/trunk/src/org/jnet/popup/JnetPopupSwing.java
nbrowse/trunk/src/org/jnet/symmetry/PointGroup.java
nbrowse/trunk/src/org/jnet/util/CommandHistory.java
nbrowse/trunk/src/org/jnet/util/TempArray.java
nbrowse/trunk/src/org/jnet/viewer/ColorManager.java
nbrowse/trunk/src/org/jnet/viewer/Compiler.java
nbrowse/trunk/src/org/jnet/viewer/DataManager.java
nbrowse/trunk/src/org/jnet/viewer/Eval.java
nbrowse/trunk/src/org/jnet/viewer/FileManager.java
nbrowse/trunk/src/org/jnet/viewer/FrameRenderer.java
nbrowse/trunk/src/org/jnet/viewer/ModelManager.java
nbrowse/trunk/src/org/jnet/viewer/MouseManager.java
nbrowse/trunk/src/org/jnet/viewer/PickingManager.java
nbrowse/trunk/src/org/jnet/viewer/RepaintManager.java
nbrowse/trunk/src/org/jnet/viewer/ScriptManager.java
nbrowse/trunk/src/org/jnet/viewer/SelectionManager.java
nbrowse/trunk/src/org/jnet/viewer/StateManager.java
nbrowse/trunk/src/org/jnet/viewer/StatusManager.java
nbrowse/trunk/src/org/jnet/viewer/TransformManager.java
nbrowse/trunk/src/org/jnet/viewer/Viewer.java
nbrowse/trunk/src/org/nbrowse/dataset/NBEdge.java
nbrowse/trunk/src/org/nbrowse/io/FileDialog.java
nbrowse/trunk/src/org/nbrowse/layouts/spring/vrmlgraph/NodeMover.java
nbrowse/trunk/src/org/nbrowse/views/EdgeInfoMaker.java
nbrowse/trunk/src/org/nbrowse/views/EdgeInfoView.java
nbrowse/trunk/src/org/nbrowse/views/Jnet.java
nbrowse/trunk/src/org/nbrowse/views/JnetManager.java
nbrowse/trunk/src/org/nbrowse/views/JnetPanel.java
nbrowse/trunk/src/org/nbrowse/views/NBSelectionManager.java
nbrowse/trunk/src/org/nbrowse/views/Navigation.java
nbrowse/trunk/src/org/nbrowse/views/NodeInfoMaker.java
nbrowse/trunk/src/org/nbrowse/views/NodeInfoView.java
Modified: nbrowse/trunk/src/org/jnet/api/JnetAdapter.java
===================================================================
--- nbrowse/trunk/src/org/jnet/api/JnetAdapter.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/api/JnetAdapter.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,6 +26,7 @@
import java.io.BufferedReader;
import java.io.InputStream;
+import java.io.Serializable;
import java.util.Properties;
import java.util.Hashtable;
import java.util.BitSet;
@@ -53,8 +54,8 @@
* covalent edgeing radius.
* @see org.jnet.api.JnetViewer
****************************************************************/
-public abstract class JnetAdapter {
-
+public abstract class JnetAdapter implements Serializable {
+ static final long serialVersionUID = 1L;
// These are not used in jnet - should probably comment out
// public final static short ORDER_COVALENT_SINGLE = JnetConstants.EDGE_COVALENT_SINGLE;
// public final static short ORDER_COVALENT_DOUBLE = JnetConstants.EDGE_COVALENT_DOUBLE;
Modified: nbrowse/trunk/src/org/jnet/api/JnetSimpleViewer.java
===================================================================
--- nbrowse/trunk/src/org/jnet/api/JnetSimpleViewer.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/api/JnetSimpleViewer.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -27,6 +27,7 @@
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.Rectangle;
+import java.io.Serializable;
import org.jnet.viewer.Viewer;
@@ -34,8 +35,8 @@
* This is the high-level API for the JnetViewer for simple access.
**/
-abstract public class JnetSimpleViewer {
-
+abstract public class JnetSimpleViewer implements Serializable {
+ static final long serialVersionUID = 1L;
/**
* This is the main access point for creating an application
* or applet viewer. After allocation it is MANDATORY that one of
Modified: nbrowse/trunk/src/org/jnet/api/JnetViewer.java
===================================================================
--- nbrowse/trunk/src/org/jnet/api/JnetViewer.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/api/JnetViewer.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -35,6 +35,8 @@
import java.util.Properties;
import java.util.Hashtable;
import java.io.Reader;
+import java.io.Serializable;
+
import javax.vecmath.Matrix4f;
import javax.vecmath.Point3f;
import javax.vecmath.Point3i;
@@ -50,8 +52,8 @@
*
**/
-abstract public class JnetViewer extends JnetSimpleViewer {
-
+abstract public class JnetViewer extends JnetSimpleViewer implements Serializable {
+ static final long serialVersionUID = 1L;
/**
* This is the main access point for creating an application
* or applet viewer. After allocation it is MANDATORY that one of
Modified: nbrowse/trunk/src/org/jnet/api/LayouterInterface.java
===================================================================
--- nbrowse/trunk/src/org/jnet/api/LayouterInterface.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/api/LayouterInterface.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -2,6 +2,8 @@
import java.util.BitSet;
+import org.jnet.viewer.Viewer;
+
public interface LayouterInterface { //vc spring layout
public void fitToScreen(); // move somewhere else?
@@ -12,4 +14,5 @@
public abstract int getProperty(String propertyName);
public abstract boolean getStatus(String propertyName);
public abstract void interruptLayout();
+ public abstract void setViewer(Viewer viewer);
}
Modified: nbrowse/trunk/src/org/jnet/applet/Jnet.java
===================================================================
--- nbrowse/trunk/src/org/jnet/applet/Jnet.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/applet/Jnet.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -36,6 +36,7 @@
import org.jnet.util.Parser;
import java.awt.*;
+import java.io.Serializable;
import java.net.URL;
import java.net.MalformedURLException;
import java.util.Hashtable;
@@ -797,8 +798,8 @@
}
}
- class MyStatusListener implements JnetStatusListener {
-
+ class MyStatusListener implements JnetStatusListener, Serializable {
+ static final long serialVersionUID = 1L;
public boolean notifyEnabled(int type) {
switch (type) {
case JnetConstants.CALLBACK_ANIMFRAME:
Modified: nbrowse/trunk/src/org/jnet/collapse/Collapser.java
===================================================================
--- nbrowse/trunk/src/org/jnet/collapse/Collapser.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/collapse/Collapser.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -1,5 +1,6 @@
package org.jnet.collapse;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
import java.util.Vector;
@@ -18,8 +19,8 @@
import javax.vecmath.Point3f;
-public class Collapser implements CollapserInterface {
-
+public class Collapser implements CollapserInterface, Serializable {
+ static final long serialVersionUID = 1L;
public Viewer viewer;
public Node[] nodes;
public int nodeCount;
@@ -106,7 +107,7 @@
boolean collapseOn;
- private CollapseThread collapseThread;
+ private transient CollapseThread collapseThread; // don't serialize thread will create when setCollapseOn called
private void setCollapseOn(boolean collapseOn) {
if (!collapseOn) {
Modified: nbrowse/trunk/src/org/jnet/g3d/Circle3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Circle3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Circle3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -23,6 +23,8 @@
*/
package org.jnet.g3d;
+import java.io.Serializable;
+
/**
*<p>
* Implements flat circle drawing/filling routines.
@@ -30,8 +32,9 @@
*
* @author Miguel, miguel@...
*/
-final class Circle3D {
-
+final class Circle3D implements Serializable {
+ static final long serialVersionUID = 1L;
+
Graphics3D g3d;
Circle3D(Graphics3D g3d) {
Modified: nbrowse/trunk/src/org/jnet/g3d/Cylinder3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Cylinder3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Cylinder3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,6 +24,8 @@
package org.jnet.g3d;
+import java.io.Serializable;
+
/**
*<p>
* Draws shaded cylinders in 3D.
@@ -34,8 +36,8 @@
*
* @author Miguel, miguel@...
*/
-public class Cylinder3D {
-
+public class Cylinder3D implements Serializable {
+ static final long serialVersionUID = 1L;
final Graphics3D g3d;
final Line3D line3d;
Modified: nbrowse/trunk/src/org/jnet/g3d/Font3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Font3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Font3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -27,6 +27,7 @@
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.font.TextAttribute;
+import java.io.Serializable;
import java.util.Hashtable;
import org.jnet.util.Logger;
@@ -41,8 +42,8 @@
*
* @author Miguel, miguel@...
*/
-final public class Font3D {
-
+final public class Font3D implements Serializable {
+ static final long serialVersionUID = 1L;
public final byte fid;
public final String fontFace;
public final String fontStyle;
Modified: nbrowse/trunk/src/org/jnet/g3d/Graphics3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Graphics3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Graphics3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,6 +26,7 @@
import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
@@ -143,9 +144,9 @@
*
*/
-/*final*/ public class Graphics3D implements JnetRendererInterface {
+/*final*/ public class Graphics3D implements JnetRendererInterface, Serializable {
-
+ static final long serialVersionUID = 1L;
Platform3D platform;
Line3D line3d;
Circle3D circle3d;
Modified: nbrowse/trunk/src/org/jnet/g3d/Hermite3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Hermite3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Hermite3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -28,6 +28,8 @@
import javax.vecmath.Tuple3f;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
+
+import java.io.Serializable;
import java.util.Vector;
import org.jnet.api.JnetRendererInterface;
@@ -53,8 +55,8 @@
*
* @author Miguel, miguel@...
*/
-public class Hermite3D {
-
+public class Hermite3D implements Serializable {
+ static final long serialVersionUID = 1L;
/* really a private class to g3d and export3d */
private JnetRendererInterface g3d;
Modified: nbrowse/trunk/src/org/jnet/g3d/Line3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Line3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Line3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -42,13 +42,15 @@
* added line bitset option for rockets. Rendering times for edges done this way are a bit slower.
*/
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
import org.jnet.util.Logger;
-public final class Line3D {
-
+public final class Line3D implements Serializable {
+ static final long serialVersionUID = 1L;
+
Graphics3D g3d;
Line3D(Graphics3D g3d) {
Modified: nbrowse/trunk/src/org/jnet/g3d/Normix3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Normix3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Normix3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -29,6 +29,8 @@
import javax.vecmath.Vector3f;
import javax.vecmath.Matrix3f;
+
+import java.io.Serializable;
import java.util.Random;
import java.util.BitSet;
import org.jnet.util.Logger;
@@ -41,8 +43,8 @@
*
* @author Miguel, miguel@...
*/
-class Normix3D {
-
+class Normix3D implements Serializable {
+ static final long serialVersionUID = 1L;
final static int NORMIX_GEODESIC_LEVEL = Geodesic.standardLevel;
private final static int normixCount = Geodesic.getVertexCount(NORMIX_GEODESIC_LEVEL);
Modified: nbrowse/trunk/src/org/jnet/g3d/Platform3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Platform3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Platform3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,6 +26,7 @@
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
+import java.io.Serializable;
/**
*<p>
@@ -35,8 +36,8 @@
*
* @author Miguel, miguel@...
*/
-abstract class Platform3D {
-
+abstract class Platform3D implements Serializable {
+ static final long serialVersionUID = 1L;
int windowWidth, windowHeight, windowSize;
int bufferWidth, bufferHeight, bufferSize, bufferSizeT;
@@ -53,7 +54,8 @@
final static boolean desireClearingThread = false;
boolean useClearingThread = true;
- ClearingThread clearingThread;
+ // made transient if serialized - flag to use ClearingThread is not even used-MS
+ transient ClearingThread clearingThread;
static Platform3D createInstance(Component awtComponent) {
boolean jvm12orGreater =
Modified: nbrowse/trunk/src/org/jnet/g3d/Rgb16.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Rgb16.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Rgb16.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,7 +24,10 @@
package org.jnet.g3d;
-final class Rgb16 {
+import java.io.Serializable;
+
+final class Rgb16 implements Serializable {
+ static final long serialVersionUID = 1L;
int rScaled;
int gScaled;
int bScaled;
Modified: nbrowse/trunk/src/org/jnet/g3d/Sphere3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Sphere3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Sphere3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,6 +24,8 @@
package org.jnet.g3d;
+import java.io.Serializable;
+
import javax.vecmath.Matrix3f;
import javax.vecmath.Matrix4f;
import javax.vecmath.Point3f;
@@ -54,8 +56,9 @@
*
* @author Miguel, miguel@...
*/
-public class Sphere3D {
-
+public class Sphere3D implements Serializable {
+ static final long serialVersionUID = 1L;
+
Graphics3D g3d;
protected Sphere3D(Graphics3D g3d) {
Modified: nbrowse/trunk/src/org/jnet/g3d/Triangle3D.java
===================================================================
--- nbrowse/trunk/src/org/jnet/g3d/Triangle3D.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/g3d/Triangle3D.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,6 +24,8 @@
package org.jnet.g3d;
+import java.io.Serializable;
+
import javax.vecmath.Point3f;
import javax.vecmath.Point3i;
@@ -38,8 +40,9 @@
*
* @author Miguel, miguel@...
*/
-class Triangle3D {
-
+class Triangle3D implements Serializable {
+ static final long serialVersionUID = 1L;
+
final Graphics3D g3d;
final Line3D line3d;
Modified: nbrowse/trunk/src/org/jnet/layouts/Layouter.java
===================================================================
--- nbrowse/trunk/src/org/jnet/layouts/Layouter.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/layouts/Layouter.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -36,6 +36,10 @@
public Layouter() {
}
+ /** this update/replaces the viewer used */
+ public void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ }
public void setProperty(String propertyName, Object value) {
if (propertyName.equals("cancel")) {
stopLayout(false);
Modified: nbrowse/trunk/src/org/jnet/modelset/BoxInfo.java
===================================================================
--- nbrowse/trunk/src/org/jnet/modelset/BoxInfo.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/modelset/BoxInfo.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -25,13 +25,15 @@
package org.jnet.modelset;
+import java.io.Serializable;
import java.util.Hashtable;
import javax.vecmath.Point3f;
import javax.vecmath.Vector3f;
-public class BoxInfo {
-
+public class BoxInfo implements Serializable {
+ static final long serialVersionUID = 1L;
+
private final Point3f bbCorner0 = new Point3f(-10, -10, -10);
private final Point3f bbCorner1 = new Point3f(10, 10, 10);
private final Point3f bbCenter = new Point3f();
Modified: nbrowse/trunk/src/org/jnet/modelset/EdgeCollection.java
===================================================================
--- nbrowse/trunk/src/org/jnet/modelset/EdgeCollection.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/modelset/EdgeCollection.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -25,6 +25,7 @@
package org.jnet.modelset;
+import java.io.Serializable;
import java.util.BitSet;
import org.jnet.bspt.CubeIterator;
@@ -34,8 +35,9 @@
import org.jnet.viewer.JnetConstants;
import org.jnet.viewer.Token;
-abstract public class EdgeCollection extends NodeCollection {
-
+abstract public class EdgeCollection extends NodeCollection implements Serializable {
+ static final long serialVersionUID = 1L;
+
protected void releaseModelSet() {
edges = null;
freeEdges = null;
Modified: nbrowse/trunk/src/org/jnet/modelset/ModelCollection.java
===================================================================
--- nbrowse/trunk/src/org/jnet/modelset/ModelCollection.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/modelset/ModelCollection.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -54,8 +54,9 @@
import org.jnet.viewer.Viewer;
import org.jnet.viewer.StateManager.Orientation;
-abstract public class ModelCollection extends EdgeCollection {
-
+abstract public class ModelCollection extends EdgeCollection implements Serializable {
+ static final long serialVersionUID = 1L;
+
/**
* initial transfer of model data from old to new model set.
* Note that all new models are added later, AFTER the old ones. This is
Modified: nbrowse/trunk/src/org/jnet/modelset/ModelSet.java
===================================================================
--- nbrowse/trunk/src/org/jnet/modelset/ModelSet.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/modelset/ModelSet.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -36,6 +36,7 @@
import org.jnet.shape.Shape; // model should technically not know shape
import org.jnet.shape.Sticks;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
import java.util.Vector;
@@ -65,8 +66,8 @@
* Bob Hanson, 5/2007, 10/2007
*
*/
-abstract public class ModelSet extends ModelCollection {
-
+abstract public class ModelSet extends ModelCollection implements Serializable {
+ static final long serialVersionUID = 1L;
////////////////////////////////////////////////////////////////
protected void releaseModelSet() {
Modified: nbrowse/trunk/src/org/jnet/modelset/NodeCollection.java
===================================================================
--- nbrowse/trunk/src/org/jnet/modelset/NodeCollection.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/modelset/NodeCollection.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,6 +26,7 @@
package org.jnet.modelset;
import java.awt.Rectangle;
+import java.io.Serializable;
import java.util.BitSet;
import javax.vecmath.AxisAngle4f;
@@ -49,7 +50,9 @@
import org.jnet.viewer.Token;
import org.jnet.viewer.Viewer;
-abstract public class NodeCollection {
+abstract public class NodeCollection implements Serializable {
+ static final long serialVersionUID = 1L;
+
protected void releaseModelSet() {
nodes = null;
@@ -86,7 +89,7 @@
}
public Viewer viewer; //TESTING ONLY
- Graphics3D g3d;
+ transient Graphics3D g3d;
final protected static boolean showReedgeTimes = true;
Modified: nbrowse/trunk/src/org/jnet/popup/JnetPopup.java
===================================================================
--- nbrowse/trunk/src/org/jnet/popup/JnetPopup.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/popup/JnetPopup.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -34,6 +34,7 @@
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
+import java.io.Serializable;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.Hashtable;
@@ -42,8 +43,9 @@
/** Pulldown menu for jnet */
-abstract public class JnetPopup {
-
+abstract public class JnetPopup implements Serializable {
+ static final long serialVersionUID = 1L;
+
private final static boolean forceAwt = false;
//list is saved in http://www.stolaf.edu/academics/chemapps/jnet/docs/misc
@@ -62,7 +64,7 @@
Hashtable htMenus = new Hashtable();
Properties menuText = new Properties();
- Object frankPopup;
+ transient Object frankPopup;
int aboutComputedMenuBaseCount;
String nullModelSetName, modelSetName;
@@ -822,7 +824,8 @@
String currentMenuItemId = null;
- class MenuItemListener implements ActionListener {
+ class MenuItemListener implements ActionListener, Serializable {
+ static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
restorePopupMenu();
String script = e.getActionCommand();
@@ -841,7 +844,8 @@
}
}
- class CheckboxMenuItemListener implements ItemListener {
+ class CheckboxMenuItemListener implements ItemListener, Serializable {
+ static final long serialVersionUID = 1L;
public void itemStateChanged(ItemEvent e) {
restorePopupMenu();
setCheckBoxValue(e.getSource());
Modified: nbrowse/trunk/src/org/jnet/popup/JnetPopupSwing.java
===================================================================
--- nbrowse/trunk/src/org/jnet/popup/JnetPopupSwing.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/popup/JnetPopupSwing.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -34,9 +34,10 @@
import javax.swing.JCheckBoxMenuItem;
import java.awt.Component;
+import java.io.Serializable;
-public class JnetPopupSwing extends JnetPopup {
-
+public class JnetPopupSwing extends JnetPopup implements Serializable {
+ static final long serialVersionUID = 1L;
JPopupMenu swingPopup;
JMenu elementComputedMenu;
JMenu mainMenu;
Modified: nbrowse/trunk/src/org/jnet/symmetry/PointGroup.java
===================================================================
--- nbrowse/trunk/src/org/jnet/symmetry/PointGroup.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/symmetry/PointGroup.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,6 +24,7 @@
package org.jnet.symmetry;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
import java.util.Vector;
@@ -48,7 +49,8 @@
*
*/
-class PointGroup {
+class PointGroup implements Serializable {
+ static final long serialVersionUID = 1L;
private final static int[] axesMaxN = new int[] {
15, // used for plane count
Modified: nbrowse/trunk/src/org/jnet/util/CommandHistory.java
===================================================================
--- nbrowse/trunk/src/org/jnet/util/CommandHistory.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/util/CommandHistory.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -23,12 +23,13 @@
*/
package org.jnet.util;
+import java.io.Serializable;
import java.util.Vector;
/**
* Implements a queue for a bash-like command history.
*/
-final public class CommandHistory {
-
+final public class CommandHistory implements Serializable {
+ static final long serialVersionUID = 1L;
public final static String ERROR_FLAG = "#??";
public final static String NOHISTORYLINE_FLAG = "#--";
Modified: nbrowse/trunk/src/org/jnet/util/TempArray.java
===================================================================
--- nbrowse/trunk/src/org/jnet/util/TempArray.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/util/TempArray.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -23,10 +23,13 @@
*/
package org.jnet.util;
+import java.io.Serializable;
+
import javax.vecmath.*;
-public class TempArray {
-
+public class TempArray implements Serializable {
+ static final long serialVersionUID = 1L;
+
public TempArray() {
}
Modified: nbrowse/trunk/src/org/jnet/viewer/ColorManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/ColorManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/ColorManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -25,16 +25,19 @@
import org.jnet.util.ArrayUtil;
import org.jnet.util.Logger;
+
+import java.io.Serializable;
import java.util.BitSet;
import org.jnet.g3d.*;
import org.jnet.modelset.Node;
import org.jnet.modelset.ModelSet;
import org.jnet.util.ColorEncoder;
-class ColorManager {
-
+class ColorManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
private Viewer viewer;
- private Graphics3D g3d;
+ private transient Graphics3D g3d;
private int[] argbsCpk;
private int[] altArgbsCpk;
private float colorHi, colorLo;
Modified: nbrowse/trunk/src/org/jnet/viewer/Compiler.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/Compiler.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/Compiler.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -196,6 +196,14 @@
this.viewer = viewer;
}
+ /**
+ * used for viewer replacement
+ * @param viewer
+ */
+ void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ }
+
boolean compile(String filename, String script, boolean isPredefining,
boolean isSilent, boolean debugScript, boolean isCheckOnly) {
this.isCheckOnly = isCheckOnly;
Modified: nbrowse/trunk/src/org/jnet/viewer/DataManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/DataManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/DataManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -23,6 +23,7 @@
*/
package org.jnet.viewer;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Enumeration;
import java.util.Hashtable;
@@ -39,8 +40,8 @@
*
*/
-class DataManager {
-
+class DataManager implements Serializable {
+ static final long serialVersionUID = 1L;
private Hashtable dataValues = new Hashtable();
DataManager() {
Modified: nbrowse/trunk/src/org/jnet/viewer/Eval.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/Eval.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/Eval.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -158,6 +158,14 @@
clearDefinitionsAndLoadPredefined();
}
+ /**
+ * replace viewer used for object
+ * @param viewer
+ */
+ public void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ }
+
private Object getParameter(String var, boolean asToken) {
Token token = getContextVariableAsToken(var);
return (token == null ? viewer.getParameter(var) : asToken ? token : Token
Modified: nbrowse/trunk/src/org/jnet/viewer/FileManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/FileManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/FileManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -49,6 +49,7 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
+import java.io.Serializable;
import java.io.StringReader;
import java.io.Reader;
import java.util.zip.GZIPInputStream;
@@ -64,8 +65,9 @@
import org.openscience.jnet.io.ReaderFactory;
*/
-public class FileManager {
-
+public class FileManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
private Viewer viewer;
private String openErrorMessage;
@@ -91,9 +93,9 @@
private String loadScript;
- FileOpenThread fileOpenThread;
- FilesOpenThread filesOpenThread;
- private DOMOpenThread aDOMOpenThread;
+ transient FileOpenThread fileOpenThread; // made transient if serializing
+ transient FilesOpenThread filesOpenThread;// made transient if serializing
+ private transient DOMOpenThread aDOMOpenThread;// made transient if serializing
FileManager(Viewer viewer, JnetAdapter modelAdapter) {
Modified: nbrowse/trunk/src/org/jnet/viewer/FrameRenderer.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/FrameRenderer.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/FrameRenderer.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -48,6 +48,15 @@
this.viewer = viewer;
}
+ /**
+ * Viewer is set to replace existing.
+ * @param viewer
+ */
+ public void setViewer(Viewer viewer)
+ {
+ this.viewer = viewer;
+ }
+
void render(Graphics3D g3d, ModelSet modelSet) { //, Rectangle rectClip
if (modelSet == null || !viewer.mustRenderFlag())
Modified: nbrowse/trunk/src/org/jnet/viewer/ModelManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/ModelManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/ModelManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -24,12 +24,15 @@
*/
package org.jnet.viewer;
+import java.io.Serializable;
+
import org.jnet.modelset.ModelLoader;
import org.jnet.modelset.ModelSet;
import org.jnet.api.JnetAdapter;
-class ModelManager {
-
+class ModelManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
private final Viewer viewer;
private ModelLoader modelLoader;
Modified: nbrowse/trunk/src/org/jnet/viewer/MouseManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/MouseManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/MouseManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -169,6 +169,14 @@
addPopupMenu(); // add popup menu to this
}
+ /**
+ * updates viewer with replacement
+ * @param viewer
+ */
+ public void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ }
+
void clear() {
startHoverWatcher(false);
}
Modified: nbrowse/trunk/src/org/jnet/viewer/PickingManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/PickingManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/PickingManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -56,6 +56,11 @@
clear();
}
+ /** sets the viewer for replacement */
+ public void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ }
+
void clear() {
pickingMode = JnetConstants.PICKING_IDENT;
drawHover = false;
Modified: nbrowse/trunk/src/org/jnet/viewer/RepaintManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/RepaintManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/RepaintManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -48,6 +48,15 @@
FrameRenderer getFrameRenderer() { return frameRenderer; }
+ /**
+ * sets replacement of viewer
+ * @param viewer
+ */
+ public void setViewer(Viewer viewer) {
+ this.viewer = viewer;
+ frameRenderer.setViewer(viewer);
+ }
+
void setCurrentModelIndex(int modelIndex) {
setCurrentModelIndex(modelIndex, true);
}
Modified: nbrowse/trunk/src/org/jnet/viewer/ScriptManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/ScriptManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/ScriptManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -45,6 +45,12 @@
startCommandWatcher(false);
}
+ /** reset viewer for replacement */
+ public void setViewer(Viewer viewer)
+ {
+ this.viewer = viewer;
+ }
+
public void setQueue(boolean TF) {
useQueue = TF;
if (!TF)
Modified: nbrowse/trunk/src/org/jnet/viewer/SelectionManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/SelectionManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/SelectionManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -31,6 +31,7 @@
import org.jnet.i18n.GT;
import org.jnet.modelset.ModelSet;
+import java.io.Serializable;
import java.util.BitSet;
import java.util.Hashtable;
@@ -38,8 +39,8 @@
/** make this a singleton?
* this is just for nodes - no edge selection in jmol
* all done with BitSets - not sure how much nb uses this? */
-class SelectionManager {
-
+class SelectionManager implements Serializable {
+ static final long serialVersionUID = 1L;
private Viewer viewer;
private JnetSelectionListener[] listeners = new JnetSelectionListener[4];
Modified: nbrowse/trunk/src/org/jnet/viewer/StateManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/StateManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/StateManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -42,8 +42,9 @@
import java.util.Arrays;
-public class StateManager {
-
+public class StateManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
/* steps in adding a global variable:
In Viewer:
@@ -389,8 +390,8 @@
"angstroms;au;bohr;nanometers;nm;picometers;pm");
}
- class GlobalSettings {
-
+ class GlobalSettings implements Serializable {
+ static final long serialVersionUID = 1L;
/*
* Mostly these are just saved and restored directly from Viewer.
* They are collected here for reference and to ensure that no
Modified: nbrowse/trunk/src/org/jnet/viewer/StatusManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/StatusManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/StatusManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,6 +26,7 @@
import org.jnet.util.Logger;
import org.jnet.util.TextFormat;
+import java.io.Serializable;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
@@ -67,8 +68,9 @@
*
*/
-class StatusManager {
-
+class StatusManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
private boolean allowStatusReporting = true;
void setAllowStatusReporting(boolean TF){
@@ -99,6 +101,12 @@
viewer.setStatusFileLoaded(0, null, null, null, null);
}
+ /** used for replacing current viewer */
+ public void setViewer(Viewer viewer)
+ {
+ this.viewer = viewer;
+ }
+
private synchronized boolean resetMessageQueue(String statusList) {
boolean isRemove = (statusList.length() > 0 && statusList.charAt(0) == '-');
boolean isAdd = (statusList.length() > 0 && statusList.charAt(0) == '+');
Modified: nbrowse/trunk/src/org/jnet/viewer/TransformManager.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/TransformManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/TransformManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -37,9 +37,11 @@
import java.util.BitSet;
import java.util.Hashtable;
import java.awt.Rectangle;
+import java.io.Serializable;
-abstract class TransformManager {
-
+abstract class TransformManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
Viewer viewer;
final static float twoPI = (float) (2 * Math.PI);
Modified: nbrowse/trunk/src/org/jnet/viewer/Viewer.java
===================================================================
--- nbrowse/trunk/src/org/jnet/viewer/Viewer.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/jnet/viewer/Viewer.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -77,6 +77,7 @@
import java.net.URL;
import java.io.ByteArrayOutputStream;
import java.io.Reader;
+import java.io.Serializable;
import java.io.UnsupportedEncodingException;
/*
@@ -107,8 +108,9 @@
import org.jnet.shape.Hover;
/** Viewer and JnetViewer should maybe have their names switched? */
-public class Viewer extends JnetViewer implements NodeDataServer {
-
+public class Viewer extends JnetViewer implements NodeDataServer, Serializable {
+ static final long serialVersionUID = 1L;
+
/** if false then selection is disabled -- MG*/
private boolean selectionEnabled = true;
private boolean hoverVisibility=false; // default false?
@@ -129,24 +131,24 @@
// being accesed by any other classes
private Component display;
- private Graphics3D g3d;
+ private transient Graphics3D g3d;
private JnetAdapter modelAdapter;
private CommandHistory commandHistory = new CommandHistory();
private ColorManager colorManager;
- private Compiler compiler;
+ private transient Compiler compiler; // don't serialize - just reset if load serialized
private boolean freezing = false;
- private Eval eval;
+ private transient Eval eval; // don't serialize - just reset if load serialized
private DataManager dataManager;
private FileManager fileManager;
private ModelManager modelManager;
//private ModelSet modelSet;
- private ModelLoader modelSet;
- public MouseManager mouseManager;
- private PickingManager pickingManager;
- private RepaintManager repaintManager;
- private ScriptManager scriptManager;
+ private ModelLoader modelSet;
+ public transient MouseManager mouseManager; // dont' serialize - just reset if serialized
+ private transient PickingManager pickingManager; // dont't serialize - juset reset if serialized
+ private transient RepaintManager repaintManager; // dont't serialize - juset reset if serialized
+ private transient ScriptManager scriptManager; // dont't serialize - juset reset if serialized
private SelectionManager selectionManager;
private StateManager stateManager;
private StateManager.GlobalSettings global;
@@ -172,7 +174,7 @@
private boolean jvm12orGreater = false;
private boolean jvm14orGreater = false;
- private Hashtable evalVariables;
+ private transient Hashtable evalVariables; // don't serialize since used with Eval object
Compiler getCompiler() {
return compiler;
@@ -246,7 +248,7 @@
}
public boolean is2D() { return getDimensionMode() == 2; }
- private LayouterInterface layouter;
+ private transient LayouterInterface layouter; // do not serialize layoutinterface use default
public void setLayouter(LayouterInterface layouter) {
this.layouter = layouter;
@@ -284,7 +286,7 @@
return freezing;
}
- private MinimizerInterface minimizer;
+ transient private MinimizerInterface minimizer; // don't serialize this - no implementation for this yet
public void setMinimizer(MinimizerInterface minimizer) {
this.minimizer = minimizer;
@@ -421,6 +423,39 @@
return (htmlName.length() > 0);
}
+ public static Viewer reallocateViewer(Viewer newViewer, Viewer oldViewer)
+ {
+ // need to copy display, compiler, mouse manager, etc. from old viewer to newViewer object
+ newViewer.evalVariables = oldViewer.evalVariables;
+ newViewer.compiler = oldViewer.compiler;
+ newViewer.compiler.setViewer(newViewer); // replace viewer
+ newViewer.display = oldViewer.display; // awt display
+ newViewer.eval = oldViewer.eval;
+ newViewer.eval.setViewer(newViewer);
+ newViewer.g3d = oldViewer.g3d;
+
+ newViewer.mouseManager = oldViewer.mouseManager;
+ if (newViewer.mouseManager != null)
+ newViewer.mouseManager.setViewer(newViewer);
+ newViewer.pickingManager = oldViewer.pickingManager;
+ if (newViewer.pickingManager != null)
+ newViewer.pickingManager.setViewer(newViewer);
+ //newViewer.statusManager = oldViewer.statusManager; // test this
+ //newViewer.statusManager.setViewer(newViewer);
+ newViewer.repaintManager = oldViewer.repaintManager;
+ if (newViewer.repaintManager != null)
+ newViewer.repaintManager.setViewer(newViewer);
+ newViewer.scriptManager = oldViewer.scriptManager;
+ if (newViewer.scriptManager != null)
+ newViewer.scriptManager.setViewer(newViewer);
+ newViewer.layouter = oldViewer.layouter;
+ if (newViewer.layouter != null)
+ newViewer.layouter.setViewer(newViewer);
+ newViewer.minimizer = oldViewer.minimizer;
+ newViewer.modelSet = null; // try nulling to hopefully set
+ return newViewer;
+ }
+
public void setAppletContext(String fullName, URL documentBase, URL codeBase,
String commandOptions) {
this.fullName = fullName = (fullName == null ? "" : fullName);
@@ -2436,7 +2471,7 @@
}
- private ModelSet savedModelSet;
+ private transient ModelSet savedModelSet; // seems to always be null - no point in serializing
private TransformManager savedTransfManager = new TransformManager11();
Point3f fixedRotationCenter;
Modified: nbrowse/trunk/src/org/nbrowse/dataset/NBEdge.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/dataset/NBEdge.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/dataset/NBEdge.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -16,7 +16,7 @@
static final long serialVersionUID = 1L;
public NBNode fromNode;
public NBNode toNode;
- private static final boolean useSerialBinary = false; // stopped using for now
+ private static final boolean useSerialBinary = true; // stopped using for now
//public int order; // not used - is this for direction?? i think so
/** Set in XMLio - move to Edge(view)? hmmmm unclear what Edge's (view) fate is
Modified: nbrowse/trunk/src/org/nbrowse/io/FileDialog.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/io/FileDialog.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/io/FileDialog.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -26,12 +26,14 @@
import javax.swing.JTextField;
import org.jnet.util.Escape;
+import org.jnet.viewer.Viewer;
import org.nbrowse.dataset.GraphEltSet;
import org.nbrowse.dataset.MetaData;
import org.nbrowse.dataset.MetaDataManager;
import org.nbrowse.layouts.spring.vrmlgraph.GraphData;
import org.nbrowse.utils.ErrorUtil;
import org.nbrowse.views.JnetManager;
+import org.nbrowse.views.JnetPanel;
import org.nbrowse.views.Navigation;
/**
@@ -41,7 +43,7 @@
class FileDialog {
private static final boolean useRawData = false; // debug flag to use against useRawData - used in sending status msg to load raw screen data
- private static final boolean useSerialBinary = false; // used for testing - overides save/open to just use serialized binary files for testing
+ private static final boolean useSerialBinary = true; // used for testing - overides save/open to just use serialized binary files for testing
private DataLoader dataLoader;
private JDialog dlg;
@@ -142,6 +144,7 @@
new ObjectInputStream (f_in);
// Read an object
+
Object ges_obj = obj_in.readObject();
if (ges_obj instanceof GraphEltSet){
GraphEltSet.getCurrentGraph().clearAll();
@@ -155,7 +158,14 @@
GraphData.setCurrentGraphData((GraphData) gd_obj);
}
+ Object viewer = obj_in.readObject();
+ if (viewer instanceof Viewer)
+ {
+ //JnetPanel panel = JnetPanel.inst();
+ JnetManager.inst().loadJnetViewer((Viewer) viewer);
+
}
+ }
catch(Exception ex)
{
ex.printStackTrace();
@@ -236,9 +246,12 @@
if (useSerialBinary) // save as .ser extension too
{
+
GraphEltSet currGraph = GraphEltSet.getCurrentGraph();
//GraphEltSet currGraph = GraphEltSet.getCurrentGraph().getFilteredGraph(); // save filtered?
- GraphData graphData = GraphData.getCurrentGraphData();
+ GraphData graphData = GraphData.getCurrentGraphData();
+
+ Viewer viewer = JnetManager.inst().getJnetViewer();
// Write to disk with FileOutputStream
try{
FileOutputStream f_out = new
@@ -247,11 +260,14 @@
// Write object with ObjectOutputStream
ObjectOutputStream obj_out = new
ObjectOutputStream (f_out);
+
+ // Write GraphEltSet object out to file
+ obj_out.writeObject ( currGraph );
+ // Write GraphData object to file
+ obj_out.writeObject(graphData);
+
+ obj_out.writeObject(viewer);
- // Write GraphEltSet object out to file
- obj_out.writeObject ( currGraph );
- // Write GraphData object to file
- obj_out.writeObject(graphData);
obj_out.flush();
}
catch(Exception ex)
Modified: nbrowse/trunk/src/org/nbrowse/layouts/spring/vrmlgraph/NodeMover.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/layouts/spring/vrmlgraph/NodeMover.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/layouts/spring/vrmlgraph/NodeMover.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -1,5 +1,6 @@
package org.nbrowse.layouts.spring.vrmlgraph;
+import java.io.Serializable;
import java.util.*;
import org.nbrowse.io.StatusEvent;
import org.nbrowse.views.NodeViewI;
@@ -16,8 +17,9 @@
* @author Paul James Mutton, paul@...
* @created 18 December 2000
*/
-public class NodeMover {
-
+public class NodeMover implements Serializable {
+ static final long serialVersionUID = 1L;
+
// higher makes layout faster, but 1.5 made small (par-4) graph get stuck
private final static float REPULSION_MULTIPLIER = 1.3f;//1; // _C1 - 50 is nuts
private final static float ATTRACTION_SUBTRACTOR = 1; // C2
Modified: nbrowse/trunk/src/org/nbrowse/views/EdgeInfoMaker.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/EdgeInfoMaker.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/EdgeInfoMaker.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -5,6 +5,7 @@
package org.nbrowse.views;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.jnet.viewer.JnetMouseEvent;
@@ -23,8 +24,9 @@
* as it becomes available
* @author mgibson
*/
-final class EdgeInfoMaker {
-
+final class EdgeInfoMaker implements Serializable {
+ static final long serialVersionUID = 1L;
+
private List<EdgeInfoObserver> observers = new ArrayList<EdgeInfoObserver>(2);
private EdgeViewI edge;
private StringBuilder edgeInfoNoLinks=new StringBuilder();
@@ -64,7 +66,9 @@
// makeEdgeInfo(e.getJnetEdgeIndex());//e.getJnetNodeIndex());
// }
// }
- private class EdgeSel implements SelectionListener {
+ private class EdgeSel implements SelectionListener, Serializable {
+ static final long serialVersionUID = 1L;
+
public void selectEdge(EdgeViewI e) {
makeEdgeInfo(e);
}
Modified: nbrowse/trunk/src/org/nbrowse/views/EdgeInfoView.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/EdgeInfoView.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/EdgeInfoView.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -3,6 +3,8 @@
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
+import java.io.Serializable;
+
import org.nbrowse.api.AbstractView;
import javax.swing.event.HyperlinkListener;
import javax.swing.JEditorPane;
@@ -43,7 +45,8 @@
private EdgeInfoMaker infoMaker() { return EdgeInfoMaker.inst(); }
- private class EdgeInfoObs implements EdgeInfoObserver {
+ private class EdgeInfoObs implements EdgeInfoObserver, Serializable {
+ static final long serialVersionUID = 1L;
public void edgeInfoChanged() { updateDisplay(); }
}
Modified: nbrowse/trunk/src/org/nbrowse/views/Jnet.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/Jnet.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/Jnet.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -7,6 +7,7 @@
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.Toolkit;
+import java.io.Serializable;
import java.net.URL;
import java.awt.Insets;
import java.awt.Font;
@@ -166,7 +167,8 @@
// zoomSlider.setValue(value);
// }
- private class ZoomObs implements ZoomObserver {
+ private class ZoomObs implements ZoomObserver, Serializable {
+ static final long serialVersionUID = 1L;
public void zoomChanged() { synchZoombar(); }
}
@@ -186,7 +188,8 @@
return zoombar;
}
- class ZoomSliderListener implements AdjustmentListener {
+ class ZoomSliderListener implements AdjustmentListener, Serializable {
+ static final long serialVersionUID = 1L;
public void adjustmentValueChanged(AdjustmentEvent e) {
int fr = JnetPanel.viewer.getZoomPercent()-e.getValue();
//JnetPanel.viewer.script("zoom " + e.getValue());
Modified: nbrowse/trunk/src/org/nbrowse/views/JnetManager.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/JnetManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/JnetManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -2,6 +2,7 @@
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashMap;
@@ -38,8 +39,9 @@
* or something - not sure how this will pan out
* @author mgibson
*/
-public final class JnetManager {
-
+public final class JnetManager implements Serializable {
+ static final long serialVersionUID = 1L;
+
public final static boolean DO_PJM = false;
private static JnetManager singleton;
@@ -49,8 +51,9 @@
* @author Monty
*
*/
- private class RawNodeProperties
+ private class RawNodeProperties implements Serializable
{
+ static final long serialVersionUID = 1L;
private String name;
private int screenX;
private int screenY;
@@ -147,7 +150,7 @@
* bypassing Jnet, which is a nbrowse view, refactor? Jnet also has the toolbar
with step buttons */
private Jnet jnet;
- private final JNetScript jnetScript;
+ private transient final JNetScript jnetScript; // should use jnet from new - jnetscript uses new eval
private boolean jnetStepButtonClicked=false; // dont think this is used
// enum Dimension { 2D, 2_5D, 3D }; // ??
@@ -372,6 +375,16 @@
return StepManager.inst().getDisplayStep();
}
+
+ /**
+ * replaces the jnet viewer being used. invokes JnetPanel to rest of restore
+ */
+ public void loadJnetViewer(Viewer viewer)
+ {
+ JnetPanel panel = JnetPanel.inst();
+ panel.loadViewer(viewer);
+ }
+
/** @param node to query jnet with its label
* @return jnet node number for node's label, -1 if not found */
public int getJnetNodeNumber(NodeViewI node) {
@@ -591,7 +604,7 @@
GraphViewI filteredGraph = fullGraph.getSubgraph(EdgeFilterState.inst(), step);
loadJnet(filteredGraph);
}
-
+
/**
* used for loading raw screen data
* @param step
@@ -654,8 +667,12 @@
private NbrowseJnetAdapter nbJnetAdap() { return NbrowseJnetAdapter.inst(); }
private void loadSerialData() {
+ GraphViewI fullGraph = GraphViewManager.current();
+ //redrawJnet();
//clear();
+
StatusManager.inst().layoutDone(); // layout already done see about this in pure raw mode
+
//clearAll(); // try this
//ErrorUtil.debug(this, "Loading new nbrowse graph view");
//graphView().loadNewRawData(); // this filters
@@ -667,9 +684,9 @@
//doLayout(true); // try this - hope it helps expansion problem-MS
// don't do layout here - no need to
//doLayout(true); // works directly on jnet nodes, threaded, true->fit
- createJnetLineBarStepButton(1);
+ //createJnetLineBarStepButton(1);
//StatusManager.inst().newDataDoneLayout(); // normal? take out?
- GraphViewI fullGraph = GraphViewManager.current();
+ //GraphViewI fullGraph = GraphViewManager.current();
//StatusManager.inst().layoutDone(); // layout already done see about this in pure raw mode - try again
}
catch (Exception e) { ErrorUtil.urgent(this, "Load failed "+e, e); }
@@ -1078,7 +1095,9 @@
}
/** listen for selection from NBrowse(locate gene) and select jnet */
- private class JnetSelListener implements SelectionListener {
+ private class JnetSelListener implements SelectionListener, Serializable {
+ static final long serialVersionUID = 1L;
+
public void selectNode(NodeViewI sel) {
selectJnetNode(sel);
}
@@ -1147,7 +1166,9 @@
info().addNodeInfoObserver(new NodeInfoObs());
}
- private class NodeInfoObs implements NodeInfoObserver {
+ private class NodeInfoObs implements NodeInfoObserver, Serializable {
+ static final long serialVersionUID = 1L;
+
public void nodeInfoChanged() { nodeInfoPopup(); }
private void nodeInfoPopup() {
if (!getJnetViewer().hoverIsEnabled()) return;
@@ -1155,6 +1176,7 @@
getJnetViewer().showNodeHoverText(ni,info().getJnetNodeId());
}
}
+
}
// private boolean selectionInitialized=false;
Modified: nbrowse/trunk/src/org/nbrowse/views/JnetPanel.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/JnetPanel.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/JnetPanel.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -4,6 +4,7 @@
import java.awt.*;
import java.awt.print.*;
+import java.io.Serializable;
import java.util.Hashtable;
import org.jnet.api.*;
@@ -55,6 +56,18 @@
viewer.setJnetStatusListener(myStatusListener);
}
+ /** used to reset listener in jpanel to new viewer */
+ public void loadViewer(Viewer newViewer)
+ {
+ newViewer = Viewer.reallocateViewer(newViewer, viewer); // copy from
+ viewer = newViewer;
+ JnetManager.inst().setJnetViewer(viewer); //resetViewer
+ myStatusListener = new MyStatusListener();
+ viewer.setJnetStatusListener(myStatusListener);
+ // do we need to call initApp afterwards?
+ viewer.popHoldRepaint(); // try
+ }
+
Viewer getViewer() { return viewer; }
@@ -89,8 +102,9 @@
}
}
- class MyStatusListener implements JnetStatusListener {
-
+ class MyStatusListener implements JnetStatusListener, Serializable {
+ static final long serialVersionUID = 1L;
+
protected void finalize() throws Throwable {
Logger.debug("MyStatusListener finalize " + this);
super.finalize();
Modified: nbrowse/trunk/src/org/nbrowse/views/NBSelectionManager.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/NBSelectionManager.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/NBSelectionManager.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -5,6 +5,7 @@
package org.nbrowse.views;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.BitSet;
import java.util.HashSet;
@@ -23,7 +24,8 @@
* to nbrowse nodes (to be used by nbrowse, like GO)
* @author mgibson
*/
-public class NBSelectionManager {
+public class NBSelectionManager implements Serializable {
+ static final long serialVersionUID = 1L;
private static NBSelectionManager singleton=new NBSelectionManager();
private Set<SelectionListener> listeners = new HashSet<SelectionListener>(3);
private BitSet jnetSelection;
@@ -87,7 +89,8 @@
/** hmmmm - should we listen for sel events from jnet and construct nbrowse
* selection state - should this be push or pull, on demand or select driven?
*/
- private class JnetSelLis implements JnetSelectionListener {
+ private class JnetSelLis implements JnetSelectionListener, Serializable {
+ static final long serialVersionUID = 1L;
public void selectionChanged(BitSet selection) { jnetSelection = selection; }
public void select(JnetSelection s) {
if (!s.isEdge()) return;
Modified: nbrowse/trunk/src/org/nbrowse/views/Navigation.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/Navigation.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/Navigation.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -3,6 +3,7 @@
import org.nbrowse.api.AbstractView;
import java.awt.*;
+import java.io.Serializable;
import java.util.Hashtable;
import org.jnet.api.*;
@@ -99,8 +100,9 @@
}
}
- class MyStatusListener implements JnetStatusListener {
-
+ class MyStatusListener implements JnetStatusListener, Serializable {
+ static final long serialVersionUID = 1L;
+
protected void finalize() throws Throwable {
Logger.debug("MyStatusListener finalize " + this);
super.finalize();
Modified: nbrowse/trunk/src/org/nbrowse/views/NodeInfoMaker.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/NodeInfoMaker.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/NodeInfoMaker.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -5,6 +5,7 @@
package org.nbrowse.views;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.jnet.viewer.JnetMouseEvent;
@@ -22,8 +23,9 @@
* as it becomes available
* @author mgibson
*/
-final class NodeInfoMaker {
-
+final class NodeInfoMaker implements Serializable {
+ static final long serialVersionUID = 1L;
+
private List<NodeInfoObserver> observers = new ArrayList<NodeInfoObserver>(2);
private NodeViewI displayNode;
private StringBuilder nodeInfoNoLinks=new StringBuilder();
@@ -75,7 +77,8 @@
previousJnetNodeIndex = jnetNodeIndex;
return isNew;
}
- private class EdgeInfoObs implements EdgeInfoObserver {
+ private class EdgeInfoObs implements EdgeInfoObserver, Serializable {
+ static final long serialVersionUID = 1L;
public void edgeInfoChanged() { edgeInfoCurrentlyShowing = true; }
}
Modified: nbrowse/trunk/src/org/nbrowse/views/NodeInfoView.java
===================================================================
--- nbrowse/trunk/src/org/nbrowse/views/NodeInfoView.java 2010-01-26 21:37:44 UTC (rev 22619)
+++ nbrowse/trunk/src/org/nbrowse/views/NodeInfoView.java 2010-01-26 21:56:56 UTC (rev 22620)
@@ -3,6 +3,8 @@
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Rectangle;
+import java.io.Serializable;
+
import org.nbrowse.api.AbstractView;
import javax.swing.event.HyperlinkListener;
import javax.swing.JEditorPane;
@@ -44,13 +46,15 @@
private NodeInfoMaker infoMaker() { return NodeInfoMaker.inst(); }
private EdgeInfoMaker edgeInfo() { return EdgeInfoMaker.inst(); }
- private class NodeInfoObs implements NodeInfoObserver {
+ private class NodeInfoObs implements NodeInfoObserver, Serializable {
+ static final long serialVersionUID = 1L;
public void nodeInfoChanged() { updateDisplay(); }
}
/** experimenting with doing node & edge info in same
* view - if ok then obviously rename this class */
- private class EdgeInfoObs implements EdgeInfoObserver {
+ private class EdgeInfoObs implements EdgeInfoObserver, Serializable {
+ static final long serialVersionUID = 1L;
public void edgeInfoChanged(){updateDisplay(edgeInfo().getEdgeInfo());}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|