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 2014/03/18 19:42:01 UTC

svn commit: r1579009 - in /directory/shared/trunk/ldap/extras/codec/src: main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/ main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/ test/java/org/apache/dire...

Author: elecharny
Date: Tue Mar 18 18:42:00 2014
New Revision: 1579009

URL: http://svn.apache.org/r1579009
Log:
o Removed the CertGeneration class, it's useless

Removed:
    directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGeneration.java
Modified:
    directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java
    directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationDecoder.java
    directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java
    directory/shared/trunk/ldap/extras/codec/src/test/java/org/apache/directory/api/ldap/extras/extended/ads_impl/CertGenerationRequestTest.java

Modified: directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java?rev=1579009&r1=1579008&r2=1579009&view=diff
==============================================================================
--- directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java (original)
+++ directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java Tue Mar 18 18:42:00 2014
@@ -56,7 +56,7 @@ public class CancelRequestDecorator exte
     public CancelRequestDecorator( LdapApiService codec, CancelRequest decoratedMessage )
     {
         super( codec, decoratedMessage );
-        this.cancelRequest = decoratedMessage;
+        cancelRequest = decoratedMessage;
     }
 
 

Modified: directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationDecoder.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationDecoder.java?rev=1579009&r1=1579008&r2=1579009&view=diff
==============================================================================
--- directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationDecoder.java (original)
+++ directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationDecoder.java Tue Mar 18 18:42:00 2014
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import org.apache.directory.api.asn1.Asn1Object;
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.ber.Asn1Decoder;
+import org.apache.directory.api.ldap.extras.extended.certGeneration.CertGenerationRequest;
 
 
 /**
@@ -46,16 +47,16 @@ public class CertGenerationDecoder exten
      * @return a CertGenerationObject object
      * @throws org.apache.directory.api.asn1.DecoderException If the decoding failed
      */
-    public Asn1Object decode( byte[] stream ) throws DecoderException
+    public CertGenerationRequest decode( byte[] stream ) throws DecoderException
     {
         ByteBuffer bb = ByteBuffer.wrap( stream );
         CertGenerationContainer container = new CertGenerationContainer();
         decoder.decode( bb, container );
-        CertGenerationRequestDecorator certGenObj = container.getCertGenerationObject();
+        CertGenerationRequestDecorator certGenerationRequestDecorator = container.getCertGenerationObject();
 
         // Clean the container for the next decoding
         container.clean();
 
-        return certGenObj.getCertGenerationObject();
+        return certGenerationRequestDecorator.getCertGenerationRequest();
     }
 }

Modified: directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java?rev=1579009&r1=1579008&r2=1579009&view=diff
==============================================================================
--- directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java (original)
+++ directory/shared/trunk/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java Tue Mar 18 18:42:00 2014
@@ -20,13 +20,18 @@
 package org.apache.directory.api.ldap.extras.extended.ads_impl.certGeneration;
 
 
+import java.nio.ByteBuffer;
+
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
+import org.apache.directory.api.asn1.ber.tlv.BerValue;
+import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
 import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.ExtendedRequestDecorator;
 import org.apache.directory.api.ldap.codec.api.LdapApiService;
 import org.apache.directory.api.ldap.extras.extended.certGeneration.CertGenerationRequest;
 import org.apache.directory.api.ldap.extras.extended.certGeneration.CertGenerationResponse;
