@Override public ServiceOfferingVO findDefaultSystemOffering(String offeringName, Boolean useLocalStorage) { String name = offeringName; if (useLocalStorage != null && useLocalStorage.booleanValue()) { name += "-Local"; } ServiceOfferingVO serviceOffering = findByName(name); if (serviceOffering == null) { String message = "System service offering " + name + " not found"; s_logger.error(message); throw new CloudRuntimeException(message); } return serviceOffering; } }
@Override @DB public ServiceOfferingVO persistDeafultServiceOffering(ServiceOfferingVO offering) { assert offering.getUniqueName() != null : "unique name should be set for the service offering"; ServiceOfferingVO vo = findByName(offering.getUniqueName()); if (vo != null) { return vo; } try { return persist(offering); } catch (EntityExistsException e) { // Assume it's conflict on unique name return findByName(offering.getUniqueName()); } }
@Override @DB public ServiceOfferingVO persistSystemServiceOffering(ServiceOfferingVO offering) { assert offering.getUniqueName() != null : "how are you going to find this later if you don't set it?"; ServiceOfferingVO vo = findByName(offering.getUniqueName()); if (vo != null) { // check invalid CPU speed in system service offering, set it to default value of 500 Mhz if 0 CPU speed is found if (vo.getSpeed() <= 0) { vo.setSpeed(500); update(vo.getId(), vo); } if (!vo.getUniqueName().endsWith("-Local")) { if (vo.isUseLocalStorage()) { vo.setUniqueName(vo.getUniqueName() + "-Local"); vo.setName(vo.getName() + " - Local Storage"); update(vo.getId(), vo); } } return vo; } try { return persist(offering); } catch (EntityExistsException e) { // Assume it's conflict on unique name return findByName(offering.getUniqueName()); } }