diff options
Diffstat (limited to 'plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java')
-rw-r--r-- | plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java index 521b233d240..df523311858 100644 --- a/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java +++ b/plugins/org.eclipse.osee.framework.core.model/src/org/eclipse/osee/framework/core/model/access/exp/AttributeTypeAccessFilter.java @@ -7,18 +7,19 @@ package org.eclipse.osee.framework.core.model.access.exp; import org.eclipse.osee.framework.core.data.IAttributeType; import org.eclipse.osee.framework.core.enums.PermissionEnum; +import org.eclipse.osee.framework.core.model.Branch; import org.eclipse.osee.framework.core.model.IBasicArtifact; public class AttributeTypeAccessFilter extends AbstractAccessFilter { private final PermissionEnum permission; private final IBasicArtifact<?> artifact; - private final IAttributeType attribute; + private final IAttributeType type; - public AttributeTypeAccessFilter(PermissionEnum permission, IBasicArtifact<?> artifact, IAttributeType attribute) { + public AttributeTypeAccessFilter(PermissionEnum permission, IBasicArtifact<?> artifact, IAttributeType type) { super(); this.permission = permission; this.artifact = artifact; - this.attribute = attribute; + this.type = type; } @Override @@ -28,12 +29,21 @@ public class AttributeTypeAccessFilter extends AbstractAccessFilter { @Override public boolean acceptToObject(Object object) { - return true; + //Return false if the object to be checked is a branch or artifact. + return (!(object instanceof Branch) && !(object instanceof IBasicArtifact<?>)); } @Override - public PermissionEnum filter(Object object, PermissionEnum toPermission, PermissionEnum agrPermission, AccessFilterChain filterChain) { - return null; + public PermissionEnum filter(IBasicArtifact<?> artifact, Object object, PermissionEnum toPermission, PermissionEnum agrPermission, AccessFilterChain filterChain) { + PermissionEnum toReturn = agrPermission; + + if (this.artifact.equals(artifact) && type.equals(object)) { + if (agrPermission != PermissionEnum.DENY && permission != null) { + agrPermission = permission; + toReturn = agrPermission; + } + } + return toReturn; } } |