+import org.apache.directory.api.util.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,25 +41,26 @@ import org.slf4j.LoggerFactory;
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class CertGenerationRequestDecorator
-    extends ExtendedRequestDecorator<CertGenerationRequest>
+public class CertGenerationRequestDecorator extends ExtendedRequestDecorator<CertGenerationRequest>
     implements CertGenerationRequest
 {
     private static final Logger LOG = LoggerFactory.getLogger( CertGenerationRequestDecorator.class );
 
-    private CertGeneration certGenObj;
+    private CertGenerationRequest certGenerationRequest;
 
+    /** stores the length of the request*/
+    private int requestLength = 0;
 
     public CertGenerationRequestDecorator( LdapApiService codec, CertGenerationRequest decoratedMessage )
     {
         super( codec, decoratedMessage );
-        certGenObj = new CertGeneration( decoratedMessage );
+        certGenerationRequest = decoratedMessage;
     }
 
 
-    public CertGeneration getCertGenerationObject()
+    public CertGenerationRequest getCertGenerationRequest()
     {
-        return certGenObj;
+        return certGenerationRequest;
     }
 
 
@@ -68,7 +74,7 @@ public class CertGenerationRequestDecora
 
         try
         {
-            certGenObj = ( CertGeneration ) decoder.decode( requestValue );
+            certGenerationRequest = decoder.decode( requestValue );
 
             if ( requestValue != null )
             {
@@ -98,7 +104,7 @@ public class CertGenerationRequestDecora
         {
             try
             {
-                requestValue = certGenObj.encode().array();
+                requestValue = encode().array();
             }
             catch ( EncoderException e )
             {
@@ -198,4 +204,56 @@ public class CertGenerationRequestDecora
     {
         getDecorated().setKeyAlgorithm( keyAlgorithm );
     }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public int computeLength()
+    {
+        int len = Strings.getBytesUtf8( certGenerationRequest.getTargetDN() ).length;
+        requestLength = 1 + BerValue.getNbBytes( len ) + len;
+
+        len = Strings.getBytesUtf8( certGenerationRequest.getIssuerDN() ).length;
+        requestLength += 1 + BerValue.getNbBytes( len ) + len;
+
+        len = Strings.getBytesUtf8( certGenerationRequest.getSubjectDN() ).length;
+        requestLength += 1 + BerValue.getNbBytes( len ) + len;
+
+        len = Strings.getBytesUtf8( certGenerationRequest.getKeyAlgorithm() ).length;
+        requestLength += 1 + BerValue.getNbBytes( len ) + len;
+
+        return 1 + BerValue.getNbBytes( requestLength ) + requestLength;
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public ByteBuffer encode() throws EncoderException
+    {
+        // Allocate the bytes buffer.
+        ByteBuffer bb = ByteBuffer.allocate( computeLength() );
+
+        return encode( bb );
+    }
+
+
+    public ByteBuffer encode( ByteBuffer bb ) throws EncoderException
+    {
+        if ( bb == null )
+        {
+            throw new EncoderException( "Null ByteBuffer, cannot encode " + this );
+        }
+
+        bb.put( UniversalTag.SEQUENCE.getValue() );
+        bb.put( BerValue.getBytes( requestLength ) );
+
+        BerValue.encode( bb, certGenerationRequest.getTargetDN() );
+        BerValue.encode( bb, certGenerationRequest.getIssuerDN() );
+        BerValue.encode( bb, certGenerationRequest.getSubjectDN() );
+        BerValue.encode( bb, certGenerationRequest.getKeyAlgorithm() );
+
+        return bb;
+    }
 }

Modified: directory/shared/trunk/ldap/extras/codec/src/test/java/org/apache/directory/api/ldap/extras/extended/ads_impl/CertGenerationRequestTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/extras/codec/src/test/java/org/apache/directory/api/ldap/extras/extended/ads_impl/CertGenerationRequestTest.java?rev=1579009&r1=1579008&r2=1579009&view=diff
==============================================================================
--- directory/shared/trunk/ldap/extras/codec/src/test/java/org/apache/directory/api/ldap/extras/extended/ads_impl/CertGenerationRequestTest.java (original)
+++ directory/shared/trunk/ldap/extras/codec/src/test/java/org/apache/directory/api/ldap/extras/extended/ads_impl/CertGenerationRequestTest.java Tue Mar 18 18:42:00 2014
@@ -115,11 +115,11 @@ public class CertGenerationRequestTest
         assertEquals( dn, req.getSubjectDN() );
         assertEquals( keyAlgo, req.getKeyAlgorithm() );
 
-        assertEquals( bufLen, req.getCertGenerationObject().computeLength() );
+        assertEquals( bufLen, req.computeLength() );
 
         try
         {
-            ByteBuffer encodedBuf = req.getCertGenerationObject().encode();
+            ByteBuffer encodedBuf = req.encode();
             String encodedPdu = Strings.dumpBytes( encodedBuf.array() );
 
             assertEquals( decodedPdu, encodedPdu );