Search in sources :

Example 46 with Order

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

the class OrderTest method create.

private static Order create(String tenant, OrderStatus status) {
    Order model = new Order();
    model.setLabel("foo");
    URI catalogServiceId = URIUtil.createId(CatalogService.class);
    model.setCatalogServiceId(catalogServiceId);
    Date d = new Date();
    model.setDateCompleted(d);
    model.setMessage("my message");
    model.setOrderStatus(status.name());
    model.setSubmittedByUserId("urn:User:1");
    model.setSummary("my summary");
    model.setTenant(tenant);
    return model;
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) NamedURI(com.emc.storageos.db.client.model.NamedURI) URI(java.net.URI) Date(java.util.Date)

Example 47 with Order

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

the class OrderTest method testFindScheduledByExecutionWindow.

@Test
public void testFindScheduledByExecutionWindow() {
    _logger.info("Starting save Order and Execution State test");
    ModelClient modelClient = getModelClient();
    NamedURI ewId1 = new NamedURI(URIUtil.createId(ExecutionWindow.class), "ewId1");
    NamedURI ewId2 = new NamedURI(URIUtil.createId(ExecutionWindow.class), "ewId2");
    Order o1 = createOrder(OrderStatus.PENDING);
    o1.setExecutionWindowId(ewId1);
    modelClient.save(o1);
    Order o2 = createOrder(OrderStatus.SCHEDULED);
    o2.setExecutionWindowId(ewId2);
    modelClient.save(o2);
    Order o3 = createOrder(OrderStatus.SCHEDULED);
    o3.setExecutionWindowId(ewId1);
    modelClient.save(o3);
    List<Order> orders = modelClient.orders().findScheduledByExecutionWindow(ewId2.getURI().toString());
    Assert.assertNotNull(orders);
    Assert.assertEquals(1, orders.size());
    orders = modelClient.orders().findScheduledByExecutionWindow(ewId1.getURI().toString());
    Assert.assertNotNull(orders);
    Assert.assertEquals(1, orders.size());
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) NamedURI(com.emc.storageos.db.client.model.NamedURI) ExecutionWindow(com.emc.storageos.db.client.model.uimodels.ExecutionWindow) ModelClient(com.emc.sa.model.dao.ModelClient) Test(org.junit.Test) BaseModelTest(com.emc.sa.model.BaseModelTest)

Example 48 with Order

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

the class SortedIndexTest method testSorting.

@Test
public void testSorting() {
    Order o1 = createOrder(OrderStatus.PENDING);
    ModelClient modelClient = getModelClient();
    modelClient.save(o1);
    OrderParameter op1 = createOrderParameter("op1", "op1Value", 2);
    op1.setOrderId(o1.getId());
    modelClient.save(op1);
    OrderParameter op2 = createOrderParameter("op2", "op2Value", 1);
    op2.setOrderId(o1.getId());
    modelClient.save(op2);
    OrderParameter op3 = createOrderParameter("op3", "op3Value", 3);
    op3.setOrderId(o1.getId());
    modelClient.save(op3);
    List<OrderParameter> orderParameters = modelClient.orderParameters().findByOrderId(o1.getId());
    Assert.assertNotNull(orderParameters);
    Assert.assertEquals(3, orderParameters.size());
    Assert.assertEquals(op2.getLabel(), orderParameters.get(0).getLabel());
    Assert.assertEquals(op1.getLabel(), orderParameters.get(1).getLabel());
    Assert.assertEquals(op3.getLabel(), orderParameters.get(2).getLabel());
    SortedIndexUtils.moveDown(op1, modelClient);
    orderParameters = modelClient.orderParameters().findByOrderId(o1.getId());
    Assert.assertNotNull(orderParameters);
    Assert.assertEquals(3, orderParameters.size());
    Assert.assertEquals(op2.getLabel(), orderParameters.get(0).getLabel());
    Assert.assertEquals(op3.getLabel(), orderParameters.get(1).getLabel());
    Assert.assertEquals(op1.getLabel(), orderParameters.get(2).getLabel());
    SortedIndexUtils.moveUp(op3, modelClient);
    orderParameters = modelClient.orderParameters().findByOrderId(o1.getId());
    Assert.assertNotNull(orderParameters);
    Assert.assertEquals(3, orderParameters.size());
    Assert.assertEquals(op3.getLabel(), orderParameters.get(0).getLabel());
    Assert.assertEquals(op2.getLabel(), orderParameters.get(1).getLabel());
    Assert.assertEquals(op1.getLabel(), orderParameters.get(2).getLabel());
    OrderParameter op4 = createOrderParameter("op4", "op4Value", null);
    op4.setOrderId(o1.getId());
    modelClient.save(op4);
    orderParameters = modelClient.orderParameters().findByOrderId(o1.getId());
    Assert.assertNotNull(orderParameters);
    Assert.assertEquals(4, orderParameters.size());
    Assert.assertEquals(op3.getLabel(), orderParameters.get(0).getLabel());
    Assert.assertEquals(op2.getLabel(), orderParameters.get(1).getLabel());
    Assert.assertEquals(op1.getLabel(), orderParameters.get(2).getLabel());
    Assert.assertEquals(op4.getLabel(), orderParameters.get(3).getLabel());
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order) OrderParameter(com.emc.storageos.db.client.model.uimodels.OrderParameter) ModelClient(com.emc.sa.model.dao.ModelClient) Test(org.junit.Test)

