diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-04-24 13:48:09 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-04-24 13:48:09 +0200 |
commit | bc7de3b1a7a6e06fb1e36794e129990a0219bfb9 (patch) | |
tree | c4af38320f4869c30d7bd2911c41d3ed73b015ee /java/src | |
parent | Java port (diff) | |
download | ice-bc7de3b1a7a6e06fb1e36794e129990a0219bfb9.tar.bz2 ice-bc7de3b1a7a6e06fb1e36794e129990a0219bfb9.tar.xz ice-bc7de3b1a7a6e06fb1e36794e129990a0219bfb9.zip |
Java test and bug fixes
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectImpl.java | 1 | ||||
-rw-r--r-- | java/src/Ice/ObjectPrxHelperBase.java | 1 | ||||
-rw-r--r-- | java/src/Ice/_ObjectDelM.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/BasicStream.java | 6 | ||||
-rw-r--r-- | java/src/IceInternal/EndpointI.java | 8 | ||||
-rw-r--r-- | java/src/IceInternal/Incoming.java | 17 | ||||
-rw-r--r-- | java/src/IceInternal/OpaqueEndpointI.java | 3 | ||||
-rw-r--r-- | java/src/IceInternal/Outgoing.java | 9 | ||||
-rw-r--r-- | java/src/IceInternal/Protocol.java | 2 | ||||
-rw-r--r-- | java/src/IceInternal/TcpEndpointI.java | 1 |
10 files changed, 36 insertions, 18 deletions
diff --git a/java/src/Ice/ObjectImpl.java b/java/src/Ice/ObjectImpl.java index a8c2bb3f87e..6b39e82bfe8 100644 --- a/java/src/Ice/ObjectImpl.java +++ b/java/src/Ice/ObjectImpl.java @@ -122,6 +122,7 @@ public abstract class ObjectImpl implements Object, java.lang.Cloneable, java.io { __inS.readEmptyParams(); __obj.ice_ping(__current); + __inS.__writeEmptyParams(); return DispatchStatus.DispatchOK; } diff --git a/java/src/Ice/ObjectPrxHelperBase.java b/java/src/Ice/ObjectPrxHelperBase.java index d4f713256d2..1370fbeaeb2 100644 --- a/java/src/Ice/ObjectPrxHelperBase.java +++ b/java/src/Ice/ObjectPrxHelperBase.java @@ -1361,6 +1361,7 @@ public class ObjectPrxHelperBase implements ObjectPrx, java.io.Serializable } else { + IceInternal.Protocol.checkSupportedEncoding(e); return newInstance(_reference.changeEncoding(e)); } } diff --git a/java/src/Ice/_ObjectDelM.java b/java/src/Ice/_ObjectDelM.java index 09c2bd99750..d43af002c2f 100644 --- a/java/src/Ice/_ObjectDelM.java +++ b/java/src/Ice/_ObjectDelM.java @@ -20,8 +20,9 @@ public class _ObjectDelM implements _ObjectDel { try { - IceInternal.BasicStream __os = __og.os(); + IceInternal.BasicStream __os = __og.startWriteParams(); __os.writeString(__id); + __og.endWriteParams(); } catch(LocalException __ex) { @@ -64,6 +65,7 @@ public class _ObjectDelM implements _ObjectDel IceInternal.Outgoing __og = __handler.getOutgoing("ice_ping", OperationMode.Nonmutating, __context); try { + __og.writeEmptyParams(); boolean __ok = __og.invoke(); if(__og.hasResponse()) { @@ -101,6 +103,7 @@ public class _ObjectDelM implements _ObjectDel IceInternal.Outgoing __og = __handler.getOutgoing("ice_ids", OperationMode.Nonmutating, __context); try { + __og.writeEmptyParams(); boolean __ok = __og.invoke(); try { @@ -138,6 +141,7 @@ public class _ObjectDelM implements _ObjectDel IceInternal.Outgoing __og = __handler.getOutgoing("ice_id", OperationMode.Nonmutating, __context); try { + __og.writeEmptyParams(); boolean __ok = __og.invoke(); try { diff --git a/java/src/IceInternal/BasicStream.java b/java/src/IceInternal/BasicStream.java index f8df5d93a44..1af2d0ec0bb 100644 --- a/java/src/IceInternal/BasicStream.java +++ b/java/src/IceInternal/BasicStream.java @@ -469,7 +469,7 @@ public class BasicStream encoding.__read(this); try { - _buf.b.position(_buf.b.position() + sz - 4); + _buf.b.position(_buf.b.position() + sz - 6); } catch(IllegalArgumentException ex) { @@ -2423,7 +2423,7 @@ public class BasicStream java.util.TreeMap<Integer, Ice.Object> unmarshaledMap; int typeIdIndex; java.util.TreeMap<Integer, String> typeIdMap; - Ice.EncodingVersion encoding; + Ice.EncodingVersion encoding = new Ice.EncodingVersion(); ReadEncaps next; void @@ -2448,7 +2448,7 @@ public class BasicStream java.util.IdentityHashMap<Ice.Object, Integer> marshaledMap; int typeIdIndex; java.util.TreeMap<String, Integer> typeIdMap; - Ice.EncodingVersion encoding; + Ice.EncodingVersion encoding = new Ice.EncodingVersion(); WriteEncaps next; void diff --git a/java/src/IceInternal/EndpointI.java b/java/src/IceInternal/EndpointI.java index c93db0cf5f2..9494ca25462 100644 --- a/java/src/IceInternal/EndpointI.java +++ b/java/src/IceInternal/EndpointI.java @@ -19,8 +19,8 @@ abstract public class EndpointI implements Ice.Endpoint, java.lang.Comparable<En public EndpointI() { - _protocol = Protocol.currentProtocol; - _encoding = Protocol.currentEncoding; + _protocol = (Ice.ProtocolVersion)Protocol.currentProtocol.clone(); + _encoding = (Ice.EncodingVersion)Protocol.currentEncoding.clone(); } public String @@ -203,7 +203,7 @@ abstract public class EndpointI implements Ice.Endpoint, java.lang.Comparable<En try { - _protocol = Ice.Util.stringToProtocolVersion(str); + _protocol = Ice.Util.stringToProtocolVersion(arg); } catch(Ice.VersionParseException e) { @@ -221,7 +221,7 @@ abstract public class EndpointI implements Ice.Endpoint, java.lang.Comparable<En try { - _encoding = Ice.Util.stringToEncodingVersion(str); + _encoding = Ice.Util.stringToEncodingVersion(arg); } catch(Ice.VersionParseException e) { diff --git a/java/src/IceInternal/Incoming.java b/java/src/IceInternal/Incoming.java index 74a55346689..b3b6ab6915e 100644 --- a/java/src/IceInternal/Incoming.java +++ b/java/src/IceInternal/Incoming.java @@ -57,6 +57,19 @@ final public class Incoming extends IncomingBase implements Ice.Request _inParamPos = -1; super.reset(instance, connection, adapter, response, compress, requestId); + + // + // Prepare the response if necessary. + // + if(response) + { + _os.writeBlob(IceInternal.Protocol.replyHdr); + + // + // Add the request ID. + // + _os.writeInt(requestId); + } } public void @@ -187,7 +200,7 @@ final public class Incoming extends IncomingBase implements Ice.Request // Skip the input parameters, this is required for reading // the next batch request if dispatching batch requests. // - _is.skipEncaps(); + _is.skipEncaps(); if(servantManager != null && servantManager.hasServant(_current.id)) { @@ -201,7 +214,7 @@ final public class Incoming extends IncomingBase implements Ice.Request } catch(java.lang.Exception ex) { - if(_locator != null && !__servantLocatorFinished()) + if(_servant != null && _locator != null && !__servantLocatorFinished()) { return; } diff --git a/java/src/IceInternal/OpaqueEndpointI.java b/java/src/IceInternal/OpaqueEndpointI.java index 09a89d48638..a2fe393b02e 100644 --- a/java/src/IceInternal/OpaqueEndpointI.java +++ b/java/src/IceInternal/OpaqueEndpointI.java @@ -90,13 +90,14 @@ final class OpaqueEndpointI extends EndpointI try { - _rawEncoding = Ice.Util.stringToEncodingVersion(str); + _rawEncoding = Ice.Util.stringToEncodingVersion(argument); } catch(Ice.VersionParseException e) { throw new Ice.EndpointParseException("invalid encoding version `" + argument + "' in endpoint `opaque " + str + "':\n" + e.str); } + break; } case 'v': diff --git a/java/src/IceInternal/Outgoing.java b/java/src/IceInternal/Outgoing.java index 500f8217230..43a737485f3 100644 --- a/java/src/IceInternal/Outgoing.java +++ b/java/src/IceInternal/Outgoing.java @@ -19,10 +19,7 @@ public final class Outgoing implements OutgoingMessageCallback _sent = false; _handler = handler; _encoding = handler.getReference().getEncoding(); - - Instance instance = _handler.getReference().getInstance(); - //_is = new BasicStream(instance, Protocol.currentProtocolEncoding); - _os = new BasicStream(instance, Protocol.currentProtocolEncoding); + _os = new BasicStream(_handler.getReference().getInstance(), Protocol.currentProtocolEncoding); writeHeader(operation, mode, context); } @@ -481,7 +478,7 @@ public final class Outgoing implements OutgoingMessageCallback public void writeParamEncaps(byte[] encaps) { - if(encaps.length == 0) + if(encaps == null || encaps.length == 0) { _os.writeEmptyEncaps(_encoding); } @@ -494,7 +491,7 @@ public final class Outgoing implements OutgoingMessageCallback public boolean hasResponse() { - return !_is.isEmpty(); + return _is != null && !_is.isEmpty(); } public void diff --git a/java/src/IceInternal/Protocol.java b/java/src/IceInternal/Protocol.java index 81f44cdccba..bc32dee575b 100644 --- a/java/src/IceInternal/Protocol.java +++ b/java/src/IceInternal/Protocol.java @@ -39,7 +39,7 @@ final public class Protocol public final static byte protocolEncodingMinor = 0; public final static byte encodingMajor = 1; - public final static byte encodingMinor = 0; + public final static byte encodingMinor = 1; // // The Ice protocol message types diff --git a/java/src/IceInternal/TcpEndpointI.java b/java/src/IceInternal/TcpEndpointI.java index 9935d546fd7..d32881478c8 100644 --- a/java/src/IceInternal/TcpEndpointI.java +++ b/java/src/IceInternal/TcpEndpointI.java @@ -139,6 +139,7 @@ final class TcpEndpointI extends EndpointI default: { parseOption(option, argument, "tcp", str); + break; } } } |