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 );