summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/ObjectObserverI.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/ObjectObserverI.java')
-rw-r--r--java/src/IceGridGUI/ObjectObserverI.java102
1 files changed, 102 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/ObjectObserverI.java b/java/src/IceGridGUI/ObjectObserverI.java
new file mode 100644
index 00000000000..1bc79a5085b
--- /dev/null
+++ b/java/src/IceGridGUI/ObjectObserverI.java
@@ -0,0 +1,102 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+package IceGridGUI;
+
+import javax.swing.SwingUtilities;
+import IceGrid.*;
+
+class ObjectObserverI extends _ObjectObserverDisp
+{
+ ObjectObserverI(Coordinator coordinator)
+ {
+ _coordinator = coordinator;
+ _trace = coordinator.traceObservers();
+ }
+
+ public synchronized void objectInit(final ObjectInfo[] objects, Ice.Current current)
+ {
+ if(_trace)
+ {
+ if(objects.length == 0)
+ {
+ _coordinator.traceObserver("objectInit (no object)");
+ }
+ else
+ {
+ String names = "";
+ for(ObjectInfo obj : objects)
+ {
+ names += " " + obj.proxy.toString();
+ }
+
+ _coordinator.traceObserver("objectInit for objects" + names);
+ }
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _coordinator.objectInit(objects);
+ }
+ });
+ }
+
+ public void objectAdded(final ObjectInfo info, Ice.Current current)
+ {
+ if(_trace)
+ {
+ _coordinator.traceObserver("objectAdded for object " + info.proxy.toString());
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _coordinator.objectAdded(info);
+ }
+ });
+ }
+
+ public void objectUpdated(final ObjectInfo info, Ice.Current current)
+ {
+ if(_trace)
+ {
+ _coordinator.traceObserver("objectUpdated for object " + info.proxy.toString());
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _coordinator.objectUpdated(info);
+ }
+ });
+ }
+
+ public void objectRemoved(final Ice.Identity id, Ice.Current current)
+ {
+ if(_trace)
+ {
+ _coordinator.traceObserver("objectRemoved for object " + Ice.Util.identityToString(id));
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ _coordinator.objectRemoved(id);
+ }
+ });
+ }
+
+ private final Coordinator _coordinator;
+ private final boolean _trace;
+}