summaryrefslogtreecommitdiff
path: root/java/demo/Ice/swing/Client.java
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2014-12-17 22:45:03 -0500
committerJoe George <joe@zeroc.com>2014-12-17 22:45:03 -0500
commitedea1bee5dad67a867ae056c089243102dfacaea (patch)
treec16d03f12ce04ace91190b2b0a22e2fe11f8163e /java/demo/Ice/swing/Client.java
parentPartial fix for (ICE-6200) Improve Silverlight version detection (diff)
downloadice-edea1bee5dad67a867ae056c089243102dfacaea.tar.bz2
ice-edea1bee5dad67a867ae056c089243102dfacaea.tar.xz
ice-edea1bee5dad67a867ae056c089243102dfacaea.zip
ICE-6169 - Fix hello demos to only create new proxies if settings have changed
Diffstat (limited to 'java/demo/Ice/swing/Client.java')
-rw-r--r--java/demo/Ice/swing/Client.java63
1 files changed, 52 insertions, 11 deletions
diff --git a/java/demo/Ice/swing/Client.java b/java/demo/Ice/swing/Client.java
index b2465443656..fefc6cdaa47 100644
--- a/java/demo/Ice/swing/Client.java
+++ b/java/demo/Ice/swing/Client.java
@@ -113,6 +113,37 @@ public class Client extends JFrame
// Default to localhost.
//
_hostname.setText("127.0.0.1");
+ _hostname.getDocument().addDocumentListener(new DocumentListener()
+ {
+ @Override
+ public void changedUpdate(DocumentEvent e)
+ {
+ updateProxy();
+ }
+
+ @Override
+ public void insertUpdate(DocumentEvent e)
+ {
+ if(e.getDocument().getLength() > 0)
+ {
+ _hello.setEnabled(true);
+ _shutdown.setEnabled(true);
+ }
+ updateProxy();
+ }
+
+ @Override
+ public void removeUpdate(DocumentEvent e)
+ {
+ if(e.getDocument().getLength() == 0)
+ {
+ _hello.setEnabled(false);
+ _shutdown.setEnabled(false);
+ _flush.setEnabled(false);
+ }
+ updateProxy();
+ }
+ });
final String[] modes = new String[]
{
@@ -156,6 +187,14 @@ public class Client extends JFrame
changeDeliveryMode(_mode.getSelectedIndex());
_timeoutSlider.addChangeListener(new SliderListener(_timeoutSlider, _timeoutLabel));
+ _timeoutSlider.addChangeListener(new ChangeListener()
+ {
+ @Override
+ public void stateChanged(ChangeEvent ce)
+ {
+ updateProxy();
+ }
+ });
_timeoutSlider.setValue(0);
_delaySlider.addChangeListener(new SliderListener(_delaySlider, _delayLabel));
_delaySlider.setValue(0);
@@ -382,13 +421,13 @@ public class Client extends JFrame
}
}
- private Demo.HelloPrx createProxy()
+ private void updateProxy()
{
String host = _hostname.getText().toString().trim();
if(host.length() == 0)
{
_status.setText("No hostname");
- return null;
+ return;
}
String s = "hello:tcp -h " + host + " -p 10000:ssl -h " + host + " -p 10001:udp -h " + host + " -p 10000";
@@ -399,7 +438,8 @@ public class Client extends JFrame
{
prx = prx.ice_invocationTimeout(timeout);
}
- return Demo.HelloPrxHelper.uncheckedCast(prx);
+ _helloPrx = Demo.HelloPrxHelper.uncheckedCast(prx);
+ _status.setText("Ready");
}
class SayHelloI extends Demo.Callback_Hello_sayHello
@@ -443,8 +483,7 @@ public class Client extends JFrame
private void sayHello()
{
- Demo.HelloPrx hello = createProxy();
- if(hello == null)
+ if(_helloPrx == null)
{
return;
}
@@ -455,12 +494,12 @@ public class Client extends JFrame
if(!_deliveryMode.isBatch())
{
_status.setText("Sending request");
- hello.begin_sayHello(delay, new SayHelloI());
+ _helloPrx.begin_sayHello(delay, new SayHelloI());
}
else
{
_flush.setEnabled(true);
- hello.sayHello(delay);
+ _helloPrx.sayHello(delay);
_status.setText("Queued sayHello request");
}
}
@@ -472,8 +511,7 @@ public class Client extends JFrame
private void shutdown()
{
- Demo.HelloPrx hello = createProxy();
- if(hello == null)
+ if(_helloPrx == null)
{
return;
}
@@ -482,7 +520,7 @@ public class Client extends JFrame
{
if(!_deliveryMode.isBatch())
{
- hello.begin_shutdown(new Demo.Callback_Hello_shutdown()
+ _helloPrx.begin_shutdown(new Demo.Callback_Hello_shutdown()
{
@Override
public void response()
@@ -504,7 +542,7 @@ public class Client extends JFrame
else
{
_flush.setEnabled(true);
- hello.shutdown();
+ _helloPrx.shutdown();
_status.setText("Queued shutdown request");
}
}
@@ -558,6 +596,7 @@ public class Client extends JFrame
_deliveryMode = DeliveryMode.DATAGRAM_BATCH;
break;
}
+ updateProxy();
}
private void handleException(final Throwable ex)
@@ -614,4 +653,6 @@ public class Client extends JFrame
private Ice.Communicator _communicator;
private DeliveryMode _deliveryMode;
private Thread _shutdownHook;
+
+ private Demo.HelloPrx _helloPrx = null;
}