Package io.lumify.core.model.user

Source Code of io.lumify.core.model.user.NoOpAuthorizationRepository

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 auth) {
        // 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);
    }
}
TOP

Related Classes of io.lumify.core.model.user.NoOpAuthorizationRepository

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.