/*
* Copyright (c) 2008-2012 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.db.client.constraint;
import java.net.URI;
import com.emc.storageos.db.client.constraint.impl.AlternateIdConstraintImpl;
import com.emc.storageos.db.client.impl.DataObjectType;
import com.emc.storageos.db.client.impl.TypeMap;
import com.emc.storageos.db.client.model.AuthnProvider;
import com.emc.storageos.db.client.model.AutoTieringPolicy;
import com.emc.storageos.db.client.model.BlockConsistencyGroup;
import com.emc.storageos.db.client.model.BlockMirror;
import com.emc.storageos.db.client.model.BlockSnapshot;
import com.emc.storageos.db.client.model.BlockSnapshotSession;
import com.emc.storageos.db.client.model.CifsShareACL;
import com.emc.storageos.db.client.model.Cluster;
import com.emc.storageos.db.client.model.CustomConfig;
import com.emc.storageos.db.client.model.DataObject;
import com.emc.storageos.db.client.model.DecommissionedResource;
import com.emc.storageos.db.client.model.ExportGroup;
import com.emc.storageos.db.client.model.ExportMask;
import com.emc.storageos.db.client.model.FCEndpoint;
import com.emc.storageos.db.client.model.FCZoneReference;
import com.emc.storageos.db.client.model.FileExportRule;
import com.emc.storageos.db.client.model.FileShare;
import com.emc.storageos.db.client.model.Host;
import com.emc.storageos.db.client.model.Initiator;
import com.emc.storageos.db.client.model.IpInterface;
import com.emc.storageos.db.client.model.NFSShareACL;
import com.emc.storageos.db.client.model.Network;
import com.emc.storageos.db.client.model.NetworkSystem;
import com.emc.storageos.db.client.model.ObjectBucketACL;
import com.emc.storageos.db.client.model.ObjectNamespace;
import com.emc.storageos.db.client.model.PhysicalNAS;
import com.emc.storageos.db.client.model.PolicyStorageResource;
import com.emc.storageos.db.client.model.ProtectionSet;
import com.emc.storageos.db.client.model.ProtectionSystem;
import com.emc.storageos.db.client.model.ProxyToken;
import com.emc.storageos.db.client.model.QuotaDirectory;
import com.emc.storageos.db.client.model.RPSiteArray;
import com.emc.storageos.db.client.model.RemoteDirectorGroup;
import com.emc.storageos.db.client.model.RequestedTokenMap;
import com.emc.storageos.db.client.model.SMISProvider;
import com.emc.storageos.db.client.model.Snapshot;
import com.emc.storageos.db.client.model.StorageHADomain;
import com.emc.storageos.db.client.model.StorageOSUserDAO;
import com.emc.storageos.db.client.model.StoragePool;
import com.emc.storageos.db.client.model.StoragePoolSetting;
import com.emc.storageos.db.client.model.StoragePort;
import com.emc.storageos.db.client.model.StorageProvider;
import com.emc.storageos.db.client.model.StorageSystem;
import com.emc.storageos.db.client.model.StorageTier;
import com.emc.storageos.db.client.model.Task;
import com.emc.storageos.db.client.model.TenantOrg;
import com.emc.storageos.db.client.model.VirtualDataCenter;
import com.emc.storageos.db.client.model.VirtualNAS;
import com.emc.storageos.db.client.model.VirtualPool;
import com.emc.storageos.db.client.model.Volume;
import com.emc.storageos.db.client.model.VpoolProtectionVarraySettings;
import com.emc.storageos.db.client.model.Workflow;
import com.emc.storageos.db.client.model.WorkflowStep;
import com.emc.storageos.db.client.model.WorkflowStepData;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedCifsShareACL;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedConsistencyGroup;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedExportMask;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedFileExportRule;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedFileQuotaDirectory;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedFileSystem;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedNFSShareACL;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedProtectionSet;
import com.emc.storageos.db.client.model.UnManagedDiscoveredObjects.UnManagedVolume;
import com.emc.storageos.db.client.model.storagedriver.DriverRegistryRecord;
import com.emc.storageos.db.client.model.uimodels.ExecutionWindow;
import com.emc.storageos.db.client.util.EndpointUtility;
/**
* Constraint for querying a record by alias
*/
public interface AlternateIdConstraint extends Constraint {
/**
* Factory for creating alternate ID constraint
*/
static class Factory {
private static final String NATIVE_GUID = "nativeGuid";
public static AlternateIdConstraint getFileShareNativeIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FileShare.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getFileSystemMountPathConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FileShare.class);
return new AlternateIdConstraintImpl(doType.getColumnField("mountPath"), altId);
}
public static AlternateIdConstraint getVolumeNativeGuidConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getVolumeNativeIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("nativeId"), altId);
}
public static AlternateIdConstraint getFileSystemNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FileShare.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getUnManagedExportMaskPathConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("maskingViewPath"), altId);
}
public static AlternateIdConstraint getUnManagedExportMaskKnownInitiatorConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("knownInitiatorNetworkIds"), altId);
}
public static AlternateIdConstraint getUnManagedExportMaskNameConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("maskName"), altId);
}
public static AlternateIdConstraint getUnManagedVolumeInitiatorNetworkIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("initiatorNetworkIds"), altId);
}
public static AlternateIdConstraint getUnManagedVolumeSupportedVPoolConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("supportedVpoolUris"), altId);
}
public static AlternateIdConstraint getUnManagedFileSystemSupportedVPoolConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedFileSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("supportedVpoolUris"), altId);
}
public static AlternateIdConstraint getMirrorReplicationGroupInstanceConstraint(
String replicaGroupInstance) {
DataObjectType doType = TypeMap.getDoType(BlockMirror.class);
return new AlternateIdConstraintImpl(doType.getColumnField("replicationGroupInstance"),
replicaGroupInstance);
}
public static AlternateIdConstraint getUnmanagedVolumeWwnConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("wwn"), altId);
}
public static AlternateIdConstraint getVolumeInfoNativeIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getCGInfoNativeIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedConsistencyGroup.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getFileSystemInfoNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedFileSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getUnManagedFileQuotaDirectoryInfoParentNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedFileQuotaDirectory.class);
return new AlternateIdConstraintImpl(doType.getColumnField("parentFsNativeGuid"), altId);
}
public static AlternateIdConstraint getUnManagedFileQuotaDirectoryInfoNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedFileQuotaDirectory.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getVolumeWwnConstraint(String wwn) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("wwn"), wwn);
}
public static AlternateIdConstraint getUnManagedVolumeWwnConstraint(String wwn) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("wwn"), wwn);
}
public static AlternateIdConstraint getBlockSnapshotWwnConstraint(String wwn) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField("wwn"), wwn);
}
public static AlternateIdConstraint getStorageDeviceSmisIpConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("smisProviderIP"), altId);
}
public static AlternateIdConstraint getStorageDeviceSerialNumberConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("serialNumber"), altId);
}
public static AlternateIdConstraint getStoragePortEndpointConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("portNetworkId"), altId);
}
public static AlternateIdConstraint getExportMasksByPort(String portId) {
DataObjectType doType = TypeMap.getDoType(ExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("storagePorts"), portId);
}
public static AlternateIdConstraint getUnManagedMaskByPort(String portId) {
DataObjectType doType = TypeMap.getDoType(UnManagedExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("knownStoragePortUris"), portId);
}
public static AlternateIdConstraint getVpoolTypeVpoolConstraint(VirtualPool.Type vitualPoolType) {
DataObjectType doType = TypeMap.getDoType(VirtualPool.class);
return new AlternateIdConstraintImpl(doType.getColumnField("type"), vitualPoolType.name());
}
public static AlternateIdConstraint getTenantOrgAttributeConstraint(String attribute) {
DataObjectType doType = TypeMap.getDoType(TenantOrg.class);
return new AlternateIdConstraintImpl(doType.getColumnField("attributes"), attribute);
}
public static AlternateIdConstraint getProviderByInterfaceTypeConstraint(String interfaceType) {
DataObjectType doType = TypeMap.getDoType(StorageProvider.class);
return new AlternateIdConstraintImpl(doType.getColumnField("interfaceType"), interfaceType);
}
public static AlternateIdConstraint getSMISProviderByProviderIDConstraint(String providerID) {
DataObjectType doType = TypeMap.getDoType(SMISProvider.class);
return new AlternateIdConstraintImpl(doType.getColumnField("providerID"), providerID);
}
public static AlternateIdConstraint getStorageProviderByProviderIDConstraint(String providerID) {
DataObjectType doType = TypeMap.getDoType(StorageProvider.class);
return new AlternateIdConstraintImpl(doType.getColumnField("providerID"), providerID);
}
public static AlternateIdConstraint getStorageSystemByMgmtAccessPointConstraint(String mgmtAccessPoint) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("mgmtAccessPoint"), mgmtAccessPoint);
}
public static AlternateIdConstraint getStorageSystemByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getUnManagedVolumeByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(UnManagedVolume.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getSnapshotNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(Snapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getStoragePortByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getVirtualNASByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(VirtualNAS.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getPolicyStorageResourceByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(PolicyStorageResource.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getPhysicalNasByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(PhysicalNAS.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getStoragePoolByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(StoragePool.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getBlockSnapshotsByNativeGuid(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getQuotaDirsByNativeGuid(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(QuotaDirectory.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getMirrorByNativeGuid(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(BlockMirror.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getStoragePoolSettingByIDConstraint(String poolsettingID) {
DataObjectType doType = TypeMap.getDoType(StoragePoolSetting.class);
return new AlternateIdConstraintImpl(doType.getColumnField("poolsettingID"), poolsettingID);
}
public static Constraint getStorageHADomainByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(StorageHADomain.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getBlockObjectsByConsistencyGroup(String cgId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("consistencyGroup"), cgId);
}
public static AlternateIdConstraint getBlockSnapshotsBySnapsetLabel(String label) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField("snapsetLabel"), label);
}
public static AlternateIdConstraint getBlockSnapshotSessionsBySetName(String setName) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshotSession.class);
return new AlternateIdConstraintImpl(doType.getColumnField("sessionSetName"), setName);
}
public static AlternateIdConstraint getFullCopiesBySetName(String setName) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("fullCopySetName"), setName);
}
public static AlternateIdConstraint getVirtualArrayStoragePoolsConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(StoragePool.class);
return new AlternateIdConstraintImpl(doType.getColumnField("taggedVirtualArrays"), varrayId);
}
public static AlternateIdConstraint getImplicitVirtualArrayStoragePortsConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("connectedVirtualArrays"), varrayId);
}
public static AlternateIdConstraint getAssignedVirtualArrayStoragePortsConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("assignedVirtualArrays"), varrayId);
}
public static AlternateIdConstraint getVirtualArrayStoragePortsConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("taggedVirtualArrays"), varrayId);
}
public static AlternateIdConstraint getStoragePortsForStorageSystemConstraint(String storageSystem) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("storageDevice"), storageSystem);
}
public static AlternateIdConstraint getImplicitVirtualArrayStoragePoolsConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(StoragePool.class);
return new AlternateIdConstraintImpl(doType.getColumnField("connectedVirtualArrays"), varrayId);
}
public static AlternateIdConstraint getVirtualArrayFileSharesConstraint(String varrayId) {
DataObjectType doType = TypeMap.getDoType(FileShare.class);
return new AlternateIdConstraintImpl(doType.getColumnField("varray"), varrayId);
}
public static AlternateIdConstraint getExportMaskInitiatorConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(ExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("initiators"), altId);
}
public static AlternateIdConstraint getNetworkStoragePortConstraint(String networkId) {
DataObjectType doType = TypeMap.getDoType(StoragePort.class);
return new AlternateIdConstraintImpl(doType.getColumnField("network"), networkId);
}
public static AlternateIdConstraint getEndpointNetworkConstraint(String endpoint) {
DataObjectType doType = TypeMap.getDoType(Network.class);
return new AlternateIdConstraintImpl(doType.getColumnField("endpoints"),
EndpointUtility.changeCase(endpoint));
}
public static AlternateIdConstraint getNetworkDeviceSmisIpConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(NetworkSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("smisProviderIP"), altId);
}
public static AlternateIdConstraint getFCZoneReferenceKeyConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FCZoneReference.class);
return new AlternateIdConstraintImpl(doType.getColumnField("pwwnKey"), altId);
}
public static AlternateIdConstraint getFCEndpointRemotePortNameConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FCEndpoint.class);
return new AlternateIdConstraintImpl(doType.getColumnField("remotePortName"), altId);
}
public static AlternateIdConstraint getFCEndpointByFabricWwnConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(FCEndpoint.class);
return new AlternateIdConstraintImpl(doType.getColumnField("fabricWwn"), altId);
}
public static AlternateIdConstraint getVpoolProtectionVarraySettingsConstraint(String virtualPoolId) {
DataObjectType doType = TypeMap.getDoType(VpoolProtectionVarraySettings.class);
return new AlternateIdConstraintImpl(doType.getColumnField("virtualPool"), virtualPoolId);
}
public static AlternateIdConstraint getProviderStorageSystemConstraint(
String providerId) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("providers"),
providerId);
}
public static AlternateIdConstraint getVolumeReplicationGroupInstanceConstraint(
String replicaGroupInstance) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("replicationGroupInstance"),
replicaGroupInstance);
}
public static AlternateIdConstraint getSnapshotReplicationGroupInstanceConstraint(
String replicaGroupInstance) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField("replicationGroupInstance"),
replicaGroupInstance);
}
public static AlternateIdConstraint getSnapshotSessionReplicationGroupInstanceConstraint(
String replicaGroupInstance) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshotSession.class);
return new AlternateIdConstraintImpl(doType.getColumnField("replicationGroupInstance"),
replicaGroupInstance);
}
/**
* Policy Names matching an Array will be returned.
* Policy ID format : serialID-PolicyName
*
* @param policyID
* @return
*/
public static AlternateIdConstraint getAutoTieringPolicyByNativeGuidConstraint(String policyID) {
DataObjectType doType = TypeMap.getDoType(AutoTieringPolicy.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID),
policyID);
}
/**
* Policy Names matching across Arrays will be returned.
*
* @param policyName
* @return
*/
public static AlternateIdConstraint getFASTPolicyByNameConstraint(String policyName) {
DataObjectType doType = TypeMap.getDoType(AutoTieringPolicy.class);
return new AlternateIdConstraintImpl(doType.getColumnField("policyName"),
policyName);
}
public static AlternateIdConstraint getPoolFASTPolicyConstraint(String poolId) {
DataObjectType doType = TypeMap.getDoType(AutoTieringPolicy.class);
return new AlternateIdConstraintImpl(doType.getColumnField("pools"),
poolId);
}
public static AlternateIdConstraint getStorageTierFASTPolicyConstraint(String autoTieringPolicy) {
DataObjectType doType = TypeMap.getDoType(StorageTier.class);
return new AlternateIdConstraintImpl(doType.getColumnField("autoTieringPolicies"),
autoTieringPolicy);
}
public static AlternateIdConstraint getStorageTierByIdConstraint(String tiernativeGuid) {
DataObjectType doType = TypeMap.getDoType(StorageTier.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID),
tiernativeGuid);
}
public static AlternateIdConstraint getDriveTypeStoragePoolConstraint(String driveType) {
DataObjectType doType = TypeMap.getDoType(StoragePool.class);
return new AlternateIdConstraintImpl(doType.getColumnField("supportedDriveTypes"),
driveType);
}
public static AlternateIdConstraint getInitiatorPortInitiatorConstraint(String initiatorPort) {
DataObjectType doType = TypeMap.getDoType(Initiator.class);
return new AlternateIdConstraintImpl(doType.getColumnField("iniport"),
EndpointUtility.changeCase(initiatorPort));
}
public static AlternateIdConstraint getInitiatorHostnameInitiatorConstraint(String hostname) {
DataObjectType doType = TypeMap.getDoType(Initiator.class);
return new AlternateIdConstraintImpl(doType.getColumnField("hostname"), hostname);
}
public static AlternateIdConstraint getIpInterfaceIpAddressConstraint(String ipAddress) {
DataObjectType doType = TypeMap.getDoType(IpInterface.class);
return new AlternateIdConstraintImpl(doType.getColumnField("ipAddress"), EndpointUtility.changeCase(ipAddress));
}
public static AlternateIdConstraint getExportGroupInitiatorConstraint(String initiatorId) {
DataObjectType doType = TypeMap.getDoType(ExportGroup.class);
return new AlternateIdConstraintImpl(doType.getColumnField("initiators"), initiatorId);
}
public static AlternateIdConstraint getUserIdsByUserName(String userName) {
DataObjectType doType = TypeMap.getDoType(StorageOSUserDAO.class);
return new AlternateIdConstraintImpl(doType.getColumnField("username"), userName);
}
public static AlternateIdConstraint getAuthnProviderDomainConstraint(String domain) {
DataObjectType doType = TypeMap.getDoType(AuthnProvider.class);
return new AlternateIdConstraintImpl(doType.getColumnField("domains"), domain);
}
public static AlternateIdConstraint getVolumeByAssociatedVolumesConstraint(String volumeId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("associatedVolumes"), volumeId);
}
public static AlternateIdConstraint getVolumeByReplicationGroupInstance(String groupName) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("replicationGroupInstance"), groupName);
}
public static AlternateIdConstraint getStorageSystemByAssociatedSystemConstraint(String systemId) {
DataObjectType doType = TypeMap.getDoType(StorageSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField("associatedStorageSystems"), systemId);
}
public static AlternateIdConstraint getProtectionSystemByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(ProtectionSystem.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getRAGroupByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(RemoteDirectorGroup.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getRPSiteArrayProtectionSystemConstraint(String protectionSystemId) {
DataObjectType doType = TypeMap.getDoType(RPSiteArray.class);
return new AlternateIdConstraintImpl(doType.getColumnField("rpProtectionSystem"), protectionSystemId);
}
public static AlternateIdConstraint getRPSiteArrayByStorageSystemConstraint(String storageDevice) {
DataObjectType doType = TypeMap.getDoType(RPSiteArray.class);
return new AlternateIdConstraintImpl(doType.getColumnField("storageSystem"), storageDevice);
}
public static AlternateIdConstraint getProxyTokenUserNameConstraint(String userName) {
DataObjectType doType = TypeMap.getDoType(ProxyToken.class);
return new AlternateIdConstraintImpl(doType.getColumnField("username"), userName);
}
public static AlternateIdConstraint getRequestedTokenMapTokenIdConstraint(String tokenId) {
DataObjectType doType = TypeMap.getDoType(RequestedTokenMap.class);
return new AlternateIdConstraintImpl(doType.getColumnField("tokenId"), tokenId);
}
public static AlternateIdConstraint getDecommissionedResourceIDConstraint(String resourceId) {
DataObjectType doType = TypeMap.getDoType(DecommissionedResource.class);
return new AlternateIdConstraintImpl(doType.getColumnField("decommissionedId"), resourceId);
}
public static AlternateIdConstraint getDecommissionedResourceNativeGuidConstraint(String resourceId) {
DataObjectType doType = TypeMap.getDoType(DecommissionedResource.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), resourceId);
}
public static AlternateIdConstraint getConstraint(Class<? extends DataObject> type,
String columnField,
String queryCond) {
DataObjectType doType = TypeMap.getDoType(type);
return new AlternateIdConstraintImpl(doType.getColumnField(columnField), queryCond);
}
public static AlternateIdConstraint getExportMaskByNameConstraint(String maskName) {
DataObjectType doType = TypeMap.getDoType(ExportMask.class);
return new AlternateIdConstraintImpl(doType.getColumnField("maskName"),
maskName);
}
public static AlternateIdConstraint getBlockConsistencyGroupByAlternateNameConstraint(String alternateName) {
DataObjectType doType = TypeMap.getDoType(BlockConsistencyGroup.class);
return new AlternateIdConstraintImpl(doType.getColumnField("alternateLabel"), alternateName);
}
public static AlternateIdConstraint getVirtualDataCenterByShortIdConstraint(String vdcShortId) {
DataObjectType doType = TypeMap.getDoType(VirtualDataCenter.class);
return new AlternateIdConstraintImpl(doType.getColumnField("shortId"), vdcShortId);
}
public static AlternateIdConstraint getVirtualPoolByMirrorVpool(String mirrorVpool) {
DataObjectType doType = TypeMap.getDoType(VirtualPool.class);
return new AlternateIdConstraintImpl(doType.getColumnField("mirrorVirtualPool"), mirrorVpool);
}
/**
* Deprecated - Needed only for 2.1 migration callback.
*
* @param cg
* @return
*/
@Deprecated
public static AlternateIdConstraint getVolumesByConsistencyGroup(String cg) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("consistencyGroups"),
cg);
}
/**
* Deprecated - Needed only for 2.1 migration callback.
*
* @param cg
* @return
*/
@Deprecated
public static AlternateIdConstraint getBlockSnapshotByConsistencyGroup(String cg) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField("consistencyGroups"),
cg);
}
public static AlternateIdConstraint getTasksByRequestIdConstraint(String requestId) {
DataObjectType doType = TypeMap.getDoType(Task.class);
return new AlternateIdConstraintImpl(doType.getColumnField("requestId"), requestId);
}
public static AlternateIdConstraint getCustomConfigByConfigType(String configType) {
DataObjectType doType = TypeMap.getDoType(CustomConfig.class);
return new AlternateIdConstraintImpl(doType.getColumnField("configType"),
configType);
}
public static AlternateIdConstraint getTasksByResourceConstraint(URI resourceId) {
DataObjectType doType = TypeMap.getDoType(Task.class);
return new AlternateIdConstraintImpl(doType.getColumnField("resource"), resourceId.toString());
}
public static AlternateIdConstraint getFileExportRuleConstraint(String fsExportIndex) {
DataObjectType doType = TypeMap.getDoType(FileExportRule.class);
return new AlternateIdConstraintImpl(doType.getColumnField("fsExportIndex"), fsExportIndex);
}
public static AlternateIdConstraint getSnapshotExportRuleConstraint(String snapExportIndex) {
DataObjectType doType = TypeMap.getDoType(FileExportRule.class);
return new AlternateIdConstraintImpl(doType.getColumnField("snapshotExportIndex"), snapExportIndex);
}
public static AlternateIdConstraint getFileExporRuleNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedFileExportRule.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getFileCifsACLNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedCifsShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getFileNfsACLNativeGUIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedNFSShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), altId);
}
public static AlternateIdConstraint getVolumesByAssociatedId(String volumeId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("associatedVolumes"), volumeId);
}
public static AlternateIdConstraint getWorkflowByOrchTaskId(String orchTaskId) {
DataObjectType doType = TypeMap.getDoType(Workflow.class);
return new AlternateIdConstraintImpl(doType.getColumnField("orchTaskId"), orchTaskId);
}
public static AlternateIdConstraint getWorkflowStepDataByStep(String stepId) {
DataObjectType doType = TypeMap.getDoType(WorkflowStepData.class);
return new AlternateIdConstraintImpl(doType.getColumnField("stepId"), stepId);
}
public static AlternateIdConstraint getWorkflowStepByStepId(String stepId) {
DataObjectType doType = TypeMap.getDoType(WorkflowStep.class);
return new AlternateIdConstraintImpl(doType.getColumnField("stepId"), stepId);
}
public static AlternateIdConstraint getRpSourceVolumeByTarget(String targetVolumeId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("rpTargets"),
targetVolumeId);
}
public static AlternateIdConstraint getSnapshotShareACLConstraint(String snapshotShareACLIndex) {
DataObjectType doType = TypeMap.getDoType(CifsShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField("snapshotShareACLIndex"), snapshotShareACLIndex);
}
public static AlternateIdConstraint getFileSystemShareACLConstraint(String fileSystemShareACLIndex) {
DataObjectType doType = TypeMap.getDoType(CifsShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField("fileSystemShareACLIndex"), fileSystemShareACLIndex);
}
public static AlternateIdConstraint getBucketACLConstraint(String bucketACLIndex) {
DataObjectType doType = TypeMap.getDoType(ObjectBucketACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField("bucketACLIndex"), bucketACLIndex);
}
public static AlternateIdConstraint getProtectionSetByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(ProtectionSet.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getUnManagedProtectionSetByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(UnManagedProtectionSet.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getUnManagedProtectionSetByUnManagedVolumeConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedProtectionSet.class);
return new AlternateIdConstraintImpl(doType.getColumnField("unManagedVolumeIds"), altId);
}
public static AlternateIdConstraint getUnManagedProtectionSetByManagedVolumeConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedProtectionSet.class);
return new AlternateIdConstraintImpl(doType.getColumnField("managedVolumeIds"), altId);
}
public static AlternateIdConstraint getUnManagedProtectionSetsByProtectionSystemUriConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(UnManagedProtectionSet.class);
return new AlternateIdConstraintImpl(doType.getColumnField("protectionDevice"), altId);
}
public static AlternateIdConstraint getSnapshotNfsACLConstraint(String snapshotNfsACLIndex) {
DataObjectType doType = TypeMap.getDoType(NFSShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField("snapshotNfsACLIndex"), snapshotNfsACLIndex);
}
public static AlternateIdConstraint getFileSystemNfsACLConstraint(String fileSystemNfsACLIndex) {
DataObjectType doType = TypeMap.getDoType(NFSShareACL.class);
return new AlternateIdConstraintImpl(doType.getColumnField("fileSystemNfsACLIndex"), fileSystemNfsACLIndex);
}
public static AlternateIdConstraint getVolumesByVolumeGroupId(String volumeGroupId) {
DataObjectType doType = TypeMap.getDoType(Volume.class);
return new AlternateIdConstraintImpl(doType.getColumnField("volumeGroupIds"), volumeGroupId);
}
public static AlternateIdConstraint getHostsByVolumeGroupId(String volumeGroupId) {
DataObjectType doType = TypeMap.getDoType(Host.class);
return new AlternateIdConstraintImpl(doType.getColumnField("volumeGroupIds"), volumeGroupId);
}
public static AlternateIdConstraint getHostsByClusterId(String clusterId) {
DataObjectType doType = TypeMap.getDoType(Host.class);
return new AlternateIdConstraintImpl(doType.getColumnField("cluster"), clusterId);
}
public static AlternateIdConstraint getClustersByVolumeGroupId(String volumeGroupId) {
DataObjectType doType = TypeMap.getDoType(Cluster.class);
return new AlternateIdConstraintImpl(doType.getColumnField("volumeGroupIds"), volumeGroupId);
}
public static AlternateIdConstraint getDriverRegistryEntriesByDriverName(String driverName) {
DataObjectType doType = TypeMap.getDoType(DriverRegistryRecord.class);
return new AlternateIdConstraintImpl(doType.getColumnField("driverName"), driverName);
}
public static AlternateIdConstraint getBlockSnapshotBySettingsInstance(String settingsInstance) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshot.class);
return new AlternateIdConstraintImpl(doType.getColumnField("settingsInstance"), settingsInstance);
}
public static AlternateIdConstraint getBlockSnapshotSessionBySessionInstance(String sessionInstance) {
DataObjectType doType = TypeMap.getDoType(BlockSnapshotSession.class);
return new AlternateIdConstraintImpl(doType.getColumnField("sessionInstance"), sessionInstance);
}
public static AlternateIdConstraint getObjectNamespaceByNativeGuidConstraint(String nativeGuid) {
DataObjectType doType = TypeMap.getDoType(ObjectNamespace.class);
return new AlternateIdConstraintImpl(doType.getColumnField(NATIVE_GUID), nativeGuid);
}
public static AlternateIdConstraint getExecutionWindowTenantIdIdConstraint(String altId) {
DataObjectType doType = TypeMap.getDoType(ExecutionWindow.class);
return new AlternateIdConstraintImpl(doType.getColumnField(ExecutionWindow.TENANT), altId);
}
}
}