Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControl.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagement.java)6
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControlRegHandler.java (renamed from plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagementRegHandler.java)8
-rw-r--r--plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsPlugin.java2
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/InternalAccessTestSuite.java4
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessProviderTest.java10
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessTestSuite.java5
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessControlProviderTest.java (renamed from plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/ConfigurationManagementProviderTest.java)20
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessProviderTest.java99
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessTestSuite.java25
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagement.java4
-rw-r--r--plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagementProvider.java12
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/Activator.java4
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProvider.java18
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProviderRegistrationHandler.java20
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java (renamed from plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/ConfigurationManagementProviderImpl.java)18
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java70
-rw-r--r--plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderRegistrationHandler.java92
17 files changed, 351 insertions, 66 deletions
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagement.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControl.java
index 361cb38ccc2..a79c1311714 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagement.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControl.java
@@ -15,16 +15,16 @@ import org.eclipse.osee.framework.core.data.AccessContextId;
import org.eclipse.osee.framework.core.model.IBasicArtifact;
import org.eclipse.osee.framework.core.model.access.AccessModel;
import org.eclipse.osee.framework.core.model.access.HasAccessModel;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
/**
* @author Roberto E. Escobar
*/
-public class AtsConfigurationManagement implements ConfigurationManagement, HasAccessModel {
+public class AtsCmAccessControl implements CmAccessControl, HasAccessModel {
private final AccessModel accessModel;
- public AtsConfigurationManagement(AccessModel accessModel) {
+ public AtsCmAccessControl(AccessModel accessModel) {
this.accessModel = accessModel;
}
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagementRegHandler.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControlRegHandler.java
index f629c51724e..41ddb8d3ee7 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsConfigurationManagementRegHandler.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsCmAccessControlRegHandler.java
@@ -15,7 +15,7 @@ import org.eclipse.osee.framework.core.dsl.integration.AccessModelInterpreter;
import org.eclipse.osee.framework.core.dsl.integration.OseeDslAccessModel;
import org.eclipse.osee.framework.core.dsl.integration.OseeDslProvider;
import org.eclipse.osee.framework.core.model.access.AccessModel;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
import org.eclipse.osee.framework.core.util.AbstractTrackingHandler;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceRegistration;
@@ -23,7 +23,7 @@ import org.osgi.framework.ServiceRegistration;
/**
* @author Roberto E. Escobar
*/
-public class AtsConfigurationManagementRegHandler extends AbstractTrackingHandler {
+public class AtsCmAccessControlRegHandler extends AbstractTrackingHandler {
private static final Class<?>[] SERVICE_DEPENDENCIES = new Class<?>[] {//
AccessModelInterpreter.class, //
@@ -41,8 +41,8 @@ public class AtsConfigurationManagementRegHandler extends AbstractTrackingHandle
AccessModelInterpreter interpreter = getService(AccessModelInterpreter.class, services);
OseeDslProvider dslProvider = new AtsAccessOseeDslProvider();
AccessModel accessModel = new OseeDslAccessModel(interpreter, dslProvider);
- ConfigurationManagement cmService = new AtsConfigurationManagement(accessModel);
- registration = context.registerService(ConfigurationManagement.class.getName(), cmService, null);
+ CmAccessControl cmService = new AtsCmAccessControl(accessModel);
+ registration = context.registerService(CmAccessControl.class.getName(), cmService, null);
}
@Override
diff --git a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsPlugin.java b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsPlugin.java
index c8a279bea52..48df416d79b 100644
--- a/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsPlugin.java
+++ b/plugins/org.eclipse.osee.ats/src/org/eclipse/osee/ats/internal/AtsPlugin.java
@@ -51,7 +51,7 @@ public class AtsPlugin extends OseeUiActivator {
context.registerService(IActionReportingService.class.getName(), new AtsActionReportingServiceImpl(), null);
service2 = context.registerService(IOseeAtsService.class.getName(), new OseeAtsServiceImpl(), null);
- tracker = new ServiceDependencyTracker(context, new AtsConfigurationManagementRegHandler());
+ tracker = new ServiceDependencyTracker(context, new AtsCmAccessControlRegHandler());
tracker.open();
}
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/InternalAccessTestSuite.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/InternalAccessTestSuite.java
index 02e5dca2589..ab8639ebf16 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/InternalAccessTestSuite.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/InternalAccessTestSuite.java
@@ -10,13 +10,13 @@
*******************************************************************************/
package org.eclipse.osee.framework.access.test.internal;
-import org.eclipse.osee.framework.access.test.internal.cm.CMAccessTestSuite;
+import org.eclipse.osee.framework.access.test.internal.cm.CmAccessTestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ //
-CMAccessTestSuite.class, //
+CmAccessTestSuite.class, //
OnEditOperationTest.class, //
})
public class InternalAccessTestSuite {
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessProviderTest.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessProviderTest.java
index 8ce25a184e6..899e9431fd5 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessProviderTest.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessProviderTest.java
@@ -14,7 +14,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import org.eclipse.osee.framework.access.IAccessProvider;
-import org.eclipse.osee.framework.access.internal.cm.CMAccessProvider;
+import org.eclipse.osee.framework.access.internal.cm.CmAccessProvider;
import org.eclipse.osee.framework.access.test.mocks.MockCMWithAccessModel;
import org.eclipse.osee.framework.access.test.mocks.MockConfigurationManagementProvider;
import org.eclipse.osee.framework.core.data.AccessContextId;
@@ -30,11 +30,11 @@ import org.junit.BeforeClass;
import org.junit.Test;
/**
- * Test Case for {@link CMAccessProvider}
+ * Test Case for {@link CmAccessProvider}
*
* @author Roberto E. Escobar
*/
-public class CMAccessProviderTest {
+public class CmAccessProviderTest {
private static IBasicArtifact<?> expectedUser;
private static Object expectedObject;
private static AccessContextId contextId1;
@@ -52,7 +52,7 @@ public class CMAccessProviderTest {
objects.add(expectedObject);
MockConfigurationManagementProvider cmProvider =
new MockConfigurationManagementProvider(expectedUser, expectedObject, null);
- IAccessProvider accessProvider = new CMAccessProvider(cmProvider);
+ IAccessProvider accessProvider = new CmAccessProvider(cmProvider);
AccessData accessData = new AccessData();
accessProvider.computeAccess(expectedUser, objects, accessData);
@@ -68,7 +68,7 @@ public class CMAccessProviderTest {
objects.add(expectedObject);
MockConfigurationManagementProvider cmProvider =
new MockConfigurationManagementProvider(expectedUser, expectedObject, cm);
- IAccessProvider accessProvider = new CMAccessProvider(cmProvider);
+ IAccessProvider accessProvider = new CmAccessProvider(cmProvider);
AccessData accessData = new AccessData();
accessProvider.computeAccess(expectedUser, objects, accessData);
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessTestSuite.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessTestSuite.java
index ba349a18f19..817a92ddb67 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessTestSuite.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CMAccessTestSuite.java
@@ -15,12 +15,11 @@ import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({ //
-CMAccessProviderTest.class, //
- ConfigurationManagementProviderTest.class, //
+CmAccessProviderTest.class, //
})
/**
* @author Roberto E. Escobar
*/
-public class CMAccessTestSuite {
+public class CmAccessTestSuite {
// Test Suite Class
}
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/ConfigurationManagementProviderTest.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessControlProviderTest.java
index 572228a9133..6e6ca09f750 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/ConfigurationManagementProviderTest.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessControlProviderTest.java
@@ -12,24 +12,24 @@ package org.eclipse.osee.framework.access.test.internal.cm;
import java.util.Collection;
import java.util.HashSet;
-import org.eclipse.osee.framework.access.internal.cm.ConfigurationManagementProviderImpl;
+import org.eclipse.osee.framework.access.internal.cm.CmAccessControlProviderImpl;
import org.eclipse.osee.framework.access.test.mocks.MockConfigurationManagement;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.core.model.IBasicArtifact;
import org.eclipse.osee.framework.core.model.test.mocks.MockDataFactory;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
-import org.eclipse.osee.framework.core.services.ConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
- * Test Case for {@link ConfigurationManagementProvider}{@link ConfigurationManagementProviderImpl}
+ * Test Case for {@link CmAccessControlProvider}{@link CmAccessControlProviderImpl}
*
* @author Roberto E. Escobar
*/
-public class ConfigurationManagementProviderTest {
+public class CmAccessControlProviderTest {
private IBasicArtifact<?> user;
private Object objectToCheck;
@@ -66,14 +66,14 @@ public class ConfigurationManagementProviderTest {
}
private static void assertCMProvider(IBasicArtifact<?> user, Object objectToCheck, MockConfigurationManagement expectedCM, MockConfigurationManagement... extraCms) throws OseeCoreException {
- Collection<ConfigurationManagement> cmServices = new HashSet<ConfigurationManagement>();
- for (ConfigurationManagement extraCm : extraCms) {
+ Collection<CmAccessControl> cmServices = new HashSet<CmAccessControl>();
+ for (CmAccessControl extraCm : extraCms) {
cmServices.add(extraCm);
}
- ConfigurationManagementProvider provider = new ConfigurationManagementProviderImpl(cmServices);
- ConfigurationManagement actualCM = provider.getCmService(user, objectToCheck);
+ CmAccessControlProvider provider = new CmAccessControlProviderImpl(cmServices);
+ CmAccessControl actualCM = provider.getService(user, objectToCheck);
Assert.assertEquals(expectedCM, actualCM);
- for (ConfigurationManagement cmService : cmServices) {
+ for (CmAccessControl cmService : cmServices) {
MockConfigurationManagement cm = (MockConfigurationManagement) cmService;
Assert.assertTrue(cm.wasIsApplicableCalled());
}
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessProviderTest.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessProviderTest.java
new file mode 100644
index 00000000000..899e9431fd5
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessProviderTest.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.access.test.internal.cm;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import org.eclipse.osee.framework.access.IAccessProvider;
+import org.eclipse.osee.framework.access.internal.cm.CmAccessProvider;
+import org.eclipse.osee.framework.access.test.mocks.MockCMWithAccessModel;
+import org.eclipse.osee.framework.access.test.mocks.MockConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.data.AccessContextId;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.IBasicArtifact;
+import org.eclipse.osee.framework.core.model.access.AccessData;
+import org.eclipse.osee.framework.core.model.access.AccessModel;
+import org.eclipse.osee.framework.core.model.test.mocks.MockDataFactory;
+import org.eclipse.osee.framework.jdk.core.util.Compare;
+import org.eclipse.osee.framework.jdk.core.util.GUID;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * Test Case for {@link CmAccessProvider}
+ *
+ * @author Roberto E. Escobar
+ */
+public class CmAccessProviderTest {
+ private static IBasicArtifact<?> expectedUser;
+ private static Object expectedObject;
+ private static AccessContextId contextId1;
+
+ @BeforeClass
+ public static void setup() {
+ expectedUser = MockDataFactory.createArtifact(13);
+ expectedObject = new Object();
+ contextId1 = MockDataFactory.createAccessContextId(GUID.create(), "context1");
+ }
+
+ @Test
+ public void testCmProviderReturnsNull() throws OseeCoreException {
+ Collection<Object> objects = new ArrayList<Object>();
+ objects.add(expectedObject);
+ MockConfigurationManagementProvider cmProvider =
+ new MockConfigurationManagementProvider(expectedUser, expectedObject, null);
+ IAccessProvider accessProvider = new CmAccessProvider(cmProvider);
+
+ AccessData accessData = new AccessData();
+ accessProvider.computeAccess(expectedUser, objects, accessData);
+ Assert.assertTrue(cmProvider.wasGetCMCalled());
+ }
+
+ @Test
+ public void testCmProvider() throws OseeCoreException {
+ MockAccessModel accessModel = new MockAccessModel();
+ MockCMWithAccessModel cm =
+ new MockCMWithAccessModel(accessModel, expectedUser, expectedObject, false, Collections.singleton(contextId1));
+ Collection<Object> objects = new ArrayList<Object>();
+ objects.add(expectedObject);
+ MockConfigurationManagementProvider cmProvider =
+ new MockConfigurationManagementProvider(expectedUser, expectedObject, cm);
+ IAccessProvider accessProvider = new CmAccessProvider(cmProvider);
+
+ AccessData accessData = new AccessData();
+ accessProvider.computeAccess(expectedUser, objects, accessData);
+ Assert.assertTrue(cmProvider.wasGetCMCalled());
+
+ Assert.assertTrue(accessModel.wasComputeAccessCalled);
+ Assert.assertEquals(contextId1, accessModel.contextId);
+ Assert.assertTrue(!Compare.isDifferent(objects, accessModel.objectsToCheck));
+ Assert.assertEquals(accessData, accessModel.accessData);
+ }
+
+ private final class MockAccessModel implements AccessModel {
+
+ protected boolean wasComputeAccessCalled;
+ protected AccessContextId contextId;
+ protected Collection<Object> objectsToCheck;
+ protected AccessData accessData;
+
+ @Override
+ public void computeAccess(AccessContextId contextId, Collection<Object> objectsToCheck, AccessData accessData) {
+ wasComputeAccessCalled = true;
+ this.contextId = contextId;
+ this.objectsToCheck = objectsToCheck;
+ this.accessData = accessData;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessTestSuite.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessTestSuite.java
new file mode 100644
index 00000000000..817a92ddb67
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/internal/cm/CmAccessTestSuite.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.access.test.internal.cm;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+
+@RunWith(Suite.class)
+@Suite.SuiteClasses({ //
+CmAccessProviderTest.class, //
+})
+/**
+ * @author Roberto E. Escobar
+ */
+public class CmAccessTestSuite {
+ // Test Suite Class
+}
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagement.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagement.java
index ad1b7342b3e..d3d2542a3e5 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagement.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagement.java
@@ -13,13 +13,13 @@ package org.eclipse.osee.framework.access.test.mocks;
import java.util.Collection;
import org.eclipse.osee.framework.core.data.AccessContextId;
import org.eclipse.osee.framework.core.model.IBasicArtifact;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
import org.junit.Assert;
/**
* @author Roberto E. Escobar
*/
-public class MockConfigurationManagement implements ConfigurationManagement {
+public class MockConfigurationManagement implements CmAccessControl {
private final IBasicArtifact<?> expectedUser;
private final Object expectedObject;
diff --git a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagementProvider.java b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagementProvider.java
index 6643b3f3dc7..2e98b8940eb 100644
--- a/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagementProvider.java
+++ b/plugins/org.eclipse.osee.framework.access.test/src/org/eclipse/osee/framework/access/test/mocks/MockConfigurationManagementProvider.java
@@ -11,20 +11,20 @@
package org.eclipse.osee.framework.access.test.mocks;
import org.eclipse.osee.framework.core.model.IBasicArtifact;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
-import org.eclipse.osee.framework.core.services.ConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
import org.junit.Assert;
/**
* @author Roberto E. Escobar
*/
-public class MockConfigurationManagementProvider implements ConfigurationManagementProvider {
+public class MockConfigurationManagementProvider implements CmAccessControlProvider {
private final IBasicArtifact<?> expectedUser;
private final Object expectedObject;
- private final ConfigurationManagement cmToReturn;
+ private final CmAccessControl cmToReturn;
private boolean wasGetCMCalled;
- public MockConfigurationManagementProvider(IBasicArtifact<?> expectedUser, Object expectedObject, ConfigurationManagement cmToReturn) {
+ public MockConfigurationManagementProvider(IBasicArtifact<?> expectedUser, Object expectedObject, CmAccessControl cmToReturn) {
super();
this.expectedUser = expectedUser;
this.expectedObject = expectedObject;
@@ -32,7 +32,7 @@ public class MockConfigurationManagementProvider implements ConfigurationManagem
}
@Override
- public ConfigurationManagement getCmService(IBasicArtifact<?> user, Object object) {
+ public CmAccessControl getService(IBasicArtifact<?> user, Object object) {
wasGetCMCalled = true;
Assert.assertEquals(expectedUser, user);
Assert.assertEquals(expectedObject, object);
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/Activator.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/Activator.java
index 59f34ee2338..8b9b8c793d3 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/Activator.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/Activator.java
@@ -12,7 +12,7 @@ package org.eclipse.osee.framework.access.internal;
import java.util.ArrayList;
import java.util.Collection;
-import org.eclipse.osee.framework.access.internal.cm.CMAccessProviderRegistrationHandler;
+import org.eclipse.osee.framework.access.internal.cm.CmAccessProviderRegistrationHandler;
import org.eclipse.osee.framework.core.util.ServiceDependencyTracker;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.osgi.framework.BundleActivator;
@@ -31,7 +31,7 @@ public class Activator implements BundleActivator {
handler = new AccessControlServiceRegHandler();
trackers.add(new ServiceDependencyTracker(context, handler));
trackers.add(new ServiceDependencyTracker(context, new ObjectAccessProviderRegistrationHandler()));
- trackers.add(new ServiceDependencyTracker(context, new CMAccessProviderRegistrationHandler()));
+ trackers.add(new ServiceDependencyTracker(context, new CmAccessProviderRegistrationHandler()));
for (ServiceDependencyTracker tracker : trackers) {
tracker.open();
}
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProvider.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProvider.java
index cdceaf0b5d0..3ee12df8451 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProvider.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProvider.java
@@ -21,28 +21,28 @@ import org.eclipse.osee.framework.core.model.IBasicArtifact;
import org.eclipse.osee.framework.core.model.access.AccessData;
import org.eclipse.osee.framework.core.model.access.AccessModel;
import org.eclipse.osee.framework.core.model.access.HasAccessModel;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
-import org.eclipse.osee.framework.core.services.ConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
import org.eclipse.osee.framework.jdk.core.type.DoubleKeyHashMap;
/**
* @author Roberto E. Escobar
*/
-public class CMAccessProvider implements IAccessProvider {
+public class CmAccessProvider implements IAccessProvider {
- private final ConfigurationManagementProvider provider;
+ private final CmAccessControlProvider provider;
- public CMAccessProvider(ConfigurationManagementProvider provider) {
+ public CmAccessProvider(CmAccessControlProvider provider) {
this.provider = provider;
}
@Override
public void computeAccess(IBasicArtifact<?> userArtifact, Collection<?> objToChecks, AccessData accessData) throws OseeCoreException {
- DoubleKeyHashMap<ConfigurationManagement, AccessContextId, Collection<Object>> cmToCheckObjects =
- new DoubleKeyHashMap<ConfigurationManagement, AccessContextId, Collection<Object>>();
+ DoubleKeyHashMap<CmAccessControl, AccessContextId, Collection<Object>> cmToCheckObjects =
+ new DoubleKeyHashMap<CmAccessControl, AccessContextId, Collection<Object>>();
for (Object objectToCheck : objToChecks) {
- ConfigurationManagement management = provider.getCmService(userArtifact, objectToCheck);
+ CmAccessControl management = provider.getService(userArtifact, objectToCheck);
if (management instanceof HasAccessModel) {
Collection<AccessContextId> contextIds = management.getContextId(userArtifact, objectToCheck);
for (AccessContextId contextId : contextIds) {
@@ -56,7 +56,7 @@ public class CMAccessProvider implements IAccessProvider {
}
}
- for (ConfigurationManagement cm : cmToCheckObjects.getKeySetOne()) {
+ for (CmAccessControl cm : cmToCheckObjects.getKeySetOne()) {
AccessModel accessModel = ((HasAccessModel) cm).getAccessModel();
Map<AccessContextId, Collection<Object>> sub = cmToCheckObjects.getSubHash(cm);
for (Entry<AccessContextId, Collection<Object>> entry : sub.entrySet()) {
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProviderRegistrationHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProviderRegistrationHandler.java
index fa8d3c830ca..7caca9ca9c2 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProviderRegistrationHandler.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CMAccessProviderRegistrationHandler.java
@@ -19,8 +19,8 @@ import org.eclipse.osee.framework.access.IAccessProvider;
import org.eclipse.osee.framework.access.internal.AccessProviderVisitor;
import org.eclipse.osee.framework.access.internal.Activator;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
-import org.eclipse.osee.framework.core.services.ConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
import org.eclipse.osee.framework.core.services.IAccessControlService;
import org.eclipse.osee.framework.core.util.AbstractTrackingHandler;
import org.eclipse.osee.framework.core.util.ServiceBindType;
@@ -31,17 +31,17 @@ import org.osgi.framework.BundleContext;
/**
* @author Roberto E. Escobar
*/
-public final class CMAccessProviderRegistrationHandler extends AbstractTrackingHandler {
+public final class CmAccessProviderRegistrationHandler extends AbstractTrackingHandler {
private final Map<Class<?>, ServiceBindType> dependencyMap = new LinkedHashMap<Class<?>, ServiceBindType>();
- private final Collection<ConfigurationManagement> cmServices = new CopyOnWriteArraySet<ConfigurationManagement>();
+ private final Collection<CmAccessControl> cmServices = new CopyOnWriteArraySet<CmAccessControl>();
private IAccessProvider accessProvider;
private ILifecycleService service;
- public CMAccessProviderRegistrationHandler() {
+ public CmAccessProviderRegistrationHandler() {
dependencyMap.put(ILifecycleService.class, ServiceBindType.SINGLETON);
dependencyMap.put(IAccessControlService.class, ServiceBindType.SINGLETON);
- dependencyMap.put(ConfigurationManagement.class, ServiceBindType.MANY);
+ dependencyMap.put(CmAccessControl.class, ServiceBindType.MANY);
}
@Override
@@ -57,11 +57,11 @@ public final class CMAccessProviderRegistrationHandler extends AbstractTrackingH
@Override
public void onActivate(BundleContext context, Map<Class<?>, Object> services) {
service = getService(ILifecycleService.class, services);
- ConfigurationManagement cm = getService(ConfigurationManagement.class, services);
+ CmAccessControl cm = getService(CmAccessControl.class, services);
cmServices.add(cm);
try {
- ConfigurationManagementProvider cmProvider = new ConfigurationManagementProviderImpl(cmServices);
- accessProvider = new CMAccessProvider(cmProvider);
+ CmAccessControlProvider cmProvider = new CmAccessControlProviderImpl(cmServices);
+ accessProvider = new CmAccessProvider(cmProvider);
service.addHandler(AccessProviderVisitor.TYPE, accessProvider);
} catch (OseeCoreException ex) {
OseeLog.log(Activator.class, Level.SEVERE, ex);
@@ -70,7 +70,7 @@ public final class CMAccessProviderRegistrationHandler extends AbstractTrackingH
@Override
public void onServiceAdded(BundleContext context, Class<?> clazz, Object service) {
- cmServices.add((ConfigurationManagement) service);
+ cmServices.add((CmAccessControl) service);
}
@Override
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/ConfigurationManagementProviderImpl.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java
index 47026a66e07..ee1276b0a68 100644
--- a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/ConfigurationManagementProviderImpl.java
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessControlProviderImpl.java
@@ -15,35 +15,35 @@ import java.util.Collection;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.core.model.IBasicArtifact;
-import org.eclipse.osee.framework.core.services.ConfigurationManagement;
-import org.eclipse.osee.framework.core.services.ConfigurationManagementProvider;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
/**
* @author Roberto E. Escobar
*/
-public class ConfigurationManagementProviderImpl implements ConfigurationManagementProvider {
+public class CmAccessControlProviderImpl implements CmAccessControlProvider {
- private final Collection<ConfigurationManagement> cmServices;
+ private final Collection<CmAccessControl> cmServices;
- public ConfigurationManagementProviderImpl(Collection<ConfigurationManagement> cmServices) {
+ public CmAccessControlProviderImpl(Collection<CmAccessControl> cmServices) {
this.cmServices = cmServices;
}
@Override
- public ConfigurationManagement getCmService(IBasicArtifact<?> userArtifact, Object object) throws OseeCoreException {
- Collection<ConfigurationManagement> applicableCms = new ArrayList<ConfigurationManagement>();
+ public CmAccessControl getService(IBasicArtifact<?> userArtifact, Object object) throws OseeCoreException {
+ Collection<CmAccessControl> applicableCms = new ArrayList<CmAccessControl>();
// if (object instanceof HasConfigurationManagement) {
// HasConfigurationManagement cmContainer = (HasConfigurationManagement) object;
// cmToReturn = cmContainer.getCM();
// } else {
- for (ConfigurationManagement cmService : cmServices) {
+ for (CmAccessControl cmService : cmServices) {
// if (!cmService.equals(defaultCM)) {
if (cmService.isApplicable(userArtifact, object)) {
applicableCms.add(cmService);
}
// }
}
- ConfigurationManagement cmToReturn;
+ CmAccessControl cmToReturn;
if (applicableCms.isEmpty()) {
cmToReturn = null;
} else if (applicableCms.size() == 1) {
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java
new file mode 100644
index 00000000000..3ee12df8451
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProvider.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.access.internal.cm;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Map.Entry;
+import org.eclipse.osee.framework.access.IAccessProvider;
+import org.eclipse.osee.framework.core.data.AccessContextId;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.IBasicArtifact;
+import org.eclipse.osee.framework.core.model.access.AccessData;
+import org.eclipse.osee.framework.core.model.access.AccessModel;
+import org.eclipse.osee.framework.core.model.access.HasAccessModel;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
+import org.eclipse.osee.framework.jdk.core.type.DoubleKeyHashMap;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class CmAccessProvider implements IAccessProvider {
+
+ private final CmAccessControlProvider provider;
+
+ public CmAccessProvider(CmAccessControlProvider provider) {
+ this.provider = provider;
+ }
+
+ @Override
+ public void computeAccess(IBasicArtifact<?> userArtifact, Collection<?> objToChecks, AccessData accessData) throws OseeCoreException {
+ DoubleKeyHashMap<CmAccessControl, AccessContextId, Collection<Object>> cmToCheckObjects =
+ new DoubleKeyHashMap<CmAccessControl, AccessContextId, Collection<Object>>();
+
+ for (Object objectToCheck : objToChecks) {
+ CmAccessControl management = provider.getService(userArtifact, objectToCheck);
+ if (management instanceof HasAccessModel) {
+ Collection<AccessContextId> contextIds = management.getContextId(userArtifact, objectToCheck);
+ for (AccessContextId contextId : contextIds) {
+ Collection<Object> entries = cmToCheckObjects.get(management, contextId);
+ if (entries == null) {
+ entries = new HashSet<Object>();
+ cmToCheckObjects.put(management, contextId, entries);
+ }
+ entries.add(objectToCheck);
+ }
+ }
+ }
+
+ for (CmAccessControl cm : cmToCheckObjects.getKeySetOne()) {
+ AccessModel accessModel = ((HasAccessModel) cm).getAccessModel();
+ Map<AccessContextId, Collection<Object>> sub = cmToCheckObjects.getSubHash(cm);
+ for (Entry<AccessContextId, Collection<Object>> entry : sub.entrySet()) {
+ AccessContextId contextId = entry.getKey();
+ Collection<Object> objectsToCheck = entry.getValue();
+
+ accessModel.computeAccess(contextId, objectsToCheck, accessData);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderRegistrationHandler.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderRegistrationHandler.java
new file mode 100644
index 00000000000..7caca9ca9c2
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/cm/CmAccessProviderRegistrationHandler.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.access.internal.cm;
+
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.logging.Level;
+import org.eclipse.osee.framework.access.IAccessProvider;
+import org.eclipse.osee.framework.access.internal.AccessProviderVisitor;
+import org.eclipse.osee.framework.access.internal.Activator;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.services.CmAccessControl;
+import org.eclipse.osee.framework.core.services.CmAccessControlProvider;
+import org.eclipse.osee.framework.core.services.IAccessControlService;
+import org.eclipse.osee.framework.core.util.AbstractTrackingHandler;
+import org.eclipse.osee.framework.core.util.ServiceBindType;
+import org.eclipse.osee.framework.lifecycle.ILifecycleService;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class CmAccessProviderRegistrationHandler extends AbstractTrackingHandler {
+
+ private final Map<Class<?>, ServiceBindType> dependencyMap = new LinkedHashMap<Class<?>, ServiceBindType>();
+ private final Collection<CmAccessControl> cmServices = new CopyOnWriteArraySet<CmAccessControl>();
+ private IAccessProvider accessProvider;
+ private ILifecycleService service;
+
+ public CmAccessProviderRegistrationHandler() {
+ dependencyMap.put(ILifecycleService.class, ServiceBindType.SINGLETON);
+ dependencyMap.put(IAccessControlService.class, ServiceBindType.SINGLETON);
+ dependencyMap.put(CmAccessControl.class, ServiceBindType.MANY);
+ }
+
+ @Override
+ public Class<?>[] getDependencies() {
+ return null;
+ }
+
+ @Override
+ public Map<Class<?>, ServiceBindType> getConfiguredDependencies() {
+ return dependencyMap;
+ }
+
+ @Override
+ public void onActivate(BundleContext context, Map<Class<?>, Object> services) {
+ service = getService(ILifecycleService.class, services);
+ CmAccessControl cm = getService(CmAccessControl.class, services);
+ cmServices.add(cm);
+ try {
+ CmAccessControlProvider cmProvider = new CmAccessControlProviderImpl(cmServices);
+ accessProvider = new CmAccessProvider(cmProvider);
+ service.addHandler(AccessProviderVisitor.TYPE, accessProvider);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ }
+
+ @Override
+ public void onServiceAdded(BundleContext context, Class<?> clazz, Object service) {
+ cmServices.add((CmAccessControl) service);
+ }
+
+ @Override
+ public void onServiceRemoved(BundleContext context, Class<?> clazz, Object service) {
+ cmServices.remove(service);
+ }
+
+ @Override
+ public void onDeActivate() {
+ cmServices.clear();
+ if (accessProvider != null) {
+ try {
+ service.removeHandler(AccessProviderVisitor.TYPE, accessProvider);
+ } catch (OseeCoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ }
+ }
+} \ No newline at end of file

Back to the top