}
private UsageEventVO convertVMEvent(EventVO event) throws IOException {
Properties vmEventParams = new Properties();
UsageEventVO usageEvent = null;
long vmId = -1L;
long soId = -1L; // service offering id
long zoneId = -1L;
String eventParams = event.getParameters();
if (eventParams != null) {
vmEventParams.load(new StringReader(eventParams));
vmId = Long.parseLong(vmEventParams.getProperty("id"));
soId = Long.parseLong(vmEventParams.getProperty("soId"));
zoneId = Long.parseLong(vmEventParams.getProperty("dcId"));
}
if (EventTypes.EVENT_VM_START.equals(event.getType())) {
long templateId = 0;
String tId = vmEventParams.getProperty("tId");
if (tId != null) {
templateId = Long.parseLong(tId);
}
usageEvent = new UsageEventVO(EventTypes.EVENT_VM_START, event.getAccountId(), zoneId, vmId, vmEventParams.getProperty("vmName"), soId, templateId, "");
} else if (EventTypes.EVENT_VM_STOP.equals(event.getType())) {
usageEvent = new UsageEventVO(EventTypes.EVENT_VM_STOP, event.getAccountId(), zoneId, vmId, vmEventParams.getProperty("vmName"));
} else if (EventTypes.EVENT_VM_CREATE.equals(event.getType())) {
Long templateId = null;
String tId = vmEventParams.getProperty("tId");
if (tId != null) {
templateId = new Long(Long.parseLong(tId));
}
usageEvent = new UsageEventVO(EventTypes.EVENT_VM_CREATE, event.getAccountId(), zoneId, vmId, vmEventParams.getProperty("vmName"), soId, templateId, "");
} else if (EventTypes.EVENT_VM_DESTROY.equals(event.getType())) {
usageEvent = new UsageEventVO(EventTypes.EVENT_VM_DESTROY, event.getAccountId(), zoneId, vmId, vmEventParams.getProperty("vmName"));
}
return usageEvent;
}