You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2008/08/06 22:16:29 UTC
svn commit: r683391 - in /cxf/trunk/rt/bindings/corba/src:
main/java/org/apache/cxf/binding/corba/runtime/
main/java/org/apache/cxf/binding/corba/types/
test/java/org/apache/cxf/binding/corba/runtime/
Author: dkulp
Date: Wed Aug 6 13:16:28 2008
New Revision: 683391
URL: http://svn.apache.org/viewvc?rev=683391&view=rev
Log:
ULongs can map to a java long, not BigInteger. Thus, avoid creating
BigInteger objects if we can.
Modified:
cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReader.java
cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriter.java
cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/types/CorbaPrimitiveHandler.java
cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReaderTest.java
cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriterTest.java
Modified: cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReader.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReader.java?rev=683391&r1=683390&r2=683391&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReader.java (original)
+++ cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReader.java Wed Aug 6 13:16:28 2008
@@ -212,11 +212,11 @@
}
}
- public BigInteger readULong() throws CorbaBindingException {
+ public long readULong() throws CorbaBindingException {
try {
long l = stream.read_ulong();
l &= 0xffffffffL;
- return BigInteger.valueOf(l);
+ return l;
} catch (org.omg.CORBA.MARSHAL ex) {
LOG.log(Level.SEVERE, "CorbaObjectReader: could not read unsigned long");
throw new CorbaBindingException("CorbaObjectReader: readULong MARSHAL exception", ex);
Modified: cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriter.java?rev=683391&r1=683390&r2=683391&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriter.java (original)
+++ cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriter.java Wed Aug 6 13:16:28 2008
@@ -76,7 +76,7 @@
this.writeLong((Integer)((CorbaPrimitiveHandler)obj).getValue());
break;
case TCKind._tk_ulong:
- this.writeULong((BigInteger)((CorbaPrimitiveHandler)obj).getValue());
+ this.writeULong((Long)((CorbaPrimitiveHandler)obj).getValue());
break;
case TCKind._tk_longlong:
this.writeLongLong((Long)((CorbaPrimitiveHandler)obj).getValue());
@@ -187,7 +187,7 @@
}
}
- public void writeULong(java.math.BigInteger l) throws CorbaBindingException {
+ public void writeULong(Long l) throws CorbaBindingException {
if (l == null) {
stream.write_ulong((int)0);
} else {
Modified: cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/types/CorbaPrimitiveHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/types/CorbaPrimitiveHandler.java?rev=683391&r1=683390&r2=683391&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/types/CorbaPrimitiveHandler.java (original)
+++ cxf/trunk/rt/bindings/corba/src/main/java/org/apache/cxf/binding/corba/types/CorbaPrimitiveHandler.java Wed Aug 6 13:16:28 2008
@@ -72,7 +72,7 @@
any.insert_longlong(((Long)value).longValue());
break;
case TCKind._tk_ulong:
- any.insert_ulong((int)((java.math.BigInteger)value).longValue());
+ any.insert_ulong((int)((Long)value).longValue());
break;
case TCKind._tk_ulonglong:
any.insert_ulonglong(((java.math.BigInteger)value).longValue());
@@ -141,6 +141,8 @@
data = ((Long)value).toString();
break;
case TCKind._tk_ulong:
+ data = ((Long)value).toString();
+ break;
case TCKind._tk_ulonglong:
data = ((java.math.BigInteger)value).toString();
break;
@@ -206,6 +208,8 @@
obj = new Long(data);
break;
case TCKind._tk_ulong:
+ obj = new Long(data);
+ break;
case TCKind._tk_ulonglong:
obj = new java.math.BigInteger(data);
break;
@@ -269,9 +273,11 @@
case TCKind._tk_longlong:
data = Long.toString(any.extract_longlong());
break;
- case TCKind._tk_ulong:
- data = Long.toString(any.extract_ulong());
+ case TCKind._tk_ulong: {
+ long l = any.extract_ulong();
+ data = Long.toString(l & 0xFFFFFFFFL);
break;
+ }
case TCKind._tk_ulonglong:
data = java.math.BigInteger.valueOf(any.extract_ulonglong()).toString();
break;
Modified: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReaderTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReaderTest.java?rev=683391&r1=683390&r2=683391&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReaderTest.java (original)
+++ cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectReaderTest.java Wed Aug 6 13:16:28 2008
@@ -171,8 +171,8 @@
InputStream iStream = oStream.create_input_stream();
CorbaObjectReader reader = new CorbaObjectReader(iStream);
- BigInteger ulongValue = reader.readULong();
- assertTrue(ulongValue.longValue() == 100000);
+ long ulongValue = reader.readULong();
+ assertTrue(ulongValue == 100000);
}
@Test
Modified: cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriterTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriterTest.java?rev=683391&r1=683390&r2=683391&view=diff
==============================================================================
--- cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriterTest.java (original)
+++ cxf/trunk/rt/bindings/corba/src/test/java/org/apache/cxf/binding/corba/runtime/CorbaObjectWriterTest.java Wed Aug 6 13:16:28 2008
@@ -156,12 +156,12 @@
OutputStream oStream = orb.create_output_stream();
CorbaObjectWriter writer = new CorbaObjectWriter(oStream);
- BigInteger ulongValue = new BigInteger("1234567");
+ long ulongValue = 1234567L;
writer.writeULong(ulongValue);
InputStream iStream = oStream.create_input_stream();
long ul = iStream.read_ulong();
- assertTrue(ul == ulongValue.longValue());
+ assertTrue(ul == ulongValue);
}
@Test