/* * Copyright (c) 2016 EMC Corporation * All Rights Reserved */ package models.datatable; import com.emc.sa.util.ResourceType; import com.emc.storageos.model.event.EventRestRep; import util.datatable.DataTable; public class EventsDataTable extends DataTable { public EventsDataTable() { setupTable(false); } public EventsDataTable(boolean addResourceColumn) { setupTable(addResourceColumn); } private void setupTable(boolean addResourceColumn) { addColumn("systemName").hidden(); addColumn("warning").setCssClass("none"); if (addResourceColumn) { addColumn("resourceId").setSearchable(false).setRenderFunction("render.taskResource"); addColumn("resourceName").hidden(); } addColumn("name").setRenderFunction("render.actionableEvent"); addColumn("eventStatus"); addColumn("id").hidden(); addColumn("creationTime").setRenderFunction("render.localDate"); setDefaultSort("creationTime", "desc"); sortAllExcept("id"); setRowCallback("createRowLink"); } public static class Event { public String name; public String rowLink; public String resourceId; public String resourceType; public String resourceName; public String id; public String description; public Long creationTime; public String eventStatus; public String eventCode; public String warning; public Event(EventRestRep eventRestRep) { load(eventRestRep); } private void load(EventRestRep eventRestRep) { this.warning = eventRestRep.getWarning(); this.name = eventRestRep.getName(); if (eventRestRep.getCreationTime() != null) { this.creationTime = eventRestRep.getCreationTime().getTimeInMillis(); } this.id = eventRestRep.getId().toString(); this.eventStatus = eventRestRep.getEventStatus(); this.eventCode = eventRestRep.getEventCode(); if (eventRestRep.getResource() != null && eventRestRep.getResource().getId() != null) { this.resourceId = eventRestRep.getResource().getId().toString(); this.resourceType = ResourceType.fromResourceId(this.resourceId).toString(); this.resourceName = eventRestRep.getResource().getName(); } this.description = eventRestRep.getDescription(); } } }