Search in sources :

Example 6 with Order

use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.

the class OrderService method exportOrders.

private void exportOrders(List<URI> tids, long startTime, long endTime, OutputStream outputStream, OrderJobStatus status) {
    PrintStream out = new PrintStream(outputStream);
    out.println("ORDER DETAILS");
    out.println("-------------");
    List<URI> orderIDs = status.getOrderIDs();
    if (!orderIDs.isEmpty()) {
        dumpOrders(out, orderIDs, status);
    } else {
        long completed = 0;
        long failed = 0;
        for (URI tid : tids) {
            TimeSeriesConstraint constraint = TimeSeriesConstraint.Factory.getOrders(tid, startTime, endTime);
            DbClientImpl dbclient = (DbClientImpl) _dbClient;
            constraint.setKeyspace(dbclient.getKeyspace(Order.class));
            NamedElementQueryResultList ids = new NamedElementQueryResultList();
            _dbClient.queryByConstraint(constraint, ids);
            for (NamedElementQueryResultList.NamedElement namedID : ids) {
                URI id = namedID.getId();
                try {
                    dumpOrder(out, id, status);
                    completed++;
                } catch (Exception e) {
                    failed++;
                }
            }
        }
        status.setTotal(completed + failed);
    }
    try {
        saveJobInfo(status);
    } catch (Exception e) {
        log.error("Failed to save job info status={} e=", status, e);
    }
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) PrintStream(java.io.PrintStream) TimeSeriesConstraint(com.emc.storageos.db.client.constraint.TimeSeriesConstraint) DbClientImpl(com.emc.storageos.db.client.impl.DbClientImpl) URI(java.net.URI) NamedElementQueryResultList(com.emc.storageos.db.client.constraint.NamedElementQueryResultList) InvalidParameterException(java.security.InvalidParameterException) WebApplicationException(javax.ws.rs.WebApplicationException) URISyntaxException(java.net.URISyntaxException) APIException(com.emc.storageos.svcs.errorhandling.resources.APIException) DatabaseException(com.emc.storageos.db.exceptions.DatabaseException)

Example 7 with Order

use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.

the class OrderService method deactivateOrder.

/**
 * Deactivates the order
 *
 * @param id the URN of an catalog order to be deactivated
 * @brief Deactivate Order
 * @return OK if deactivation completed successfully
 * @throws DatabaseException when a DB error occurs
 */
@POST
@Path("/{id}/deactivate")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@CheckPermission(roles = { Role.TENANT_ADMIN })
public Response deactivateOrder(@PathParam("id") URI id) throws DatabaseException {
    Order order = queryResource(id);
    ArgValidator.checkEntity(order, id, true);
    orderManager.deleteOrder(order);
    auditOpSuccess(OperationTypeEnum.DELETE_ORDER, order.auditParameters());
    return Response.ok().build();
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) Path(javax.ws.rs.Path) POST(javax.ws.rs.POST) Produces(javax.ws.rs.Produces) CheckPermission(com.emc.storageos.security.authorization.CheckPermission)

Example 8 with Order

use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.

the class OrderService method getOrderLogs.

/**
 * Gets the order logs
 *
 * @param orderId the URN of an order
 * @brief List Order Logs
 * @return a list of order logs
 * @throws DatabaseException when a DB error occurs
 */
@GET
@Path("/{id}/logs")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public OrderLogList getOrderLogs(@PathParam("id") String orderId) throws DatabaseException {
    Order order = queryResource(uri(orderId));
    StorageOSUser user = getUserFromContext();
    verifyAuthorizedInTenantOrg(uri(order.getTenant()), user);
    List<ExecutionLog> executionLogs = orderManager.getOrderExecutionLogs(order);
    return toOrderLogList(executionLogs);
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) ExecutionLog(com.emc.storageos.db.client.model.uimodels.ExecutionLog) StorageOSUser(com.emc.storageos.security.authentication.StorageOSUser) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 9 with Order

use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.

the class OrderService method createNewOrder.

