/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package com.emc.storageos.db.client.model.uimodels; import java.net.URI; import java.util.Date; import com.emc.storageos.db.client.model.*; import com.emc.vipr.model.catalog.OrderCommonParam; import com.emc.vipr.model.catalog.ScheduleInfo; /** * ScheduledEvent is used to derive a set of catalog orders based on the schedule info. */ @Cf("ScheduledEvent") public class ScheduledEvent extends DataObject implements TenantDataObject { public static final String EVENT_TYPE = "eventType"; public static final String EVENT_STATUS = "eventStatus"; public static final String SCHEDULE_INFO = "scheduleInfo"; public static final String LATEST_ORDER_ID = "latestOrderId"; public static final String EXECUTION_WINDOW_ID = "executionWindowId"; public static final String CATALOG_SERVICE_ID = "catalogServiceId"; public static final String ORDER_CREATION_PARAM = "orderCreationParam"; public static final String TENANT = TenantDataObject.TENANT_COLUMN_NAME; private ScheduledEventType eventType; private String scheduleInfo; // concrete schedule info private ScheduledEventStatus eventStatus; // even status private URI latestOrderId; // the latest to-be scheduled associated orderId private NamedURI executionWindowId; // the execution window Id the event should obey. private URI catalogServiceId; // the associated catalog service Id private String tenant; // the owner tenant private String orderCreationParam; // order creation related params private String storageOSUser; // user info @AlternateId("AltIdIndex") @Name(EVENT_TYPE) public ScheduledEventType getEventType() { return eventType; } public void setEventType(ScheduledEventType eventType) { this.eventType = eventType; setChanged(EVENT_TYPE); } @Name(SCHEDULE_INFO) public String getScheduleInfo() { return scheduleInfo; } public void setScheduleInfo(String scheduleInfo) { this.scheduleInfo = scheduleInfo; setChanged(SCHEDULE_INFO); } @Name(EVENT_STATUS) public ScheduledEventStatus getEventStatus() { return eventStatus; } public void setEventStatus(ScheduledEventStatus eventStatus) { this.eventStatus = eventStatus; setChanged(EVENT_STATUS); } @Name(LATEST_ORDER_ID) public URI getLatestOrderId() { return latestOrderId; } public void setLatestOrderId(URI latestOrderId) { this.latestOrderId = latestOrderId; setChanged(LATEST_ORDER_ID); } @Name(EXECUTION_WINDOW_ID) public NamedURI getExecutionWindowId() { return executionWindowId; } public void setExecutionWindowId(NamedURI executionWindowId) { this.executionWindowId = executionWindowId; setChanged(EXECUTION_WINDOW_ID); } @Name(CATALOG_SERVICE_ID) public URI getCatalogServiceId() { return catalogServiceId; } public void setCatalogServiceId(URI catalogServiceId) { this.catalogServiceId = catalogServiceId; setChanged(CATALOG_SERVICE_ID); } @AlternateId("TenantToScheduledEvent") @Name(TENANT) public String getTenant() { return tenant; } public void setTenant(String tenant) { this.tenant = tenant; setChanged(TENANT); } @Name(ORDER_CREATION_PARAM) public String getOrderCreationParam() { return orderCreationParam; } public void setOrderCreationParam(String orderCreationParam) { this.orderCreationParam = orderCreationParam; setChanged(ORDER_CREATION_PARAM); } @Name("storageOSUser") public String getStorageOSUser() { return storageOSUser; } public void setStorageOSUser(String storageOSUser) { this.storageOSUser = storageOSUser; setChanged("storageOSUser"); } }