use of com.emc.vipr.model.catalog.AssetOption in project coprhd-controller by CoprHD.
the class AssetOptionService method getAssetOptions.
@POST
@Path("/{assetType}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public AssetOptionsResponse getAssetOptions(@PathParam("assetType") String assetType, AssetOptionsRequest request) {
final Map<String, String> availableAssets = request.getAvailableAssets();
final AssetOptionsContext context = createAssetOptionsContext(request);
final Map<String, String> sanitizedAvailableAssets = SecurityUtils.stripMapXSS(availableAssets);
final String sanitizedAssetType = SecurityUtils.stripXSS(assetType);
log.info("Retrieving asset options for " + sanitizedAssetType + " with available assets : " + StringUtils.join(sanitizedAvailableAssets.keySet(), ", "));
try {
List<AssetOption> options = assetOptionsManager.getOptions(context, sanitizedAssetType, sanitizedAvailableAssets);
AssetOptionsResponse response = new AssetOptionsResponse();
response.setAssetType(sanitizedAssetType);
response.setAvailableAssets(sanitizedAvailableAssets);
response.setOptions(options);
return response;
} catch (IllegalStateException e) {
Response response = Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
throw new WebApplicationException(response);
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
Response response = Response.status(Response.Status.BAD_REQUEST).entity(e.getMessage()).type(MediaType.TEXT_PLAIN).build();
throw new WebApplicationException(response);
}
throw new WebApplicationException(e);
}
}
use of com.emc.vipr.model.catalog.AssetOption in project coprhd-controller by CoprHD.
the class VcenterClusterProvider method getNewClusterOptions.
@Asset("newVcenterCluster")
public List<AssetOption> getNewClusterOptions(AssetOptionsContext ctx) {
debug("getting clusters");
Collection<ClusterRestRep> clusters = getClusters(ctx);
List<AssetOption> options = Lists.newArrayList();
for (ClusterRestRep value : clusters) {
if (value.getVcenterDataCenter() == null) {
options.add(createClusterOption(ctx, value, false, "", ""));
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
use of com.emc.vipr.model.catalog.AssetOption in project coprhd-controller by CoprHD.
the class VcenterClusterProvider method getClusterOptions.
@Asset("vcenterCluster")
public List<AssetOption> getClusterOptions(AssetOptionsContext ctx) {
debug("getting clusters");
Collection<ClusterRestRep> clusters = getClusters(ctx);
List<AssetOption> options = Lists.newArrayList();
Map<URI, String> vcenterMap = getVcenters(ctx);
Map<URI, String> dataCenterNameMap = new HashMap<URI, String>();
Map<URI, String> dataCenterVcenterMap = new HashMap<URI, String>();
String vcenterName;
String datacenterName;
for (ClusterRestRep value : clusters) {
if (value.getVcenterDataCenter() != null) {
RelatedResourceRep datacenterVal = value.getVcenterDataCenter();
if (datacenterVal != null) {
if (dataCenterVcenterMap.get(datacenterVal.getId()) == null) {
VcenterDataCenterRestRep restResponse = api(ctx).vcenterDataCenters().get(datacenterVal.getId());
datacenterName = restResponse.getName();
dataCenterNameMap.put(datacenterVal.getId(), datacenterName);
RelatedResourceRep vcenterResp = restResponse.getVcenter();
if (vcenterMap.get(vcenterResp.getId()) == null) {
VcenterRestRep vcenterRep = api(ctx).vcenters().get(vcenterResp);
vcenterMap.put(vcenterResp.getId(), vcenterRep.getName());
vcenterName = vcenterRep.getName();
dataCenterVcenterMap.put(datacenterVal.getId(), vcenterName);
} else {
vcenterName = vcenterMap.get(vcenterResp.getId());
dataCenterVcenterMap.put(datacenterVal.getId(), vcenterName);
}
} else {
datacenterName = dataCenterNameMap.get(datacenterVal.getId());
vcenterName = dataCenterVcenterMap.get(datacenterVal.getId());
}
options.add(createClusterOption(ctx, value, true, vcenterName, datacenterName));
}
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
use of com.emc.vipr.model.catalog.AssetOption in project coprhd-controller by CoprHD.
the class VirtualDataCenterProvider method getUnmanagedVolumeByStorageSystem.
@Asset("unmanagedVolumeByStorageSystem")
@AssetDependencies({ "unmanagedBlockStorageSystem", "unmanagedBlockVirtualPool" })
public List<AssetOption> getUnmanagedVolumeByStorageSystem(AssetOptionsContext ctx, URI storageSystemId, URI vpool) {
List<AssetOption> options = Lists.newArrayList();
for (UnManagedVolumeRestRep volume : listUnmanagedVolumes(ctx, storageSystemId)) {
if (matchesVpool(volume, vpool) && !isNonRPExported(volume.getVolumeCharacteristics())) {
options.add(toAssetOption(volume));
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
use of com.emc.vipr.model.catalog.AssetOption in project coprhd-controller by CoprHD.
the class VirtualDataCenterProvider method getUnmanagedVolumeVirtualPoolsForHost.
@Asset("unmanagedBlockVirtualPool")
@AssetDependencies({ "host", "virtualArray" })
public List<AssetOption> getUnmanagedVolumeVirtualPoolsForHost(AssetOptionsContext ctx, URI host, URI virtualArray) {
Map<URI, Integer> vpools = getBlockVirtualPools(listUnmanagedVolumesByHost(ctx, host));
Map<URI, BlockVirtualPoolRestRep> virtualPoolMap = BlockProvider.getBlockVirtualPools(api(ctx), vpools.keySet());
List<AssetOption> options = Lists.newArrayList();
for (Map.Entry<URI, Integer> entry : vpools.entrySet()) {
BlockVirtualPoolRestRep vpool = virtualPoolMap.get(entry.getKey());
if (isVirtualPoolInVirtualArray(vpool, virtualArray)) {
options.add(newAssetOption(vpool.getId().toString(), "block.virtualPool.unmanaged", vpool.getName(), entry.getValue()));
}
}
AssetOptionsUtils.sortOptionsByLabel(options);
return options;
}
Aggregations