public Order createNewOrder(StorageOSUser user, URI tenantId, OrderCreateParam createParam) {
    ArgValidator.checkFieldNotNull(createParam.getCatalogService(), "catalogService");
    CatalogService service = catalogServiceManager.getCatalogServiceById(createParam.getCatalogService());
    if (service == null) {
        throw APIException.badRequests.orderServiceNotFound(asString(createParam.getCatalogService()));
    }
    final ServiceDescriptor descriptor = ServiceDescriptorUtil.getServiceDescriptorByName(serviceDescriptors, workflowServiceDescriptor, service.getBaseService());
    if (descriptor == null) {
        throw APIException.badRequests.orderServiceDescriptorNotFound(service.getBaseService());
    }
    // Getting and setting workflow document (if its workflow service)
    if (null != descriptor.getWorkflowId()) {
        final String workflowDocument = catalogServiceManager.getWorkflowDocument(service.getBaseService());
        if (null == workflowDocument) {
            throw APIException.badRequests.workflowNotFound(service.getBaseService());
        }
        createParam.setWorkflowDocument(workflowDocument);
    }
    Order order = createNewObject(tenantId, createParam);
    addLockedFields(service.getId(), descriptor, createParam);
    validateParameters(descriptor, createParam.getParameters(), service.getMaxSize());
    List<OrderParameter> orderParams = createOrderParameters(order, createParam, encryptionProvider);
    orderManager.createOrder(order, orderParams, user);
    return order;
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) ServiceDescriptor(com.emc.sa.descriptor.ServiceDescriptor) WorkflowServiceDescriptor(com.emc.sa.catalog.WorkflowServiceDescriptor) OrderParameter(com.emc.storageos.db.client.model.uimodels.OrderParameter) CatalogService(com.emc.storageos.db.client.model.uimodels.CatalogService) URIUtil.asString(com.emc.storageos.db.client.URIUtil.asString)

Example 10 with Order

use of com.emc.storageos.db.client.model.uimodels.Order in project coprhd-controller by CoprHD.

the class OrderService method toOrders.

private List<OrderRestRep> toOrders(List<Order> orders, StorageOSUser user, boolean ordersOnly) {
    List<OrderRestRep> orderList = new ArrayList();
    List<OrderParameter> orderParameters = null;
    for (Order order : orders) {
        if (ordersOnly == false) {
            orderParameters = orderManager.getOrderParameters(order.getId());
        }
        orderList.add(map(order, orderParameters));
    }
    return orderList;
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) OrderParameter(com.emc.storageos.db.client.model.uimodels.OrderParameter) ArrayList(java.util.ArrayList) OrderRestRep(com.emc.vipr.model.catalog.OrderRestRep)

Aggregations

Order (com.emc.storageos.db.client.model.uimodels.Order)53 Test (org.junit.Test)15 StorageOSUser (com.emc.storageos.security.authentication.StorageOSUser)12 URI (java.net.URI)12 Path (javax.ws.rs.Path)11 Produces (javax.ws.rs.Produces)9 DatabaseException (com.emc.storageos.db.exceptions.DatabaseException)8 OrderParameter (com.emc.storageos.db.client.model.uimodels.OrderParameter)7 GET (javax.ws.rs.GET)7 AbstractExecutionService (com.emc.sa.engine.service.AbstractExecutionService)6 ExecutionService (com.emc.sa.engine.service.ExecutionService)6 NamedURI (com.emc.storageos.db.client.model.NamedURI)6 ServiceNotFoundException (com.emc.sa.engine.service.ServiceNotFoundException)5 Date (java.util.Date)5 ModelClient (com.emc.sa.model.dao.ModelClient)4 TimeSeriesConstraint (com.emc.storageos.db.client.constraint.TimeSeriesConstraint)4 ExecutionState (com.emc.storageos.db.client.model.uimodels.ExecutionState)4 Consumes (javax.ws.rs.Consumes)4 BaseModelTest (com.emc.sa.model.BaseModelTest)3 NamedElementQueryResultList (com.emc.storageos.db.client.constraint.NamedElementQueryResultList)3