/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.api.mapper; import static com.emc.storageos.api.mapper.DbObjectMapper.mapDataObjectFields; import static com.emc.storageos.api.mapper.DbObjectMapper.toRelatedResource; import static com.emc.storageos.db.client.URIUtil.uri; import java.net.URI; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import com.emc.sa.util.TextUtils; import com.emc.storageos.db.client.URIUtil; import com.emc.storageos.db.client.model.EncryptionProvider; import com.emc.storageos.db.client.model.uimodels.*; import com.emc.storageos.model.ResourceTypeEnum; import com.emc.vipr.model.catalog.*; import com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class ScheduledEventMapper { private static final Logger log = LoggerFactory.getLogger(ScheduledEventMapper.class); private static Charset UTF_8 = Charset.forName("UTF-8"); public static ScheduledEventRestRep map(ScheduledEvent from) { if (from == null) { return null; } ScheduledEventRestRep to = new ScheduledEventRestRep(); mapDataObjectFields(from, to); if (from.getCatalogServiceId() != null) { to.setCatalogService(toRelatedResource(ResourceTypeEnum.CATALOG_SERVICE, from.getCatalogServiceId())); } if (from.getExecutionWindowId() != null) { to.setExecutionWindow(toRelatedResource(ResourceTypeEnum.EXECUTION_WINDOW, from.getExecutionWindowId().getURI())); } to.setLatestOrderId(from.getLatestOrderId()); to.setEventStatus(from.getEventStatus().toString()); try { to.setScheduleInfo(ScheduleInfo.deserialize(Base64.decodeBase64(from.getScheduleInfo().getBytes(UTF_8)))); } catch (Exception e) { log.error(e.getMessage(), e); } try { OrderCreateParam orderCreateParam = OrderCreateParam.deserialize(Base64.decodeBase64(from.getOrderCreationParam().getBytes(UTF_8))); to.setOrderCreateParam(orderCreateParam); } catch (Exception e) { log.error(e.getMessage(), e); } return to; } }