summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-06-28 10:34:41 +0200
committerBenoit Foucher <benoit@zeroc.com>2017-06-28 10:34:41 +0200
commit239f19599bd70eb1feb7918289d6dedac8d87e12 (patch)
tree08bf529015713bb9036cf2414704a6d01b7d204e /java
parentICE-8166 - call fillInStackTrace in Java (diff)
downloadice-239f19599bd70eb1feb7918289d6dedac8d87e12.tar.bz2
ice-239f19599bd70eb1feb7918289d6dedac8d87e12.tar.xz
ice-239f19599bd70eb1feb7918289d6dedac8d87e12.zip
More fixes for ICE-8166 - simplified a bit the waitResponse exception checking
Diffstat (limited to 'java')
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java2
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java16
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java6
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/Ice/ObjectPrx.java49
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorFlushBatch.java2
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsync.java7
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsyncBaseI.java32
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyFlushBatch.java32
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyGetConnection.java32
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyIceInvoke.java30
-rw-r--r--java/src/Ice/src/main/java/com/zeroc/IceInternal/QueueExecutorService.java2
11 files changed, 56 insertions, 154 deletions
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
index 6905aeb1db7..778ff1f49ec 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/CommunicatorI.java
@@ -222,7 +222,7 @@ public final class CommunicatorI implements Communicator
return _iceI_flushBatchRequestsAsync(compressBatch);
}
- public com.zeroc.IceInternal.CommunicatorFlushBatch _iceI_flushBatchRequestsAsync(CompressBatch compressBatch)
+ private com.zeroc.IceInternal.CommunicatorFlushBatch _iceI_flushBatchRequestsAsync(CompressBatch compressBatch)
{
com.zeroc.IceInternal.OutgoingConnectionFactory connectionFactory = _instance.outgoingConnectionFactory();
com.zeroc.IceInternal.ObjectAdapterFactory adapterFactory = _instance.objectAdapterFactory();
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java
index ff97489b500..5c76b89155e 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/ConnectionI.java
@@ -216,7 +216,7 @@ public final class ConnectionI extends com.zeroc.IceInternal.EventHandler
}
catch(InterruptedException ex)
{
- throw new OperationInterruptedException();
+ throw new OperationInterruptedException(ex);
}
}
@@ -453,12 +453,17 @@ public final class ConnectionI extends com.zeroc.IceInternal.EventHandler
@Override
public void flushBatchRequests(CompressBatch compressBatch)
{
- ObjectPrx.waitForResponseForCompletion(flushBatchRequestsAsync(compressBatch));
+ _iceI_flushBatchRequestsAsync(compressBatch).waitForResponse();
}
@Override
public java.util.concurrent.CompletableFuture<Void> flushBatchRequestsAsync(CompressBatch compressBatch)
{
+ return _iceI_flushBatchRequestsAsync(compressBatch);
+ }
+
+ private com.zeroc.IceInternal.ConnectionFlushBatch _iceI_flushBatchRequestsAsync(CompressBatch compressBatch)
+ {
com.zeroc.IceInternal.ConnectionFlushBatch f =
new com.zeroc.IceInternal.ConnectionFlushBatch(this, _communicator, _instance);
f.invoke(compressBatch);
@@ -508,7 +513,7 @@ public final class ConnectionI extends com.zeroc.IceInternal.EventHandler
@Override
public void heartbeat()
{
- ObjectPrx.waitForResponseForCompletion(heartbeatAsync());
+ _iceI_heartbeatAsync().waitForResponse();
}
private class HeartbeatAsync extends com.zeroc.IceInternal.OutgoingAsyncBaseI<Void>
@@ -588,6 +593,11 @@ public final class ConnectionI extends com.zeroc.IceInternal.EventHandler
@Override
public java.util.concurrent.CompletableFuture<Void> heartbeatAsync()
{
+ return _iceI_heartbeatAsync();
+ }
+
+ private HeartbeatAsync _iceI_heartbeatAsync()
+ {
HeartbeatAsync f = new HeartbeatAsync(_communicator, _instance);
f.invoke();
return f;
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
index d7ff266e1ba..9a50e92325d 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectAdapterI.java
@@ -156,7 +156,7 @@ public final class ObjectAdapterI implements ObjectAdapter
}
catch(InterruptedException ex)
{
- throw new OperationInterruptedException();
+ throw new OperationInterruptedException(ex);
}
}
}
@@ -184,7 +184,7 @@ public final class ObjectAdapterI implements ObjectAdapter
}
catch(InterruptedException ex)
{
- throw new OperationInterruptedException();
+ throw new OperationInterruptedException(ex);
}
}
if(_state > StateDeactivating)
@@ -333,7 +333,7 @@ public final class ObjectAdapterI implements ObjectAdapter
}
catch(InterruptedException ex)
{
- throw new OperationInterruptedException();
+ throw new OperationInterruptedException(ex);
}
}
if(_state == StateDestroyed)
diff --git a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectPrx.java b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectPrx.java
index f296d684062..d94deb3dd27 100644
--- a/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectPrx.java
+++ b/java/src/Ice/src/main/java/com/zeroc/Ice/ObjectPrx.java
@@ -936,55 +936,6 @@ public interface ObjectPrx
return r;
}
- static <T> T waitForResponseForCompletion(java.util.concurrent.CompletableFuture<T> f)
- {
- try
- {
- return waitForResponseForCompletionUserEx(f);
- }
- catch(UserException ex)
- {
- throw new UnknownUserException(ex.ice_id(), ex);
- }
- }
-
- static <T> T waitForResponseForCompletionUserEx(java.util.concurrent.CompletableFuture<T> f)
- throws UserException
- {
- if(Thread.interrupted())
- {
- throw new OperationInterruptedException();
- }
-
- try
- {
- return f.get();
- }
- catch(InterruptedException ex)
- {
- throw new OperationInterruptedException();
- }
- catch(java.util.concurrent.ExecutionException ee)
- {
- try
- {
- throw ee.getCause();
- }
- catch(RuntimeException ex) // Includes LocalException
- {
- throw (LocalException)ex.fillInStackTrace();
- }
- catch(UserException ex)
- {
- throw (UserException)ex.fillInStackTrace();
- }
- catch(Throwable ex)
- {
- throw new UnknownException(ex);
- }
- }
- }
-
void _write(OutputStream os);
void _copyFrom(ObjectPrx p);
com.zeroc.IceInternal.Reference _getReference();
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorFlushBatch.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorFlushBatch.java
index 17048beace5..d30cdc09ae6 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorFlushBatch.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/CommunicatorFlushBatch.java
@@ -178,7 +178,7 @@ public class CommunicatorFlushBatch extends InvocationFutureI<Void>
}
catch(RuntimeException ex) // Includes LocalException
{
- throw (RuntimeException)ex.fillInStackTrace();
+ throw ex;
}
catch(Throwable ex)
{
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsync.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsync.java
index 7a6fa9d1773..c34641d393c 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsync.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsync.java
@@ -105,6 +105,7 @@ public class OutgoingAsync<T> extends ProxyOutgoingAsyncBaseI<T>
}
}
+ @Override
public T waitForResponse()
{
if(isBatch())
@@ -136,7 +137,7 @@ public class OutgoingAsync<T> extends ProxyOutgoingAsyncBaseI<T>
}
catch(InterruptedException ex)
{
- throw new OperationInterruptedException();
+ throw new OperationInterruptedException(ex);
}
catch(java.util.concurrent.ExecutionException ee)
{
@@ -146,11 +147,11 @@ public class OutgoingAsync<T> extends ProxyOutgoingAsyncBaseI<T>
}
catch(RuntimeException ex) // Includes LocalException
{
- throw (RuntimeException)ex.fillInStackTrace();
+ throw ex;
}
catch(UserException ex)
{
- throw (UserException)ex.fillInStackTrace();
+ throw ex;
}
catch(Throwable ex)
{
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsyncBaseI.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsyncBaseI.java
index 5f11bf9c117..5def67b86e5 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsyncBaseI.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/OutgoingAsyncBaseI.java
@@ -70,6 +70,38 @@ public abstract class OutgoingAsyncBaseI<T> extends InvocationFutureI<T> impleme
return _os;
}
+ public T waitForResponse()
+ {
+ if(Thread.interrupted())
+ {
+ throw new com.zeroc.Ice.OperationInterruptedException();
+ }
+
+ try
+ {
+ return get();
+ }
+ catch(InterruptedException ex)
+ {
+ throw new com.zeroc.Ice.OperationInterruptedException(ex);
+ }
+ catch(java.util.concurrent.ExecutionException ee)
+ {
+ try
+ {
+ throw ee.getCause().fillInStackTrace();
+ }
+ catch(RuntimeException ex) // Includes LocalException
+ {
+ throw ex;
+ }
+ catch(Throwable ex)
+ {
+ throw new com.zeroc.Ice.UnknownException(ex);
+ }
+ }
+ }
+
protected OutgoingAsyncBaseI(com.zeroc.Ice.Communicator com, Instance instance, String op)
{
super(com, instance, op);
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyFlushBatch.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyFlushBatch.java
index 780cb795929..1361edaab95 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyFlushBatch.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyFlushBatch.java
@@ -60,37 +60,5 @@ public class ProxyFlushBatch extends ProxyOutgoingAsyncBaseI<Void>
invokeImpl(true); // userThread = true
}
- public void waitForResponse()
- {
- if(Thread.interrupted())
- {
- throw new com.zeroc.Ice.OperationInterruptedException();
- }
-
- try
- {
- get();
- }
- catch(InterruptedException ex)
- {
- throw new com.zeroc.Ice.OperationInterruptedException();
- }
- catch(java.util.concurrent.ExecutionException ee)
- {
- try
- {
- throw ee.getCause().fillInStackTrace();
- }
- catch(RuntimeException ex) // Includes LocalException
- {
- throw (RuntimeException)ex.fillInStackTrace();
- }
- catch(Throwable ex)
- {
- throw new com.zeroc.Ice.UnknownException(ex);
- }
- }
- }
-
protected int _batchRequestNum;
}
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyGetConnection.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyGetConnection.java
index b2458d35cdb..942f030d75a 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyGetConnection.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyGetConnection.java
@@ -56,36 +56,4 @@ public class ProxyGetConnection extends ProxyOutgoingAsyncBaseI<com.zeroc.Ice.Co
{
invokeImpl(true); // userThread = true
}
-
- public com.zeroc.Ice.Connection waitForResponse()
- {
- if(Thread.interrupted())
- {
- throw new com.zeroc.Ice.OperationInterruptedException();
- }
-
- try
- {
- return get();
- }
- catch(InterruptedException ex)
- {
- throw new com.zeroc.Ice.OperationInterruptedException();
- }
- catch(java.util.concurrent.ExecutionException ee)
- {
- try
- {
- throw ee.getCause().fillInStackTrace();
- }
- catch(RuntimeException ex) // Includes LocalException
- {
- throw (RuntimeException)ex.fillInStackTrace();
- }
- catch(Throwable ex)
- {
- throw new com.zeroc.Ice.UnknownException(ex);
- }
- }
- }
}
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyIceInvoke.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyIceInvoke.java
index 17d5d663f60..c9cb0386635 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyIceInvoke.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/ProxyIceInvoke.java
@@ -70,35 +70,7 @@ public class ProxyIceInvoke extends ProxyOutgoingAsyncBaseI<com.zeroc.Ice.Object
//
return new com.zeroc.Ice.Object.Ice_invokeResult(true, new byte[0]);
}
-
- if(Thread.interrupted())
- {
- throw new OperationInterruptedException();
- }
-
- try
- {
- return get();
- }
- catch(InterruptedException ex)
- {
- throw new OperationInterruptedException();
- }
- catch(java.util.concurrent.ExecutionException ee)
- {
- try
- {
- throw ee.getCause().fillInStackTrace();
- }
- catch(RuntimeException ex) // Includes LocalException
- {
- throw (RuntimeException)ex.fillInStackTrace();
- }
- catch(Throwable ex)
- {
- throw new UnknownException(ex);
- }
- }
+ return super.waitForResponse();
}
@Override
diff --git a/java/src/Ice/src/main/java/com/zeroc/IceInternal/QueueExecutorService.java b/java/src/Ice/src/main/java/com/zeroc/IceInternal/QueueExecutorService.java
index a825db1ad30..6346614d024 100644
--- a/java/src/Ice/src/main/java/com/zeroc/IceInternal/QueueExecutorService.java
+++ b/java/src/Ice/src/main/java/com/zeroc/IceInternal/QueueExecutorService.java
@@ -94,7 +94,7 @@ public final class QueueExecutorService
}
catch(RuntimeException ex)
{
- throw (RuntimeException)ex.fillInStackTrace();
+ throw ex;
}
catch(Throwable ex)
{