Example 49 with Order

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

the class DbConsistencyCheckerHelper method getIndexKey.

public static String getIndexKey(ColumnField field, Column<CompositeColumnName> column, Row<String, CompositeColumnName> objRow) {
    String indexKey = null;
    DbIndex dbIndex = field.getIndex();
    boolean indexByKey = field.isIndexByKey();
    if (dbIndex instanceof AltIdDbIndex) {
        indexKey = indexByKey ? column.getName().getTwo() : column.getStringValue();
    } else if (dbIndex instanceof RelationDbIndex) {
        indexKey = indexByKey ? column.getName().getTwo() : column.getStringValue();
    } else if (dbIndex instanceof NamedRelationDbIndex) {
        indexKey = NamedURI.fromString(column.getStringValue()).getURI().toString();
    } else if (dbIndex instanceof DecommissionedDbIndex) {
        indexKey = field.getDataObjectType().getSimpleName();
    } else if (dbIndex instanceof PermissionsDbIndex) {
        indexKey = column.getName().getTwo();
    } else if (dbIndex instanceof PrefixDbIndex) {
        indexKey = field.getPrefixIndexRowKey(column.getStringValue());
    } else if (dbIndex instanceof ScopedLabelDbIndex) {
        indexKey = field.getPrefixIndexRowKey(ScopedLabel.fromString(column.getStringValue()));
    } else if (dbIndex instanceof ClassNameTimeSeriesDBIndex) {
        indexKey = column.getStringValue();
    } else if (dbIndex instanceof TimeSeriesDbIndex) {
        if (field.getDataObjectType().equals(Order.class)) {
            Order order = new Order();
            DataObjectType doType = TypeMap.getDoType(Order.class);
            doType.deserializeColumns(order, objRow, Lists.newArrayList(doType.getColumnField("tenant")), true);
            indexKey = order.getTenant();
        }
    } else if (dbIndex instanceof AggregateDbIndex) {
    // Not support this index type yet.
    } else {
        String msg = String.format("Unsupported index type %s.", dbIndex.getClass());
        _log.warn(msg);
    }
    return indexKey;
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order)

Example 50 with Order

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

the class TimeSeriesDbIndex method addColumn.

@Override
boolean addColumn(String recordKey, CompositeColumnName column, Object value, String className, RowMutator mutator, Integer ttl, DataObject obj) {
    if (value.toString().isEmpty()) {
        _log.warn("Empty string in {} id field: {}", this.getClass().getSimpleName(), fieldName);
        return false;
    }
    if (!(obj instanceof Order)) {
        throw new RuntimeException("Can not create TimeSeriesIndex on non Order object");
    }
    Order order = (Order) obj;
    String indexKey = order.getTenant();
    ColumnListMutation<TimeSeriesIndexColumnName> indexColList = mutator.getIndexColumnList(indexCF, indexKey);
    TimeSeriesIndexColumnName indexEntry = new TimeSeriesIndexColumnName(className, recordKey, column.getTimeUUID());
    ColumnValue.setColumn(indexColList, indexEntry, null, ttl);
    return true;
}
Also used : Order(com.emc.storageos.db.client.model.uimodels.Order)

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