certi-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[certi-cvs] jcerti/src/hla/rti1516e/jlc BasicHLAoctetImpl.j...


From: CERTI CVS commits
Subject: [certi-cvs] jcerti/src/hla/rti1516e/jlc BasicHLAoctetImpl.j...
Date: Fri, 06 Jan 2012 14:04:40 +0000

CVSROOT:        /sources/certi
Module name:    jcerti
Changes by:     Eric NOULARD <erk>      12/01/06 14:04:40

Modified files:
        src/hla/rti1516e/jlc: BasicHLAoctetImpl.java 
                              HLAASCIIstringImpl.java 
                              BasicHLAinteger32LEImpl.java 
                              BasicHLAinteger64BEImpl.java 
                              HLAunicodeCharImpl.java 
                              BasicHLAinteger64LEImpl.java 
                              BasicHLAfloat32BEImpl.java 
                              BasicHLAfloat32LEImpl.java 
                              DataElementBase.java 
                              BasicHLAinteger16LEImpl.java 
                              BasicHLAfloat64LEImpl.java 
                              BasicHLAinteger32BEImpl.java 
                              BasicHLAinteger16BEImpl.java 
                              EncoderFactory.java 
                              HLAunicodeStringImpl.java 
                              HLAASCIIcharImpl.java 
                              BasicHLAfloat64BEImpl.java 
                              HLAbooleanImpl.java BasicHLAbyteImpl.java 
                              BasicHLAoctetPairBEImpl.java 
                              BasicHLAoctetPairLEImpl.java 
Added files:
        src/hla/rti1516e/jlc: HLAvariableArrayImpl.java 
                              BasicHLAopaqueDataImpl.java 

Log message:
        - Implement VariableArray encoder helper class
        - Factor out decoding from byte[] array in base class DataElementBase
        - Implement HLAopaque encoder helper class
        - update EncoderFactory accordingly

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAASCIIstringImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32LEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64BEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAunicodeCharImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64LEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32BEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32LEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/DataElementBase.java?cvsroot=certi&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16LEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64LEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32BEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16BEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/EncoderFactory.java?cvsroot=certi&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAunicodeStringImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAASCIIcharImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64BEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAbooleanImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAbyteImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairBEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairLEImpl.java?cvsroot=certi&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/HLAvariableArrayImpl.java?cvsroot=certi&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/jcerti/src/hla/rti1516e/jlc/BasicHLAopaqueDataImpl.java?cvsroot=certi&rev=1.1

Patches:
Index: BasicHLAoctetImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAoctetImpl.java      14 Dec 2011 13:19:21 -0000      1.1
+++ BasicHLAoctetImpl.java      6 Jan 2012 14:04:38 -0000       1.2
@@ -58,11 +58,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value = bytes[0];
-    }
-    
-    
     public byte getValue() {
         return value;
     }

Index: HLAASCIIstringImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/HLAASCIIstringImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HLAASCIIstringImpl.java     14 Dec 2011 13:19:21 -0000      1.1
+++ HLAASCIIstringImpl.java     6 Jan 2012 14:04:38 -0000       1.2
@@ -75,11 +75,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        throw new DecoderException("NOT IMPLEMENTED");
-    }
-
-    
     public String getValue() {
         return value;
     }

Index: BasicHLAinteger32LEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32LEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger32LEImpl.java        14 Dec 2011 13:19:21 -0000      1.1
+++ BasicHLAinteger32LEImpl.java        6 Jan 2012 14:04:38 -0000       1.2
@@ -67,15 +67,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (int)((bytes[0] & 0xFF) <<  0);
-        value += (int)((bytes[1] & 0xFF) <<  8);
-        value += (int)((bytes[2] & 0xFF) << 16);
-        value += (int)((bytes[3] & 0xFF) << 24);
-    }
-
-    
     public int getValue() {
         return value;
     }

Index: BasicHLAinteger64BEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64BEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger64BEImpl.java        14 Dec 2011 13:19:24 -0000      1.1
+++ BasicHLAinteger64BEImpl.java        6 Jan 2012 14:04:38 -0000       1.2
@@ -75,19 +75,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0L;
-        value += (long)((bytes[0] & 0xFF) << 56);
-        value += (long)((bytes[1] & 0xFF) << 48);
-        value += (long)((bytes[2] & 0xFF) << 40);
-        value += (long)((bytes[3] & 0xFF) << 32);
-        value += (long)((bytes[4] & 0xFF) << 24);
-        value += (long)((bytes[5] & 0xFF) << 16);
-        value += (long)((bytes[6] & 0xFF) <<  8);
-        value += (long)((bytes[7] & 0xFF) <<  0);
-    }
-
-    
     public long getValue() {
         return value;
     }

