use of com.emc.storageos.db.client.model.Cluster in project coprhd-controller by CoprHD.
the class ComputeSystemService method getComputeElements.
/**
* Fetches all the Compute Elements belonging to a Compute System in ViPR
*
* @param id
* the URN of a ViPR Compute System
* @brief Show compute elements
* @return A detailed representation of compute elements
* @throws InternalException
*/
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path("/{id}/compute-elements")
@CheckPermission(roles = { Role.SYSTEM_ADMIN, Role.SYSTEM_MONITOR })
public ComputeElementListRestRep getComputeElements(@PathParam("id") URI id) throws InternalException {
ComputeElementListRestRep result = new ComputeElementListRestRep();
ArgValidator.checkFieldUriType(id, ComputeSystem.class, "id");
ComputeSystem cs = queryResource(id);
URIQueryResultList ceUriList = new URIQueryResultList();
_dbClient.queryByConstraint(ContainmentConstraint.Factory.getComputeSystemComputeElemetsConstraint(cs.getId()), ceUriList);
Iterator<URI> iterator = ceUriList.iterator();
Collection<URI> hostIds = _dbClient.queryByType(Host.class, true);
Collection<Host> hosts = _dbClient.queryObjectFields(Host.class, Arrays.asList("label", "computeElement", "cluster"), ControllerUtils.getFullyImplementedCollection(hostIds));
while (iterator.hasNext()) {
ComputeElement ce = _dbClient.queryObject(ComputeElement.class, iterator.next());
if (ce != null) {
Host associatedHost = null;
for (Host host : hosts) {
if (!NullColumnValueGetter.isNullURI(host.getComputeElement()) && host.getComputeElement().equals(ce.getId())) {
associatedHost = host;
break;
}
}
Cluster cluster = null;
if (associatedHost != null && !NullColumnValueGetter.isNullURI(associatedHost.getCluster())) {
cluster = _dbClient.queryObject(Cluster.class, associatedHost.getCluster());
}
ComputeElementRestRep rest = map(ce, associatedHost, cluster);
if (rest != null) {
result.getList().add(rest);
}
}
}
return result;
}
use of com.emc.storageos.db.client.model.Cluster in project coprhd-controller by CoprHD.
the class HostMapper method map.
public static ExportGroupRestRep map(ExportGroup from, List<Initiator> initiators, Map<String, Integer> volumes, List<Host> hosts, List<Cluster> clusters, List<ExportPathParams> exportPathParams) {
if (from == null) {
return null;
}
ExportGroupRestRep to = new ExportGroupRestRep();
mapDataObjectFields(from, to);
if (initiators != null) {
for (Initiator initiator : initiators) {
to.getInitiators().add(map(initiator));
}
}
if (volumes != null) {
for (Map.Entry<String, Integer> entry : volumes.entrySet()) {
ExportBlockParam volume = new ExportBlockParam();
volume.setId(URI.create(entry.getKey()));
Integer lun = entry.getValue();
if (lun != null && lun != ExportGroup.LUN_UNASSIGNED) {
volume.setLun(lun);
}
to.getVolumes().add(volume);
}
}
if (hosts != null) {
for (Host host : hosts) {
to.getHosts().add(map(host));
}
}
if (clusters != null) {
for (Cluster cluster : clusters) {
to.getClusters().add(map(cluster));
}
}
if (exportPathParams != null && !exportPathParams.isEmpty()) {
for (ExportPathParams pathParam : exportPathParams) {
ExportPathParametersRep pathParamRep = map(pathParam);
for (Map.Entry<String, String> entry : from.getPathParameters().entrySet()) {
if (entry.getValue().equals(pathParam.getId().toString())) {
pathParamRep.getBlockObjects().add(entry.getKey());
}
}
to.getPathParams().add(pathParamRep);
}
}
if (from.getProject() != null) {
to.setProject(toRelatedResource(ResourceTypeEnum.PROJECT, from.getProject().getURI()));
}
if (from.getTenant() != null) {
to.setTenant(toRelatedResource(ResourceTypeEnum.TENANT, from.getTenant().getURI()));
}
to.setVirtualArray(toRelatedResource(ResourceTypeEnum.VARRAY, from.getVirtualArray()));
if (from.getType() != null) {
to.setType(from.getType());
}
to.setGeneratedName(from.getGeneratedName());
if (from.getAltVirtualArrays() != null && !from.getAltVirtualArrays().isEmpty()) {
// The alternate virtual array is a map from Storage System URI to Virtual Array URI
List<StringHashMapEntry> toVirtualArrays = new ArrayList<StringHashMapEntry>();
for (Map.Entry<String, String> entry : from.getAltVirtualArrays().entrySet()) {
StringHashMapEntry toEntry = new StringHashMapEntry();
toEntry.setName(entry.getKey());
toEntry.setValue(entry.getValue());
toVirtualArrays.add(toEntry);
}
to.setAltVirtualArrays(toVirtualArrays);
}
return to;
}
Aggregations