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 2011/01/31 01:48:54 UTC
svn commit: r1065450 - in /directory/shared/trunk:
dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/
dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/
ldap/src/main/java/org/apache/directory/shared/ldap/codec/
Author: elecharny
Date: Mon Jan 31 00:48:54 2011
New Revision: 1065450
URL: http://svn.apache.org/viewvc?rev=1065450&view=rev
Log:
Fixed the basic control
Modified:
directory/shared/trunk/dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/Dsmlv2Grammar.java
directory/shared/trunk/dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/AddRequestTest.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/BasicControlDecorator.java
Modified: directory/shared/trunk/dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/Dsmlv2Grammar.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/Dsmlv2Grammar.java?rev=1065450&r1=1065449&r2=1065450&view=diff
==============================================================================
--- directory/shared/trunk/dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/Dsmlv2Grammar.java (original)
+++ directory/shared/trunk/dsml-parser/src/main/java/org/apache/directory/shared/dsmlv2/request/Dsmlv2Grammar.java Mon Jan 31 00:48:54 2011
@@ -2747,8 +2747,7 @@ public final class Dsmlv2Grammar extends
throw new XmlPullParserException( I18n.err( I18n.ERR_03034 ), xpp, null );
}
- Control decoratedControl = codec.newControl( attributeValue );
- control = codec.decorate( decoratedControl );
+ control = codec.decorate( (Control)codec.newControl( attributeValue ) );
container.getBatchRequest().getCurrentRequest().addControl( control );
}
else
Modified: directory/shared/trunk/dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/AddRequestTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/AddRequestTest.java?rev=1065450&r1=1065449&r2=1065450&view=diff
==============================================================================
--- directory/shared/trunk/dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/AddRequestTest.java (original)
+++ directory/shared/trunk/dsml-parser/src/test/java/org/apache/directory/shared/dsmlv2/addRequest/AddRequestTest.java Mon Jan 31 00:48:54 2011
@@ -34,6 +34,7 @@ import org.apache.directory.junit.tools.
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.dsmlv2.AbstractTest;
import org.apache.directory.shared.dsmlv2.Dsmlv2Parser;
+import org.apache.directory.shared.ldap.codec.controls.ControlDecorator;
import org.apache.directory.shared.ldap.model.entry.Entry;
import org.apache.directory.shared.ldap.model.entry.EntryAttribute;
import org.apache.directory.shared.ldap.model.entry.Value;
@@ -157,7 +158,7 @@ public class AddRequestTest extends Abst
assertNotNull( control );
assertTrue( control.isCritical() );
assertEquals( "1.2.840.113556.1.4.643", control.getOid() );
- assertEquals( "Some text", Strings.utf8ToString((byte[]) getCodec().decorate( control ).getValue()) );
+ assertEquals( "Some text", Strings.utf8ToString( ((ControlDecorator<Control>)control).getValue() ) );
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/BasicControlDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/BasicControlDecorator.java?rev=1065450&r1=1065449&r2=1065450&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/BasicControlDecorator.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/BasicControlDecorator.java Mon Jan 31 00:48:54 2011
@@ -20,13 +20,11 @@
package org.apache.directory.shared.ldap.codec;
-import java.nio.ByteBuffer;
-
import org.apache.directory.shared.asn1.Asn1Object;
import org.apache.directory.shared.asn1.DecoderException;
-import org.apache.directory.shared.asn1.EncoderException;
import org.apache.directory.shared.ldap.codec.controls.ControlDecorator;
import org.apache.directory.shared.ldap.model.message.controls.BasicControl;
+import org.apache.directory.shared.util.Strings;
/**
@@ -37,65 +35,22 @@ import org.apache.directory.shared.ldap.
*/
public class BasicControlDecorator extends ControlDecorator<BasicControl>
{
- private byte[] value;
-
- private BasicControl control;
private ILdapCodecService codec;
-
-
- public BasicControlDecorator( ILdapCodecService codec, BasicControl control )
- {
- super( codec, control );
- }
-
-
- public String getOid()
- {
- return control.getOid();
- }
-
-
- public boolean isCritical()
- {
- return control.isCritical();
- }
-
-
- public void setCritical( boolean isCritical )
- {
- control.setCritical( isCritical );
- }
-
-
- public BasicControl getDecorated()
- {
- return control;
- }
-
- public int computeLength()
- {
- return 0;
- }
+ /** The control value */
+ private byte[] value;
-
- public ByteBuffer encode( ByteBuffer buffer ) throws EncoderException
+ public BasicControlDecorator( ILdapCodecService codec, BasicControl control )
{
- return null;
+ super( codec, control );
}
-
- public ILdapCodecService getCodecService()
- {
- return codec;
- }
-
- /**
- * {@inheritDoc}
- */
+ @Override
public Asn1Object decode( byte[] controlBytes ) throws DecoderException
{
+ setValue( controlBytes );
+
return null;
}
@@ -123,6 +78,12 @@ public class BasicControlDecorator exten
*/
public void setValue( byte[] value )
{
+ if ( ! Strings.isEmpty( value ) )
+ {
+ byte[] copy = new byte[value.length];
+ System.arraycopy( value, 0, copy, 0, value.length );
+ }
+
this.value = value;
}
}