/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.model.dao; import java.net.URI; import java.util.List; import com.emc.storageos.db.client.ModelClient; import com.emc.storageos.db.client.constraint.NamedElementQueryResultList.NamedElement; import com.emc.storageos.db.client.model.Initiator; import com.emc.storageos.db.client.util.EndpointUtility; public class InitiatorFinder extends ModelFinder<Initiator> { private static final String HOST_COLUMN_NAME = "host"; private static final String PORT_COLUMN_NAME = "iniport"; public InitiatorFinder(ModelClient client) { super(Initiator.class, client); } public List<NamedElement> findIdsByHost(URI hostId) { return client.findBy(Initiator.class, HOST_COLUMN_NAME, hostId); } public Iterable<Initiator> findByHost(URI hostId, boolean activeOnly) { List<NamedElement> ids = findIdsByHost(hostId); return findByIds(toURIs(ids), activeOnly); } public Iterable<Initiator> findByPort(String port, boolean activeOnly) { String initiatorPort = EndpointUtility.changeCase(port); List<NamedElement> ids = client.findByAlternateId(Initiator.class, PORT_COLUMN_NAME, initiatorPort); return findByIds(toURIs(ids), activeOnly); } }