/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.model.dao; import java.util.List; import org.apache.commons.lang.StringUtils; import com.emc.storageos.db.client.ModelClient; import com.emc.storageos.db.client.constraint.NamedElementQueryResultList.NamedElement; import com.emc.storageos.db.client.model.Vcenter; import com.emc.storageos.db.client.model.util.TenantUtils; import com.google.common.collect.Lists; public class VCenterFinder extends TenantResourceFinder<Vcenter> { public VCenterFinder(ModelClient client) { super(Vcenter.class, client); } public Iterable<Vcenter> findByHostname(String tenant, String hostname, boolean activeOnly) { if (StringUtils.isBlank(hostname) || StringUtils.isBlank(tenant)) { return Lists.newArrayList(); } List<NamedElement> vcenterIds = client.findByAlternateId(Vcenter.class, "ipAddress", hostname); return TenantUtils.filter(findByIds(toURIs(vcenterIds), activeOnly), tenant); } public Iterable<Vcenter> findByNativeGuid(String nativeGuid, boolean activeOnly) { List<NamedElement> vcenterIds = client.findByAlternateId(Vcenter.class, HostFinder.NATIVEGUID_COLUMN_NAME, nativeGuid); return findByIds(toURIs(vcenterIds), activeOnly); } }