Index: HLAunicodeCharImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/HLAunicodeCharImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HLAunicodeCharImpl.java     14 Dec 2011 13:19:22 -0000      1.1
+++ HLAunicodeCharImpl.java     6 Jan 2012 14:04:38 -0000       1.2
@@ -57,11 +57,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value.decode(bytes);
-    }
-
-    
     public short getValue() {
         return value.getValue();
     }

Index: BasicHLAinteger64LEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger64LEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger64LEImpl.java        14 Dec 2011 13:19:22 -0000      1.1
+++ BasicHLAinteger64LEImpl.java        6 Jan 2012 14:04:38 -0000       1.2
@@ -75,19 +75,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0L;
-        value += (long)((bytes[0] & 0xFF) <<  0);
-        value += (long)((bytes[1] & 0xFF) <<  8);
-        value += (long)((bytes[2] & 0xFF) << 16);
-        value += (long)((bytes[3] & 0xFF) << 24);
-        value += (long)((bytes[4] & 0xFF) << 32);
-        value += (long)((bytes[5] & 0xFF) << 40);
-        value += (long)((bytes[6] & 0xFF) << 48);
-        value += (long)((bytes[7] & 0xFF) << 56);
-    }
-
-    
     public long getValue() {
         return value;
     }

Index: BasicHLAfloat32BEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32BEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAfloat32BEImpl.java  14 Dec 2011 13:19:22 -0000      1.1
+++ BasicHLAfloat32BEImpl.java  6 Jan 2012 14:04:38 -0000       1.2
@@ -69,18 +69,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        
-        int f_as_i;
-        f_as_i  = 0;
-        f_as_i += (long)((bytes[4] & 0xFF) << 24);
-        f_as_i += (long)((bytes[5] & 0xFF) << 16);
-        f_as_i += (long)((bytes[6] & 0xFF) <<  8);
-        f_as_i += (long)((bytes[7] & 0xFF) <<  0);
-        value = Float.intBitsToFloat(f_as_i);
-    }
-
-    
     public float getValue() {
         return value;
     }

Index: BasicHLAfloat32LEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat32LEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAfloat32LEImpl.java  14 Dec 2011 13:19:24 -0000      1.1
+++ BasicHLAfloat32LEImpl.java  6 Jan 2012 14:04:38 -0000       1.2
@@ -69,18 +69,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        
-        int f_as_i;
-        f_as_i  = 0;
-        f_as_i += (int)((bytes[0] & 0xFF) <<  0);
-        f_as_i += (int)((bytes[1] & 0xFF) <<  8);
-        f_as_i += (int)((bytes[2] & 0xFF) << 16);
-        f_as_i += (int)((bytes[3] & 0xFF) << 24);
-        value = Float.intBitsToFloat(f_as_i);
-    }
-
-    
     public float getValue() {
         return value;
     }

Index: DataElementBase.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/DataElementBase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- DataElementBase.java        14 Dec 2011 13:19:22 -0000      1.3
+++ DataElementBase.java        6 Jan 2012 14:04:38 -0000       1.4
@@ -21,6 +21,7 @@
 
 import hla.rti1516e.encoding.ByteWrapper;
 import hla.rti1516e.encoding.DataElement;
+import hla.rti1516e.encoding.DecoderException;
 import hla.rti1516e.encoding.EncoderException;
 
 public abstract class DataElementBase implements DataElement {
@@ -31,4 +32,8 @@
         return bw.array();
     }
 
+    public void decode(byte[] bytes) throws DecoderException {
+        ByteWrapper bw = new ByteWrapper(bytes);
+        decode(bw);
+    }
 }

Index: BasicHLAinteger16LEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16LEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger16LEImpl.java        14 Dec 2011 13:19:25 -0000      1.1
+++ BasicHLAinteger16LEImpl.java        6 Jan 2012 14:04:38 -0000       1.2
@@ -63,13 +63,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (short)((bytes[0] & 0xFF) <<  0);
-        value += (short)((bytes[1] & 0xFF) <<  8);
-    }
-
-    
     public short getValue() {
         return value;
     }

