You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/12/31 16:37:38 UTC
svn commit: r491433 - in /directory/trunks/shared/asn1/src:
main/java/org/apache/directory/shared/asn1/
main/java/org/apache/directory/shared/asn1/ber/
main/java/org/apache/directory/shared/asn1/ber/tlv/
main/java/org/apache/directory/shared/asn1/der/ ...
Author: elecharny
Date: Sun Dec 31 07:37:38 2006
New Revision: 491433
URL: http://svn.apache.org/viewvc?view=rev&rev=491433
Log:
Cleaned the code, after having used FindBugs to check it. Many little errors has been fixed. Tests has been added
Modified:
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/AbstractAsn1Object.java
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/der/DERTaggedObject.java
directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/primitives/OID.java
directory/trunks/shared/asn1/src/test/java/org/apache/directory/shared/asn1/ber/tlv/ValueTest.java
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/AbstractAsn1Object.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/AbstractAsn1Object.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/AbstractAsn1Object.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/AbstractAsn1Object.java Sun Dec 31 07:37:38 2006
@@ -37,13 +37,13 @@
// ----------------------------------------------------------------------------
/** The object's current length. It is used while decoding PDUs */
- private transient int currentLength;
+ private int currentLength;
/** The object's expected length. It is used while decoding PDUs */
- private transient int expectedLength;
+ private int expectedLength;
/** The encapsulating Object */
- protected transient AbstractAsn1Object parent;
+ protected AbstractAsn1Object parent;
// ~ Methods
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/Asn1Decoder.java Sun Dec 31 07:37:38 2006
@@ -121,15 +121,8 @@
if ( IS_DEBUG )
{
- if ( tlv != null )
- {
- byte tag = container.getCurrentTLV().getTag();
- log.debug( "Tag {} has been decoded", Asn1StringUtils.dumpByte( tag ) );
- }
- else
- {
- log.debug( "Tag has been decoded, but is null" );
- }
+ byte tag = container.getCurrentTLV().getTag();
+ log.debug( "Tag {} has been decoded", Asn1StringUtils.dumpByte( tag ) );
}
return MORE;
@@ -391,7 +384,7 @@
{
if ( tlv != null )
{
- log.debug( "Root TLV[{}]", new Integer( length ) );
+ log.debug( "Root TLV[{}]", Integer.valueOf( length ) );
}
else
{
@@ -410,7 +403,7 @@
{
// The expected length is lower than the Value length of the
// current TLV. This is an error...
- log.error( "tlv[{}, {}]", new Integer( expectedLength ), new Integer( currentLength ) );
+ log.error( "tlv[{}, {}]", Integer.valueOf( expectedLength ), Integer.valueOf( currentLength ) );
throw new DecoderException( "The current Value length is above the expected length" );
}
@@ -503,7 +496,7 @@
if ( IS_DEBUG )
{
- log.debug( "Length {} has been decoded", new Integer( length ) );
+ log.debug( "Length {} has been decoded", Integer.valueOf( length ) );
}
if ( length == 0 )
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/TLV.java Sun Dec 31 07:37:38 2006
@@ -46,7 +46,7 @@
private int lengthNbBytes;
/** The number of length's bytes currently read */
- private int LengthBytesRead;
+ private int lengthBytesRead;
/** The current Value being processed */
private Value value;
@@ -77,13 +77,13 @@
public static final int SHORT_MASK = 0x1F;
/** A mask to get the Length form */
- public static final transient int LENGTH_LONG_FORM = 0x0080;
+ public static final int LENGTH_LONG_FORM = 0x0080;
/** Value of the reserved extension */
- public static final transient int LENGTH_EXTENSION_RESERVED = 0x7F;
+ public static final int LENGTH_EXTENSION_RESERVED = 0x7F;
/** A mask to get the long form value */
- public static final transient int LENGTH_SHORT_MASK = 0x007F;
+ public static final int LENGTH_SHORT_MASK = 0x007F;
/** A speedup for single bytes length */
static byte[][] ONE_BYTE = new byte[256][];
@@ -394,18 +394,18 @@
public int getLengthBytesRead()
{
- return LengthBytesRead;
+ return lengthBytesRead;
}
public void setLengthBytesRead( int lengthBytesRead )
{
- LengthBytesRead = lengthBytesRead;
+ this.lengthBytesRead = lengthBytesRead;
}
public void incLengthBytesRead()
{
- LengthBytesRead++;
+ lengthBytesRead++;
}
}
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/ber/tlv/Value.java Sun Dec 31 07:37:38 2006
@@ -84,7 +84,9 @@
*/
public Value(byte[] value)
{
- data = value;
+ // Do a copy of the byte array
+ data = new byte[value.length];
+ System.arraycopy( value, 0, data, 0, value.length );
currentPos = 0;
}
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/der/DERTaggedObject.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/der/DERTaggedObject.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/der/DERTaggedObject.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/der/DERTaggedObject.java Sun Dec 31 07:37:38 2006
@@ -85,7 +85,10 @@
this.explicit = explicit;
this.tag = tag;
this.obj = obj;
- this.bytes = bytes;
+
+ // Copy the byte array
+ this.bytes = new byte[bytes.length];
+ System.arraycopy( bytes, 0, this.bytes, 0, bytes.length );
}
Modified: directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/primitives/OID.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/primitives/OID.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/primitives/OID.java (original)
+++ directory/trunks/shared/asn1/src/main/java/org/apache/directory/shared/asn1/primitives/OID.java Sun Dec 31 07:37:38 2006
@@ -23,6 +23,7 @@
import java.io.Serializable;
import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.util.Asn1StringUtils;
/**
@@ -119,7 +120,7 @@
if ( oid.length < 1 )
{
- throw new DecoderException( "Invalid OID : " + oid );
+ throw new DecoderException( "Invalid OID : " + Asn1StringUtils.dumpBytes( oid ) );
}
// First, we have to calculate the number of int to allocate
Modified: directory/trunks/shared/asn1/src/test/java/org/apache/directory/shared/asn1/ber/tlv/ValueTest.java
URL: http://svn.apache.org/viewvc/directory/trunks/shared/asn1/src/test/java/org/apache/directory/shared/asn1/ber/tlv/ValueTest.java?view=diff&rev=491433&r1=491432&r2=491433
==============================================================================
--- directory/trunks/shared/asn1/src/test/java/org/apache/directory/shared/asn1/ber/tlv/ValueTest.java (original)
+++ directory/trunks/shared/asn1/src/test/java/org/apache/directory/shared/asn1/ber/tlv/ValueTest.java Sun Dec 31 07:37:38 2006
@@ -268,4 +268,18 @@
Assert.assertEquals( testedInt[i], value );
}
}
+
+ public void testNewByteArrayValue()
+ {
+ byte[] bb = new byte[]{0x01, (byte)0xFF};
+
+ Value v = new Value( bb );
+ byte[] vv = v.getData();
+
+ assertEquals( 0x01, vv[0] );
+ assertEquals( (byte)0xFF, vv[1] );
+
+ bb[0] = 0x00;
+ assertEquals( 0x01, vv[0] );
+ }
}