diff options
Diffstat (limited to 'das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup')
6 files changed, 986 insertions, 0 deletions
diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/Prototype.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/Prototype.java new file mode 100644 index 0000000000..17f011e971 --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/Prototype.java @@ -0,0 +1,74 @@ +package org.apache.tuscany.das.ldap.prototype.setup; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EFactory; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcoreFactory; +import org.eclipse.emf.ecore.EcorePackage; + +public interface Prototype { + EClass userEClass = + PrototypeUtilities.createUserEClass(); + EClass authorizationEClass = + PrototypeUtilities.createAuthorizationEClass(); + EClass configurationEClass = + PrototypeUtilities.createConfigurationEClass(); + + EAttribute userNameEAttribute = + PrototypeUtilities.createUserNameEAttribute(); + EAttribute userAliasesEAttribute = + PrototypeUtilities.createUserAliasesEAttribute(); + + EAttribute userPasswordEAttribute = + PrototypeUtilities.createUserPasswordEAttribute(); + EAttribute userIDEAttribute = + PrototypeUtilities.createUserIDEAttribute(); + EAttribute userAgeEAttribute = + PrototypeUtilities.createUserAgeEAttribute(); + EAttribute userHeightEAttribute = + PrototypeUtilities.createUserHeightEAttribute(); + EAttribute userIsMaleEAttribute = + PrototypeUtilities.createUserIsMaleEAttribute(); + EReference userAuthorizationEReference = + PrototypeUtilities.createUserAuthorizationEReference(); + + EReference userConfigurationEReference = + PrototypeUtilities.createUserConfigurationEReference(); + + + + + EAttribute authorizationFileEAttribute = + PrototypeUtilities.createFileEAttribute(); + EAttribute authorizationReadEAttribute = + PrototypeUtilities.createReadAuthorizationEAttribute(); + EAttribute authorizationWriteEAttribute= + PrototypeUtilities.createWriteAuthorizationEAttribute(); + EAttribute authorizationExecuteEAttribute = + PrototypeUtilities.createExecuteAuthorizationEAttribute(); + EAttribute authorizationIDEAttribute = + PrototypeUtilities.createAuthorizationIDEAttribute(); + + EAttribute configurationIDEAttribute = + PrototypeUtilities.createConfigurationIDEAttribute(); + + EReference configurationAuthorizationEReference = + PrototypeUtilities.createConfigurationAuthorizationEReference(); + + EReference configurationAuthorizationsEReference = + PrototypeUtilities.createConfigurationAuthorizationsEReference(); + + + EPackage userEPackage = + PrototypeUtilities.createUserEPackage(); + + EFactory userEFactory = + userEPackage.getEFactoryInstance(); + + EcoreFactory ecoreFactory = + EcoreFactory.eINSTANCE; + EcorePackage ecorePackage = + EcorePackage.eINSTANCE; +} diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/PrototypeUtilities.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/PrototypeUtilities.java new file mode 100644 index 0000000000..11af604dfa --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/PrototypeUtilities.java @@ -0,0 +1,243 @@ +package org.apache.tuscany.das.ldap.prototype.setup; + +import org.apache.tuscany.das.ldap.testing.constants.DASTestingConstants; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.ETypedElement; +import org.eclipse.emf.ecore.EcoreFactory; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.sdo.impl.DynamicEDataObjectImpl; + +public class PrototypeUtilities +implements DASTestingConstants { + + /* + * The User EClass is intended to be the root of the DataGraph + * It should have a multiplicity many containment reference of type + * Authorization and a containment reference of type Configuration + * The Configuration should have a single non-containment reference + * of type Authorization. + */ + + public static EClass createUserEClass() + { + EClass userEClass = + EcoreFactory.eINSTANCE.createEClass(); + + userEClass.setName("User"); + + return userEClass; + } + + public static EAttribute createUserIDEAttribute() + { + EAttribute id = + EcoreFactory.eINSTANCE.createEAttribute(); + id.setName( "id" ); + id.setEType( EcorePackage.eINSTANCE.getEString() ); + id.setID(true); + return id; + } + + public static EAttribute createUserNameEAttribute() + { + EAttribute userName = + EcoreFactory.eINSTANCE.createEAttribute(); + userName.setName( "userName" ); + userName.setEType( EcorePackage.eINSTANCE.getEString() ); + return userName; + } + + public static EAttribute createUserAliasesEAttribute() + { + EAttribute userAliases = + EcoreFactory.eINSTANCE.createEAttribute(); + userAliases.setName( "userAliases" ); + userAliases.setLowerBound( 0 ); + userAliases.setUpperBound( -1 ); + userAliases.setEType( EcorePackage.eINSTANCE.getEString() ); + return userAliases; + } + + public static EAttribute createUserPasswordEAttribute() + { + EAttribute userPassword = + EcoreFactory.eINSTANCE.createEAttribute(); + userPassword.setName( "userPassword" ); + userPassword.setEType( EcorePackage.eINSTANCE.getEString() ); + return userPassword; + } + + public static EAttribute createUserAgeEAttribute() + { + EAttribute userAge = + EcoreFactory.eINSTANCE.createEAttribute(); + userAge.setName( "userAge" ); + userAge.setEType( EcorePackage.eINSTANCE.getEInt() ); + return userAge; + } + + public static EAttribute createUserHeightEAttribute() + { + EAttribute userHeight = + EcoreFactory.eINSTANCE.createEAttribute(); + userHeight.setName( "userHeight" ); + userHeight.setEType( EcorePackage.eINSTANCE.getEDouble() ); + return userHeight; + } + + public static EAttribute createUserIsMaleEAttribute() + { + EAttribute isMale = + EcoreFactory.eINSTANCE.createEAttribute(); + isMale.setName( "isMale" ); + isMale.setEType( EcorePackage.eINSTANCE.getEBoolean() ); + return isMale; + } + + public static EReference createUserAuthorizationEReference() + { + EReference userAuthorizationEReference = + EcoreFactory.eINSTANCE.createEReference(); + userAuthorizationEReference.setLowerBound(0); + userAuthorizationEReference.setUpperBound(ETypedElement.UNBOUNDED_MULTIPLICITY); + userAuthorizationEReference.setContainment(true); + userAuthorizationEReference.setName("authorizationList"); + + return userAuthorizationEReference; + } + + public static EReference createUserConfigurationEReference() + { + EReference userConfigurationEReference = + EcoreFactory.eINSTANCE.createEReference(); + userConfigurationEReference.setLowerBound(0); + userConfigurationEReference.setUpperBound(1); + userConfigurationEReference.setContainment(true); + userConfigurationEReference.setName("configuration"); + + return userConfigurationEReference; + } + + + public static EPackage createUserEPackage() + { + EPackage userEPackage = + EcoreFactory.eINSTANCE.createEPackage(); + userEPackage.setName( "userPackage" ); + userEPackage.setNsPrefix( "user" ); + userEPackage.setNsURI( xsdNamespace ); + + userEPackage.setEFactoryInstance( + new DynamicEDataObjectImpl.FactoryImpl()); + + return userEPackage; + } + + public static EClass createAuthorizationEClass() + { + EClass authorizationEClass = + EcoreFactory.eINSTANCE.createEClass(); + + authorizationEClass.setName("Authorization"); + + return authorizationEClass; + } + + public static EAttribute createAuthorizationIDEAttribute() + { + EAttribute id = + EcoreFactory.eINSTANCE.createEAttribute(); + id.setName( "id" ); + id.setEType( EcorePackage.eINSTANCE.getEString() ); + id.setID(true); + return id; + } + + public static EAttribute createFileEAttribute() + { + EAttribute fileNameEAttribute = + EcoreFactory.eINSTANCE.createEAttribute(); + fileNameEAttribute.setName( "fileName" ); + fileNameEAttribute.setEType( EcorePackage.eINSTANCE.getEString() ); + return fileNameEAttribute; + + } + + public static EAttribute createWriteAuthorizationEAttribute() + { + EAttribute writeAuthorizationEAttribute = + EcoreFactory.eINSTANCE.createEAttribute(); + writeAuthorizationEAttribute.setName( "writeAuthorization" ); + writeAuthorizationEAttribute.setEType( EcorePackage.eINSTANCE.getEBoolean() ); + return writeAuthorizationEAttribute; + } + + public static EAttribute createReadAuthorizationEAttribute() + { + EAttribute readAuthorizationEAttribute = + EcoreFactory.eINSTANCE.createEAttribute(); + readAuthorizationEAttribute.setName( "readAuthorization" ); + readAuthorizationEAttribute.setEType( EcorePackage.eINSTANCE.getEBoolean() ); + return readAuthorizationEAttribute; + } + + public static EAttribute createExecuteAuthorizationEAttribute() + { + EAttribute readExecuteEAttribute = + EcoreFactory.eINSTANCE.createEAttribute(); + readExecuteEAttribute.setName( "executeAuthorization" ); + readExecuteEAttribute.setEType( EcorePackage.eINSTANCE.getEBoolean() ); + return readExecuteEAttribute; + } + + + public static EClass createConfigurationEClass() + { + EClass configurationEClass = + EcoreFactory.eINSTANCE.createEClass(); + + configurationEClass.setName("Configuration"); + + return configurationEClass; + } + + public static EAttribute createConfigurationIDEAttribute() + { + EAttribute id = + EcoreFactory.eINSTANCE.createEAttribute(); + id.setName( "id" ); + id.setEType( EcorePackage.eINSTANCE.getEString() ); + id.setID(true); + return id; + } + + public static EReference createConfigurationAuthorizationEReference() + { + EReference authorizationEReference = + EcoreFactory.eINSTANCE.createEReference(); + authorizationEReference.setLowerBound(0); + authorizationEReference.setUpperBound(1); + authorizationEReference.setContainment(false); + //authorizationEReference.setEType(createAuthorizationEClass()); Do this in the testing code. + authorizationEReference.setName("authorization"); + + return authorizationEReference; + } + + public static EReference createConfigurationAuthorizationsEReference() + { + EReference authorizationsEReference = + EcoreFactory.eINSTANCE.createEReference(); + authorizationsEReference.setLowerBound(0); + authorizationsEReference.setUpperBound(ETypedElement.UNBOUNDED_MULTIPLICITY); + authorizationsEReference.setContainment(false); + //authorizationEReference.setEType(createAuthorizationEClass()); Do this in the testing code. + authorizationsEReference.setName("authorizations"); + + return authorizationsEReference; + } + +} diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/CommonSetupTest.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/CommonSetupTest.java new file mode 100644 index 0000000000..9b7673efe6 --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/CommonSetupTest.java @@ -0,0 +1,264 @@ +/* + * 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 ); + } +}
\ No newline at end of file diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataGraphSetupTest.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataGraphSetupTest.java new file mode 100644 index 0000000000..c05db9f7e2 --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataGraphSetupTest.java @@ -0,0 +1,138 @@ +/* + * 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 javax.naming.NamingException; + +import javax.naming.ldap.LdapContext; + +import org.apache.tuscany.das.ldap.emf.create.EDataGraphCreator; +import org.apache.tuscany.das.ldap.schema.emf.destroy.EObjectClassDestroyer; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.sdo.EDataGraph; +import org.eclipse.emf.ecore.sdo.SDOFactory; +import org.eclipse.emf.ecore.xmi.impl.XMLResourceFactoryImpl; + +public class EDataGraphSetupTest +extends CommonSetupTest +{ + protected EDataGraph eDataGraph = null; + protected boolean readException = false; + + public void tearDown() throws NamingException, Exception + { + if (dataObjectToRelativeDNCache.containsValue(authorizationDataObject1RDN) + || readException) + { + rootContext.destroySubcontext(authorizationDataObject1RDN); + } + if (dataObjectToRelativeDNCache.containsValue(authorizationDataObject2RDN) + || readException) + { + rootContext.destroySubcontext(authorizationDataObject2RDN); + } + if (dataObjectToRelativeDNCache.containsValue(configurationDataObjectRDN) + || readException) + { + rootContext.destroySubcontext(configurationDataObjectRDN); + } + userContainerContext.destroySubcontext(configurationContainingFeatureRDN); + + userContainerContext.destroySubcontext(authorizationListContainingFeatureRDN); + + EObjectClassDestroyer. + destroy( + metaContext, + ecoreAttributeTypesContext, + ecoreObjectClassesContext, + authorizationEClass, + TUSCANY_OID_PREFIX_VALUE ); + + EObjectClassDestroyer. + destroy( + metaContext, + ecoreAttributeTypesContext, + ecoreObjectClassesContext, + configurationEClass, + TUSCANY_OID_PREFIX_VALUE ); + + super.tearDown(); + } + + public void setUp() throws Exception + { + super.setUp(); + + eObjectClassCreator. + create( + metaContext, + ecoreAttributeTypesContext, + ecoreObjectClassesContext, + authorizationEClass, + processedEClassifiers, + TUSCANY_OID_PREFIX_VALUE ); + + eObjectClassCreator. + create( + metaContext, + ecoreAttributeTypesContext, + ecoreObjectClassesContext, + configurationEClass, + processedEClassifiers, + TUSCANY_OID_PREFIX_VALUE ); + + eDataGraph = + SDOFactory. + eINSTANCE. + createEDataGraph(); + + eDataGraph.setERootObject(userDataObject); + + ResourceSet resourceSet = new ResourceSetImpl(); + resourceSet.getResourceFactoryRegistry(). + getExtensionToFactoryMap().put + ("xml", + new XMLResourceFactoryImpl()); + + eDataGraph.setResourceSet(resourceSet); + + EDataGraphCreator.create( + eDataGraph, + rootContext, + dataObjectToRelativeDNCache); + + userContainerContext = + (LdapContext) + rootContext. + lookup(userDataObjectRDN); + + authorizationContainerContext = + (LdapContext) + userContainerContext. + lookup(authorizationListContainingFeatureRDN); + + configurationContainerContext = + (LdapContext) + userContainerContext. + lookup(configurationContainingFeatureRDN); + + } +}
\ No newline at end of file diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataObjectSetupTest.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataObjectSetupTest.java new file mode 100644 index 0000000000..4c91f34e07 --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/EDataObjectSetupTest.java @@ -0,0 +1,49 @@ +/* + * 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 javax.naming.NamingException; +import javax.naming.ldap.LdapContext; + +import org.apache.tuscany.das.ldap.emf.create.EDataObjectCreator; + +public class EDataObjectSetupTest +extends CommonSetupTest +{ + public void tearDown() throws NamingException, Exception + { + super.tearDown(); + } + + public void setUp() throws Exception + { + super.setUp(); + + EDataObjectCreator.create( + userDataObject, + rootContext, + dataObjectToRelativeDNCache); + + userContainerContext = + (LdapContext) + rootContext. + lookup(userDataObjectRDN); + } +}
\ No newline at end of file diff --git a/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/LdapDASSetupTest.java b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/LdapDASSetupTest.java new file mode 100644 index 0000000000..3225868ffe --- /dev/null +++ b/das-java/contrib/ldap/das.ldap/src/main/java/org/apache/tuscany/das/ldap/prototype/setup/test/LdapDASSetupTest.java @@ -0,0 +1,218 @@ +/* + * 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.Hashtable; +import java.util.Map; + +import javax.naming.NamingException; + +import junit.framework.TestCase; + +import org.apache.commons.io.FileUtils; +import org.apache.tuscany.das.ldap.prototype.setup.Prototype; +import org.eclipse.emf.common.util.BasicEList; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.sdo.EDataGraph; +import org.eclipse.emf.ecore.sdo.EDataObject; +import org.eclipse.emf.ecore.sdo.SDOFactory; + +public class LdapDASSetupTest +extends TestCase +implements Prototype +{ + protected Map<EDataObject, String> dataObjectToRelativeDNCache = null; + protected EDataGraph eDataGraph = null; + protected EDataObject userDataObject = null; + protected EDataObject authorizationDataObject0 = null; + protected EDataObject authorizationDataObject1 = null; + protected EDataObject configurationDataObject = null; + + public void tearDown() throws NamingException, Exception + { + FileUtils.deleteDirectory(new File("server-work")); + } + + public void setUp() throws Exception + { + dataObjectToRelativeDNCache = + new Hashtable<EDataObject, String>(); + + 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); + + + eDataGraph = + SDOFactory. + eINSTANCE. + createEDataGraph(); + + eDataGraph.setERootObject(userDataObject); + + } +}
\ No newline at end of file |