blob: 9b7673efe65fdeb43ba7b0bf4750a639da3e1940 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
package org.apache.tuscany.das.ldap.prototype.setup.test;
import java.io.File;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import javax.naming.NamingException;
import javax.naming.ldap.LdapContext;
import org.apache.commons.io.FileUtils;
import org.apache.tuscany.das.ldap.prototype.setup.Prototype;
import org.apache.tuscany.das.ldap.schema.embedded.setup.test.EcoreSchemaAndDASContextsSetup;
import org.apache.tuscany.das.ldap.schema.emf.create.EObjectClassCreator;
import org.apache.tuscany.das.ldap.schema.emf.destroy.EObjectClassDestroyer;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.sdo.EDataObject;
public class CommonSetupTest
extends EcoreSchemaAndDASContextsSetup
implements Prototype
{
protected EObjectClassCreator eObjectClassCreator = null;
protected EDataObject userDataObject = null;
protected EDataObject authorizationDataObject0 = null;
protected EDataObject authorizationDataObject1 = null;
protected EDataObject configurationDataObject = null;
protected static List<EClass>
processedEClassifiers = null;
protected String userDataObjectRDN =
"example-com-users-accounts-User-id=1";
protected String authorizationDataObject1RDN =
"example-com-users-accounts-Authorization-id=2,cn=authorizationList,example-com-users-accounts-User-id=1";
protected String authorizationDataObject2RDN =
"example-com-users-accounts-Authorization-id=3,cn=authorizationList,example-com-users-accounts-User-id=1";
protected String configurationDataObjectRDN =
"example-com-users-accounts-Configuration-id=5,cn=configuration,example-com-users-accounts-User-id=1";
protected String configurationContainingFeatureRDN =
"cn=configuration";
protected String authorizationListContainingFeatureRDN=
"cn=authorizationList";
protected LdapContext authorizationContainerContext = null;
protected LdapContext configurationContainerContext = null;
protected LdapContext userContainerContext = null;
protected Map<EDataObject, String> dataObjectToRelativeDNCache = null;
public void tearDown() throws NamingException, Exception
{
rootContext.destroySubcontext(userDataObjectRDN);
EObjectClassDestroyer.
destroy(
metaContext,
ecoreAttributeTypesContext,
ecoreObjectClassesContext,
userEClass,
TUSCANY_OID_PREFIX_VALUE );
super.tearDown();
}
public void setUp() throws Exception
{
FileUtils.deleteDirectory(new File("server-work"));
dataObjectToRelativeDNCache =
new Hashtable<EDataObject, String>();
super.setUp();
userAuthorizationEReference.
setEType(authorizationEClass);
userConfigurationEReference.
setEType(configurationEClass);
configurationAuthorizationEReference.
setEType(authorizationEClass);
configurationAuthorizationsEReference.
setEType(authorizationEClass);
userEClass.
getEStructuralFeatures().
add( userNameEAttribute );
userEClass.
getEStructuralFeatures().
add( userAliasesEAttribute );
userEClass.
getEStructuralFeatures().
add( userPasswordEAttribute );
userEClass.
getEStructuralFeatures().
add( userAgeEAttribute );
userEClass.
getEStructuralFeatures().
add( userHeightEAttribute );
userEClass.
getEStructuralFeatures().
add( userIsMaleEAttribute );
userEClass.
getEStructuralFeatures().
add( userIDEAttribute );
userEClass.
getEStructuralFeatures().
add( userAuthorizationEReference );
userEClass.
getEStructuralFeatures().
add( userConfigurationEReference );
userEPackage.getEClassifiers().add(userEClass);
userDataObject =
(EDataObject)
userEFactory.create(userEClass);
userDataObject.eSet(userNameEAttribute,"ole");
userDataObject.eSet(userPasswordEAttribute,"secret");
userDataObject.eSet(userIDEAttribute, "1");
userDataObject.eSet(userAgeEAttribute, 33);
userDataObject.eSet(userHeightEAttribute, 6.11);
userDataObject.eSet(userIsMaleEAttribute, true);
EList<String> userAliases = new BasicEList<String>();
userAliases.add("neo");
userAliases.add("trinity");
userAliases.add("morpheus");
userDataObject.eSet( userAliasesEAttribute, userAliases );
authorizationEClass.
getEStructuralFeatures().
add(authorizationFileEAttribute);
authorizationEClass.
getEStructuralFeatures().
add(authorizationWriteEAttribute);
authorizationEClass.
getEStructuralFeatures().
add(authorizationReadEAttribute);
authorizationEClass.
getEStructuralFeatures().
add(authorizationExecuteEAttribute);
authorizationEClass.
getEStructuralFeatures().
add(authorizationIDEAttribute);
userEPackage.getEClassifiers().
add(authorizationEClass);
authorizationDataObject0 =
(EDataObject)
userEFactory.create(authorizationEClass);
authorizationDataObject1 =
(EDataObject)
userEFactory.create(authorizationEClass);
authorizationDataObject0.eSet(authorizationFileEAttribute,"somefile.text");
authorizationDataObject0.eSet(authorizationWriteEAttribute, true);
authorizationDataObject0.eSet(authorizationReadEAttribute,true);
authorizationDataObject0.eSet(authorizationExecuteEAttribute,true);
authorizationDataObject0.eSet(authorizationIDEAttribute, "2");
authorizationDataObject1.eSet(authorizationFileEAttribute,"someOtherfile.text");
authorizationDataObject1.eSet(authorizationWriteEAttribute,Boolean.TRUE);
authorizationDataObject1.eSet(authorizationReadEAttribute,true);
authorizationDataObject1.eSet(authorizationExecuteEAttribute,true);
authorizationDataObject1.eSet(authorizationIDEAttribute, "3");
EList<EDataObject> userDataObjectAuthorizationList =
new BasicEList<EDataObject>();
userDataObjectAuthorizationList.add(authorizationDataObject0);
userDataObjectAuthorizationList.add(authorizationDataObject1);
userDataObject.eSet(
userAuthorizationEReference,
userDataObjectAuthorizationList);
configurationEClass.
getEStructuralFeatures().
add(configurationIDEAttribute);
configurationEClass.
getEStructuralFeatures().
add(configurationAuthorizationEReference);
configurationEClass.
getEStructuralFeatures().
add(configurationAuthorizationsEReference);
userEPackage.getEClassifiers().
add(configurationEClass);
configurationDataObject =
(EDataObject)
userEFactory.create(configurationEClass);
userDataObject.eSet(
userConfigurationEReference,
configurationDataObject);
configurationDataObject.eSet(
configurationIDEAttribute,
"5");
configurationDataObject.eSet(
configurationAuthorizationEReference,
authorizationDataObject0);
configurationDataObject.eSet(
configurationAuthorizationsEReference,
userDataObjectAuthorizationList);
processedEClassifiers =
new ArrayList<EClass>();
eObjectClassCreator =
new EObjectClassCreator();
eObjectClassCreator.
create(
metaContext,
ecoreAttributeTypesContext,
ecoreObjectClassesContext,
userEClass,
processedEClassifiers,
TUSCANY_OID_PREFIX_VALUE );
}
}