Author: noctarius
Date: Fri Nov  2 19:50:53 2012
New Revision: 1405129

URL: http://svn.apache.org/viewvc?rev=1405129&view=rev
Log:
Implemented Source / Target interfaces for ByteBuffer and Input- / OutputStream

Modified:
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/GeneratorConstants.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/io/ByteOrderUtils.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferSource.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferTarget.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/InputStreamSource.java
    
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/OutputStreamTarget.java

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java
 Fri Nov  2 19:50:53 2012
@@ -443,7 +443,7 @@ public class BytecodeMarshallerGenerator
         mv.visitVarInsn( ALOAD, 3 );
         mv.visitVarInsn( ALOAD, 6 );
         mv.visitInsn( ARRAYLENGTH );
-        mv.visitMethodInsn( INVOKEINTERFACE, DATAOUTPUT_CLASS_INTERNAL_TYPE, 
"writeInt", "(I)V" );
+        mv.visitMethodInsn( INVOKEINTERFACE, TARGET_CLASS_INTERNAL_TYPE, 
"writeInt", "(I)V" );
 
         // Loop over every element in array
         Label forLoopEnd = new Label();
@@ -602,7 +602,7 @@ public class BytecodeMarshallerGenerator
 
         // Read size
         mv.visitVarInsn( ALOAD, 3 );
-        mv.visitMethodInsn( INVOKEINTERFACE, DATAINPUT_CLASS_INTERNAL_TYPE, 
"readInt", "()I" );
+        mv.visitMethodInsn( INVOKEINTERFACE, SOURCE_CLASS_INTERNAL_TYPE, 
"readInt", "()I" );
         mv.visitInsn( DUP );
         mv.visitVarInsn( ISTORE, 5 );
 

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/GeneratorConstants.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/GeneratorConstants.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/GeneratorConstants.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/GeneratorConstants.java
 Fri Nov  2 19:50:53 2012
@@ -18,8 +18,6 @@
  */
 package org.apache.directmemory.lightning.internal.generator;
 
-import java.io.DataInput;
-import java.io.DataOutput;
 import java.io.IOException;
 import java.util.List;
 import java.util.Map;
@@ -29,6 +27,8 @@ import org.apache.directmemory.lightning
 import org.apache.directmemory.lightning.MarshallerContext;
 import org.apache.directmemory.lightning.MarshallerStrategy;
 import org.apache.directmemory.lightning.SerializationContext;
+import org.apache.directmemory.lightning.Source;
+import org.apache.directmemory.lightning.Target;
 import 
org.apache.directmemory.lightning.instantiator.ObjectInstantiatorFactory;
 import org.apache.directmemory.lightning.internal.CheatPropertyDescriptor;
 import 
org.apache.directmemory.lightning.internal.ClassDescriptorAwareSerializer;
@@ -44,16 +44,16 @@ public interface GeneratorConstants
     static String MARSHALLER_MARSHALL_SIGNATURE =
         Type.getMethodDescriptor( Type.VOID_TYPE,
                                   new Type[] { Type.getType( Object.class ), 
Type.getType( PropertyDescriptor.class ),
-                                      Type.getType( DataOutput.class ), 
Type.getType( SerializationContext.class ) } );
+                                      Type.getType( Target.class ), 
Type.getType( SerializationContext.class ) } );
 
     static String MARSHALLER_BASE_UNMARSHALL_SIGNATURE =
         Type.getMethodDescriptor( Type.getType( Object.class ), new Type[] { 
Type.getType( PropertyDescriptor.class ),
-            Type.getType( DataInput.class ), Type.getType( 
SerializationContext.class ) } );
+            Type.getType( Source.class ), Type.getType( 
SerializationContext.class ) } );
 
     static String MARSHALLER_UNMARSHALL_SIGNATURE =
         Type.getMethodDescriptor( Type.getType( Object.class ),
                                   new Type[] { Type.getType( Object.class ), 
Type.getType( PropertyDescriptor.class ),
-                                      Type.getType( DataInput.class ), 
Type.getType( SerializationContext.class ) } );
+                                      Type.getType( Source.class ), 
Type.getType( SerializationContext.class ) } );
 
     static String MARSHALLER_FIND_MARSHALLER_SIGNATURE =
         Type.getMethodDescriptor( Type.getType( Marshaller.class ),
@@ -65,7 +65,7 @@ public interface GeneratorConstants
     static String MARSHALLER_IS_ALREADY_MARSHALLED_SIGNATURE =
         Type.getMethodDescriptor( Type.BOOLEAN_TYPE,
                                   new Type[] { Type.getType( Object.class ), 
Type.getType( Class.class ),
-                                      Type.getType( DataOutput.class ), 
Type.getType( SerializationContext.class ) } );
+                                      Type.getType( Target.class ), 
Type.getType( SerializationContext.class ) } );
 
     static String MARSHALLER_CONSTRUCTOR_SIGNATURE =
         Type.getMethodDescriptor( Type.VOID_TYPE,
@@ -122,9 +122,9 @@ public interface GeneratorConstants
 
     static String CLASS_CLASS_INTERNAL_TYPE = Type.getType( Class.class 
).getInternalName();
 
-    static String DATAOUTPUT_CLASS_INTERNAL_TYPE = Type.getType( 
DataOutput.class ).getInternalName();
+    static String TARGET_CLASS_INTERNAL_TYPE = Type.getType( Target.class 
).getInternalName();
 
-    static String DATAINPUT_CLASS_INTERNAL_TYPE = Type.getType( 
DataInput.class ).getInternalName();
+    static String SOURCE_CLASS_INTERNAL_TYPE = Type.getType( Source.class 
).getInternalName();
 
     static String MARSHALLERSTRATEGY_CLASS_INTERNAL_TYPE = Type.getType( 
MarshallerStrategy.class ).getInternalName();
 

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/io/ByteOrderUtils.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/io/ByteOrderUtils.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/io/ByteOrderUtils.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/io/ByteOrderUtils.java
 Fri Nov  2 19:50:53 2012
@@ -166,8 +166,8 @@ public class ByteOrderUtils
 
     private static long buildLong( byte b7, byte b6, byte b5, byte b4, byte 
b3, byte b2, byte b1, byte b0 )
     {
-        return ( ( ( ( b7 & 0xFF ) << 56 ) | ( ( b6 & 0xFF ) << 48 ) | ( ( b5 
& 0xFF ) << 40 ) | ( ( b4 & 0xFF ) << 32 )
-            | ( ( b3 & 0xFF ) << 24 ) | ( ( b2 & 0xFF ) << 16 ) | ( ( b1 & 
0xFF ) << 8 ) | ( ( b0 & 0xFF ) << 0 ) ) );
+        return ( ( ( ( b7 & 0xFFL ) << 56 ) | ( ( b6 & 0xFFL ) << 48 ) | ( ( 
b5 & 0xFFL ) << 40 )
+            | ( ( b4 & 0xFFL ) << 32 ) | ( ( b3 & 0xFFL ) << 24 ) | ( ( b2 & 
0xFFL ) << 16 ) | ( ( b1 & 0xFFL ) << 8 ) | ( ( b0 & 0xFFL ) << 0 ) ) );
     }
 
 }

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java
 Fri Nov  2 19:50:53 2012
