summaryrefslogtreecommitdiffstats
path: root/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/schema/setup/test/EcoreSchemaAndDASContextsSetup.java
blob: 6d9164c755d81e5ac3b6240c1ef9715b67461062 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package org.apache.tuscany.das.ldap.schema.setup.test;

import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.DirContext;
import org.apache.tuscany.das.ldap.constants.DASConstants;

public class EcoreSchemaAndDASContextsSetup 
extends DASContextSetup
implements DASConstants
{
    public void tearDown() 
    throws NamingException, Exception
    {
        ecoreSyntaxesContext.close();
        ecoreContext.destroySubcontext( SYNTAXES_CONTEXT_RDN );
        
        ecoreAttributeTypesContext.close();
        ecoreContext.destroySubcontext( ATTRIBUTE_TYPES_CONTEXT_RDN );
        
        ecoreObjectClassesContext.close();
        ecoreContext.destroySubcontext( OBJECT_CLASSES_CONTEXT_RDN );
        
        ecoreContext.close();
        schemaContext.destroySubcontext( ECORE_CONTEXT_RDN );
        
        schemaContext.close();
        super.tearDown();
    }
    
    public void setUp() throws NamingException, Exception
    {
        super.setUp();
        schemaContext                      = connect("schema");
        ecoreContext                         = createEcoreContext();
        ecoreSyntaxesContext          = createEcoreSyntaxesContext();
        ecoreObjectClassesContext  = createEcoreObjectClassesContext();
        ecoreAttributeTypesContext = createEcoreAttributeTypesContext();
    }
    
    private DirContext createEcoreContext() throws NamingException
    {
        Attributes contextAttributes   = new BasicAttributes();
        
        Attribute objectClassAttribute = new BasicAttribute(
        OBJECT_CLASS, 
        TOP);
        objectClassAttribute.add(META_SCHEMA);

        Attribute ecoreAttribute = new BasicAttribute(
            CN, 
            ECORE_CONTEXT_NAME);

        contextAttributes.put( ecoreAttribute );
        contextAttributes.put( objectClassAttribute );
        
        return schemaContext.createSubcontext( 
            ECORE_CONTEXT_RDN, contextAttributes );
    }

    private DirContext createEcoreObjectClassesContext() throws NamingException
    {
        Attributes contextAttributes   = new BasicAttributes();
        
        Attribute objectClassAttribute = new BasicAttribute(
        OBJECT_CLASS, 
        TOP);
        objectClassAttribute.add(ORGANIZATIONAL_UNIT);

        Attribute ecoreAttribute = new BasicAttribute(
            OU, 
            OBJECT_CLASSES_CONTEXT_NAME);

        contextAttributes.put( ecoreAttribute );
        contextAttributes.put( objectClassAttribute );
        
        return ecoreContext.createSubcontext( 
            OBJECT_CLASSES_CONTEXT_RDN, contextAttributes );
    }
    
    

    private DirContext createEcoreAttributeTypesContext() throws NamingException
    {
        Attributes contextAttributes   = new BasicAttributes();
        
        Attribute objectClassAttribute = new BasicAttribute(
        OBJECT_CLASS, 
        TOP);
        objectClassAttribute.add(ORGANIZATIONAL_UNIT);

        Attribute ecoreAttribute = new BasicAttribute(
            OU, 
            ATTRIBUTE_TYPES_CONTEXT_NAME);

        contextAttributes.put( ecoreAttribute );
        contextAttributes.put( objectClassAttribute );
        
        return ecoreContext.createSubcontext( 
            ATTRIBUTE_TYPES_CONTEXT_RDN, contextAttributes );
    }
    
    
    private DirContext createEcoreSyntaxesContext() throws NamingException
    {
        Attributes contextAttributes   = new BasicAttributes();
        
        Attribute objectClassAttribute = new BasicAttribute(
        OBJECT_CLASS, 
        TOP);
        objectClassAttribute.add(ORGANIZATIONAL_UNIT);

        Attribute ecoreAttribute = new BasicAttribute(
            OU, 
            SYNTAXES_CONTEXT_NAME);

        contextAttributes.put( ecoreAttribute );
        contextAttributes.put( objectClassAttribute );
        
        return ecoreContext.createSubcontext( 
            SYNTAXES_CONTEXT_RDN, contextAttributes );
    }
    
    protected DirContext ecoreContext               = null;
    protected DirContext ecoreObjectClassesContext  = null;
    protected DirContext ecoreAttributeTypesContext = null;
    protected DirContext ecoreSyntaxesContext       = null;
}