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 2018/01/25 22:40:57 UTC
[directory-ldap-api] branch master updated: o Many fixes in
controls : hashCode/equals/toString
This is an automated email from the ASF dual-hosted git repository.
elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-ldap-api.git
The following commit(s) were added to refs/heads/master by this push:
new 3749602 o Many fixes in controls : hashCode/equals/toString
3749602 is described below
commit 3749602bf14d150428a7853997cd9b8e0ed8a07d
Author: Emmanuel Lécharny <el...@symas.com>
AuthorDate: Thu Jan 25 23:40:31 2018 +0100
o Many fixes in controls : hashCode/equals/toString
---
.../api/ldap/extras/controls/ad/AdDirSyncImpl.java | 14 +--
.../ldap/extras/controls/ad/AdPolicyHintsImpl.java | 55 +++++++++++-
.../syncrepl/syncDone/SyncDoneValueImpl.java | 6 +-
.../syncrepl/syncInfoValue/SyncInfoValueImpl.java | 6 +-
.../syncInfoValue/SyncRequestValueImpl.java | 10 +--
.../syncrepl/syncState/SyncStateValueImpl.java | 12 +--
.../transaction/TransactionSpecificationImpl.java | 58 ++++++++++++-
.../controls/vlv/VirtualListViewRequestImpl.java | 12 ++-
.../controls/vlv/VirtualListViewResponseImpl.java | 12 ++-
.../startTransaction/StartTransactionRequest.java | 4 +-
.../model/message/controls/EntryChangeImpl.java | 11 ++-
.../model/message/controls/PagedResultsImpl.java | 17 ++--
.../message/controls/PersistentSearchImpl.java | 42 ++++++++-
.../model/message/controls/ProxiedAuthzImpl.java | 13 ++-
.../message/controls/SortRequestControlImpl.java | 99 +++++++++++++++++++++-
.../message/controls/SortResponseControlImpl.java | 19 +++--
.../model/message/controls/SubentriesImpl.java | 11 ++-
17 files changed, 344 insertions(+), 57 deletions(-)
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdDirSyncImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdDirSyncImpl.java
index dc35b39..f3c9269 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdDirSyncImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdDirSyncImpl.java
@@ -147,9 +147,8 @@ public class AdDirSyncImpl extends AbstractControl implements AdDirSync
@Override
public int hashCode()
{
- int h = 37;
+ int h = super.hashCode();
- h = h * 17 + super.hashCode();
h = h * 17 + AdDirSyncFlag.getBitmask( flags );
h = h * 17 + maxReturnLength;
@@ -169,21 +168,22 @@ public class AdDirSyncImpl extends AbstractControl implements AdDirSync
* @see Object#equals(Object)
*/
@Override
- public boolean equals( Object o )
+ public boolean equals( Object other )
{
- if ( this == o )
+ if ( this == other )
{
return true;
}
- if ( !( o instanceof AdDirSync ) )
+ if ( !( other instanceof AdDirSync ) )
{
return false;
}
- AdDirSync otherControl = ( AdDirSync ) o;
+ AdDirSync otherControl = ( AdDirSync ) other;
- return ( maxReturnLength == otherControl.getMaxReturnLength() )
+ return super.equals( other )
+ && ( maxReturnLength == otherControl.getMaxReturnLength() )
&& ( flags.equals( otherControl.getFlags() ) )
&& ( Arrays.equals( cookie, otherControl.getCookie() ) )
&& ( isCritical() == otherControl.isCritical() );
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdPolicyHintsImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdPolicyHintsImpl.java
index 09cd7c3..28b1c76 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdPolicyHintsImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ad/AdPolicyHintsImpl.java
@@ -33,7 +33,6 @@ public class AdPolicyHintsImpl extends AbstractControl implements AdPolicyHints
/** This control OID */
private int flags;
-
/**
* Creates an instance of AdPolicyHintsImpl
*/
@@ -61,4 +60,58 @@ public class AdPolicyHintsImpl extends AbstractControl implements AdPolicyHints
{
this.flags = flags;
}
+
+
+ /**
+ * @see Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ int h = 37;
+
+ h = h * 17 + super.hashCode();
+ h = h * 17 + flags;
+
+ return h;
+ }
+
+
+ /**
+ * @see Object#equals(Object)
+ */
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof AdPolicyHints ) )
+ {
+ return false;
+ }
+
+ AdPolicyHints otherControl = ( AdPolicyHints ) o;
+
+ return super.equals( o ) && flags == otherControl.getFlags();
+ }
+
+
+ /**
+ * @see Object#toString()
+ */
+ @Override
+ public String toString()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append( " AdPolicyHints control :\n" );
+ sb.append( " oid : " ).append( getOid() ).append( '\n' );
+ sb.append( " critical : " ).append( isCritical() ).append( '\n' );
+ sb.append( " flags : 0x" ).append( Integer.toHexString( flags ) ).append( "\n" );
+
+ return sb.toString();
+ }
}
\ No newline at end of file
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncDone/SyncDoneValueImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncDone/SyncDoneValueImpl.java
index 14b83dd..8a38755 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncDone/SyncDoneValueImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncDone/SyncDoneValueImpl.java
@@ -108,9 +108,8 @@ public class SyncDoneValueImpl extends AbstractControl implements SyncDoneValue
@Override
public int hashCode()
{
- int h = 37;
+ int h = super.hashCode();
- h = h * 17 + super.hashCode();
h = h * 17 + ( refreshDeletes ? 1 : 0 );
if ( cookie != null )
@@ -143,7 +142,8 @@ public class SyncDoneValueImpl extends AbstractControl implements SyncDoneValue
SyncDoneValue otherControl = ( SyncDoneValue ) o;
- return ( refreshDeletes == otherControl.isRefreshDeletes() )
+ return super.equals( o )
+ && ( refreshDeletes == otherControl.isRefreshDeletes() )
&& ( Arrays.equals( cookie, otherControl.getCookie() ) )
&& ( isCritical() == otherControl.isCritical() );
}
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncInfoValueImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncInfoValueImpl.java
index 456a9b2..7e1f4c3 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncInfoValueImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncInfoValueImpl.java
@@ -194,9 +194,8 @@ public class SyncInfoValueImpl extends AbstractControl implements SyncInfoValue
@Override
public int hashCode()
{
- int h = 37;
+ int h = super.hashCode();
- h = h * 17 + super.hashCode();
h = h * 17 + type.getValue();
h = h * 17 + ( refreshDone ? 1 : 0 );
h = h * 17 + ( refreshDeletes ? 1 : 0 );
@@ -281,7 +280,8 @@ public class SyncInfoValueImpl extends AbstractControl implements SyncInfoValue
}
}
- return ( refreshDeletes == otherControl.isRefreshDeletes() )
+ return super.equals( o )
+ && ( refreshDeletes == otherControl.isRefreshDeletes() )
&& ( refreshDone == otherControl.isRefreshDone() )
&& ( type == otherControl.getType() )
&& ( Arrays.equals( cookie, otherControl.getCookie() ) )
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncRequestValueImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncRequestValueImpl.java
index 398ae8b..4065c5a 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncRequestValueImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncInfoValue/SyncRequestValueImpl.java
@@ -154,9 +154,8 @@ public class SyncRequestValueImpl extends AbstractControl implements SyncRequest
@Override
public int hashCode()
{
- int h = 37;
+ int h = super.hashCode();
- h = h * 17 + super.hashCode();
h = h * 17 + ( isReloadHint ? 1 : 0 );
h = h * 17 + mode.getValue();
@@ -178,9 +177,9 @@ public class SyncRequestValueImpl extends AbstractControl implements SyncRequest
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
{
- return false;
+ return true;
}
if ( !( o instanceof SyncRequestValue ) )
@@ -190,7 +189,8 @@ public class SyncRequestValueImpl extends AbstractControl implements SyncRequest
SyncRequestValue otherControl = ( SyncRequestValue ) o;
- return ( mode == otherControl.getMode() )
+ return super.equals( o )
+ && ( mode == otherControl.getMode() )
&& ( isReloadHint == otherControl.isReloadHint() )
&& ( Arrays.equals( cookie, otherControl.getCookie() ) );
}
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateValueImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateValueImpl.java
index b37cddf..ccab048 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateValueImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateValueImpl.java
@@ -131,9 +131,8 @@ public class SyncStateValueImpl extends AbstractControl implements SyncStateValu
@Override
public int hashCode()
{
- int h = 37;
+ int h = super.hashCode();
- h = h * 17 + super.hashCode();
h = h * 17 + type.getValue();
if ( cookie != null )
@@ -162,11 +161,11 @@ public class SyncStateValueImpl extends AbstractControl implements SyncStateValu
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
{
- return false;
+ return true;
}
-
+
if ( !( o instanceof SyncStateValue ) )
{
return false;
@@ -174,7 +173,8 @@ public class SyncStateValueImpl extends AbstractControl implements SyncStateValu
SyncStateValue otherControl = ( SyncStateValue ) o;
- return ( type == otherControl.getSyncStateType() )
+ return super.equals( o )
+ && ( type == otherControl.getSyncStateType() )
&& ( Arrays.equals( entryUuid, otherControl.getEntryUUID() ) )
&& ( Arrays.equals( cookie, otherControl.getCookie() ) )
&& ( isCritical() == otherControl.isCritical() );
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/transaction/TransactionSpecificationImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/transaction/TransactionSpecificationImpl.java
index 4e9f793..22aeba9 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/transaction/TransactionSpecificationImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/transaction/TransactionSpecificationImpl.java
@@ -18,6 +18,8 @@
*/
package org.apache.directory.api.ldap.extras.controls.transaction;
+import java.util.Arrays;
+
import org.apache.directory.api.ldap.model.message.controls.AbstractControl;
import org.apache.directory.api.util.Strings;
@@ -33,7 +35,6 @@ public class TransactionSpecificationImpl extends AbstractControl implements Tra
/** The Transaction Specification identifier */
private byte[] identifier;
-
/**
* Default constructor
*/
@@ -66,6 +67,49 @@ public class TransactionSpecificationImpl extends AbstractControl implements Tra
System.arraycopy( identifier, 0, this.identifier, 0, identifier.length );
}
}
+
+
+ /**
+ * @see Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ int h = super.hashCode();
+
+ if ( identifier != null )
+ {
+ for ( byte b : identifier )
+ {
+ h = h * 17 + b;
+ }
+ }
+
+ return h;
+ }
+
+
+ /**
+ * @see Object#equals(Object)
+ */
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof TransactionSpecification ) )
+ {
+ return false;
+ }
+
+ TransactionSpecification otherControl = ( TransactionSpecification ) o;
+
+ return super.equals( o )
+ && Arrays.equals( identifier, otherControl.getIdentifier() );
+ }
/**
@@ -74,13 +118,21 @@ public class TransactionSpecificationImpl extends AbstractControl implements Tra
@Override
public String toString()
{
+ StringBuilder sb = new StringBuilder();
+
+ sb.append( " Transaction Spcecification control :\n" );
+ sb.append( " oid : " ).append( getOid() ).append( '\n' );
+ sb.append( " critical : " ).append( isCritical() ).append( '\n' );
+
if ( identifier != null )
{
- return "Transaction specification ID=null";
+ sb.append( " Transaction ID=null" ).append( '\n' );
}
else
{
- return "Transaction specification ID=" + Strings.dumpBytes( identifier );
+ sb.append( " Transaction ID=" ).append( Strings.dumpBytes( identifier ) ).append( '\n' );
}
+
+ return sb.toString();
}
}
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewRequestImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewRequestImpl.java
index a15248d..2305bfc 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewRequestImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewRequestImpl.java
@@ -244,14 +244,20 @@ public class VirtualListViewRequestImpl extends AbstractControl implements Virtu
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof VirtualListViewRequest ) )
{
return false;
}
- VirtualListViewRequestImpl otherControl = ( VirtualListViewRequestImpl ) o;
+ VirtualListViewRequest otherControl = ( VirtualListViewRequest ) o;
- return ( beforeCount == otherControl.getBeforeCount() )
+ return super.equals( o )
+ && ( beforeCount == otherControl.getBeforeCount() )
&& ( afterCount == otherControl.getAfterCount() )
&& ( offset == otherControl.getOffset() )
&& ( contentCount == otherControl.getContentCount() )
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResponseImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResponseImpl.java
index 3414fbe..88971b1 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResponseImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResponseImpl.java
@@ -176,14 +176,20 @@ public class VirtualListViewResponseImpl extends AbstractControl implements Virt
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof VirtualListViewRequest ) )
{
return false;
}
- VirtualListViewResponseImpl otherControl = ( VirtualListViewResponseImpl ) o;
+ VirtualListViewResponse otherControl = ( VirtualListViewResponse ) o;
- return ( targetPosition == otherControl.getTargetPosition() )
+ return super.equals( o )
+ && ( targetPosition == otherControl.getTargetPosition() )
&& ( contentCount == otherControl.getContentCount() )
&& ( virtualListViewResult == otherControl.getVirtualListViewResult() )
&& Arrays.equals( contextId, otherControl.getContextId() );
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/startTransaction/StartTransactionRequest.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/startTransaction/StartTransactionRequest.java
index 51e07b0..bda2dbe 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/startTransaction/StartTransactionRequest.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/startTransaction/StartTransactionRequest.java
@@ -24,7 +24,7 @@ import org.apache.directory.api.ldap.model.message.ExtendedRequest;
/**
- * The TransactionRequest interface. This is for the RFC 5805 Start Transaction Request,
+ * The StartTransactionRequest interface. This is for the RFC 5805 Start Transaction Request,
* which grammar is :
* <pre>
* ExtendedRequest ::= [APPLICATION 23] SEQUENCE {
@@ -38,6 +38,6 @@ import org.apache.directory.api.ldap.model.message.ExtendedRequest;
*/
public interface StartTransactionRequest extends ExtendedRequest
{
- /** The OID for the Transaction extended operation request. */
+ /** The OID for the StartTransaction extended operation request. */
String EXTENSION_OID = "1.3.6.1.1.21.1";
}
\ No newline at end of file
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/EntryChangeImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/EntryChangeImpl.java
index d5f3f66..243ac1a 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/EntryChangeImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/EntryChangeImpl.java
@@ -132,14 +132,21 @@ public class EntryChangeImpl extends AbstractControl implements EntryChange
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof EntryChange ) )
{
return false;
}
EntryChange otherControl = ( EntryChange ) o;
- return ( changeNumber == otherControl.getChangeNumber() ) && ( changeType == otherControl.getChangeType() )
+ return super.equals( o )
+ && ( changeNumber == otherControl.getChangeNumber() )
+ && ( changeType == otherControl.getChangeType() )
&& ( previousDn.equals( otherControl.getPreviousDn() ) );
}
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PagedResultsImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PagedResultsImpl.java
index cf4e67b..2742b52 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PagedResultsImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PagedResultsImpl.java
@@ -175,16 +175,23 @@ public class PagedResultsImpl extends AbstractControl implements PagedResults
* @see Object#equals(Object)
*/
@Override
- public boolean equals( Object o )
+ public boolean equals( Object other )
{
- if ( !super.equals( o ) )
+ if ( this == other )
{
- return false;
+ return true;
}
- PagedResults otherControl = ( PagedResults ) o;
+ if ( !( other instanceof PagedResults ) )
+ {
+ return false;
+ }
+
+ PagedResults otherControl = ( PagedResults ) other;
- return ( size == otherControl.getSize() ) && Arrays.equals( cookie, otherControl.getCookie() );
+ return super.equals( other )
+ && ( size == otherControl.getSize() )
+ && Arrays.equals( cookie, otherControl.getCookie() );
}
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PersistentSearchImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PersistentSearchImpl.java
index 14e5d5d..4e8b861 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PersistentSearchImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/PersistentSearchImpl.java
@@ -19,7 +19,6 @@
*/
package org.apache.directory.api.ldap.model.message.controls;
-
/**
* A persistence search object
*
@@ -155,6 +154,47 @@ public class PersistentSearchImpl extends AbstractControl implements PersistentS
/**
+ * @see Object#hashCode()
+ */
+ @Override
+ public int hashCode()
+ {
+ int h = super.hashCode();
+
+ h = h * 37 + ( changesOnly ? 1 : 0 );
+ h = h * 37 + ( returnECs ? 1 : 0 );
+ h = h * 37 + changeTypes;
+
+ return h;
+ }
+
+
+ /**
+ * @see Object#equals(Object)
+ */
+ @Override
+ public boolean equals( Object other )
+ {
+ if ( this == other )
+ {
+ return true;
+ }
+
+ if ( !( other instanceof PersistentSearch ) )
+ {
+ return false;
+ }
+
+ PersistentSearch otherControl = ( PersistentSearch ) other;
+
+ return super.equals( other )
+ && ( changesOnly == otherControl.isChangesOnly() )
+ && ( returnECs == otherControl.isReturnECs() )
+ && ( changeTypes == otherControl.getChangeTypes() );
+ }
+
+
+ /**
* Return a String representing this PSearchControl.
*/
@Override
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/ProxiedAuthzImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/ProxiedAuthzImpl.java
index 6e25e72..bf4dcf8 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/ProxiedAuthzImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/ProxiedAuthzImpl.java
@@ -126,15 +126,20 @@ public class ProxiedAuthzImpl extends AbstractControl implements ProxiedAuthz
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
{
- return false;
+ return true;
}
+ if ( !( o instanceof ProxiedAuthz ) )
+ {
+ return false;
+ }
+
ProxiedAuthz otherControl = ( ProxiedAuthz ) o;
- return ( authzId == otherControl.getAuthzId() )
- || ( ( authzId != null ) && authzId.equals( otherControl.getAuthzId() ) );
+ return super.equals( o )
+ && ( ( authzId == otherControl.getAuthzId() ) || ( ( authzId != null ) && authzId.equals( otherControl.getAuthzId() ) ) );
}
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortRequestControlImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortRequestControlImpl.java
index b75179d..373ed76 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortRequestControlImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortRequestControlImpl.java
@@ -80,6 +80,71 @@ public class SortRequestControlImpl extends AbstractControl implements SortReque
sortKeys.add( skey );
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public int hashCode()
+ {
+ int hash = super.hashCode();
+
+ if ( sortKeys != null )
+ {
+ for ( SortKey sortKey : sortKeys )
+ {
+ hash = hash * 17 + sortKey.hashCode();
+ }
+ }
+
+ return hash;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof SortRequest ) )
+ {
+ return false;
+ }
+
+ SortRequest that = ( SortRequest ) o;
+
+ if ( !super.equals( o ) )
+ {
+ return false;
+ }
+
+ if ( sortKeys == null )
+ {
+ return that.getSortKeys() == null;
+ }
+
+ if ( ( that.getSortKeys() == null ) || ( sortKeys.size() != that.getSortKeys().size() ) )
+ {
+ return false;
+ }
+
+ for ( SortKey sortKey : that.getSortKeys() )
+ {
+ if ( !sortKeys.contains( sortKey ) )
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
/**
* {@inheritDoc}
@@ -87,6 +152,38 @@ public class SortRequestControlImpl extends AbstractControl implements SortReque
@Override
public String toString()
{
- return "SortRequestControlImpl [sortKeys=" + sortKeys + "]";
+ StringBuilder sb = new StringBuilder();
+
+ sb.append( " Sort Request Control\n" );
+ sb.append( " oid : " ).append( getOid() ).append( '\n' );
+ sb.append( " critical : " ).append( isCritical() ).append( '\n' );
+
+ if ( sortKeys != null )
+ {
+ sb.append( " sortKeys : [" );
+ boolean isFirst = true;
+
+ for ( SortKey sortKey : sortKeys )
+ {
+ if ( isFirst )
+ {
+ isFirst = false;
+ }
+ else
+ {
+ sb.append( ", " );
+ }
+
+ sb.append( sortKey.getAttributeTypeDesc() );
+ }
+
+ sb.append( "]\n" );
+ }
+ else
+ {
+ sb.append( " sortKeys : null\n" );
+ }
+
+ return sb.toString();
}
}
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortResponseControlImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortResponseControlImpl.java
index 99773eb..655ac2a 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortResponseControlImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SortResponseControlImpl.java
@@ -87,10 +87,10 @@ public class SortResponseControlImpl extends AbstractControl implements SortResp
@Override
public int hashCode()
{
- final int prime = 31;
int hash = super.hashCode();
- hash = prime * hash + ( ( attributeName == null ) ? 0 : attributeName.hashCode() );
- hash = prime * hash + ( ( this.result == null ) ? 0 : this.result.hashCode() );
+
+ hash = 37 * hash + ( ( attributeName == null ) ? 0 : attributeName.hashCode() );
+ hash = 37 * hash + ( ( this.result == null ) ? 0 : this.result.hashCode() );
return hash;
}
@@ -102,13 +102,23 @@ public class SortResponseControlImpl extends AbstractControl implements SortResp
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof SortResponse ) )
{
return false;
}
SortResponse that = ( SortResponse ) o;
+ if ( !super.equals( o ) )
+ {
+ return false;
+ }
+
if ( result != that.getSortResult() )
{
return false;
@@ -135,5 +145,4 @@ public class SortResponseControlImpl extends AbstractControl implements SortResp
{
return "SortResponseControlImpl [result=" + result + ", attributeName=" + attributeName + "]";
}
-
}
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SubentriesImpl.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SubentriesImpl.java
index 3d3fe9c..643c241 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SubentriesImpl.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/message/controls/SubentriesImpl.java
@@ -106,14 +106,19 @@ public class SubentriesImpl extends AbstractControl implements Subentries
@Override
public boolean equals( Object o )
{
- if ( !super.equals( o ) )
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( !( o instanceof Subentries ) )
{
return false;
}
-
+
Subentries otherDecorator = ( Subentries ) o;
- return visibility == otherDecorator.isVisible();
+ return super.equals( o ) && visibility == otherDecorator.isVisible();
}
--
To stop receiving notification emails like this one, please contact
elecharny@apache.org.