@@ -167,7 +167,7 @@ public final class UnicodeUtil
         while ( i < end )
         {
 
-            final int code = (int) characters[i++];
+            final int code = characters[i++];
 
             if ( code < 0x80 )
             {
@@ -193,7 +193,7 @@ public final class UnicodeUtil
                 // confirm valid high surrogate
                 if ( code < 0xDC00 && i < end )
                 {
-                    int utf32 = (int) characters[i];
+                    int utf32 = characters[i];
                     // confirm valid low surrogate and write pair
                     if ( utf32 >= 0xDC00 && utf32 <= 0xDFFF )
                     {
@@ -287,14 +287,14 @@ public final class UnicodeUtil
      * 
      * @throws IOException
      */
-    public static String UTF8toUTF16( Source source, int length )
+    public static String UTF8toUTF16( Source source )
         throws IOException
     {
         int charLength = source.readInt();
 
         int offset = 0;
         final char[] out = new char[charLength];
-        while ( offset < length )
+        while ( offset < charLength )
         {
             int b = source.readByte() & 0xff;
             if ( b < 0xc0 )

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferSource.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferSource.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferSource.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferSource.java
 Fri Nov  2 19:50:53 2012
@@ -56,8 +56,7 @@ public class ByteBufferSource
     public String readString()
         throws IOException
     {
-        int length = readInt();
-        return UnicodeUtil.UTF8toUTF16( this, length );
+        return UnicodeUtil.UTF8toUTF16( this );
     }
 
     @Override

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferTarget.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferTarget.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferTarget.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/ByteBufferTarget.java
 Fri Nov  2 19:50:53 2012
@@ -5,6 +5,7 @@ import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 
 import org.apache.directmemory.lightning.Target;
+import org.apache.directmemory.lightning.internal.util.UnicodeUtil;
 
 public class ByteBufferTarget
     implements Target
@@ -54,7 +55,7 @@ public class ByteBufferTarget
     public void writeString( String value )
         throws IOException
     {
-        // TODO: implementation of writeString is missing
+        UnicodeUtil.UTF16toUTF8( value, this );
     }
 
     @Override

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/InputStreamSource.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/InputStreamSource.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/InputStreamSource.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/InputStreamSource.java
 Fri Nov  2 19:50:53 2012
@@ -89,8 +89,7 @@ public class InputStreamSource
     public String readString()
         throws IOException
     {
-        int length = readInt();
-        return UnicodeUtil.UTF8toUTF16( this, length );
+        return UnicodeUtil.UTF8toUTF16( this );
     }
 
     @Override

Modified: 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/OutputStreamTarget.java
URL: 
http://svn.apache.org/viewvc/directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/OutputStreamTarget.java?rev=1405129&r1=1405128&r2=1405129&view=diff
==============================================================================
--- 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/OutputStreamTarget.java
 (original)
+++ 
directmemory/lightning/trunk/lightning-core/src/main/java/org/apache/directmemory/lightning/io/OutputStreamTarget.java
 Fri Nov  2 19:50:53 2012
@@ -6,6 +6,7 @@ import java.nio.ByteOrder;
 
 import org.apache.directmemory.lightning.Target;
 import org.apache.directmemory.lightning.internal.io.ByteOrderUtils;
+import org.apache.directmemory.lightning.internal.util.UnicodeUtil;
 
 public class OutputStreamTarget
     implements Target
@@ -66,7 +67,7 @@ public class OutputStreamTarget
     public void writeString( String value )
         throws IOException
     {
-        // TODO: implementation of writeString is missing
+        UnicodeUtil.UTF16toUTF8( value, this );
     }
 
     @Override


Reply via email to