/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.vipr.client.core.filters; import static com.emc.vipr.client.core.util.ResourceUtils.asString; import static com.emc.vipr.client.core.util.ResourceUtils.id; import java.net.URI; import java.util.Set; import com.emc.storageos.model.varray.NetworkRestRep; /** * Filter for retrieving networks only associated with a particular virtual array. */ public class NetworkVirtualArrayFilter extends DefaultResourceFilter<NetworkRestRep> { private URI virtualArrayId; private String virtualArrayIdString; public NetworkVirtualArrayFilter(URI virtualArrayId) { this.virtualArrayId = virtualArrayId; this.virtualArrayIdString = asString(virtualArrayId); } @Override public boolean accept(NetworkRestRep item) { // 1.0 API if (virtualArrayId.equals(id(item.getVirtualArray()))) { return true; } // 1.1 API else { Set<String> varrays = item.getAssignedVirtualArrays(); return (varrays != null) && varrays.contains(virtualArrayIdString); } } }