Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjphillips2010-06-28 17:17:57 +0000
committerjphillips2010-06-28 17:17:57 +0000
commita994f5ac456a7e6979dce5b3ca07f66184728a13 (patch)
treeaa7589b7e68c2dac95218493471ebd5cc1e1443d /plugins/org.eclipse.osee.framework.lifecycle/src
parent33a2ef553957dc5a575eb6a78613939e101c487c (diff)
downloadorg.eclipse.osee-a994f5ac456a7e6979dce5b3ca07f66184728a13.tar.gz
org.eclipse.osee-a994f5ac456a7e6979dce5b3ca07f66184728a13.tar.xz
org.eclipse.osee-a994f5ac456a7e6979dce5b3ca07f66184728a13.zip
Adding check access operation to AccessControlManager
Diffstat (limited to 'plugins/org.eclipse.osee.framework.lifecycle/src')
-rw-r--r--plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerChkPoint.java42
-rw-r--r--plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerHandler.java62
2 files changed, 104 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerChkPoint.java b/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerChkPoint.java
new file mode 100644
index 00000000000..6c546dfd395
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerChkPoint.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 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.lifecycle.access;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.core.model.IBasicArtifact;
+import org.eclipse.osee.framework.lifecycle.AbstractLifecyclePoint;
+
+/**
+ * @author Jeff C. Phillips
+ */
+public class AccessManagerChkPoint extends AbstractLifecyclePoint<AccessManagerHandler> {
+
+ public static final Type<AccessManagerHandler> TYPE = new Type<AccessManagerHandler>();
+ private final IBasicArtifact<?> userArtifact;
+ private final Collection<IBasicArtifact<?>> artsToCheck;
+
+ public AccessManagerChkPoint(IBasicArtifact<?> userArtifact, Collection<IBasicArtifact<?>> artsToCheck) {
+ super();
+ this.userArtifact = userArtifact;
+ this.artsToCheck = artsToCheck;
+ }
+
+ @Override
+ protected void initializeHandlerData(AccessManagerHandler handler) {
+ handler.setData(userArtifact, artsToCheck);
+ }
+
+ @Override
+ public Type<AccessManagerHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerHandler.java b/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerHandler.java
new file mode 100644
index 00000000000..91b3cbb0bf4
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.lifecycle/src/org/eclipse/osee/framework/lifecycle/access/AccessManagerHandler.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 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.lifecycle.access;
+
+import java.util.Collection;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.osee.framework.core.model.IBasicArtifact;
+import org.eclipse.osee.framework.lifecycle.Activator;
+import org.eclipse.osee.framework.lifecycle.LifecycleOpHandler;
+
+/**
+ * @author Jeff C. Phillips
+ */
+public class AccessManagerHandler implements LifecycleOpHandler {
+ private final IStatus status = Status.OK_STATUS;
+ private IBasicArtifact<?> userArtifact;
+ private Collection<IBasicArtifact<?>> artsToCheck;
+ private final IAccessCheckProvider accessCheckProvider;
+
+ public AccessManagerHandler(IAccessCheckProvider accessCheckProvider) {
+ this.accessCheckProvider = accessCheckProvider;
+ }
+
+ public void setData(IBasicArtifact<?> userArtifact, Collection<IBasicArtifact<?>> artsToCheck) {
+ this.userArtifact = userArtifact;
+ this.artsToCheck = artsToCheck;
+ }
+
+ @Override
+ public IStatus onCheck(IProgressMonitor monitor) {
+ IStatus statusToReturn = status;
+
+ for (IBasicArtifact<?> artifactToChk : artsToCheck) {
+ if (!accessCheckProvider.canEdit(userArtifact, artifactToChk)) {
+ statusToReturn = new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error");
+ break;
+ }
+ }
+ return statusToReturn;
+ }
+
+ @Override
+ public IStatus onPostCondition(IProgressMonitor monitor) {
+ return status;
+ }
+
+ @Override
+ public IStatus onPreCondition(IProgressMonitor monitor) {
+ return status;
+ }
+
+}

Back to the top