summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-04-24 13:48:09 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-04-24 13:48:09 +0200
commitbc7de3b1a7a6e06fb1e36794e129990a0219bfb9 (patch)
treec4af38320f4869c30d7bd2911c41d3ed73b015ee /java/src
parentJava port (diff)
downloadice-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.java1
-rw-r--r--java/src/Ice/ObjectPrxHelperBase.java1
-rw-r--r--java/src/Ice/_ObjectDelM.java6
-rw-r--r--java/src/IceInternal/BasicStream.java6
-rw-r--r--java/src/IceInternal/EndpointI.java8
-rw-r--r--java/src/IceInternal/Incoming.java17
-rw-r--r--java/src/IceInternal/OpaqueEndpointI.java3
-rw-r--r--java/src/IceInternal/Outgoing.java9
-rw-r--r--java/src/IceInternal/Protocol.java2
-rw-r--r--java/src/IceInternal/TcpEndpointI.java1
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;
}
}
}