@Override public String getEventDescription() { return "adding a new guest OS type Id: " + getEntityId(); }
@Override @DB @ActionEvent(eventType = EventTypes.EVENT_GUEST_OS_ADD, eventDescription = "Adding new guest OS type", create = true) public GuestOS addGuestOs(final AddGuestOsCmd cmd) { final Long categoryId = cmd.getOsCategoryId(); final String displayName = cmd.getOsDisplayName(); final String name = cmd.getOsName(); final GuestOSCategoryVO guestOsCategory = ApiDBUtils.findGuestOsCategoryById(categoryId); if (guestOsCategory == null) { throw new InvalidParameterValueException("Guest OS category not found. Please specify a valid Guest OS category"); } final GuestOS guestOs = ApiDBUtils.findGuestOSByDisplayName(displayName); if (guestOs != null) { throw new InvalidParameterValueException("The specified Guest OS name : " + displayName + " already exists. Please specify a unique name"); } s_logger.debug("GuestOSDetails"); final GuestOSVO guestOsVo = new GuestOSVO(); guestOsVo.setCategoryId(categoryId.longValue()); guestOsVo.setDisplayName(displayName); guestOsVo.setName(name); guestOsVo.setIsUserDefined(true); final GuestOS guestOsPersisted = _guestOSDao.persist(guestOsVo); if (cmd.getDetails() != null && !cmd.getDetails().isEmpty()) { Map<String, String> detailsMap = cmd.getDetails(); for (Object key : detailsMap.keySet()) { _guestOsDetailsDao.addDetail(guestOsPersisted.getId(), (String)key, detailsMap.get(key), false); } } return guestOsPersisted; }
@Override public void execute() { CallContext.current().setEventDetails("Guest OS Id: " + getEntityId()); GuestOS guestOs = _mgr.getAddedGuestOs(getEntityId()); if (guestOs != null) { GuestOSResponse response = _responseGenerator.createGuestOSResponse(guestOs); response.setResponseName(getCommandName()); setResponseObject(response); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add new guest OS type"); } }
@Override public void create() { GuestOS guestOs = _mgr.addGuestOs(this); if (guestOs != null) { setEntityId(guestOs.getId()); setEntityUuid(guestOs.getUuid()); } else { throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to add new guest OS type entity"); } }