/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.catalog; import java.net.URI; import java.util.Date; import java.util.List; import java.util.Map; import com.emc.storageos.db.client.model.uimodels.*; import com.emc.storageos.security.authentication.StorageOSUser; public interface OrderManager { public Order getOrderById(URI id); public Order createOrder(Order order, List<OrderParameter> orderParameters, StorageOSUser user); public void createOrderParameter(OrderParameter orderParameter); public void updateOrder(Order order); public void canBeDeleted(Order order, OrderStatus status); public void deleteOrder(Order order); public List<Order> getOrders(URI tenantId); public List<Order> getUserOrders(StorageOSUser user, long startTime, long endTime, int maxCount); public long getOrderCount(StorageOSUser user, long startTime, long endTime); public Map<String, Long> getOrderCount(List<URI> tids, long startTime, long endTime); public List<Order> findOrdersByStatus(URI tenantId, OrderStatus orderStatus); public List<Order> findOrdersByTimeRange(URI tenantId, Date startTime, Date endTime, int maxCount); public List<ExecutionLog> getOrderExecutionLogs(Order order); public List<ExecutionTaskLog> getOrderExecutionTaskLogs(Order order); public ExecutionState getOrderExecutionState(URI executionStateId); public List<OrderParameter> getOrderParameters(URI orderId); public List<OrderAndParams> getOrdersAndParams(List<URI> ids); public String getNextOrderNumber(); public void processOrder(Order order); }