
com.activitystream.core.model.security.SecurityScope Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of as-sdk Show documentation
Show all versions of as-sdk Show documentation
AS-SDK is a java library to allow easy interoperability with Activity Stream.
package com.activitystream.core.model.security;
import com.activitystream.core.model.relations.Relation;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class SecurityScope {
Map entityTypeTranslations = new LinkedHashMap<>();
List blockedEntityTypes = new LinkedList<>();
List simplifiedEntityTypes = new LinkedList<>();
List accessControlPrivileges = new LinkedList<>();
public SecurityScope() {
}
public SecurityScope(Map entityTypeTranslations, List blockedEntityTypes, List accessControlPrivileges,
List simplifiedEntityTypes) {
this.entityTypeTranslations = entityTypeTranslations;
this.blockedEntityTypes = blockedEntityTypes;
this.accessControlPrivileges = accessControlPrivileges;
this.simplifiedEntityTypes = simplifiedEntityTypes;
}
public Map getEntityTypeTranslations() {
return entityTypeTranslations;
}
public void setEntityTypeTranslations(Map entityTypeTranslations) {
this.entityTypeTranslations = entityTypeTranslations;
}
public List getBlockedEntityTypes() {
return blockedEntityTypes;
}
public void setBlockedEntityTypes(List blockedEntityTypes) {
this.blockedEntityTypes = blockedEntityTypes;
}
public List getAccessControlPrivileges() {
return accessControlPrivileges;
}
public void setAccessControlPrivileges(List accessControlPrivileges) {
this.accessControlPrivileges = accessControlPrivileges;
}
public List getSimplifiedEntityTypes() {
return simplifiedEntityTypes;
}
public void setSimplifiedEntityTypes(List simplifiedEntityTypes) {
this.simplifiedEntityTypes = simplifiedEntityTypes;
}
public boolean filterRelation(Relation relation) {
return relation.getRelatedBusinessEntity() != null &&
blockedEntityTypes.contains(relation.getRelatedBusinessEntity().getEntityReference().getEntityTypeString());
}
public Relation simplifyRelation(Relation relation) {
if (simplifiedEntityTypes != null && relation.getRelatedBusinessEntity() != null &&
simplifiedEntityTypes.contains(relation.getRelatedBusinessEntity().getEntityReference().getEntityTypeString())) {
return new Relation(relation.getRelationsType().getRelationsType(), relation.getRelatedBusinessEntity().getEntityReference().getEntityReference());
} else {
return relation;
}
}
public String getAdjustedEntityReference(String type, String id) {
return this.entityTypeTranslations.getOrDefault(type, type) + "/" + id.toLowerCase();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy