You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2011/01/27 03:11:07 UTC
svn commit: r1063958 - in /directory:
apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/
apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/
apacheds/trunk/server-integ/src/test/java/org/apac...
Author: akarasulu
Date: Thu Jan 27 02:11:06 2011
New Revision: 1063958
URL: http://svn.apache.org/viewvc?rev=1063958&view=rev
Log:
extracting interface for EntryChange control
Added:
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java
- copied, changed from r1063947, directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChange.java
Removed:
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChange.java
Modified:
directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/PersistentSearchListener.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchIT.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java
directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlTest.java
Modified: directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java (original)
+++ directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java Thu Jan 27 02:11:06 2011
@@ -98,10 +98,7 @@ import org.apache.directory.shared.ldap.
import org.apache.directory.shared.ldap.codec.controls.replication.syncmodifydn.SyncModifyDnControl;
import org.apache.directory.shared.ldap.codec.controls.replication.syncmodifydn.SyncModifyDnControlContainer;
import org.apache.directory.shared.ldap.codec.controls.replication.syncmodifydn.SyncModifyDnControlDecoder;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChange;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeContainer;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeDecorator;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeDecoder;
+import org.apache.directory.shared.ldap.codec.search.controls.entryChange.*;
import org.apache.directory.shared.ldap.codec.search.controls.pagedSearch.PagedResults;
import org.apache.directory.shared.ldap.codec.search.controls.pagedSearch.PagedResultsContainer;
import org.apache.directory.shared.ldap.codec.search.controls.pagedSearch.PagedResultsDecoder;
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/PersistentSearchListener.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/PersistentSearchListener.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/PersistentSearchListener.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/PersistentSearchListener.java Thu Jan 27 02:11:06 2011
@@ -32,6 +32,7 @@ import org.apache.directory.server.i18n.
import org.apache.directory.server.ldap.LdapSession;
import org.apache.directory.shared.ldap.codec.search.controls.ChangeType;
import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChange;
+import org.apache.directory.shared.ldap.codec.search.controls.entryChange.SimpleEntryChange;
import org.apache.directory.shared.ldap.codec.search.controls.persistentSearch.PersistentSearch;
import org.apache.directory.shared.ldap.model.exception.LdapException;
import org.apache.directory.shared.ldap.model.message.AbandonListener;
@@ -109,7 +110,7 @@ public class PersistentSearchListener im
{
if ( psearchControl.isReturnECs() )
{
- EntryChange ecControl = new EntryChange();
+ EntryChange ecControl = new SimpleEntryChange();
ecControl.setChangeType( type );
if ( opContext.getChangeLogEvent() != null )
Modified: directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchIT.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchIT.java (original)
+++ directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchIT.java Thu Jan 27 02:11:06 2011
@@ -611,7 +611,7 @@ public class PersistentSearchIT extends
}
}
- result = new PSearchNotification( sresult, ( EntryChange ) ecControl.getDecorated() );
+ result = new PSearchNotification( sresult, (EntryChange) ecControl.getDecorated() );
break;
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeDecorator.java Thu Jan 27 02:11:06 2011
@@ -95,13 +95,13 @@ public class EntryChangeDecorator extend
*/
public EntryChangeDecorator()
{
- super( new EntryChange(), new EntryChangeDecoder() );
+ super( new SimpleEntryChange(), new EntryChangeDecoder() );
}
private EntryChange getEntryChange()
{
- return ( EntryChange ) getDecorated();
+ return (EntryChange) getDecorated();
}
Modified: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChangeGrammar.java Thu Jan 27 02:11:06 2011
@@ -113,7 +113,7 @@ public final class EntryChangeGrammar ex
LOG.debug( "changeType = " + changeType );
}
- ( ( EntryChange ) entryChangeContainer.getEntryChangeDecorator().getDecorated() )
+ ( (EntryChange) entryChangeContainer.getEntryChangeDecorator().getDecorated() )
.setChangeType( changeType );
break;
@@ -159,7 +159,7 @@ public final class EntryChangeGrammar ex
{
EntryChangeContainer entryChangeContainer = ( EntryChangeContainer ) container;
- EntryChange entryChange = ( EntryChange ) entryChangeContainer
+ EntryChange entryChange = (EntryChange) entryChangeContainer
.getEntryChangeDecorator().getDecorated();
ChangeType changeType = entryChange.getChangeType();
@@ -214,7 +214,7 @@ public final class EntryChangeGrammar ex
LOG.debug( "changeNumber = " + changeNumber );
}
- EntryChange entryChange = ( EntryChange ) entryChangeContainer
+ EntryChange entryChange = (EntryChange) entryChangeContainer
.getEntryChangeDecorator().getDecorated();
entryChange.setChangeNumber( changeNumber );
Copied: directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java (from r1063947, directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChange.java)
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java?p2=directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java&p1=directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChange.java&r1=1063947&r2=1063958&rev=1063958&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/EntryChange.java (original)
+++ directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/codec/search/controls/entryChange/SimpleEntryChange.java Thu Jan 27 02:11:06 2011
@@ -26,58 +26,12 @@ import org.apache.directory.shared.ldap.
/**
- * A response control that may be returned by Persistent Search entry responses.
- * It contains addition change information to describe the exact change that
- * occurred to an entry. The exact details of this control are covered in section
- * 5 of this (yes) expired draft: <a
- * href="http://www3.ietf.org/proceedings/01aug/I-D/draft-ietf-ldapext-psearch-03.txt">
- * Persistent Search Draft v03</a> which is printed out below for convenience:
- *
- * <pre>
- * 5. Entry Change Notification Control
- *
- * This control provides additional information about the change the caused
- * a particular entry to be returned as the result of a persistent search.
- * The controlType is "2.16.840.1.113730.3.4.7". If the client set the
- * returnECs boolean to TRUE in the PersistentSearch control, servers MUST
- * include an EntryChangeNotification control in the Controls portion of
- * each SearchResultEntry that is returned due to an entry being added,
- * deleted, or modified.
- *
- * EntryChangeNotification ::= SEQUENCE
- * {
- * changeType ENUMERATED
- * {
- * add (1),
- * delete (2),
- * modify (4),
- * modDN (8)
- * },
- * previousDN LDAPDN OPTIONAL, -- modifyDN ops. only
- * changeNumber INTEGER OPTIONAL -- if supported
- * }
- *
- * changeType indicates what LDAP operation caused the entry to be
- * returned.
- *
- * previousDN is present only for modifyDN operations and gives the Dn of
- * the entry before it was renamed and/or moved. Servers MUST include this
- * optional field only when returning change notifications as a result of
- * modifyDN operations.
- *
- * changeNumber is the change number [CHANGELOG] assigned by a server for
- * the change. If a server supports an LDAP Change Log it SHOULD include
- * this field.
- * </pre>
- *
+ * A simple implementation of the EntryChange response control.
+ *
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class EntryChange extends BasicControlImpl
+public class SimpleEntryChange extends BasicControlImpl implements EntryChange
{
- public static final int UNDEFINED_CHANGE_NUMBER = -1;
-
- /** The EntryChange control */
- public static final String OID = "2.16.840.1.113730.3.4.7";
private ChangeType changeType = ChangeType.ADD;
@@ -92,26 +46,18 @@ public class EntryChange extends BasicCo
* Creates a new instance of EntryChangeControl.
*
*/
- public EntryChange()
+ public SimpleEntryChange()
{
super( OID );
}
- /**
- * @return The ChangeType
- */
public ChangeType getChangeType()
{
return changeType;
}
- /**
- * Set the ChangeType
- *
- * @param changeType Add, Delete; Modify or ModifyDN
- */
public void setChangeType( ChangeType changeType )
{
this.changeType = changeType;
@@ -124,7 +70,7 @@ public class EntryChange extends BasicCo
}
- public void setPreviousDn( Dn previousDn )
+ public void setPreviousDn(Dn previousDn)
{
this.previousDn = previousDn;
}
@@ -145,6 +91,8 @@ public class EntryChange extends BasicCo
/**
* {@inheritDoc}
*/
+ @SuppressWarnings({"EqualsWhichDoesntCheckParameterClass"})
+ @Override
public boolean equals( Object o )
{
if ( !super.equals( o ) )
@@ -154,9 +102,9 @@ public class EntryChange extends BasicCo
EntryChange otherControl = ( EntryChange ) o;
- return ( changeNumber == otherControl.changeNumber ) &&
- ( changeType == otherControl.changeType ) &&
- ( previousDn.equals( otherControl.previousDn ) );
+ return ( changeNumber == otherControl.getChangeNumber() ) &&
+ ( changeType == otherControl.getChangeType() ) &&
+ ( previousDn.equals( otherControl.getPreviousDn() ) );
}
Modified: directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlTest.java?rev=1063958&r1=1063957&r2=1063958&view=diff
==============================================================================
--- directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlTest.java (original)
+++ directory/shared/trunk/ldap/src/test/java/org/apache/directory/shared/ldap/codec/search/controls/EntryChangeControlTest.java Thu Jan 27 02:11:06 2011
@@ -31,10 +31,7 @@ import org.apache.directory.junit.tools.
import org.apache.directory.junit.tools.ConcurrentJunitRunner;
import org.apache.directory.shared.asn1.DecoderException;
import org.apache.directory.shared.asn1.ber.Asn1Decoder;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChange;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeContainer;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeDecoder;
-import org.apache.directory.shared.ldap.codec.search.controls.entryChange.EntryChangeDecorator;
+import org.apache.directory.shared.ldap.codec.search.controls.entryChange.*;
import org.apache.directory.shared.ldap.model.name.Dn;
import org.apache.directory.shared.util.Strings;
import org.junit.Test;
@@ -82,7 +79,7 @@ public class EntryChangeControlTest
fail( de.getMessage() );
}
- EntryChange entryChange = ( EntryChange ) container.getEntryChangeDecorator().getDecorated();
+ EntryChange entryChange = (EntryChange) container.getEntryChangeDecorator().getDecorated();
assertEquals( ChangeType.MODDN, entryChange.getChangeType() );
assertEquals( "a=b", entryChange.getPreviousDn().toString() );
assertEquals( 16, entryChange.getChangeNumber() );
@@ -122,7 +119,7 @@ public class EntryChangeControlTest
fail( de.getMessage() );
}
- EntryChange entryChange = ( EntryChange ) container.getEntryChangeDecorator().getDecorated();
+ EntryChange entryChange = (EntryChange) container.getEntryChangeDecorator().getDecorated();
assertEquals( ChangeType.MODDN, entryChange.getChangeType() );
assertEquals( "a=b", entryChange.getPreviousDn().toString() );
assertEquals( 5124095576030430L, entryChange.getChangeNumber() );
@@ -161,7 +158,7 @@ public class EntryChangeControlTest
fail( de.getMessage() );
}
- EntryChange entryChange = ( EntryChange ) container.getEntryChangeDecorator().getDecorated();
+ EntryChange entryChange = (EntryChange) container.getEntryChangeDecorator().getDecorated();
assertEquals( ChangeType.ADD, entryChange.getChangeType() );
assertNull( entryChange.getPreviousDn() );
assertEquals( 16, entryChange.getChangeNumber() );
@@ -239,7 +236,7 @@ public class EntryChangeControlTest
fail( de.getMessage() );
}
- EntryChange entryChange = ( EntryChange ) container.getEntryChangeDecorator().getDecorated();
+ EntryChange entryChange = (EntryChange) container.getEntryChangeDecorator().getDecorated();
assertEquals( ChangeType.ADD, entryChange.getChangeType() );
assertNull( entryChange.getPreviousDn() );
assertEquals( EntryChangeDecorator.UNDEFINED_CHANGE_NUMBER, entryChange.getChangeNumber() );
@@ -349,10 +346,10 @@ public class EntryChangeControlTest
bb.flip();
EntryChangeDecorator decorator = new EntryChangeDecorator();
- EntryChange entry = ( EntryChange ) decorator.getDecorated();
- entry.setChangeType( ChangeType.MODDN );
- entry.setChangeNumber( 16 );
- entry.setPreviousDn( new Dn( "a=b" ) );
+ EntryChange entryChange = (EntryChange) decorator.getDecorated();
+ entryChange.setChangeType( ChangeType.MODDN );
+ entryChange.setChangeNumber( 16 );
+ entryChange.setPreviousDn( new Dn( "a=b" ) );
bb = decorator.encode( ByteBuffer.allocate( decorator.computeLength() ) );
String decoded = Strings.dumpBytes( bb.array() );
assertEquals( expected, decoded );
@@ -387,11 +384,11 @@ public class EntryChangeControlTest
bb.flip();
EntryChangeDecorator decorator = new EntryChangeDecorator();
- EntryChange entry = ( EntryChange ) decorator.getDecorated();
+ EntryChange entryChange = (EntryChange) decorator.getDecorated();
- entry.setChangeType( ChangeType.MODDN );
- entry.setChangeNumber( 5124095576030430L );
- entry.setPreviousDn( new Dn( "a=b" ) );
+ entryChange.setChangeType( ChangeType.MODDN );
+ entryChange.setChangeNumber( 5124095576030430L );
+ entryChange.setPreviousDn( new Dn( "a=b" ) );
bb = decorator.encode( ByteBuffer.allocate( decorator.computeLength() ) );
String decoded = Strings.dumpBytes(bb.array());
assertEquals( expected, decoded );