/*
* Copyright (c) 2013 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.systemservices.impl.eventhandler.connectemc;
import static com.emc.storageos.systemservices.impl.eventhandler.connectemc.CallHomeConstants.REGISTRATION_DESCRIPTION;
import static com.emc.storageos.systemservices.impl.eventhandler.connectemc.CallHomeConstants.SYMPTOM_CODE_REGISTRATION;
import static com.emc.storageos.systemservices.impl.eventhandler.connectemc.CallHomeConstants.callHome;
import java.util.ArrayList;
import com.emc.storageos.coordinator.common.impl.ServiceImpl;
import com.emc.storageos.systemservices.impl.licensing.LicenseInfoExt;
import com.emc.storageos.systemservices.impl.logsvc.LogSvcPropertiesLoader;
import com.emc.storageos.systemservices.impl.upgrade.CoordinatorClientExt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.emc.ema.EmaApi;
import com.emc.ema.EmaApiEventType;
import com.emc.ema.EmaApiIdentifierType;
import com.emc.ema.EmaException;
import com.emc.ema.event.objects.EventType;
import javax.ws.rs.core.MediaType;
public class SendRegistrationEvent extends SendEvent {
private static final Logger _log = LoggerFactory.getLogger(SendRegistrationEvent.class);
public SendRegistrationEvent(ServiceImpl service, LogSvcPropertiesLoader logSvcPropertiesLoader,
MediaType mediaType, LicenseInfoExt licenseInfo,
CoordinatorClientExt coordinator) {
super(service, logSvcPropertiesLoader, mediaType, licenseInfo, coordinator);
}
/**
* Generate the attached file list.
*/
@Override
protected ArrayList<String> genAttachFiles() {
_log.info("Start SendRegistrationEvent::genAttachFiles");
ArrayList<String> fileList = new ArrayList<String>();
try {
fileList.add(generateConfigFile());
} catch (Exception e) {
_log.error("Error occurred while creating config file. {}", e);
}
_log.info("End SendRegistrationEvent::genAttachFiles");
return fileList;
}
protected EventType getEventType() throws EmaException {
EventType event = new EventType();
event.setSymptomCode(SYMPTOM_CODE_REGISTRATION);
event.setDescription(REGISTRATION_DESCRIPTION);
event.setCategory(EmaApiEventType.EMA_EVENT_CATEGORY_CONFIGURATION);
event.setSeverity(EmaApiEventType.EMA_EVENT_SEVERITY_MARK_STR);
event.setStatus(EmaApiEventType.EMA_EVENT_STATUS_UNKNOWN);
event.setCallHome(callHome);
return event;
}
/**
* Set specific embed level for this event in CallHome Identifier section.
*/
@Override
protected void overrideIdentifierData(EmaApiIdentifierType identifier)
throws EmaException {
identifier.setEmbedLevel(EmaApi.EMA_EMBED_LEVEL_EXTERNAL_STR);
}
}