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 2019/01/01 11:17:29 UTC
[directory-ldap-api] 05/05: o Added the SyncStateValue factory in
the list of response factories (it was missing) o used
SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID instead of "2.5.13.1" o
Fixed the creation of Intermediate Response : the controls and LdapResdult
are now copied
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
commit c4145424389d21b1c4aaf7ea0742bc2895ec7127
Author: Emmanuel Lecharny <el...@apache.org>
AuthorDate: Tue Jan 1 12:12:05 2019 +0100
o Added the SyncStateValue factory in the list of response factories (it
was missing)
o used SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID instead of
"2.5.13.1"
o Fixed the creation of Intermediate Response : the controls and
LdapResdult are now copied
---
.../StoreIntermediateResponseName.java | 20 +++++++++-
.../ldap/codec/standalone/CodecFactoryUtil.java | 1 +
.../ldap/schema/loader/SchemaManagerAddTest.java | 43 +++++++++++-----------
.../ldap/schema/loader/SchemaManagerDelTest.java | 5 ++-
4 files changed, 45 insertions(+), 24 deletions(-)
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/response/intermediate/StoreIntermediateResponseName.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/response/intermediate/StoreIntermediateResponseName.java
index 6d3a64e..43661c6 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/response/intermediate/StoreIntermediateResponseName.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/response/intermediate/StoreIntermediateResponseName.java
@@ -27,7 +27,9 @@ import org.apache.directory.api.asn1.util.Oid;
import org.apache.directory.api.i18n.I18n;
import org.apache.directory.api.ldap.codec.api.IntermediateOperationFactory;
import org.apache.directory.api.ldap.codec.api.LdapMessageContainerDirect;
+import org.apache.directory.api.ldap.model.message.Control;
import org.apache.directory.api.ldap.model.message.IntermediateResponse;
+import org.apache.directory.api.ldap.model.message.LdapResult;
import org.apache.directory.api.util.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,7 +94,23 @@ public class StoreIntermediateResponseName extends GrammarAction<LdapMessageCont
{
// Ok, let's create the new operation, which will replace
// the one created during the init phase
- container.setMessage( intermediateFactory.newResponse() );
+ IntermediateResponse newIntermediateResponse = intermediateFactory.newResponse();
+ newIntermediateResponse.setMessageId( intermediateResponse.getMessageId() );
+
+ // Copy the LdapResult
+ LdapResult ldapResult = intermediateResponse.getLdapResult();
+ newIntermediateResponse.getLdapResult().setDiagnosticMessage( ldapResult.getDiagnosticMessage() );
+ newIntermediateResponse.getLdapResult().setMatchedDn( ldapResult.getMatchedDn() );
+ newIntermediateResponse.getLdapResult().setReferral( ldapResult.getReferral() );
+ newIntermediateResponse.getLdapResult().setResultCode( ldapResult.getResultCode() );
+
+ // Copy the controls
+ for ( Control control : intermediateResponse.getControls().values() )
+ {
+ newIntermediateResponse.addControl( control );
+ }
+
+ container.setMessage( newIntermediateResponse );
container.setIntermediateFactory( intermediateFactory );
}
else
diff --git a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
index bbe7d16..836f453 100644
--- a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
+++ b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
@@ -292,6 +292,7 @@ public final class CodecFactoryUtil
// SyncStateValue
ControlFactory<SyncStateValue> syncStateValueFactory = new SyncStateValueFactory( apiService );
requestControlFactories.put( syncStateValueFactory.getOid(), syncStateValueFactory );
+ responseControlFactories.put( syncStateValueFactory.getOid(), syncStateValueFactory );
if ( LOG.isInfoEnabled() )
{
diff --git a/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerAddTest.java b/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerAddTest.java
index 505468a..b5b7275 100644
--- a/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerAddTest.java
+++ b/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerAddTest.java
@@ -33,6 +33,7 @@ import java.util.List;
import java.util.Set;
import org.apache.directory.api.util.FileUtils;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.exception.LdapException;
import org.apache.directory.api.ldap.model.exception.LdapSchemaException;
import org.apache.directory.api.ldap.model.schema.AttributeType;
@@ -221,7 +222,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
@@ -251,7 +252,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -279,7 +280,7 @@ public class SchemaManagerAddTest
// Create the collective attribute first
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -295,7 +296,7 @@ public class SchemaManagerAddTest
// Now try to create an AT which is a subtype of teh create collective attribute
MutableAttributeType subType = new MutableAttributeType( "1.1.1" );
- subType.setEqualityOid( "2.5.13.1" );
+ subType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
subType.setOrderingOid( null );
subType.setSubstringOid( null );
subType.setSuperiorOid( "1.1.0" );
@@ -323,7 +324,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -356,7 +357,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -390,7 +391,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -423,7 +424,7 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
@@ -572,9 +573,9 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
- attributeType.setOrderingOid( "2.5.13.1" );
- attributeType.setSubstringOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setOrderingOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setSubstringOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
attributeType.setUsage( UsageEnum.USER_APPLICATIONS );
@@ -598,9 +599,9 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "2.5.18.4" );
- attributeType.setEqualityOid( "2.5.13.1" );
- attributeType.setOrderingOid( "2.5.13.1" );
- attributeType.setSubstringOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setOrderingOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setSubstringOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
// It should fail
assertFalse( schemaManager.add( attributeType ) );
@@ -633,9 +634,9 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
- attributeType.setOrderingOid( "2.5.13.1" );
- attributeType.setSubstringOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setOrderingOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setSubstringOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
attributeType.setNames( "Test", "cn" );
@@ -667,9 +668,9 @@ public class SchemaManagerAddTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
- attributeType.setOrderingOid( "2.5.13.1" );
- attributeType.setSubstringOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setOrderingOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
+ attributeType.setSubstringOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setSyntaxOid( "1.3.6.1.4.1.1466.115.121.1.26" );
attributeType.setNames( "Test", "referral" );
@@ -719,7 +720,7 @@ public class SchemaManagerAddTest
AttributeType result = schemaManager.lookupAttributeTypeRegistry( "1.1.0" );
assertEquals( "1.3.6.1.4.1.1466.115.121.1.12", result.getSyntaxOid() );
- assertEquals( "2.5.13.1", result.getEqualityOid() );
+ assertEquals( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID, result.getEqualityOid() );
assertEquals( atrSize + 1, schemaManager.getAttributeTypeRegistry().size() );
assertEquals( goidSize + 1, schemaManager.getGlobalOidRegistry().size() );
}
diff --git a/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerDelTest.java b/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerDelTest.java
index a820c74..3a755db 100644
--- a/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerDelTest.java
+++ b/ldap/schema/data/src/test/java/org/apache/directory/api/ldap/schema/loader/SchemaManagerDelTest.java
@@ -31,6 +31,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.directory.api.util.FileUtils;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.exception.LdapException;
import org.apache.directory.api.ldap.model.exception.LdapProtocolErrorException;
import org.apache.directory.api.ldap.model.schema.AttributeType;
@@ -228,7 +229,7 @@ public class SchemaManagerDelTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
MutableAttributeType attributeType = new MutableAttributeType( "1.1.0" );
- attributeType.setEqualityOid( "2.5.13.1" );
+ attributeType.setEqualityOid( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
attributeType.setOrderingOid( null );
attributeType.setSubstringOid( null );
@@ -512,7 +513,7 @@ public class SchemaManagerDelTest
int goidSize = schemaManager.getGlobalOidRegistry().size();
// AT with OID 2.5.18.4 has syntax 1.3.6.1.4.1.1466.115.121.1.12 which is used by MR 2.5.13.1
- MatchingRule mr = new MatchingRule( "2.5.13.1" );
+ MatchingRule mr = new MatchingRule( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
assertFalse( schemaManager.delete( mr ) );
assertEquals( mrSize, schemaManager.getMatchingRuleRegistry().size() );