use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.
the class OrderService method getOrderExecutionTaskLogs.
/**
* Gets the order execution logs
*
* @param orderId the URN of an order
* @brief Get Order Execution Logs
* @return order execution logs
* @throws DatabaseException when a DB error occurs
*/
@GET
@Path("/{id}/execution/logs")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public ExecutionLogList getOrderExecutionTaskLogs(@PathParam("id") String orderId) throws DatabaseException {
Order order = queryResource(uri(orderId));
StorageOSUser user = getUserFromContext();
verifyAuthorizedInTenantOrg(uri(order.getTenant()), user);
List<ExecutionTaskLog> executionTaskLogs = orderManager.getOrderExecutionTaskLogs(order);
return toExecutionLogList(executionTaskLogs);
}
use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.
the class OrderService method getOrder.
@GET
@Path("/{id}")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public OrderRestRep getOrder(@PathParam("id") String id) {
Order order = queryResource(uri(id));
StorageOSUser user = getUserFromContext();
verifyAuthorizedInTenantOrg(uri(order.getTenant()), user);
List<OrderParameter> orderParameters = orderManager.getOrderParameters(order.getId());
return map(order, orderParameters);
}
use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.
the class OrderService method dumpOrder.
private void dumpOrder(PrintStream out, URI id, OrderJobStatus status) throws Exception {
Order order = null;
Object[] parameters = null;
OrderStatus orderStatus;
try {
order = _dbClient.queryObject(Order.class, id);
orderStatus = status.getStatus();
if (orderStatus != null && !orderStatus.name().equals(order.getOrderStatus())) {
log.info("Order({})'s status {} is not {}, so skip downloading", id, order.getOrderStatus(), orderStatus);
status.addFailed(1);
return;
}
dumpOrder(out, order);
status.addCompleted(1);
saveJobInfo(status);
} catch (Exception e) {
log.error("Failed to download order {} e=", id, e);
throw e;
}
}
use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.
the class OrderService method toOrderList.
private OrderList toOrderList(List<Order> orders) {
OrderList list = new OrderList();
for (Order order : orders) {
NamedRelatedResourceRep resourceRep = toNamedRelatedResource(ResourceTypeEnum.ORDER, order.getId(), order.getLabel());
list.getOrders().add(resourceRep);
}
return list;
}
use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.
the class OrderService method getOtherSearchResults.
/**
* parameter: 'orderStatus' The status for the order
* parameter: 'startTime' Start time to search for orders
* parameter: 'endTime' End time to search for orders
*
* @return Return a list of matching orders or an empty list if no match was found.
*/
@Override
protected SearchResults getOtherSearchResults(Map<String, List<String>> parameters, boolean authorized) {
StorageOSUser user = getUserFromContext();
String tenantId = user.getTenantId();
if (parameters.containsKey(SearchConstants.TENANT_ID_PARAM)) {
tenantId = parameters.get(SearchConstants.TENANT_ID_PARAM).get(0);
}
verifyAuthorizedInTenantOrg(uri(tenantId), user);
if (!parameters.containsKey(SearchConstants.ORDER_STATUS_PARAM) && !parameters.containsKey(SearchConstants.START_TIME_PARAM) && !parameters.containsKey(SearchConstants.END_TIME_PARAM)) {
throw APIException.badRequests.invalidParameterSearchMissingParameter(getResourceClass().getName(), SearchConstants.ORDER_STATUS_PARAM + " or " + SearchConstants.START_TIME_PARAM + " or " + SearchConstants.END_TIME_PARAM);
}
if (parameters.containsKey(SearchConstants.ORDER_STATUS_PARAM) && (parameters.containsKey(SearchConstants.START_TIME_PARAM) || parameters.containsKey(SearchConstants.END_TIME_PARAM))) {
throw APIException.badRequests.parameterForSearchCouldNotBeCombinedWithAnyOtherParameter(getResourceClass().getName(), SearchConstants.ORDER_STATUS_PARAM, SearchConstants.START_TIME_PARAM + " or " + SearchConstants.END_TIME_PARAM);
}
List<Order> orders = Lists.newArrayList();
if (parameters.containsKey(SearchConstants.ORDER_STATUS_PARAM)) {
String orderStatus = parameters.get(SearchConstants.ORDER_STATUS_PARAM).get(0);
ArgValidator.checkFieldNotEmpty(orderStatus, SearchConstants.ORDER_STATUS_PARAM);
orders = orderManager.findOrdersByStatus(uri(tenantId), OrderStatus.valueOf(orderStatus));
} else if (parameters.containsKey(SearchConstants.START_TIME_PARAM) || parameters.containsKey(SearchConstants.END_TIME_PARAM)) {
Date startTime = null;
if (parameters.containsKey(SearchConstants.START_TIME_PARAM)) {
startTime = TimeUtils.getDateTimestamp(parameters.get(SearchConstants.START_TIME_PARAM).get(0));
}
Date endTime = null;
if (parameters.containsKey(SearchConstants.END_TIME_PARAM)) {
endTime = TimeUtils.getDateTimestamp(parameters.get(SearchConstants.END_TIME_PARAM).get(0));
}
if (startTime == null && endTime == null) {
throw APIException.badRequests.invalidParameterSearchMissingParameter(getResourceClass().getName(), SearchConstants.ORDER_STATUS_PARAM + " or " + SearchConstants.START_TIME_PARAM + " or " + SearchConstants.END_TIME_PARAM);
}
if (startTime.after(endTime)) {
throw APIException.badRequests.endTimeBeforeStartTime(startTime.toString(), endTime.toString());
}
int maxCount = -1;
List<String> c = parameters.get(SearchConstants.ORDER_MAX_COUNT);
if (c != null) {
String maxCountParam = parameters.get(SearchConstants.ORDER_MAX_COUNT).get(0);
maxCount = Integer.parseInt(maxCountParam);
}
orders = orderManager.findOrdersByTimeRange(uri(tenantId), startTime, endTime, maxCount);
}
ResRepFilter<SearchResultResourceRep> resRepFilter = (ResRepFilter<SearchResultResourceRep>) getPermissionFilter(getUserFromContext(), _permissionsHelper);
List<SearchResultResourceRep> searchResultResourceReps = Lists.newArrayList();
for (Order order : orders) {
RestLinkRep selfLink = new RestLinkRep("self", RestLinkFactory.newLink(getResourceType(), order.getId()));
SearchResultResourceRep searchResultResourceRep = new SearchResultResourceRep();
searchResultResourceRep.setId(order.getId());
searchResultResourceRep.setLink(selfLink);
if (authorized || resRepFilter.isAccessible(searchResultResourceRep)) {
searchResultResourceReps.add(searchResultResourceRep);
}
}
SearchResults result = new SearchResults();
result.setResource(searchResultResourceReps);
return result;
}
Aggregations