diff options
author | Roberto E. Escobar | 2012-04-16 19:28:47 +0000 |
---|---|---|
committer | Roberto E. Escobar | 2012-04-16 19:28:47 +0000 |
commit | 34b436679032e7814189569902fb4290367ba0fd (patch) | |
tree | 89cbab9d9b7d526c40004d8e62cc7fa3f8375894 /plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java | |
parent | d295ca6c10186e8ae9ccb7a4a819cffb2f38945b (diff) | |
download | org.eclipse.osee-34b436679032e7814189569902fb4290367ba0fd.tar.gz org.eclipse.osee-34b436679032e7814189569902fb4290367ba0fd.tar.xz org.eclipse.osee-34b436679032e7814189569902fb4290367ba0fd.zip |
feature[ats_VDYBJ]: Convert framework access to DS
Diffstat (limited to 'plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java')
-rw-r--r-- | plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java new file mode 100644 index 00000000000..76f11701450 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.access/src/org/eclipse/osee/framework/access/internal/ObjectAccessProviderProxy.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * 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; + +import java.util.Collection; +import java.util.logging.Level; +import org.eclipse.osee.framework.access.IAccessProvider; +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.services.IAccessControlService; +import org.eclipse.osee.framework.core.util.Conditions; +import org.eclipse.osee.framework.logging.OseeLog; + +public final class ObjectAccessProviderProxy implements IAccessProvider { + + private IAccessProvider accessProvider; + private IAccessControlService accessControlService; + + public void setAccessControlService(IAccessControlService accessControlService) { + this.accessControlService = accessControlService; + } + + public void start() { + if (accessControlService instanceof AccessControlServiceProxy) { + AccessControlServiceProxy proxy = (AccessControlServiceProxy) accessControlService; + accessProvider = new ObjectAccessProvider(proxy.getProxiedObject()); + } else { + OseeLog.log(AccessControlHelper.class, Level.SEVERE, "Error initializing ObjectAccessProvider"); + } + } + + public void stop() { + accessProvider = null; + } + + public IAccessProvider getAccessProvider() { + return accessProvider; + } + + private void checkInitialized() throws OseeCoreException { + Conditions.checkNotNull(getAccessProvider(), "object access provider", + "Object Access Provider not properly initialized"); + } + + @Override + public void computeAccess(IBasicArtifact<?> userArtifact, Collection<?> objToCheck, AccessData accessData) throws OseeCoreException { + checkInitialized(); + getAccessProvider().computeAccess(userArtifact, objToCheck, accessData); + } +}
\ No newline at end of file |