sb.append( "\n" ); //$NON-NLS-1$
// Generating LDIF for Attributes Types
for ( AttributeTypeImpl at : schema.getAttributeTypes() )
{
AttributeTypeHolder holder = new AttributeTypeHolder( at.getOid() );
holder.setCollective( at.isCollective() );
holder.setDescription( at.getDescription() );
holder.setEquality( at.getEqualityName() );
List<String> names = new ArrayList<String>();
for ( String name : at.getNamesRef() )
{
names.add( name );
}
holder.setNames( names );
holder.setNoUserModification( !at.isCanUserModify() );
holder.setObsolete( at.isObsolete() );
holder.setOrdering( at.getOrderingName() );
holder.setSingleValue( at.isSingleValue() );
holder.setSubstr( at.getSubstrName() );
holder.setSuperior( at.getSuperiorName() );
holder.setSyntax( at.getSyntaxOid() );
holder.setOidLen( at.getLength() );
holder.setUsage( at.getUsage() );
sb.append( holder.toLdif( schema.getName() ) + "\n" ); //$NON-NLS-1$
}
// Generation the Comparators Node
sb.append( "dn: ou=comparators, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: comparators\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the DIT Content Rules Node
sb.append( "dn: ou=ditContentRules, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: ditcontentrules\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the DIT Structure RulesNode
sb.append( "dn: ou=ditStructureRules, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: ditstructurerules\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the Matching Rules Node
sb.append( "dn: ou=matchingRules, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: matchingrules\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the Matching Rule Use Node
sb.append( "dn: ou=matchingRuleUse, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: matchingruleuse\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the Name Forms Node
sb.append( "dn: ou=nameForms, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: nameforms\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the Normalizers Node
sb.append( "dn: ou=normalizers, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: normalizers\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generation the Object Classes Node
sb.append( "dn: ou=objectClasses, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$
sb.append( "objectclass: top\n" ); //$NON-NLS-1$
sb.append( "ou: objectClasses\n" ); //$NON-NLS-1$
sb.append( "\n" ); //$NON-NLS-1$
// Generating LDIF for Object Classes
List<ObjectClassImpl> sortedObjectClasses = getSortedObjectClasses( schema.getObjectClasses() );
for ( ObjectClassImpl oc : sortedObjectClasses )
{
ObjectClassHolder holder = new ObjectClassHolder( oc.getOid() );
holder.setClassType( oc.getType() );
holder.setDescription( oc.getDescription() );
List<String> mayList = new ArrayList<String>();
for ( String may : oc.getMayNamesList() )
{
mayList.add( may );
}
holder.setMay( mayList );
List<String> mustList = new ArrayList<String>();
for ( String must : oc.getMustNamesList() )
{
mustList.add( must );
}
holder.setMust( mustList );
List<String> names = new ArrayList<String>();
for ( String name : oc.getNamesRef() )
{
names.add( name );
}
holder.setNames( names );
List<String> superiorList = new ArrayList<String>();
for ( String superior : oc.getSuperClassesNames() )
{
superiorList.add( superior );
}
holder.setSuperiors( superiorList );
holder.setObsolete( oc.isObsolete() );
sb.append( holder.toLdif( schema.getName() ) + "\n" ); //$NON-NLS-1$
}
// Generation the Syntax Checkers Node
sb.append( "dn: ou=syntaxCheckers, cn=" + schema.getName() + ", ou=schema\n" ); //$NON-NLS-1$ //$NON-NLS-2$
sb.append( "objectclass: organizationalUnit\n" ); //$NON-NLS-1$