/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package com.emc.sa.model.dao;
import java.net.URI;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import com.emc.storageos.db.client.constraint.QueryResultList;
import com.google.common.collect.Maps;
public class PermissionMapQueryResultList extends QueryResultList<URI> {
private Set<String> filterBy;
private Map<URI, Set<String>> permissionsMap = Maps.newHashMap();
public PermissionMapQueryResultList(Set<String> filterBy) {
this.filterBy = filterBy;
}
@Override
public URI createQueryHit(URI uri) {
// none
return uri;
}
@Override
public URI createQueryHit(URI uri, String permission, UUID timestamp) {
if (filterBy == null || filterBy.contains(permission)) {
if (!permissionsMap.containsKey(uri)) {
permissionsMap.put(uri, new HashSet<String>());
}
permissionsMap.get(uri).add(permission);
}
return uri;
}
public Map<URI, Set<String>> getPermissionMap() {
return permissionsMap;
}
}