Index: BasicHLAfloat64LEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64LEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAfloat64LEImpl.java  14 Dec 2011 13:19:25 -0000      1.1
+++ BasicHLAfloat64LEImpl.java  6 Jan 2012 14:04:38 -0000       1.2
@@ -76,23 +76,6 @@
         value = Double.longBitsToDouble(d_as_l);
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        
-        long d_as_l;
-        d_as_l  = 0L;
-        d_as_l += (long)((bytes[0] & 0xFF) <<  0);
-        d_as_l += (long)((bytes[1] & 0xFF) <<  8);
-        d_as_l += (long)((bytes[2] & 0xFF) << 16);
-        d_as_l += (long)((bytes[3] & 0xFF) << 24);
-        d_as_l += (long)((bytes[4] & 0xFF) << 32);
-        d_as_l += (long)((bytes[5] & 0xFF) << 40);
-        d_as_l += (long)((bytes[6] & 0xFF) << 48);
-        d_as_l += (long)((bytes[7] & 0xFF) << 56);
-        value = Double.longBitsToDouble(d_as_l);
-    }
-
-    
     public double getValue() {
         return value;
     }

Index: BasicHLAinteger32BEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger32BEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger32BEImpl.java        14 Dec 2011 13:19:23 -0000      1.1
+++ BasicHLAinteger32BEImpl.java        6 Jan 2012 14:04:38 -0000       1.2
@@ -66,16 +66,6 @@
         value += (int)((byteWrapper.get() & 0xFF) <<  0);
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (int)((bytes[4] & 0xFF) << 24);
-        value += (int)((bytes[5] & 0xFF) << 16);
-        value += (int)((bytes[6] & 0xFF) <<  8);
-        value += (int)((bytes[7] & 0xFF) <<  0);
-    }
-
-    
     public int getValue() {
         return value;
     }

Index: BasicHLAinteger16BEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAinteger16BEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAinteger16BEImpl.java        14 Dec 2011 13:19:25 -0000      1.1
+++ BasicHLAinteger16BEImpl.java        6 Jan 2012 14:04:39 -0000       1.2
@@ -62,14 +62,6 @@
         value += (short)((byteWrapper.get() & 0xFF) <<  0);
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (short)((bytes[0] & 0xFF) <<  8);
-        value += (short)((bytes[1] & 0xFF) <<  0);
-    }
-
-    
     public short getValue() {
         return value;
     }

Index: EncoderFactory.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/EncoderFactory.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- EncoderFactory.java 14 Dec 2011 13:19:26 -0000      1.4
+++ EncoderFactory.java 6 Jan 2012 14:04:39 -0000       1.5
@@ -229,14 +229,12 @@
 
     
     public HLAopaqueData createHLAopaqueData() {
-        // TODO Auto-generated method stub
-        return null;
+        return new BasicHLAopaqueDataImpl();
     }
 
     
     public HLAopaqueData createHLAopaqueData(byte[] b) {
-        // TODO Auto-generated method stub
-        return null;
+        return new BasicHLAopaqueDataImpl(b);
     }
 
     
@@ -251,21 +249,18 @@
 
     
     public HLAunicodeString createHLAunicodeString() {
-        // TODO Auto-generated method stub
-        return null;
+        return new HLAunicodeStringImpl();
     }
 
     
     public HLAunicodeString createHLAunicodeString(String s) {
-        // TODO Auto-generated method stub
-        return null;
+        return new HLAunicodeStringImpl(s);
     }
 
     
     public <T extends DataElement> HLAvariableArray<T> createHLAvariableArray(
             DataElementFactory<T> factory, T... elements) {
-        // TODO Auto-generated method stub
-        return null;
+        return new HLAvariableArrayImpl<T>(factory);
     }
 
 }

Index: HLAunicodeStringImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/HLAunicodeStringImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HLAunicodeStringImpl.java   14 Dec 2011 13:19:26 -0000      1.1
+++ HLAunicodeStringImpl.java   6 Jan 2012 14:04:39 -0000       1.2
@@ -74,12 +74,6 @@
         }
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        throw new DecoderException("Not Implemented");
-    }
-
-    
     public String getValue() {
         return value;
     }

Index: HLAASCIIcharImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/HLAASCIIcharImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HLAASCIIcharImpl.java       14 Dec 2011 13:19:26 -0000      1.1
+++ HLAASCIIcharImpl.java       6 Jan 2012 14:04:39 -0000       1.2
@@ -56,12 +56,6 @@
         value.decode(byteWrapper);
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        value.decode(bytes);
-    }
-
-    
     public byte getValue() {
         return value.getValue();
     }

