1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.schema.registries.helper;
21
22
23 import java.util.List;
24
25 import org.apache.directory.api.ldap.model.exception.LdapException;
26 import org.apache.directory.api.ldap.model.schema.NameForm;
27 import org.apache.directory.api.ldap.model.schema.ObjectClass;
28 import org.apache.directory.api.ldap.model.schema.registries.AttributeTypeRegistry;
29 import org.apache.directory.api.ldap.model.schema.registries.Registries;
30
31
32
33
34
35
36
37
38 public class NameFormHelper
39 {
40
41
42
43
44
45
46
47
48
49 public static void addToRegistries( NameForm nameForm, List<Throwable> errors, Registries registries )
50 throws LdapException
51 {
52 if ( registries != null )
53 {
54 try
55 {
56 nameForm.unlock();
57
58 AttributeTypeRegistry atRegistry = registries.getAttributeTypeRegistry();
59
60 ObjectClass structuralObjectClass = registries.getObjectClassRegistry().lookup(
61 nameForm.getStructuralObjectClassOid() );
62 nameForm.setStructuralObjectClass( structuralObjectClass );
63
64 nameForm.getMayAttributeTypes().clear();
65
66 for ( String oid : nameForm.getMayAttributeTypeOids() )
67 {
68 nameForm.getMayAttributeTypes().add( atRegistry.lookup( oid ) );
69 }
70
71 nameForm.getMustAttributeTypes().clear();
72
73 for ( String oid : nameForm.getMustAttributeTypeOids() )
74 {
75 nameForm.getMustAttributeTypes().add( atRegistry.lookup( oid ) );
76 }
77 }
78 finally
79 {
80 nameForm.lock();
81 }
82 }
83 }
84 }