package io.lumify.core.model.user; import org.securegraph.Authorizations; import org.securegraph.Visibility; import java.util.*; import static org.securegraph.util.IterableUtils.toArray; public class NoOpAuthorizationRepository implements AuthorizationRepository { @Override public void addAuthorizationToGraph(String... auths) { // do nothing } @Override public void removeAuthorizationFromGraph(String auth) { // do nothing } @Override public List<String> getGraphAuthorizations() { return new ArrayList<String>(); } @Override public Authorizations createAuthorizations(Set<String> authorizationsSet) { return createAuthorizations(toArray(authorizationsSet, String.class)); } @Override public Authorizations createAuthorizations(String[] authorizations) { return new Authorizations() { @Override public boolean canRead(Visibility visibility) { return true; } @Override public String[] getAuthorizations() { return new String[0]; } @Override public boolean equals(Authorizations authorizations) { return authorizations.getAuthorizations().length == 0; } }; } @Override public Authorizations createAuthorizations(Authorizations authorizations, String... additionalAuthorizations) { Set<String> authList = new HashSet<String>(); Collections.addAll(authList, authorizations.getAuthorizations()); Collections.addAll(authList, additionalAuthorizations); return createAuthorizations(authList); } }