Index: BasicHLAfloat64BEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAfloat64BEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAfloat64BEImpl.java  14 Dec 2011 13:19:26 -0000      1.1
+++ BasicHLAfloat64BEImpl.java  6 Jan 2012 14:04:39 -0000       1.2
@@ -77,22 +77,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        
-        long d_as_l;
-        d_as_l  = 0L;
-        d_as_l += (long)((bytes[0] & 0xFF) << 56);
-        d_as_l += (long)((bytes[1] & 0xFF) << 48);
-        d_as_l += (long)((bytes[2] & 0xFF) << 40);
-        d_as_l += (long)((bytes[3] & 0xFF) << 32);
-        d_as_l += (long)((bytes[4] & 0xFF) << 24);
-        d_as_l += (long)((bytes[5] & 0xFF) << 16);
-        d_as_l += (long)((bytes[6] & 0xFF) <<  8);
-        d_as_l += (long)((bytes[7] & 0xFF) <<  0);
-        value = Double.longBitsToDouble(d_as_l);
-    }
-
-    
     public double getValue() {
         return value;
     }

Index: HLAbooleanImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/HLAbooleanImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HLAbooleanImpl.java 14 Dec 2011 13:19:26 -0000      1.1
+++ HLAbooleanImpl.java 6 Jan 2012 14:04:39 -0000       1.2
@@ -57,11 +57,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value.decode(bytes);
-    }
-
-    
     public boolean getValue() {
         return (value.getValue()==1);
     }

Index: BasicHLAbyteImpl.java
===================================================================
RCS file: /sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAbyteImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAbyteImpl.java       14 Dec 2011 13:19:23 -0000      1.1
+++ BasicHLAbyteImpl.java       6 Jan 2012 14:04:39 -0000       1.2
@@ -57,11 +57,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value.decode(bytes);
-    }
-
-    
     public byte getValue() {
         return value.getValue();
     }

Index: BasicHLAoctetPairBEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairBEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAoctetPairBEImpl.java        14 Dec 2011 13:19:23 -0000      1.1
+++ BasicHLAoctetPairBEImpl.java        6 Jan 2012 14:04:39 -0000       1.2
@@ -63,13 +63,6 @@
     }
 
     
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (short)((bytes[0] & 0xFF) <<  8);
-        value += (short)((bytes[1] & 0xFF) <<  0);
-    }
-
-    
     public short getValue() {
         return value;
     }

Index: BasicHLAoctetPairLEImpl.java
===================================================================
RCS file: 
/sources/certi/jcerti/src/hla/rti1516e/jlc/BasicHLAoctetPairLEImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BasicHLAoctetPairLEImpl.java        14 Dec 2011 13:19:24 -0000      1.1
+++ BasicHLAoctetPairLEImpl.java        6 Jan 2012 14:04:40 -0000       1.2
@@ -62,14 +62,6 @@
         value += (short)((byteWrapper.get() & 0xFF) <<  8);
     }
 
-    
-    public void decode(byte[] bytes) throws DecoderException {
-        value  = 0;
-        value += (short)((bytes[0] & 0xFF) <<  0);
-        value += (short)((bytes[1] & 0xFF) <<  8);
-    }
-
-    
     public short getValue() {
         return value;
     }

Index: HLAvariableArrayImpl.java
===================================================================
RCS file: HLAvariableArrayImpl.java
diff -N HLAvariableArrayImpl.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ HLAvariableArrayImpl.java   6 Jan 2012 14:04:39 -0000       1.1
@@ -0,0 +1,121 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2011 Eric Noulard
+//
+// This program is free software ; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation ; either version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY ; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// ----------------------------------------------------------------------------
+package hla.rti1516e.jlc;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DataElement;
+import hla.rti1516e.encoding.DataElementFactory;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+
+public class HLAvariableArrayImpl<T extends DataElement> extends 
DataElementBase
+    implements hla.rti1516e.encoding.HLAvariableArray<T> {
+
+    private ArrayList<T>          values;
+    private DataElementFactory<T> efactory;
+
+    public HLAvariableArrayImpl() {
+        values  = new ArrayList<T>(20);
+        efactory = null;
+    }
+    
+    public HLAvariableArrayImpl(T[] elements) {
+        values = new ArrayList<T>(elements.length);
+        values.addAll(Arrays.asList(elements));
+        efactory = null;
+    }
+    
+    public HLAvariableArrayImpl(DataElementFactory<T> factory) {
+        values   = new ArrayList<T>(20);
+        efactory = factory;
+    }
+    
+    public int getOctetBoundary() {
+        /* at least 4 since we encode the size */
+        int obound = 4;
+        for (Iterator<T> it = values.iterator(); it.hasNext();) {
+            T elem  = it.next();
+            obound = Math.max(obound, elem.getOctetBoundary());
+        }
+        return obound;
+    }
+
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+       byteWrapper.align(getOctetBoundary());
+       byteWrapper.putInt(values.size());
+       for (Iterator<T> it = values.iterator(); it.hasNext();) {
+           T elem  = it.next();
+           elem.encode(byteWrapper);
+       }
+    }
+
+    public int getEncodedLength() {
+        int elength = 4;
+        for (Iterator<T> it = values.iterator(); it.hasNext();) {
+            T elem  = it.next();
+            elength += elem.getEncodedLength();
+        }
+        return elength;
+    }
+
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        int nbElem = byteWrapper.getInt();
+        values.ensureCapacity(nbElem);
+        /* FIXME we may optimize this in order to avoid reallocation 
+         * we should
+         *  - verify size
+         *  - trimToSize
+         *  - clear 
+         *  - add 
+         */
+        values.clear();
+        for (int i = 0; i<nbElem;++i) {
+            T elem = efactory.createElement(i);
+            elem.decode(byteWrapper);
+            values.add(elem);
+        }
+    }
+
+    public void addElement(T dataElement) {
+        values.add(dataElement);
+    }
+
+    public int size() {
+        return values.size();
+    }
+
+    public T get(int index) {
+        return values.get(index);
+    }
+
+    public Iterator<T> iterator() {
+        return values.iterator();
+    }
+
+    public void resize(int newSize) {
+        values.ensureCapacity(newSize);
+    }
+
+}

Index: BasicHLAopaqueDataImpl.java
===================================================================
RCS file: BasicHLAopaqueDataImpl.java
diff -N BasicHLAopaqueDataImpl.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ BasicHLAopaqueDataImpl.java 6 Jan 2012 14:04:39 -0000       1.1
@@ -0,0 +1,86 @@
+// ----------------------------------------------------------------------------
+// CERTI - HLA RunTime Infrastructure
+// Copyright (C) 2011 Eric Noulard
+//
+// This program is free software ; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public License
+// as published by the Free Software Foundation ; either version 2 of
+// the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful, but
+// WITHOUT ANY WARRANTY ; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program ; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// ----------------------------------------------------------------------------
+package hla.rti1516e.jlc;
+
+import hla.rti1516e.encoding.ByteWrapper;
+import hla.rti1516e.encoding.DecoderException;
+import hla.rti1516e.encoding.EncoderException;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class BasicHLAopaqueDataImpl extends DataElementBase implements
+        hla.rti1516e.encoding.HLAopaqueData {
+
+    private  byte[]   values;
+
+    public BasicHLAopaqueDataImpl() {
+        values  = new byte[0];
+    }
+    
+    public BasicHLAopaqueDataImpl(byte[] bytes) {
+        values = bytes;
+    }
+    
+    public int getOctetBoundary() {
+        return 4;
+    }
+
+    public void encode(ByteWrapper byteWrapper) throws EncoderException {
+       byteWrapper.align(getOctetBoundary());
+       byteWrapper.putInt(values.length);
+       byteWrapper.put(values);
+    }
+
+    public int getEncodedLength() {
+        return 4+values.length;
+    }
+
+    public void decode(ByteWrapper byteWrapper) throws DecoderException {
+        byteWrapper.align(getOctetBoundary());
+        values = new byte[byteWrapper.getInt()];
+        byteWrapper.get(values);
+    }
+
+    public int size() {
+        return values.length;
+    }
+
+    public Iterator<Byte> iterator() {
+        ArrayList<Byte> barray = new ArrayList<Byte>(values.length);
+        for (int i =0; i<values.length;++i) {
+            barray.add(values[i]);
+        }
+        return barray.iterator();
+    }
+
+    public byte[] getValue() {
+        return values;
+    }
+
+    public void setValue(byte[] value) {
+        this.values = value;
+    }
+
+    public byte get(int index) {
+        return values[index];
+    }
+
+}
\ No newline at end of file



reply via email to

[Prev in Thread] Current Thread [Next in Thread]