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/03/10 01:20:42 UTC
svn commit: r1080066 - in /directory:
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/
apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/
apacheds/trunk/core/src/main/java/org/apache/directory/ser...
Author: elecharny
Date: Thu Mar 10 00:20:41 2011
New Revision: 1080066
URL: http://svn.apache.org/viewvc?rev=1080066&view=rev
Log:
o Modified the EntryAttribute class, removing the setId() method
p Modified the EntryAttribute.getId/getUpId methods semantic
o Removed the serialize/deserialize methods from the DefaultEntryAttribute class
o Added a applyAttributeType method in the Modification interface
o Eliminated duplicated code in the EntryAttributeSerializer class
o Fixed the places where the EntryAttribute.getId() method was used
o Normalizing the Modify Context
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java
directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryAttributeTest.java
directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryTest.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/AddRequestDecorator.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/ModifyRequestDecorator.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/SearchResultEntryDecorator.java
directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java
directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryTest.java
directory/shared/trunk/ldap/codec/standalone/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultEntryAttribute.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultModification.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttribute.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttributeSerializer.java
directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/Modification.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java Thu Mar 10 00:20:41 2011
@@ -31,19 +31,20 @@ import javax.naming.directory.Attributes
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
+import javax.naming.directory.InvalidAttributeIdentifierException;
import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchResult;
import org.apache.directory.server.i18n.I18n;
import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.model.entry.DefaultModification;
-import org.apache.directory.shared.ldap.model.entry.DefaultEntryAttribute;
import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
+import org.apache.directory.shared.ldap.model.entry.DefaultEntryAttribute;
+import org.apache.directory.shared.ldap.model.entry.DefaultModification;
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.Modification;
import org.apache.directory.shared.ldap.model.entry.ModificationOperation;
import org.apache.directory.shared.ldap.model.entry.Value;
-import org.apache.directory.shared.ldap.model.entry.EntryAttribute;
import org.apache.directory.shared.ldap.model.exception.LdapException;
import org.apache.directory.shared.ldap.model.exception.LdapInvalidAttributeTypeException;
import org.apache.directory.shared.ldap.model.name.Dn;
@@ -455,7 +456,7 @@ public class ServerEntryUtils
{
String attributeId = modification.getAttribute().getId();
String id = stripOptions( attributeId );
- modification.getAttribute().setId( id );
+ modification.getAttribute().setUpId( id );
Set<String> options = getOptions( attributeId );
// -------------------------------------------------------------------
Modified: directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryAttributeTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryAttributeTest.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryAttributeTest.java (original)
+++ directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryAttributeTest.java Thu Mar 10 00:20:41 2011
@@ -412,15 +412,17 @@ public class SchemaAwareEntryAttributeTe
{
EntryAttribute attr = new DefaultEntryAttribute( atCN );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
- attr.setId( " CN " );
- assertEquals( "cn", attr.getId() );
+ attr.setUpId( " CN " );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( " CN ", attr.getUpId() );
- attr.setId( " CommonName " );
- assertEquals( "commonname", attr.getId() );
+ attr.setUpId( " CommonName " );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( " CommonName ", attr.getUpId() );
- attr.setId( " 2.5.4.3 " );
+ attr.setUpId( " 2.5.4.3 " );
assertEquals( "2.5.4.3", attr.getId() );
}
@@ -555,51 +557,37 @@ public class SchemaAwareEntryAttributeTe
{
EntryAttribute attr = new DefaultEntryAttribute( atCN );
- attr.setId( "Cn" );
- assertEquals( "cn", attr.getId() );
+ attr.setUpId( "Cn" );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( "Cn", attr.getUpId() );
- attr.setId( " CN " );
- assertEquals( "cn", attr.getId() );
+ attr.setUpId( " CN " );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( " CN ", attr.getUpId() );
- attr.setId( " 2.5.4.3 " );
+ attr.setUpId( " 2.5.4.3 " );
+ assertEquals( " 2.5.4.3 ", attr.getUpId() );
assertEquals( "2.5.4.3", attr.getId() );
- attr.setId( " commonName " );
- assertEquals( "commonname", attr.getId() );
+ attr.setUpId( " commonName " );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( " commonName ", attr.getUpId() );
- try
- {
- attr.setId( null );
- fail();
- }
- catch ( IllegalArgumentException iae )
- {
- assertTrue( true );
- }
+ attr.setUpId( null );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( "cn", attr.getUpId() );
- try
- {
- attr.setId( "" );
- fail();
- }
- catch ( IllegalArgumentException iae )
- {
- assertTrue( true );
- }
+ attr.setUpId( "" );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( "cn", attr.getUpId() );
- try
- {
- attr.setId( " " );
- fail();
- }
- catch ( IllegalArgumentException iae )
- {
- assertTrue( true );
- }
+ attr.setUpId( " " );
+ assertEquals( "2.5.4.3", attr.getId() );
+ assertEquals( "cn", attr.getUpId() );
try
{
- attr.setId( " SN " );
+ attr.setUpId( " SN " );
fail();
}
catch ( IllegalArgumentException iae )
@@ -1002,10 +990,10 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.equals( attr2 ) );
- attr2.setId( "CN" );
+ attr2.setUpId( "CN" );
assertTrue( attr1.equals( attr2 ) );
- attr1.setId( "CommonName" );
+ attr1.setUpId( "CommonName" );
assertTrue( attr1.equals( attr2 ) );
attr1.setUpId( "CN" );
@@ -1568,22 +1556,22 @@ public class SchemaAwareEntryAttributeTe
EntryAttribute attr = new DefaultEntryAttribute( atSN );
attr.setUpId( null, atCN );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
attr.setUpId( " ", atCN );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
attr.setUpId( " CN ", atCN );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( " CN ", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
attr.setUpId( " CommonName ", atCN );
- assertEquals( "commonname", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( " CommonName ", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
@@ -1624,17 +1612,17 @@ public class SchemaAwareEntryAttributeTe
EntryAttribute attr = new DefaultEntryAttribute( atCN );
attr.setUpId( "cn" );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
attr.setUpId( " CN " );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( " CN ", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
attr.setUpId( " CommonName " );
- assertEquals( "commonname", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( " CommonName ", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
@@ -1645,23 +1633,60 @@ public class SchemaAwareEntryAttributeTe
// Now check wrong IDs
attr = new DefaultEntryAttribute( atCN );
- attr.setUpId( "sn" );
- assertEquals( "cn", attr.getId() );
+
+ try
+ {
+ attr.setUpId( "sn" );
+ fail();
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ // Expected
+ }
+
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
- attr.setUpId( " SN " );
- assertEquals( "cn", attr.getId() );
+ try
+ {
+ attr.setUpId( " SN " );
+ fail();
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ // Expected
+ }
+
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
- attr.setUpId( " surname " );
- assertEquals( "cn", attr.getId() );
+ try
+ {
+ attr.setUpId( " surname " );
+ fail();
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ // Expected
+ }
+
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
- attr.setUpId( " 2.5.4.4 " );
- assertEquals( "cn", attr.getId() );
+ try
+ {
+ attr.setUpId( " 2.5.4.4 " );
+ fail();
+ }
+ catch ( IllegalArgumentException iae )
+ {
+ // Expected
+ }
+
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
}
@@ -1688,7 +1713,7 @@ public class SchemaAwareEntryAttributeTe
attr.setAttributeType( atSN );
assertTrue( attr.instanceOf( "Surname" ) );
- assertEquals( "sn", attr.getId() );
+ assertEquals( "2.5.4.4", attr.getId() );
assertEquals( "sn", attr.getUpId() );
}
@@ -1714,7 +1739,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr.isHR() );
assertEquals( 0, attr.size() );
- assertEquals( "cn", attr.getId() );
+ assertEquals( "2.5.4.3", attr.getId() );
assertEquals( "cn", attr.getUpId() );
assertEquals( atCN, attr.getAttributeType() );
}
@@ -1730,7 +1755,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.isHR() );
assertEquals( 0, attr1.size() );
- assertEquals( "cn", attr1.getId() );
+ assertEquals( "2.5.4.3", attr1.getId() );
assertEquals( "cn", attr1.getUpId() );
assertEquals( atCN, attr1.getAttributeType() );
@@ -1738,7 +1763,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr2.isHR() );
assertEquals( 0, attr2.size() );
- assertEquals( "commonname", attr2.getId() );
+ assertEquals( "2.5.4.3", attr2.getId() );
assertEquals( " CommonName ", attr2.getUpId() );
assertEquals( atCN, attr2.getAttributeType() );
@@ -1746,7 +1771,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr3.isHR() );
assertEquals( 0, attr3.size() );
- assertEquals( "cn", attr3.getId() );
+ assertEquals( "2.5.4.3", attr3.getId() );
assertEquals( "cn", attr3.getUpId() );
assertEquals( atCN, attr3.getAttributeType() );
}
@@ -1762,7 +1787,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "dc", attr1.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr1.getId() );
assertEquals( "dc", attr1.getUpId() );
assertEquals( atDC, attr1.getAttributeType() );
assertTrue( attr1.contains( "a", "b" ) );
@@ -1772,7 +1797,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr2.isHR() );
assertEquals( 2, attr2.size() );
- assertEquals( "dc", attr2.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr2.getId() );
assertEquals( "dc", attr2.getUpId() );
assertEquals( atDC, attr2.getAttributeType() );
assertTrue( attr2.contains( "a" ) );
@@ -1790,7 +1815,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "dc", attr1.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr1.getId() );
assertEquals( "dc", attr1.getUpId() );
assertEquals( atDC, attr1.getAttributeType() );
assertTrue( attr1.contains( "a", "b" ) );
@@ -1800,7 +1825,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr2.isHR() );
assertEquals( 2, attr2.size() );
- assertEquals( "dc", attr2.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr2.getId() );
assertEquals( "dc", attr2.getUpId() );
assertEquals( atDC, attr2.getAttributeType() );
assertTrue( attr2.contains( "a" ) );
@@ -1811,7 +1836,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr3.isHR() );
assertEquals( 3, attr3.size() );
- assertEquals( "domaincomponent", attr3.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr3.getId() );
assertEquals( "DomainComponent", attr3.getUpId() );
assertEquals( atDC, attr3.getAttributeType() );
assertTrue( attr3.contains( "a", "b" ) );
@@ -1840,7 +1865,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "dc", attr1.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr1.getId() );
assertEquals( "dc", attr1.getUpId() );
assertEquals( atDC, attr1.getAttributeType() );
assertTrue( attr1.contains( "a", "b" ) );
@@ -1850,7 +1875,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr2.isHR() );
assertEquals( 2, attr2.size() );
- assertEquals( "dc", attr2.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr2.getId() );
assertEquals( "dc", attr2.getUpId() );
assertEquals( atDC, attr2.getAttributeType() );
assertTrue( attr2.contains( "a" ) );
@@ -1868,7 +1893,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "dc", attr1.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr1.getId() );
assertEquals( "dc", attr1.getUpId() );
assertEquals( atDC, attr1.getAttributeType() );
assertTrue( attr1.contains( "a", "b" ) );
@@ -1878,7 +1903,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( attr2.isHR() );
assertEquals( 3, attr2.size() );
- assertEquals( "domaincomponent", attr2.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attr2.getId() );
assertEquals( "DomainComponent", attr2.getUpId() );
assertEquals( atDC, attr2.getAttributeType() );
assertTrue( attr2.contains( "a", "b" ) );
@@ -1907,7 +1932,7 @@ public class SchemaAwareEntryAttributeTe
assertFalse( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "userPassword", attr1.getId() );
+ assertEquals( "2.5.4.35", attr1.getId() );
assertEquals( "userPassword", attr1.getUpId() );
assertEquals( atPwd, attr1.getAttributeType() );
assertTrue( attr1.contains( BYTES1, BYTES2 ) );
@@ -1917,7 +1942,7 @@ public class SchemaAwareEntryAttributeTe
assertFalse( attr2.isHR() );
assertEquals( 2, attr2.size() );
- assertEquals( "userPassword", attr2.getId() );
+ assertEquals( "2.5.4.35", attr2.getId() );
assertEquals( "userPassword", attr2.getUpId() );
assertEquals( atPwd, attr2.getAttributeType() );
assertTrue( attr2.contains( BYTES2 ) );
@@ -1935,7 +1960,7 @@ public class SchemaAwareEntryAttributeTe
assertFalse( attr1.isHR() );
assertEquals( 3, attr1.size() );
- assertEquals( "userpassword", attr1.getId() );
+ assertEquals( "2.5.4.35", attr1.getId() );
assertEquals( "userPassword", attr1.getUpId() );
assertEquals( atPwd, attr1.getAttributeType() );
assertTrue( attr1.contains( BYTES1, BYTES2 ) );
@@ -1965,7 +1990,7 @@ public class SchemaAwareEntryAttributeTe
assertEquals( attr, clone );
attr.setUpId( "CommonName" );
- assertEquals( "cn", clone.getId() );
+ assertEquals( "2.5.4.3", clone.getId() );
attr.add( "a", ( String ) null, "b" );
clone = attr.clone();
@@ -2035,7 +2060,7 @@ public class SchemaAwareEntryAttributeTe
assertTrue( clientAttribute instanceof EntryAttribute );
assertTrue( clientAttribute.contains( "test", "test2" ) );
- assertEquals( "cn", clientAttribute.getId() );
+ assertEquals( "2.5.4.3", clientAttribute.getId() );
attribute.remove( "test", "test2" );
assertTrue( clientAttribute.contains( "test", "test2" ) );
@@ -2055,7 +2080,7 @@ public class SchemaAwareEntryAttributeTe
DefaultEntryAttribute dsaSer = deserializeValue( serializeValue( dsa ), atCN );
assertEquals( dsa.toString(), dsaSer.toString() );
- assertEquals( "commonname", dsaSer.getId() );
+ assertEquals( "2.5.4.3", dsaSer.getId() );
assertEquals( "CommonName", dsaSer.getUpId() );
assertEquals( "test1", dsaSer.getString() );
assertTrue( dsaSer.contains( "test2", "test1" ) );
@@ -2072,11 +2097,11 @@ public class SchemaAwareEntryAttributeTe
{
DefaultEntryAttribute dsa = new DefaultEntryAttribute( atCN );
dsa.setHR( true );
- dsa.setId( "cn" );
+ dsa.setUpId( "cn" );
DefaultEntryAttribute dsaSer = deserializeValue( serializeValue( dsa ), atCN );
assertEquals( dsa.toString(), dsaSer.toString() );
- assertEquals( "cn", dsaSer.getId() );
+ assertEquals( "2.5.4.3", dsaSer.getId() );
assertEquals( "cn", dsaSer.getUpId() );
assertEquals( 0, dsaSer.size() );
assertTrue( dsaSer.isHR() );
@@ -2097,7 +2122,7 @@ public class SchemaAwareEntryAttributeTe
DefaultEntryAttribute dsaSer = deserializeValue( serializeValue( dsa ), atDC );
assertEquals( dsa.toString(), dsaSer.toString() );
- assertEquals( "domaincomponent", dsaSer.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", dsaSer.getId() );
assertEquals( "DomainComponent", dsaSer.getUpId() );
assertEquals( "", dsaSer.getString() );
assertEquals( 1, dsaSer.size() );
@@ -2120,7 +2145,7 @@ public class SchemaAwareEntryAttributeTe
DefaultEntryAttribute dsaSer = deserializeValue( serializeValue( dsa ), atPwd );
assertEquals( dsa.toString(), dsaSer.toString() );
- assertEquals( "userpassword", dsaSer.getId() );
+ assertEquals( "2.5.4.35", dsaSer.getId() );
assertEquals( "userPassword", dsaSer.getUpId() );
assertTrue( Arrays.equals( dsa.getBytes(), dsaSer.getBytes() ) );
assertEquals( 1, dsaSer.size() );
Modified: directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryTest.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryTest.java (original)
+++ directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/entry/SchemaAwareEntryTest.java Thu Mar 10 00:20:41 2011
@@ -213,7 +213,7 @@ public class SchemaAwareEntryTest
assertEquals( EXAMPLE_DN, entry.getDn() );
assertEquals( 1, entry.size() );
assertTrue( entry.containsAttribute( atOC ) );
- assertEquals( "objectclass", entry.get( atOC ).getId() );
+ assertEquals( "2.5.4.0", entry.get( atOC ).getId() );
assertEquals( " OBJECTCLASS ", entry.get( atOC ).getUpId() );
}
@@ -229,10 +229,10 @@ public class SchemaAwareEntryTest
assertEquals( EXAMPLE_DN, entry.getDn() );
assertEquals( 2, entry.size() );
assertTrue( entry.containsAttribute( "objectClass" ) );
- assertEquals( "objectclass", entry.get( atOC ).getId() );
+ assertEquals( "2.5.4.0", entry.get( atOC ).getId() );
assertEquals( " OBJECTCLASS ", entry.get( atOC ).getUpId() );
assertTrue( entry.containsAttribute( "2.5.4.3" ) );
- assertEquals( "cn", entry.get( atCN ).getId() );
+ assertEquals( "2.5.4.3", entry.get( atCN ).getId() );
assertEquals( " Cn ", entry.get( atCN ).getUpId() );
}
@@ -527,7 +527,7 @@ public class SchemaAwareEntryTest
assertEquals( 1, entry.size() );
assertTrue( entry.contains( atPwd, BYTES1, BYTES2 ) );
assertEquals( "UserPassword", entry.get( atPwd ).getUpId() );
- assertEquals( "userpassword", entry.get( atPwd ).getId() );
+ assertEquals( "2.5.4.35", entry.get( atPwd ).getId() );
entry.add( " UserPassword ", atPwd, ( byte[] ) null, BYTES1 );
assertEquals( 1, entry.size() );
@@ -538,7 +538,7 @@ public class SchemaAwareEntryTest
assertTrue( attribute.contains( BYTES2 ) );
assertTrue( attribute.contains( ( byte[] ) null ) );
assertEquals( " UserPassword ", attribute.getUpId() );
- assertEquals( "userpassword", attribute.getId() );
+ assertEquals( "2.5.4.35", attribute.getId() );
try
{
@@ -564,7 +564,7 @@ public class SchemaAwareEntryTest
assertEquals( 1, entry.size() );
assertTrue( entry.contains( atDC, "test1", "test2" ) );
assertEquals( "DomainComponent", entry.get( atDC ).getUpId() );
- assertEquals( "domaincomponent", entry.get( atDC ).getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", entry.get( atDC ).getId() );
entry.add( " DC ", atDC, ( String ) null, "test1" );
assertEquals( 1, entry.size() );
@@ -575,7 +575,7 @@ public class SchemaAwareEntryTest
assertTrue( attribute.contains( ( String ) null ) );
assertTrue( attribute.contains( "test2" ) );
assertEquals( " DC ", attribute.getUpId() );
- assertEquals( "dc", attribute.getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", attribute.getId() );
entry.clear();
@@ -621,9 +621,9 @@ public class SchemaAwareEntryTest
assertTrue( entry.contains( atCN, "test1", "test2" ) );
assertTrue( entry.contains( atPwd, BYTES1, BYTES2 ) );
assertEquals( "CN", entry.get( atCN ).getUpId() );
- assertEquals( "cn", entry.get( atCN ).getId() );
+ assertEquals( "2.5.4.3", entry.get( atCN ).getId() );
assertEquals( "UserPassword", entry.get( atPwd ).getUpId() );
- assertEquals( "userpassword", entry.get( atPwd ).getId() );
+ assertEquals( "2.5.4.35", entry.get( atPwd ).getId() );
entry.add( "CN", atCN, strValue3, strNullValue );
@@ -917,7 +917,7 @@ public class SchemaAwareEntryTest
entry.add( "DC", "test1" );
assertNotNull( entry.get( atDC ) );
assertTrue( entry.containsAttribute( atDC ) );
- assertEquals( "dc", entry.get( atDC ).getId() );
+ assertEquals( "0.9.2342.19200300.100.1.25", entry.get( atDC ).getId() );
assertEquals( "DC", entry.get( atDC ).getUpId() );
assertEquals( 1, entry.get( atDC ).size() );
assertEquals( "test1", entry.get( atDC ).get().getString() );
@@ -2443,7 +2443,7 @@ public class SchemaAwareEntryTest
EntryAttribute attribute = entry.get( "userPassword" );
assertTrue( attribute.contains( BYTES1 ) );
assertTrue( attribute.contains( BYTES2 ) );
- assertEquals( "userpassword", attribute.getId() );
+ assertEquals( "2.5.4.35", attribute.getId() );
assertEquals( "userPassword", attribute.getUpId() );
}
@@ -2512,7 +2512,7 @@ public class SchemaAwareEntryTest
EntryAttribute attribute = entry.get( "cn" );
assertTrue( attribute.contains( "test1" ) );
assertTrue( attribute.contains( "test2" ) );
- assertEquals( "cn", attribute.getId() );
+ assertEquals( "2.5.4.3", attribute.getId() );
assertEquals( "cN", attribute.getUpId() );
}
@@ -2589,7 +2589,7 @@ public class SchemaAwareEntryTest
EntryAttribute attribute = entry.get( "cn" );
assertTrue( attribute.contains( strValue1 ) );
assertTrue( attribute.contains( strValue2 ) );
- assertEquals( "cn", attribute.getId() );
+ assertEquals( "2.5.4.3", attribute.getId() );
assertEquals( "cN", attribute.getUpId() );
// Bin values are not allowed, so the new CN will be empty
@@ -3105,7 +3105,7 @@ public class SchemaAwareEntryTest
assertTrue( true );
}
- assertEquals( "userpassword", entry.get( atPassword ).getId() );
+ assertEquals( "2.5.4.35", entry.get( atPassword ).getId() );
// Test that we can add some new attributes with values
byte[] test1 = Strings.getBytesUtf8("test1");
@@ -3707,7 +3707,7 @@ public class SchemaAwareEntryTest
EntryAttribute sa = entry.get( "sn" );
assertNotNull( sa );
- assertEquals( "sn", sa.getId() );
+ assertEquals( "2.5.4.4", sa.getId() );
// Add different upIds now
AttributeType atGN = schemaManager.lookupAttributeTypeRegistry( "givenname" );
@@ -3721,13 +3721,13 @@ public class SchemaAwareEntryTest
sa = entry.get( "l" );
assertNotNull( sa );
assertEquals( atL, sa.getAttributeType() );
- assertEquals( "l", sa.getId() );
+ assertEquals( "2.5.4.7", sa.getId() );
assertEquals( "L", sa.getUpId() );
sa = entry.get( "c" );
assertNotNull( sa );
assertEquals( atC, sa.getAttributeType() );
- assertEquals( "countryname", sa.getId() );
+ assertEquals( "2.5.4.6", sa.getId() );
assertEquals( "CountryName", sa.getUpId() );
sa = entry.get( "2.5.4.9" );
@@ -3739,7 +3739,7 @@ public class SchemaAwareEntryTest
sa = entry.get( "givenName" );
assertNotNull( sa );
assertEquals( atGN, sa.getAttributeType() );
- assertEquals( "gn", sa.getId() );
+ assertEquals( "2.5.4.42", sa.getId() );
assertEquals( "gn", sa.getUpId() );
// Now try to add existing ATs
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java Thu Mar 10 00:20:41 2011
@@ -31,8 +31,8 @@ import net.sf.ehcache.Element;
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.core.CoreSession;
-import org.apache.directory.server.core.DnFactory;
import org.apache.directory.server.core.DirectoryService;
+import org.apache.directory.server.core.DnFactory;
import org.apache.directory.server.core.filtering.EntryFilteringCursor;
import org.apache.directory.server.core.interceptor.context.SearchOperationContext;
import org.apache.directory.server.core.partition.PartitionNexus;
@@ -385,19 +385,19 @@ public class GroupCache
throws LdapException
{
EntryAttribute members = null;
- String memberAttrId = null;
+ AttributeType memberAttr = null;
EntryAttribute oc = entry.get( OBJECT_CLASS_AT );
if ( oc.contains( SchemaConstants.GROUP_OF_NAMES_OC ) )
{
members = entry.get( MEMBER_AT );
- memberAttrId = SchemaConstants.MEMBER_AT;
+ memberAttr = schemaManager.getAttributeType( SchemaConstants.MEMBER_AT );
}
if ( oc.contains( SchemaConstants.GROUP_OF_UNIQUE_NAMES_OC ) )
{
members = entry.get( UNIQUE_MEMBER_AT );
- memberAttrId = SchemaConstants.UNIQUE_MEMBER_AT;
+ memberAttr = schemaManager.getAttributeType( SchemaConstants.UNIQUE_MEMBER_AT );
}
if ( members == null )
@@ -407,7 +407,7 @@ public class GroupCache
for ( Modification modification : mods )
{
- if ( memberAttrId.equalsIgnoreCase( modification.getAttribute().getId() ) )
+ if ( memberAttr.getOid() == modification.getAttribute().getId() )
{
Element memSetElement = ehCache.get( name.getNormName() );
Modified: directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java (original)
+++ directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java Thu Mar 10 00:20:41 2011
@@ -43,6 +43,7 @@ import org.apache.directory.server.core.
import org.apache.directory.server.i18n.I18n;
import org.apache.directory.shared.ldap.model.cursor.EmptyCursor;
import org.apache.directory.shared.ldap.model.entry.Entry;
+import org.apache.directory.shared.ldap.model.entry.Modification;
import org.apache.directory.shared.ldap.model.entry.StringValue;
import org.apache.directory.shared.ldap.model.entry.Value;
import org.apache.directory.shared.ldap.model.exception.LdapException;
@@ -141,6 +142,15 @@ public class NormalizationInterceptor ex
modifyContext.getDn().normalize( schemaManager );
}
+ if ( modifyContext.getModItems() != null )
+ {
+ for ( Modification modification : modifyContext.getModItems() )
+ {
+ AttributeType attributeType = schemaManager.getAttributeType( modification.getAttribute().getId() );
+ modification.applyAttributeType( attributeType );
+ }
+ }
+
nextInterceptor.modify( modifyContext );
}
Modified: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/AddRequestDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/AddRequestDecorator.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/AddRequestDecorator.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/AddRequestDecorator.java Thu Mar 10 00:20:41 2011
@@ -217,7 +217,7 @@ public final class AddRequestDecorator e
*/
public String getCurrentAttributeType()
{
- return currentAttribute.getId();
+ return currentAttribute.getUpId();
}
@@ -324,7 +324,7 @@ public final class AddRequestDecorator e
int localValuesLength = 0;
// Get the type length
- int idLength = attribute.getId().getBytes().length;
+ int idLength = attribute.getUpId().getBytes().length;
localAttributeLength = 1 + TLV.getNbBytes( idLength ) + idLength;
// The values
@@ -416,7 +416,7 @@ public final class AddRequestDecorator e
buffer.put( TLV.getBytes( localAttributeLength ) );
// The attribute type
- org.apache.directory.shared.asn1.ber.tlv.Value.encode( buffer, attribute.getId() );
+ org.apache.directory.shared.asn1.ber.tlv.Value.encode( buffer, attribute.getUpId() );
// The values
buffer.put( UniversalTag.SET.getValue() );
Modified: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/ModifyRequestDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/ModifyRequestDecorator.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/ModifyRequestDecorator.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/ModifyRequestDecorator.java Thu Mar 10 00:20:41 2011
@@ -205,7 +205,7 @@ public class ModifyRequestDecorator exte
*/
public String getCurrentAttributeType()
{
- return currentAttribute.getId();
+ return currentAttribute.getUpId();
}
@@ -449,7 +449,7 @@ public class ModifyRequestDecorator exte
int localValuesLength = 0;
// Modification length initialized with the type
- int typeLength = modification.getAttribute().getId().length();
+ int typeLength = modification.getAttribute().getUpId().length();
int localModificationLength = 1 + TLV.getNbBytes( typeLength ) + typeLength;
// Get all the values
@@ -563,7 +563,7 @@ public class ModifyRequestDecorator exte
buffer.put( TLV.getBytes( localModificationLength ) );
// The modification type
- Value.encode( buffer, modification.getAttribute().getId() );
+ Value.encode( buffer, modification.getAttribute().getUpId() );
// The values
buffer.put( UniversalTag.SET.getValue() );
Modified: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/SearchResultEntryDecorator.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/SearchResultEntryDecorator.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/SearchResultEntryDecorator.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/decorators/SearchResultEntryDecorator.java Thu Mar 10 00:20:41 2011
@@ -331,7 +331,7 @@ public class SearchResultEntryDecorator
int localValuesLength = 0;
// Get the type length
- int idLength = attribute.getId().getBytes().length;
+ int idLength = attribute.getUpId().getBytes().length;
localAttributeLength = 1 + TLV.getNbBytes( idLength ) + idLength;
if ( attribute.size() != 0 )
Modified: directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java Thu Mar 10 00:20:41 2011
@@ -28,8 +28,6 @@ import java.nio.ByteBuffer;
import java.util.Collection;
import java.util.Map;
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
import org.apache.directory.shared.asn1.DecoderException;
import org.apache.directory.shared.asn1.EncoderException;
import org.apache.directory.shared.asn1.ber.Asn1Decoder;
@@ -50,6 +48,9 @@ import org.apache.directory.shared.util.
import org.junit.Test;
import org.junit.runner.RunWith;
+import com.mycila.junit.concurrent.Concurrency;
+import com.mycila.junit.concurrent.ConcurrentJunitRunner;
+
/**
* Test the ModifyRequest codec
@@ -135,12 +136,12 @@ public class ModifyRequestTest extends A
{
EntryAttribute attribute = modification.getAttribute();
- if ( "l".equalsIgnoreCase( attribute.getId() ) )
+ if ( "l".equalsIgnoreCase( attribute.getUpId() ) )
{
String attrValue = attribute.getString();
assertEquals( "Paris", attrValue );
}
- else if ( "attrs".equalsIgnoreCase( attribute.getId() ) )
+ else if ( "attrs".equalsIgnoreCase( attribute.getUpId() ) )
{
String attrValue = attribute.getString();
assertEquals( "test", attrValue );
@@ -313,7 +314,7 @@ public class ModifyRequestTest extends A
modification = ( Modification ) modifications[1];
attributeValue = modification.getAttribute();
- assertEquals( "cn", attributeValue.getId().toLowerCase() );
+ assertEquals( "cn", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "XXX", attrValue );
@@ -439,7 +440,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "description", attributeValue.getId().toLowerCase() );
+ assertEquals( "description", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
modification = ( Modification ) modifications[1];
@@ -447,7 +448,7 @@ public class ModifyRequestTest extends A
String attrValue = attributeValue.getString();
- assertEquals( "telephonenumber", attributeValue.getId().toLowerCase() );
+ assertEquals( "telephonenumber", attributeValue.getUpId().toLowerCase() );
assertEquals( "01234567890", attrValue );
@@ -456,7 +457,7 @@ public class ModifyRequestTest extends A
attrValue = attributeValue.getString();
- assertEquals( "telephonenumber", attributeValue.getId().toLowerCase() );
+ assertEquals( "telephonenumber", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "01234567890", attrValue );
@@ -567,7 +568,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
String attrValue = attributeValue.getString();
assertEquals( "Paris", attrValue );
@@ -578,7 +579,7 @@ public class ModifyRequestTest extends A
modification = ( Modification ) modifications[1];
attributeValue = modification.getAttribute();
- assertEquals( "attrs", attributeValue.getId().toLowerCase() );
+ assertEquals( "attrs", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "test", attrValue );
@@ -1108,7 +1109,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
// Check the encoding
@@ -1189,7 +1190,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
// Check the Control
@@ -1277,7 +1278,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 2, attributeValue.size() );
String attrValue = attributeValue.getString();
Modified: directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryTest.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryTest.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/test/java/org/apache/directory/shared/ldap/codec/search/SearchResultEntryTest.java Thu Mar 10 00:20:41 2011
@@ -29,8 +29,6 @@ import java.util.Map;
import javax.naming.NamingException;
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
import org.apache.directory.shared.asn1.DecoderException;
import org.apache.directory.shared.asn1.EncoderException;
import org.apache.directory.shared.asn1.ber.Asn1Decoder;
@@ -46,6 +44,9 @@ import org.apache.directory.shared.util.
import org.junit.Test;
import org.junit.runner.RunWith;
+import com.mycila.junit.concurrent.Concurrency;
+import com.mycila.junit.concurrent.ConcurrentJunitRunner;
+
/**
* Test the SearchResultEntry codec
@@ -123,7 +124,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertTrue( attribute.contains( "top" ) );
assertTrue( attribute.contains( "organizationalUnit" ) );
@@ -227,7 +228,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( expectedAttributes[i] );
- assertEquals( expectedAttributes[i].toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( expectedAttributes[i].toLowerCase(), attribute.getUpId().toLowerCase() );
assertTrue( attribute.contains( "top" ) );
assertTrue( attribute.contains( "organizationalUnit" ) );
@@ -335,7 +336,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertTrue( attribute.contains( "top" ) );
assertTrue( attribute.contains( "person" ) );
@@ -836,7 +837,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertEquals( 0, attribute.size() );
}
@@ -920,11 +921,11 @@ public class SearchResultEntryTest exten
assertEquals( 2, entry.size() );
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertEquals( 0, attribute.size() );
attribute = entry.get( "objectclazz" );
- assertEquals( "objectClazz".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClazz".toLowerCase(), attribute.getUpId().toLowerCase() );
assertEquals( 0, attribute.size() );
// Check the encoding
@@ -1013,7 +1014,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertEquals( 0, attribute.size() );
}
@@ -1111,7 +1112,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertTrue( attribute.contains( "" ) );
}
@@ -1205,7 +1206,7 @@ public class SearchResultEntryTest exten
{
EntryAttribute attribute = entry.get( "objectclass" );
- assertEquals( "objectClass".toLowerCase(), attribute.getId().toLowerCase() );
+ assertEquals( "objectClass".toLowerCase(), attribute.getUpId().toLowerCase() );
assertTrue( attribute.contains( "" ) );
}
Modified: directory/shared/trunk/ldap/codec/standalone/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/standalone/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/standalone/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java (original)
+++ directory/shared/trunk/ldap/codec/standalone/src/test/java/org/apache/directory/shared/ldap/codec/modify/ModifyRequestTest.java Thu Mar 10 00:20:41 2011
@@ -28,8 +28,6 @@ import java.nio.ByteBuffer;
import java.util.Collection;
import java.util.Map;
-import com.mycila.junit.concurrent.Concurrency;
-import com.mycila.junit.concurrent.ConcurrentJunitRunner;
import org.apache.directory.shared.asn1.DecoderException;
import org.apache.directory.shared.asn1.EncoderException;
import org.apache.directory.shared.asn1.ber.Asn1Decoder;
@@ -50,6 +48,9 @@ import org.apache.directory.shared.util.
import org.junit.Test;
import org.junit.runner.RunWith;
+import com.mycila.junit.concurrent.Concurrency;
+import com.mycila.junit.concurrent.ConcurrentJunitRunner;
+
/**
* Test the ModifyRequest codec
@@ -135,12 +136,12 @@ public class ModifyRequestTest extends A
{
EntryAttribute attribute = modification.getAttribute();
- if ( "l".equalsIgnoreCase( attribute.getId() ) )
+ if ( "l".equalsIgnoreCase( attribute.getUpId() ) )
{
String attrValue = attribute.getString();
assertEquals( "Paris", attrValue );
}
- else if ( "attrs".equalsIgnoreCase( attribute.getId() ) )
+ else if ( "attrs".equalsIgnoreCase( attribute.getUpId() ) )
{
String attrValue = attribute.getString();
assertEquals( "test", attrValue );
@@ -305,7 +306,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "telephonenumber", attributeValue.getId().toLowerCase() );
+ assertEquals( "telephonenumber", attributeValue.getUpId().toLowerCase() );
String attrValue = attributeValue.getString();
assertEquals( "1234567890", attrValue );
@@ -313,7 +314,7 @@ public class ModifyRequestTest extends A
modification = ( Modification ) modifications[1];
attributeValue = modification.getAttribute();
- assertEquals( "cn", attributeValue.getId().toLowerCase() );
+ assertEquals( "cn", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "XXX", attrValue );
@@ -439,7 +440,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "description", attributeValue.getId().toLowerCase() );
+ assertEquals( "description", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
modification = ( Modification ) modifications[1];
@@ -447,7 +448,7 @@ public class ModifyRequestTest extends A
String attrValue = attributeValue.getString();
- assertEquals( "telephonenumber", attributeValue.getId().toLowerCase() );
+ assertEquals( "telephonenumber", attributeValue.getUpId().toLowerCase() );
assertEquals( "01234567890", attrValue );
@@ -456,7 +457,7 @@ public class ModifyRequestTest extends A
attrValue = attributeValue.getString();
- assertEquals( "telephonenumber", attributeValue.getId().toLowerCase() );
+ assertEquals( "telephonenumber", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "01234567890", attrValue );
@@ -567,7 +568,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
String attrValue = attributeValue.getString();
assertEquals( "Paris", attrValue );
@@ -578,7 +579,7 @@ public class ModifyRequestTest extends A
modification = ( Modification ) modifications[1];
attributeValue = modification.getAttribute();
- assertEquals( "attrs", attributeValue.getId().toLowerCase() );
+ assertEquals( "attrs", attributeValue.getUpId().toLowerCase() );
attrValue = attributeValue.getString();
assertEquals( "test", attrValue );
@@ -1108,7 +1109,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
// Check the encoding
@@ -1189,7 +1190,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 0, attributeValue.size() );
// Check the Control
@@ -1277,7 +1278,7 @@ public class ModifyRequestTest extends A
Modification modification = ( Modification ) modifications[0];
EntryAttribute attributeValue = modification.getAttribute();
- assertEquals( "l", attributeValue.getId().toLowerCase() );
+ assertEquals( "l", attributeValue.getUpId().toLowerCase() );
assertEquals( 2, attributeValue.size() );
String attrValue = attributeValue.getString();
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultEntryAttribute.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultEntryAttribute.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultEntryAttribute.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultEntryAttribute.java Thu Mar 10 00:20:41 2011
@@ -567,10 +567,10 @@ public class DefaultEntryAttribute imple
* @param id The attribute ID
* @throws IllegalArgumentException If the ID is empty or null or
* resolve to an empty value after being trimmed
- */
- public void setId( String id )
+ *
+ public void setId( String upId )
{
- String newId = Strings.trim(Strings.lowerCaseAscii(id));
+ String newId = Strings.trim( Strings.lowerCaseAscii( upId ) );
if ( newId.length() == 0 )
{
@@ -598,8 +598,8 @@ public class DefaultEntryAttribute imple
if ( atName.equalsIgnoreCase( newId ) )
{
// Found ! We can store the upId and get out
- this.id = newId;
- this.upId = id;
+ this.id = attributeType.getOid();
+ this.upId = upId;
// Compute the hashCode
rehash();
@@ -609,7 +609,7 @@ public class DefaultEntryAttribute imple
}
// Last case, the UpId is an OID
- if ( !OID.isOID(newId) || !attributeType.getOid().equals( newId ) )
+ if ( !OID.isOID( newId ) || !attributeType.getOid().equals( newId ) )
{
// The id is incorrect : this is not allowed
throw new IllegalArgumentException( I18n.err( I18n.ERR_04455, id, attributeType.getName() ) );
@@ -618,7 +618,7 @@ public class DefaultEntryAttribute imple
}
this.id = newId;
- this.upId = id;
+ this.upId = upId;
// Compute the hashCode
rehash();
@@ -655,7 +655,7 @@ public class DefaultEntryAttribute imple
*/
public void setUpId( String upId )
{
- setUpId( upId, null );
+ setUpId( upId, attributeType );
}
@@ -709,21 +709,21 @@ public class DefaultEntryAttribute imple
*/
public void setUpId( String upId, AttributeType attributeType )
{
- String trimmed = Strings.trim(upId);
+ String trimmed = Strings.trim( upId );
- if ( Strings.isEmpty(trimmed) && ( attributeType == null ) )
+ if ( Strings.isEmpty( trimmed ) && ( attributeType == null ) )
{
throw new IllegalArgumentException( "Cannot set a null ID with a null AttributeType" );
}
- String id = Strings.toLowerCase(trimmed);
+ String newId = Strings.toLowerCase( trimmed );
if ( attributeType == null )
{
if ( this.attributeType == null )
{
this.upId = upId;
- this.id = id;
+ this.id = newId;
// Compute the hashCode
rehash();
@@ -732,10 +732,10 @@ public class DefaultEntryAttribute imple
}
else
{
- if ( areCompatible( id, this.attributeType ) )
+ if ( areCompatible( newId, this.attributeType ) )
{
this.upId = upId;
- this.id = id;
+ this.id = this.attributeType.getOid();
// Compute the hashCode
rehash();
@@ -749,11 +749,11 @@ public class DefaultEntryAttribute imple
}
}
- if ( Strings.isEmpty(id) )
+ if ( Strings.isEmpty( newId ) )
{
this.attributeType = attributeType;
this.upId = attributeType.getName();
- this.id = Strings.trim(this.upId);
+ this.id = attributeType.getOid();
// Compute the hashCode
rehash();
@@ -761,10 +761,10 @@ public class DefaultEntryAttribute imple
return;
}
- if ( areCompatible( id, attributeType ) )
+ if ( areCompatible( newId, attributeType ) )
{
this.upId = upId;
- this.id = id;
+ this.id = attributeType.getOid();
this.attributeType = attributeType;
// Compute the hashCode
@@ -2147,7 +2147,27 @@ public class DefaultEntryAttribute imple
}
this.attributeType = attributeType;
- setUpId( null, attributeType );
+ this.id = attributeType.getOid();
+
+ if ( Strings.isEmpty( this.upId ) )
+ {
+ this.upId = attributeType.getName();
+ }
+ else
+ {
+ if ( !areCompatible( this.upId, attributeType ) )
+ {
+ this.upId = attributeType.getName();
+ }
+ }
+
+ if ( values != null )
+ {
+ for ( Value<?> value : values )
+ {
+ value.apply( attributeType );
+ }
+ }
isHR = attributeType.getSyntax().isHumanReadable();
@@ -2407,98 +2427,6 @@ public class DefaultEntryAttribute imple
* This is the place where we serialize attributes, and all theirs
* elements.
*
- * The inner structure is the same as the client attribute, but we can't call
- * it as we won't be able to serialize the serverValues
- *
- public void serialize( ObjectOutput out ) throws IOException
- {
- // Write the UPId (the id will be deduced from the upID)
- Unicode.writeUTF(out, upId);
-
- // Write the HR flag, if not null
- if ( isHR != null )
- {
- out.writeBoolean( true );
- out.writeBoolean( isHR );
- }
- else
- {
- out.writeBoolean( false );
- }
-
- // Write the number of values
- out.writeInt( size() );
-
- if ( size() > 0 )
- {
- // Write each value
- for ( Value<?> value:values )
- {
- // Write the value
- value.writeExternal( out );
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- *
- // This will suppress PMD.EmptyCatchBlock warnings in this method
- @SuppressWarnings("PMD.EmptyCatchBlock")
- public void deserialize( ObjectInput in ) throws IOException, ClassNotFoundException
- {
- // Read the ID and the UPId
- upId = Unicode.readUTF(in);
-
- // Compute the id
- setUpId( upId );
-
- // Read the HR flag, if not null
- if ( in.readBoolean() )
- {
- isHR = in.readBoolean();
- }
-
- // Read the number of values
- int nbValues = in.readInt();
-
- if ( nbValues > 0 )
- {
- for ( int i = 0; i < nbValues; i++ )
- {
- Value<?> value = null;
-
- if ( isHR )
- {
- value = new StringValue( (AttributeType)null );
- }
- else
- {
- value = new BinaryValue( (AttributeType)null );
- }
-
- value.readExternal( in );
-
- try
- {
- value.normalize();
- }
- catch ( LdapException ne )
- {
- // Do nothing...
- }
-
- values.add( value );
- }
- }
- }
-
-
- /**
- * This is the place where we serialize attributes, and all theirs
- * elements.
- *
* The inner structure is :
*
* {@inheritDoc}
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultModification.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultModification.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultModification.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/DefaultModification.java Thu Mar 10 00:20:41 2011
@@ -175,6 +175,16 @@ public class DefaultModification impleme
/**
+ * {@inheritDoc}
+ */
+ public void applyAttributeType( AttributeType attributeType )
+ {
+ this.attributeType = attributeType;
+ this.attribute.setAttributeType( attributeType );
+ }
+
+
+ /**
* @see Object#equals(Object)
* @return <code>true</code> if both values are equal
*/
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttribute.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttribute.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttribute.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttribute.java Thu Mar 10 00:20:41 2011
@@ -440,7 +440,7 @@ public interface EntryAttribute extends
* @param id The attribute ID
* @throws IllegalArgumentException If the ID is empty or null or
* resolve to an empty value after being trimmed
- */
+ *
void setId( String id ) throws IllegalArgumentException;
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttributeSerializer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttributeSerializer.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttributeSerializer.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/EntryAttributeSerializer.java Thu Mar 10 00:20:41 2011
@@ -56,30 +56,7 @@ public class EntryAttributeSerializer
*/
public static void serialize( EntryAttribute attribute, ObjectOutput out ) throws IOException
{
- // The UP id
- out.writeUTF( attribute.getUpId() );
-
- // The Norm id
- out.writeUTF( attribute.getId() );
-
- // The isHR flag
- out.writeBoolean( attribute.isHR() );
-
- // The computed hashCode
- out.writeInt( attribute.hashCode() );
-
- // The number of values
- int nbValues = attribute.size();
- out.writeInt( nbValues );
-
- if ( nbValues > 0 )
- {
- for ( Value<?> value : attribute )
- {
- value.writeExternal( out );
- }
- }
-
+ attribute.writeExternal( out );
out.flush();
}
@@ -87,79 +64,36 @@ public class EntryAttributeSerializer
/**
* Deserializes a EntryAttribute instance.
*
- * @param schemaManager The schemaManager instance
+ * @param attributeType The attributeType instance
* @param in The input stream from which the EntryAttribute is read
* @return a deserialized EntryAttribute
* @throws IOException If the stream can't be read
*/
public static EntryAttribute deserialize( SchemaManager schemaManager, ObjectInput in ) throws IOException
{
- // The UP id
- String upId = in.readUTF();
-
- // The Norm id
- String normId = in.readUTF();
-
- // The isHR flag
- boolean isHR = in.readBoolean();
-
- // The computed hashCode
- int hashCode = in.readInt();
+ EntryAttribute entryAttribute = new DefaultEntryAttribute();
- // The number of values
- int nbValues = in.readInt();
- Value<?>[] values = new Value<?>[ nbValues ];
-
- if ( nbValues > 0 )
+ try
{
- AttributeType attributeType = null;
-
- if ( schemaManager != null )
- {
- if ( !Strings.isEmpty( upId ) )
- {
- attributeType = schemaManager.getAttributeType( upId );
- }
- else
- {
- attributeType = schemaManager.getAttributeType( normId );
- }
- }
- for ( int i = 0; i < nbValues; i++ )
- {
- Value<?> value = null;
-
- if ( isHR )
- {
- value = new StringValue( attributeType );
- }
- else
- {
- value = new BinaryValue( attributeType );
- }
-
- try
- {
- value.readExternal( in );
- }
- catch ( ClassNotFoundException cfne )
- {
- throw new IOException( cfne.getMessage() );
- }
- values[i] = value;
- }
+ entryAttribute.readExternal( in );
+ }
+ catch ( ClassNotFoundException cnfe )
+ {
+ throw new IOException( cnfe.getMessage() );
}
AttributeType attributeType = null;
if ( schemaManager != null )
{
- attributeType = schemaManager.getAttributeType( upId );
+ if ( !Strings.isEmpty( entryAttribute.getId() ) )
+ {
+ attributeType = schemaManager.getAttributeType( entryAttribute.getId() );
+ }
+
+ entryAttribute.setAttributeType( attributeType );
}
-
- // The EntryAttribute
- EntryAttribute attribute = new DefaultEntryAttribute( attributeType, upId, normId, isHR, hashCode, values );
-
- return attribute;
+
+ return entryAttribute;
}
}
Modified: directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/Modification.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/Modification.java?rev=1080066&r1=1080065&r2=1080066&view=diff
==============================================================================
--- directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/Modification.java (original)
+++ directory/shared/trunk/ldap/model/src/main/java/org/apache/directory/shared/ldap/model/entry/Modification.java Thu Mar 10 00:20:41 2011
@@ -21,6 +21,8 @@ package org.apache.directory.shared.ldap
import java.io.Externalizable;
+import org.apache.directory.shared.ldap.model.schema.AttributeType;
+
/**
* An internal interface for a ModificationItem. The name has been
* chosen so that it does not conflict with @see ModificationItem
@@ -71,4 +73,12 @@ public interface Modification extends Cl
* @return a clone of the current modification
*/
Modification clone();
+
+
+ /**
+ * Apply the AttributeType to the Modification
+ *
+ * @param AttributeType the injected AttributeType
+ */
+ void applyAttributeType( AttributeType attributeType );
}
\ No newline at end of file