List of usage examples for org.apache.commons.lang3 StringUtils defaultIfBlank
public static <T extends CharSequence> T defaultIfBlank(final T str, final T defaultStr)
Returns either the passed in CharSequence, or if the CharSequence is whitespace, empty ("") or null , the value of defaultStr .
StringUtils.defaultIfBlank(null, "NULL") = "NULL" StringUtils.defaultIfBlank("", "NULL") = "NULL" StringUtils.defaultIfBlank(" ", "NULL") = "NULL" StringUtils.defaultIfBlank("bat", "NULL") = "bat" StringUtils.defaultIfBlank("", null) = null
From source file:net.sf.jsignpdf.BasicSignerOptions.java
/** * @return */ public String getTsaHashAlgWithFallback() { return StringUtils.defaultIfBlank(tsaHashAlg, Constants.DEFVAL_TSA_HASH_ALG); }
From source file:com.sonicle.webtop.vfs.Service.java
public void processSetupStoreOther(HttpServletRequest request, HttpServletResponse response, PrintWriter out) { WebTopSession wts = RunContext.getWebTopSession(); String PROPERTY = "SETUP_OTHER"; try {//from w ww.ja va 2s. co m String crud = ServletUtils.getStringParameter(request, "crud", true); if (crud.equals("s1")) { String profileId = ServletUtils.getStringParameter(request, "profileId", true); String scheme = ServletUtils.getStringParameter(request, "scheme", true); String host = ServletUtils.getStringParameter(request, "host", true); Integer port = ServletUtils.getIntParameter(request, "port", null); String username = ServletUtils.getStringParameter(request, "username", true); String password = ServletUtils.getStringParameter(request, "password", null); String path = ServletUtils.getStringParameter(request, "path", null); SetupDataOther params = new SetupDataOther(); params.profileId = profileId; params.scheme = scheme; params.host = host; params.port = port; params.username = username; params.password = password; params.path = path; params.buildName(); wts.setProperty(SERVICE_ID, PROPERTY, params); //TODO: controllo connessione new JsonResult(params).printTo(out); } else if (crud.equals("s2")) { String name = ServletUtils.getStringParameter(request, "name", true); if (!wts.hasProperty(SERVICE_ID, PROPERTY)) throw new WTException(); SetupDataOther params = (SetupDataOther) wts.getProperty(SERVICE_ID, PROPERTY); Store store = new Store(); store.setProfileId(new UserProfile.Id(params.profileId)); store.setName(StringUtils.defaultIfBlank(name, params.name)); store.setUri(params.generateURI()); manager.addStore(store); wts.clearProperty(SERVICE_ID, PROPERTY); updateFoldersCache(); new JsonResult().printTo(out); } } catch (Exception ex) { logger.error("Error in SetupStoreOther", ex); new JsonResult(false, ex.getMessage()).printTo(out); } }
From source file:cgeo.geocaching.CacheListActivity.java
@Override public void onCreateContextMenu(final ContextMenu menu, final View view, final ContextMenu.ContextMenuInfo info) { super.onCreateContextMenu(menu, view, info); AdapterContextMenuInfo adapterInfo = null; try {//w w w . ja va2s . com adapterInfo = (AdapterContextMenuInfo) info; } catch (final Exception e) { Log.w("CacheListActivity.onCreateContextMenu", e); } if (adapterInfo == null || adapterInfo.position >= adapter.getCount()) { return; } final Geocache cache = adapter.getItem(adapterInfo.position); menu.setHeaderTitle(StringUtils.defaultIfBlank(cache.getName(), cache.getGeocode())); contextMenuGeocode = cache.getGeocode(); getMenuInflater().inflate(R.menu.cache_list_context, menu); menu.findItem(R.id.menu_default_navigation) .setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName()); final boolean hasCoords = cache.getCoords() != null; menu.findItem(R.id.menu_default_navigation).setVisible(hasCoords); menu.findItem(R.id.menu_navigate).setVisible(hasCoords); menu.findItem(R.id.menu_cache_details).setVisible(hasCoords); final boolean isOffline = cache.isOffline(); menu.findItem(R.id.menu_drop_cache).setVisible(isOffline); menu.findItem(R.id.menu_move_to_list).setVisible(isOffline); menu.findItem(R.id.menu_copy_to_list).setVisible(isOffline); menu.findItem(R.id.menu_refresh).setVisible(isOffline); menu.findItem(R.id.menu_store_cache).setVisible(!isOffline); LoggingUI.onPrepareOptionsMenu(menu, cache); }
From source file:com.bekwam.resignator.ResignatorAppMainViewController.java
@FXML public void renameProfile(ListView.EditEvent<String> evt) { if (logger.isDebugEnabled()) { logger.debug("[RENAME]"); }/* w w w .j a v a2s . com*/ final String oldProfileName = lvProfiles.getItems().get(evt.getIndex()); final boolean apProfileNameSetFlag = StringUtils.equalsIgnoreCase(activeProfile.getProfileName(), oldProfileName); String suggestedNewProfileName = ""; if (configurationDS.profileExists(evt.getNewValue())) { suggestedNewProfileName = configurationDS.suggestUniqueProfileName(evt.getNewValue()); if (logger.isDebugEnabled()) { logger.debug("[RENAME] configuration exists; suggested name={}", suggestedNewProfileName); } Alert alert = new Alert(Alert.AlertType.CONFIRMATION, "That profile name already exists." + System.getProperty("line.separator") + "Save as " + suggestedNewProfileName + "?"); alert.setHeaderText("Profile name in use"); Optional<ButtonType> response = alert.showAndWait(); if (!response.isPresent() || response.get() != ButtonType.OK) { if (logger.isDebugEnabled()) { logger.debug("[RENAME] rename cancelled"); } return; } } final String newProfileName = StringUtils.defaultIfBlank(suggestedNewProfileName, evt.getNewValue()); if (apProfileNameSetFlag) { // needs to be set for save activeProfile.setProfileName(newProfileName); } Task<Void> renameTask = new Task<Void>() { @Override protected Void call() throws Exception { configurationDS.renameProfile(oldProfileName, newProfileName); Platform.runLater(() -> { lvProfiles.getItems().set(evt.getIndex(), newProfileName); Collections.sort(lvProfiles.getItems()); lvProfiles.getSelectionModel().select(newProfileName); }); return null; } @Override protected void failed() { super.failed(); logger.error("can't rename profile from " + oldProfileName + " to " + newProfileName, getException()); Alert alert = new Alert(Alert.AlertType.ERROR, getException().getMessage()); alert.setHeaderText("Can't rename profile '" + oldProfileName + "'"); alert.showAndWait(); if (apProfileNameSetFlag) { // revert activeProfile.setProfileName(oldProfileName); } } @Override protected void cancelled() { super.cancelled(); Alert alert = new Alert(Alert.AlertType.ERROR, "Rename cancelled by user"); alert.setHeaderText("Cancelled"); alert.showAndWait(); if (apProfileNameSetFlag) { // revert activeProfile.setProfileName(oldProfileName); } } }; new Thread(renameTask).start(); }
From source file:com.dell.asm.asmcore.asmmanager.util.ServiceTemplateUtil.java
public void updateRazorTargets(ServiceTemplate svc) { List<RazorRepo> razorImages = getOsRepositoryUtil().getRazorOSImages(true); Map<String, String> imageTargets = processRazorImagesTargets(razorImages, false); String windowsValues = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2012_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2008_VALUE)), null);/* ww w . j av a 2s.com*/ String allLinuxValues = StringUtils.defaultIfBlank(Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT6_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT7_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE11_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE12_VALUE)), null); String windows2012Values = imageTargets .get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2012_VALUE); String ntpValues = Joiner.on(",").skipNulls().join(allLinuxValues, windowsValues, imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)); for (ServiceTemplateComponent comp : svc.getComponents()) { if (ServiceTemplateComponent.ServiceTemplateComponentType.SERVER.equals(comp.getType()) || ServiceTemplateComponent.ServiceTemplateComponentType.VIRTUALMACHINE .equals(comp.getType())) { if (windowsValues != null) { setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_VERSION_ID, windowsValues); setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_PROD_KEY_ID, windowsValues); setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_ADMIN_LOGIN_ID, windowsValues); setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_DOMAIN_PASSWORD_ID, windowsValues); setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_DOMAIN_CONFIRM_PASSWORD_ID, windowsValues); setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_DN_ID, windowsValues); } if (allLinuxValues != null) { setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_LINUX_TIMEZONE_ID, allLinuxValues); } if (windows2012Values != null) { setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL, windows2012Values); } if (ntpValues != null) { setDependencyValue(comp, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_LINUX_NTP_ID, ntpValues); } } } }
From source file:com.dell.asm.asmcore.asmmanager.app.rest.ServiceTemplateService.java
ServiceTemplateCategory buildServerOsSettings(final List<RazorRepo> razorImages, final Map<String, String> imageTargets, final Map<String, String> repoNames, boolean minServer) { ServiceTemplateCategory serverCategoryOS = new ServiceTemplateCategory(); serverCategoryOS.setDisplayName("OS Settings"); serverCategoryOS.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_RESOURCE); if (razorImages != null && razorImages.size() > 0) { ServiceTemplateSetting serverSettingGenerateHostName = new ServiceTemplateSetting(); serverSettingGenerateHostName.setDisplayName("Auto-generate Host Name"); serverSettingGenerateHostName//from w ww .ja v a 2s . c o m .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); serverSettingGenerateHostName.setType(ServiceTemplateSettingType.BOOLEAN); serverSettingGenerateHostName.setRequired(false); serverSettingGenerateHostName.setRequiredAtDeployment(false); serverSettingGenerateHostName.setHideFromTemplate(false); serverSettingGenerateHostName.setValue("false"); serverSettingGenerateHostName .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_ID); serverSettingGenerateHostName .setDependencyValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_HD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID_VSAN + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_AHCI_VSAN); serverSettingGenerateHostName.setToolTip("Use the Host Name Template field to auto-generate " + "host names at deployment time. If not selected, a unique host name will be requested " + "when the template is deployed."); serverCategoryOS.getParameters().add(serverSettingGenerateHostName); ServiceTemplateSetting serverSettingHostNameTemplate = new ServiceTemplateSetting(); serverSettingHostNameTemplate.setDisplayName("Host Name Template"); serverSettingHostNameTemplate .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HOSTNAME_TEMPLATE_ID); serverSettingHostNameTemplate.setType(ServiceTemplateSettingType.STRING); serverSettingHostNameTemplate.setRequired(true); serverSettingHostNameTemplate.setRequiredAtDeployment(false); serverSettingHostNameTemplate.setHideFromTemplate(false); serverSettingHostNameTemplate .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HOSTNAME_DEFAULT_TEMPLATE); serverSettingHostNameTemplate .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); serverSettingHostNameTemplate.setDependencyValue("true"); serverSettingHostNameTemplate.setToolTip("Template used to generate host names at deployment " + "time. Must contain variables that will produce a unique host name. Allowed variables " + " are ${num} (an auto-generated unique number), ${service_tag}, ${model}, ${vendor}" + " and ${dns} (ASM-assigned static IP will be resolved to hostname by DNS lookup)."); serverCategoryOS.getParameters().add(serverSettingHostNameTemplate); ServiceTemplateSetting serverSettingHostName = new ServiceTemplateSetting(); serverSettingHostName.setDisplayName("Host Name"); serverSettingHostName.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HOSTNAME_ID); serverSettingHostName.setType(ServiceTemplateSettingType.STRING); serverSettingHostName.setRequired(true); serverSettingHostName.setRequiredAtDeployment(true); serverSettingHostName.setHideFromTemplate(true); serverSettingHostName .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); serverSettingHostName.setDependencyValue("false"); serverCategoryOS.getParameters().add(serverSettingHostName); ServiceTemplateSetting osType = new ServiceTemplateSetting(); osType.setDisplayName("OS Image Type"); osType.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_TYPE_ID); osType.setType(ServiceTemplateSettingType.ENUMERATED); osType.setRequired(false); osType.setHideFromTemplate(true); osType.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_ID); osType.setDependencyValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID_VSAN + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_HD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_AHCI_VSAN); serverCategoryOS.getParameters().add(osType); ServiceTemplateSetting osImage = new ServiceTemplateSetting(); osImage.setDisplayName("OS Image"); osImage.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_OS_IMAGE_TOOLTIP); osImage.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); osImage.setType(ServiceTemplateSettingType.ENUMERATED); osImage.setRequired(true); osImage.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_ID); osImage.setDependencyValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID_VSAN + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_HD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_AHCI_VSAN); ServiceTemplateUtil.addDefaultSelectOption(osImage); ServiceTemplateUtil.addOSImagesAsOptions(razorImages, repoNames, osImage); String windowsTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2012_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2008_VALUE)), NO_MATCHING_VALUE); String allLinuxTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT6_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT7_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE11_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE12_VALUE)), NO_MATCHING_VALUE); serverCategoryOS.getParameters().add(osImage); if (!minServer) { // Add flag for hyperv deployment String windows2012Targets = imageTargets .get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2012_VALUE); if (windows2012Targets == null) { windows2012Targets = NO_MATCHING_VALUE; } ServiceTemplateSetting hypervDeployment = new ServiceTemplateSetting(); hypervDeployment.setDisplayName("Install HyperV"); hypervDeployment.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL); hypervDeployment.setType(ServiceTemplateSettingType.BOOLEAN); hypervDeployment.setRequired(false); hypervDeployment.setValue("false"); hypervDeployment.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); hypervDeployment.setDependencyValue(windows2012Targets); serverCategoryOS.getParameters().add(hypervDeployment); } ServiceTemplateSetting osSubType = new ServiceTemplateSetting(); osSubType.setDisplayName("OS Image Version"); osSubType.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_VERSION_ID); osSubType.setType(ServiceTemplateSettingType.ENUMERATED); osSubType.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); osSubType.setDependencyValue(windowsTargets); ServiceTemplateUtil.addDefaultSelectOption(osSubType); addWindowsFlavors(osSubType, imageTargets); serverCategoryOS.getParameters().add(osSubType); ServiceTemplateSetting serverSettingHypervisorAdminPassword = new ServiceTemplateSetting(); serverSettingHypervisorAdminPassword.setDisplayName("Administrator password"); serverSettingHypervisorAdminPassword .setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_ADM_PASSWORD_TOOLTIP); serverSettingHypervisorAdminPassword .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ADMIN_PASSWORD_ID); serverSettingHypervisorAdminPassword.setType(ServiceTemplateSettingType.PASSWORD); serverSettingHypervisorAdminPassword.setRequired(true); serverSettingHypervisorAdminPassword .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_ID); serverSettingHypervisorAdminPassword .setDependencyValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID_VSAN + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_HD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_AHCI_VSAN); serverSettingHypervisorAdminPassword .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); serverCategoryOS.getParameters().add(serverSettingHypervisorAdminPassword); ServiceTemplateSetting serverSettingHypervisorAdminConfirmPassword = new ServiceTemplateSetting(); serverSettingHypervisorAdminConfirmPassword.setDisplayName("Confirm administrator password"); serverSettingHypervisorAdminConfirmPassword .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ADMIN_CONFIRM_PASSWORD_ID); serverSettingHypervisorAdminConfirmPassword.setType(ServiceTemplateSettingType.PASSWORD); serverSettingHypervisorAdminConfirmPassword.setRequired(true); serverSettingHypervisorAdminConfirmPassword .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_ID); serverSettingHypervisorAdminConfirmPassword .setDependencyValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_SD_RAID_VSAN + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_HD + "," + ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_TARGET_BOOTDEVICE_AHCI_VSAN); serverSettingHypervisorAdminConfirmPassword .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); serverCategoryOS.getParameters().add(serverSettingHypervisorAdminConfirmPassword); ServiceTemplateSetting serverSettingHVProdKey = new ServiceTemplateSetting(); serverSettingHVProdKey.setDisplayName("Product Key"); serverSettingHVProdKey.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_PROD_KEY_ID); serverSettingHVProdKey.setType(ServiceTemplateSettingType.STRING); serverSettingHVProdKey.setRequired(true); serverSettingHVProdKey .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVProdKey.setDependencyValue(windowsTargets); serverCategoryOS.getParameters().add(serverSettingHVProdKey); ServiceTemplateSetting serverSettingHVTimezone = new ServiceTemplateSetting(); serverSettingHVTimezone.setDisplayName("Timezone"); serverSettingHVTimezone.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_TIMEZONE_ID); serverSettingHVTimezone.setType(ServiceTemplateSettingType.ENUMERATED); populateTimezones(serverSettingHVTimezone); serverSettingHVTimezone.setRequired(true); serverSettingHVTimezone.setValue("Central Standard Time"); serverSettingHVTimezone .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL); serverSettingHVTimezone.setDependencyValue("true"); serverCategoryOS.getParameters().add(serverSettingHVTimezone); ServiceTemplateSetting serverSettingTimezone = new ServiceTemplateSetting(); serverSettingTimezone.setDisplayName("Timezone"); serverSettingTimezone.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_LINUX_TIMEZONE_ID); serverSettingTimezone.setType(ServiceTemplateSettingType.ENUMERATED); populateLinuxTimezones(serverSettingTimezone); serverSettingTimezone.setRequired(false); serverSettingTimezone.setValue("11"); // Central time serverSettingTimezone .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingTimezone.setDependencyValue(allLinuxTargets); serverCategoryOS.getParameters().add(serverSettingTimezone); String ntpTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join(allLinuxTargets, windowsTargets, imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)), NO_MATCHING_VALUE); ServiceTemplateSetting serverSettingLinuxNTP = new ServiceTemplateSetting(); serverSettingLinuxNTP.setDisplayName("NTP Server"); serverSettingLinuxNTP.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_LINUX_NTP_ID); serverSettingLinuxNTP.setType(ServiceTemplateSettingType.STRING); serverSettingLinuxNTP.setRequired(false); serverSettingLinuxNTP.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_NTP_TOOLTIP); serverSettingLinuxNTP .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingLinuxNTP.setDependencyValue(ntpTargets); NTPSetting ntpSet = ProxyUtil.getAlcmNTPProxy().getNTPSettings(); if (StringUtils.isNotEmpty(ntpSet.getPreferredNTPServer())) { serverSettingLinuxNTP.setValue(ntpSet.getPreferredNTPServer()); } serverCategoryOS.getParameters().add(serverSettingLinuxNTP); ServiceTemplateSetting serverSettingHVLang = new ServiceTemplateSetting(); serverSettingHVLang.setDisplayName("Language"); serverSettingHVLang.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_LANG_ID); serverSettingHVLang.setType(ServiceTemplateSettingType.ENUMERATED); populateLang(serverSettingHVLang); serverSettingHVLang.setRequired(true); serverSettingHVLang.setValue("en-US"); serverSettingHVLang .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL); serverSettingHVLang.setDependencyValue("true"); serverCategoryOS.getParameters().add(serverSettingHVLang); ServiceTemplateSetting serverSettingHVKeyboard = new ServiceTemplateSetting(); serverSettingHVKeyboard.setDisplayName("Keyboard"); serverSettingHVKeyboard.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_KEYBOARD_ID); serverSettingHVKeyboard.setType(ServiceTemplateSettingType.ENUMERATED); populateKeyboard(serverSettingHVKeyboard); serverSettingHVKeyboard.setRequired(true); serverSettingHVKeyboard.setValue("00000409"); serverSettingHVKeyboard .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL); serverSettingHVKeyboard.setDependencyValue("true"); serverCategoryOS.getParameters().add(serverSettingHVKeyboard); ServiceTemplateSetting serverSettingHVDN = new ServiceTemplateSetting(); serverSettingHVDN.setDisplayName("Domain Name"); serverSettingHVDN.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_DN_ID); serverSettingHVDN.setType(ServiceTemplateSettingType.STRING); serverSettingHVDN.setRequired(false); serverSettingHVDN.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVDN.setDependencyValue(windowsTargets); serverCategoryOS.getParameters().add(serverSettingHVDN); ServiceTemplateSetting serverSettingHVFQDN = new ServiceTemplateSetting(); serverSettingHVFQDN.setDisplayName("FQ Domain Name"); serverSettingHVFQDN.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_FQDN_ID); serverSettingHVFQDN.setType(ServiceTemplateSettingType.STRING); serverSettingHVFQDN.setRequired(false); serverSettingHVFQDN .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_INSTALL); serverSettingHVFQDN.setDependencyValue("true"); serverCategoryOS.getParameters().add(serverSettingHVFQDN); ServiceTemplateSetting serverSettingHVAdminLogin = new ServiceTemplateSetting(); serverSettingHVAdminLogin.setDisplayName("Domain Admin Username"); serverSettingHVAdminLogin.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_ADMIN_LOGIN_ID); serverSettingHVAdminLogin.setType(ServiceTemplateSettingType.STRING); serverSettingHVAdminLogin.setRequired(false); serverSettingHVAdminLogin .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVAdminLogin.setDependencyValue(windowsTargets); serverCategoryOS.getParameters().add(serverSettingHVAdminLogin); ServiceTemplateSetting serverSettingHVAdminPass = new ServiceTemplateSetting(); serverSettingHVAdminPass.setDisplayName("Domain Admin Password"); serverSettingHVAdminPass.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_DOMAIN_PASSWORD_ID); serverSettingHVAdminPass.setType(ServiceTemplateSettingType.PASSWORD); serverSettingHVAdminPass.setRequired(false); serverSettingHVAdminPass .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVAdminPass.setDependencyValue(windowsTargets); serverSettingHVAdminPass .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); serverCategoryOS.getParameters().add(serverSettingHVAdminPass); ServiceTemplateSetting serverSettingHVAdminPassConfirm = new ServiceTemplateSetting(); serverSettingHVAdminPassConfirm.setDisplayName("Domain Admin Password Confirm"); serverSettingHVAdminPassConfirm .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_DOMAIN_CONFIRM_PASSWORD_ID); serverSettingHVAdminPassConfirm.setType(ServiceTemplateSettingType.PASSWORD); serverSettingHVAdminPassConfirm.setRequired(false); serverSettingHVAdminPassConfirm .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVAdminPassConfirm.setDependencyValue(windowsTargets); serverSettingHVAdminPassConfirm .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); serverCategoryOS.getParameters().add(serverSettingHVAdminPassConfirm); if (!minServer) { ServiceTemplateSetting iscsi = new ServiceTemplateSetting(); iscsi.setDisplayName("Select iSCSI Initiator"); iscsi.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ISCSI_ID); iscsi.setType(ServiceTemplateSettingType.ENUMERATED); iscsi.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); iscsi.setDependencyValue( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)); iscsi.setRequired(true); ServiceTemplateOption[] options = new ServiceTemplateOption[] { new ServiceTemplateOption("Hardware Initiator", ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ISCSI_HARDWARE_ID, null, null), new ServiceTemplateOption("Software Initiator", ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ISCSI_SOFTWARE_ID, null, null), }; iscsi.getOptions().addAll(Arrays.asList(options)); ServiceTemplateUtil.addDefaultSelectOption(iscsi); serverCategoryOS.getParameters().add(iscsi); ServiceTemplateSetting eqlMem = new ServiceTemplateSetting(); eqlMem.setDisplayName("Install EqualLogic MEM"); eqlMem.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_EQL_MEM_ID); eqlMem.setType(ServiceTemplateSettingType.ENUMERATED); eqlMem.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); eqlMem.setDependencyValue( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)); eqlMem.setRequired(true); ServiceTemplateUtil.addBooleanSelectOption(eqlMem); serverCategoryOS.getParameters().add(eqlMem); ServiceTemplateSetting localStorageSetting = new ServiceTemplateSetting(); localStorageSetting.setDisplayName("Local storage for Vmware vSAN"); localStorageSetting.setId(ServiceTemplateSettingIDs.LOCAL_STORAGE_ID); localStorageSetting.setType(ServiceTemplateSettingType.BOOLEAN); localStorageSetting.setRequired(false); localStorageSetting.setValue("false"); localStorageSetting.setToolTip(ServiceTemplateSettingIDs.LOCAL_STORAGE_TOOLTIP); localStorageSetting .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); localStorageSetting.setDependencyValue( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)); serverCategoryOS.getParameters().add(localStorageSetting); ServiceTemplateSetting localStorageTypeSetting = new ServiceTemplateSetting(); localStorageTypeSetting.setDisplayName("Local storage type"); localStorageTypeSetting.setId(ServiceTemplateSettingIDs.LOCAL_STORAGE_TYPE_ID); localStorageTypeSetting.setType(ServiceTemplateSettingType.RADIO); localStorageTypeSetting.setRequired(false); localStorageTypeSetting.getOptions().add(new ServiceTemplateOption("All flash", ServiceTemplateSettingIDs.LOCAL_STORAGE_TYPE_FLASH, null, null)); localStorageTypeSetting.getOptions().add(new ServiceTemplateOption("Hybrid", ServiceTemplateSettingIDs.LOCAL_STORAGE_TYPE_HYBRID, null, null)); localStorageTypeSetting.setValue(ServiceTemplateSettingIDs.LOCAL_STORAGE_TYPE_FLASH); localStorageTypeSetting.setDependencyTarget(ServiceTemplateSettingIDs.LOCAL_STORAGE_ID); localStorageTypeSetting.setDependencyValue("true"); serverCategoryOS.getParameters().add(localStorageTypeSetting); } } return serverCategoryOS; }
From source file:com.dell.asm.asmcore.asmmanager.app.rest.ServiceTemplateService.java
private ServiceTemplateComponent buildServerComponent(List<RazorRepo> razorImages, List<DeviceGroupEntity> deviceGroups, List<NetworkConfiguration> networks, Map<String, String> imageTargets, Map<String, String> repoNames) { ServiceTemplateComponent server = new ServiceTemplateComponent(); server.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_COMPID_ALL); server.setName("Server"); server.setType(ServiceTemplateComponentType.SERVER); ServiceTemplateCategory serverCategoryHW = buildServerHardwareSettings(deviceGroups, false); addServerPoolSetting(serverCategoryHW, deviceGroups); addDeploymentFailoverSetting(serverCategoryHW); addDeploymentAttemptedSetting(serverCategoryHW); ServiceTemplateCategory serverCategoryOS = buildServerOsSettings(razorImages, imageTargets, repoNames, false);//ww w. j av a 2 s .c o m ServiceTemplateCategory serverCategoryBIOS = buildServerBIOSSettings(); ServiceTemplateCategory serverCategoryNetwork = new ServiceTemplateCategory(); serverCategoryNetwork.setDisplayName("Network Settings"); serverCategoryNetwork.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_NETWORKING_COMP_ID); ServiceTemplateSetting multiNetworkConfig = new ServiceTemplateSetting(); multiNetworkConfig.setDisplayName("Network Config"); multiNetworkConfig.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_NETWORK_CONFIG_ID); multiNetworkConfig.setType(ServiceTemplateSettingType.NETWORKCONFIGURATION); multiNetworkConfig.setRequired(false); multiNetworkConfig.setValue(""); serverCategoryNetwork.getParameters().add(multiNetworkConfig); ServiceTemplateSetting defaultGateway = setDefaultGatewaySetting(networks, serverCategoryNetwork); final Map<String, String> baremetalTargets = ServiceTemplateUtil.processRazorImagesTargets(razorImages, true); String osValues = StringUtils.defaultIfBlank(Joiner.on(",").skipNulls().join(baremetalTargets.values()), null); ServiceTemplateSetting mtuSetting = new ServiceTemplateSetting(); mtuSetting.setDisplayName("MTU size for bonded interfaces:"); mtuSetting.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_MTU_ID); mtuSetting.setType(ServiceTemplateSettingType.ENUMERATED); mtuSetting.getOptions().add(new ServiceTemplateOption("1500", "1500", null, null)); mtuSetting.getOptions().add(new ServiceTemplateOption("9000", "9000", null, null)); mtuSetting.setValue("1500"); mtuSetting.setToolTip("Allows the Maximum Transfer Unit (MTU) to be set in the server Operating System. " + "This will only take effect on bonded interfaces."); serverCategoryNetwork.getParameters().add(mtuSetting); final Map<String, String> linuxTargets = ServiceTemplateUtil.getLinuxRazorImageTargets(razorImages); String linuxOSValues = StringUtils.defaultIfBlank(Joiner.on(",").skipNulls().join(linuxTargets.values()), null); // hidden for ESX or HyperV if (osValues != null) { defaultGateway.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); defaultGateway.setDependencyValue(osValues); } else { // no bare metal OS, don't show it at all defaultGateway.setHideFromTemplate(true); } if (linuxOSValues != null) { mtuSetting.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); mtuSetting.setDependencyValue(linuxOSValues); } else { mtuSetting.setHideFromTemplate(true); } IIOPoolMgr identityPoolsMgr = IOPoolMgr.getInstance(); List<IOPool> ioPools = identityPoolsMgr.getAllPools(); if (ioPools != null && ioPools.size() > 0) { ServiceTemplateSetting serverSettingIdentityPool = new ServiceTemplateSetting(); serverSettingIdentityPool.setDisplayName("Identity Pool"); serverSettingIdentityPool.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_ID_POOL_TOOLTIP); serverSettingIdentityPool.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_IDENTITYPOOL_ID); serverSettingIdentityPool.setType(ServiceTemplateSettingType.ENUMERATED); for (int i = 0; i < ioPools.size(); i++) { serverSettingIdentityPool.getOptions().add( new ServiceTemplateOption(ioPools.get(i).getName(), ioPools.get(i).getId(), null, null)); } // set it to the first pool which is the "Global" pool serverSettingIdentityPool.setValue(ioPools.get(0).getId()); serverCategoryNetwork.getParameters().add(serverSettingIdentityPool); } // hardware boot device defines OS type, so it goes first. server.getResources().add(serverCategoryOS); server.getResources().add(serverCategoryHW); server.getResources().add(serverCategoryBIOS); server.getResources().add(serverCategoryNetwork); return server; }
From source file:com.dell.asm.asmcore.asmmanager.app.rest.ServiceTemplateService.java
/** * Create VM default component./*w w w . jav a 2 s .c o m*/ * @return */ private ServiceTemplateComponent createVMComponent(List<DeviceInventoryEntity> vCenterEntities, List<RazorRepo> razorImages, List<NetworkConfiguration> networks, final Map<String, String> imageTargets, final Map<String, String> repoNames, boolean isClone) { // create default Virtual Machine settings // create default cluster settings ServiceTemplateComponent VM = new ServiceTemplateComponent(); if (isClone) { VM.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_VC_CLONE_COMPONENT_ID); VM.setName("Clone vCenter Virtual Machine"); } else { VM.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_VC_COMPONENT_ID); VM.setName("vCenter Virtual Machine"); } VM.setType(ServiceTemplateComponentType.VIRTUALMACHINE); ServiceTemplateCategory vmCategory1 = new ServiceTemplateCategory(); vmCategory1.setDisplayName("Virtual Machine Settings"); vmCategory1.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_RESOURCE); if (isClone) { ServiceTemplateSetting serverSettingGenerateHostName = new ServiceTemplateSetting(); serverSettingGenerateHostName.setDisplayName("Auto-generate Name"); serverSettingGenerateHostName.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_GENERATE_NAME_ID); serverSettingGenerateHostName.setType(ServiceTemplateSettingType.BOOLEAN); serverSettingGenerateHostName.setRequired(false); serverSettingGenerateHostName.setRequiredAtDeployment(false); serverSettingGenerateHostName.setHideFromTemplate(false); serverSettingGenerateHostName.setValue("false"); serverSettingGenerateHostName.setToolTip("Use the VM Name Template field to auto-generate " + "VM names at deployment time. If not selected, a unique name will be requested " + "when the template is deployed."); vmCategory1.getParameters().add(serverSettingGenerateHostName); ServiceTemplateSetting serverSettingHostNameTemplate = new ServiceTemplateSetting(); serverSettingHostNameTemplate.setDisplayName("VM Name Template"); serverSettingHostNameTemplate.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NAME_TEMPLATE_ID); serverSettingHostNameTemplate.setType(ServiceTemplateSettingType.STRING); serverSettingHostNameTemplate.setRequired(true); serverSettingHostNameTemplate.setRequiredAtDeployment(false); serverSettingHostNameTemplate.setHideFromTemplate(false); serverSettingHostNameTemplate .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NAME_DEFAULT_TEMPLATE); serverSettingHostNameTemplate .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_GENERATE_NAME_ID); serverSettingHostNameTemplate.setDependencyValue("true"); serverSettingHostNameTemplate.setToolTip("Template used to generate VM names at deployment " + "time. Must contain variables that will produce a unique VM name. Allowed variables " + " are ${num} (an auto-generated unique number)."); vmCategory1.getParameters().add(serverSettingHostNameTemplate); // Add the VM_NAME; for non-clone the SERVER_NAME parameter will be used ServiceTemplateSetting vmSettingName = new ServiceTemplateSetting(); vmSettingName.setDisplayName("Name"); vmSettingName.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NAME); vmSettingName.setType(ServiceTemplateSettingType.STRING); vmSettingName.setRequired(true); vmSettingName.setRequiredAtDeployment(true); vmSettingName.setHideFromTemplate(true); vmSettingName.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_GENERATE_NAME_ID); vmSettingName.setDependencyValue("false"); vmCategory1.getParameters().add(vmSettingName); /* Clone Type: [Virtual Machine][Virtual Machine Template] Templates: [pick from list of virtual machine templates] or Virtual Machine: [pick from list of virtual machines] */ ServiceTemplateSetting vmCloneType = new ServiceTemplateSetting(); vmCloneType.setDisplayName("Clone Type"); vmCloneType.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_CLONE_TYPE); vmCloneType.setType(ServiceTemplateSettingType.ENUMERATED); vmCloneType.getOptions().add(new ServiceTemplateOption("Virtual Machine", "vm", null, null)); vmCloneType.getOptions() .add(new ServiceTemplateOption("Virtual Machine Template", "template", null, null)); vmCloneType.setValue("vm"); vmCloneType.setRequired(false); vmCategory1.getParameters().add(vmCloneType); ServiceTemplateSetting vmTemplate = new ServiceTemplateSetting(); vmTemplate.setDisplayName("Source"); vmTemplate.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_TEMPLATE); vmTemplate.setType(ServiceTemplateSettingType.ENUMERATED); vmTemplate.setRequired(true); vmCategory1.getParameters().add(vmTemplate); ServiceTemplateUtil.addDefaultSelectOption(vmTemplate); ServiceTemplateSetting vmTemplateDC = new ServiceTemplateSetting(); vmTemplateDC.setDisplayName("Source Datacenter"); vmTemplateDC.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_TEMPLATE_DC); vmTemplateDC.setType(ServiceTemplateSettingType.ENUMERATED); vmTemplateDC.setRequired(true); vmCategory1.getParameters().add(vmTemplateDC); ServiceTemplateUtil.addDefaultSelectOption(vmTemplateDC); ServiceTemplateSetting vmCustomSpec = new ServiceTemplateSetting(); vmCustomSpec.setDisplayName("VM Guest Customization Spec"); vmCustomSpec.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_CUSTOM_SPEC); vmCustomSpec.setType(ServiceTemplateSettingType.ENUMERATED); vmCustomSpec.setRequired(false); vmCustomSpec.setToolTip("Selected VM guest customization spec must match the OS type"); ServiceTemplateUtil.addDefaultSelectOption(vmCustomSpec); vmCategory1.getParameters().add(vmCustomSpec); if (vCenterEntities != null) { for (DeviceInventoryEntity e : vCenterEntities) { ManagedObjectDTO vCenter = null; Map<String, String> deviceDetails = null; try { deviceDetails = PuppetModuleUtil.getPuppetDevice(e.getRefId()); vCenter = VcenterInventoryUtils.convertPuppetDeviceDetailsToDto(deviceDetails); } catch (Exception e1) { LOGGER.error("Could not find deviceDetails for " + e.getRefId(), e1); continue; } List<VirtualMachineDTO> vmSet = vCenter.getVirtualMachines(); List<VMTemplateDTO> templateSet = vCenter.getAllDescendantsByType(VMTemplateDTO.class); List<DatacenterDTO> dcSet = vCenter.getDatacenters(); String customSpecsJsonArray = deviceDetails.get("customization_specs"); if (StringUtils.isNotEmpty(customSpecsJsonArray)) { ArrayList<String> customSpecList; try { customSpecList = new ObjectMapper().readValue(deviceDetails.get("customization_specs"), ArrayList.class); for (String customSpecName : customSpecList) { String path = customSpecName; ServiceTemplateOption oPath = new ServiceTemplateOption(path, path, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_CUSTOM_SPEC, null); if (!vmCustomSpec.getOptions().contains(oPath)) { vmCustomSpec.getOptions().add(oPath); } } } catch (Exception e1) { LOGGER.error("Could not find deviceDetails for customization spec list", e1); continue; } } for (VirtualMachineDTO vm : vmSet) { String path = vm.getName(); ServiceTemplateOption oPath = new ServiceTemplateOption(path, path, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_CLONE_TYPE, "vm"); if (!vmTemplate.getOptions().contains(oPath)) { vmTemplate.getOptions().add(oPath); } } for (VMTemplateDTO vm : templateSet) { String path = vm.getName(); ServiceTemplateOption oPath = new ServiceTemplateOption(path, path, ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VCENTER_VM_CLONE_TYPE, "template"); if (!vmTemplate.getOptions().contains(oPath)) { vmTemplate.getOptions().add(oPath); } } for (DatacenterDTO dc : dcSet) { String path = dc.getName(); ServiceTemplateOption oPath = new ServiceTemplateOption(path, path, null, null); if (!vmTemplateDC.getOptions().contains(oPath)) { vmTemplateDC.getOptions().add(oPath); } } } } } ServiceTemplateSetting vmSettingCPU = new ServiceTemplateSetting(); vmSettingCPU.setDisplayName("Number of CPUs"); vmSettingCPU.setValue("1"); vmSettingCPU.setMin(1); vmSettingCPU.setMax(8); vmSettingCPU.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NUMBER_OF_CPU_ID); vmSettingCPU.setType(ServiceTemplateSettingType.INTEGER); vmCategory1.getParameters().add(vmSettingCPU); if (!isClone) { ServiceTemplateSetting vmDiskSetting = new ServiceTemplateSetting(); vmDiskSetting.setDisplayName("Virtual Disk(s)"); vmDiskSetting.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_DISK); vmDiskSetting.setRequiredAtDeployment(false); vmDiskSetting.setMin(1); vmDiskSetting.setMax(2048); vmDiskSetting.setRequired(true); vmDiskSetting.setType(ServiceTemplateSettingType.VMVIRTUALDISKCONFIGURATION); vmCategory1.getParameters().add(vmDiskSetting); } else { ServiceTemplateSetting vmSettingSize = new ServiceTemplateSetting(); vmSettingSize.setDisplayName("Virtual Disk Size (GB)"); vmSettingSize.setValue("32"); vmSettingSize.setMin(1); vmSettingSize.setMax(2048); vmSettingSize.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_SIZE); vmSettingSize.setType(ServiceTemplateSettingType.INTEGER); vmCategory1.getParameters().add(vmSettingSize); } ServiceTemplateSetting vmSettingMemory = new ServiceTemplateSetting(); vmSettingMemory.setDisplayName("Memory in MB"); vmSettingMemory.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_MEMORY_SIZE_TOOLTIP); vmSettingMemory.setValue("8192"); vmSettingMemory.setMin(1024); vmSettingMemory.setMax(262144); //256*1024 vmSettingMemory.setStep(4); vmSettingMemory.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_MEMORY_ID); vmSettingMemory.setType(ServiceTemplateSettingType.INTEGER); vmCategory1.getParameters().add(vmSettingMemory); // Set the VM network selection, filter by public and private ServiceTemplateSetting vmSettingNetwork = new ServiceTemplateSetting(); vmSettingNetwork.setDisplayName("Networks"); vmSettingNetwork.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NETWORKS_TOOLTIP); vmSettingNetwork.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_NETWORK_ID); vmSettingNetwork.setType(ServiceTemplateSettingType.LIST); vmSettingNetwork.setRequired(true); vmSettingNetwork.setValue(""); if (networks != null && networks.size() > 0) { for (int i = 0; i < networks.size(); i++) { if (networks.get(i).getType().compareToIgnoreCase(NetworkType.PRIVATE_LAN.value()) == 0 || networks.get(i).getType().compareToIgnoreCase(NetworkType.PUBLIC_LAN.value()) == 0) { vmSettingNetwork.getOptions().add(new ServiceTemplateOption(networks.get(i).getName(), networks.get(i).getId(), null, null)); } } } vmCategory1.getParameters().add(vmSettingNetwork); setDefaultGatewaySetting(networks, vmCategory1); if (!isClone) { ServiceTemplateCategory vmCategory2 = new ServiceTemplateCategory(); vmCategory2.setDisplayName("Virtual Machine OS Settings"); vmCategory2.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_RESOURCE); ServiceTemplateSetting serverSettingGenerateHostName = new ServiceTemplateSetting(); serverSettingGenerateHostName.setDisplayName("Auto-generate Host Name"); serverSettingGenerateHostName .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); serverSettingGenerateHostName.setType(ServiceTemplateSettingType.BOOLEAN); serverSettingGenerateHostName.setRequired(false); serverSettingGenerateHostName.setRequiredAtDeployment(false); serverSettingGenerateHostName.setHideFromTemplate(false); serverSettingGenerateHostName.setValue("false"); serverSettingGenerateHostName.setToolTip("Use the Host Name Template field to auto-generate " + "host names at deployment time. If not selected, a unique host name will be requested " + "when the template is deployed."); vmCategory2.getParameters().add(serverSettingGenerateHostName); ServiceTemplateSetting serverSettingHostNameTemplate = new ServiceTemplateSetting(); serverSettingHostNameTemplate.setDisplayName("Host Name Template"); serverSettingHostNameTemplate .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HOSTNAME_TEMPLATE_ID); serverSettingHostNameTemplate.setType(ServiceTemplateSettingType.STRING); serverSettingHostNameTemplate.setRequired(true); serverSettingHostNameTemplate.setRequiredAtDeployment(false); serverSettingHostNameTemplate.setHideFromTemplate(false); serverSettingHostNameTemplate .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_OS_HOSTNAME_DEFAULT_TEMPLATE); serverSettingHostNameTemplate .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); serverSettingHostNameTemplate.setDependencyValue("true"); serverSettingHostNameTemplate.setToolTip("Template used to generate host names at deployment " + "time. Must contain variables that will produce a unique host name. Allowed variables " + " are ${num} (an auto-generated unique number)."); vmCategory2.getParameters().add(serverSettingHostNameTemplate); ServiceTemplateSetting vmSettingHostName = new ServiceTemplateSetting(); vmSettingHostName.setDisplayName("Host Name"); vmSettingHostName.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HOSTNAME_ID); vmSettingHostName.setType(ServiceTemplateSettingType.STRING); vmSettingHostName.setRequired(true); vmSettingHostName.setRequiredAtDeployment(true); vmSettingHostName.setHideFromTemplate(true); vmSettingHostName .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_GENERATE_HOSTNAME_ID); vmSettingHostName.setDependencyValue("false"); vmCategory2.getParameters().add(vmSettingHostName); ServiceTemplateSetting vmOSImage = new ServiceTemplateSetting(); vmOSImage.setDisplayName("OS Image"); vmOSImage.setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_OS_IMAGE_TOOLTIP); vmOSImage.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_OS_IMAGE_ID); vmOSImage.setType(ServiceTemplateSettingType.ENUMERATED); ServiceTemplateUtil.addDefaultSelectOption(vmOSImage); ServiceTemplateUtil.addOSImagesAsOptions(razorImages, repoNames, vmOSImage); vmCategory2.getParameters().add(vmOSImage); String windowsTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2012_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_WINDOWS2008_VALUE)), NO_MATCHING_VALUE); String allLinuxTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join( imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT6_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_REDHAT7_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE11_VALUE), imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_SUSE12_VALUE)), NO_MATCHING_VALUE); String ntpTargets = StringUtils.defaultIfBlank( Joiner.on(",").skipNulls().join(allLinuxTargets, windowsTargets, imageTargets.get(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_ESXI_VALUE)), NO_MATCHING_VALUE); ServiceTemplateSetting osSubType = new ServiceTemplateSetting(); osSubType.setDisplayName("OS Image Version"); osSubType.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_VERSION_ID); osSubType.setType(ServiceTemplateSettingType.ENUMERATED); osSubType.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); osSubType.setDependencyValue(windowsTargets); ServiceTemplateUtil.addDefaultSelectOption(osSubType); addWindowsFlavors(osSubType, imageTargets); vmCategory2.getParameters().add(osSubType); ServiceTemplateSetting osType = new ServiceTemplateSetting(); osType.setDisplayName("OS Image Type"); osType.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_TYPE_ID); osType.setType(ServiceTemplateSettingType.ENUMERATED); osType.setRequired(false); osType.setHideFromTemplate(true); vmCategory2.getParameters().add(osType); ServiceTemplateSetting vmSettingHypervisorAdminPassword = new ServiceTemplateSetting(); vmSettingHypervisorAdminPassword.setDisplayName("Administrator password"); vmSettingHypervisorAdminPassword .setToolTip(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_ADM_PASSWORD_TOOLTIP); vmSettingHypervisorAdminPassword .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ADMIN_PASSWORD_ID); vmSettingHypervisorAdminPassword.setType(ServiceTemplateSettingType.PASSWORD); vmSettingHypervisorAdminPassword .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); vmCategory2.getParameters().add(vmSettingHypervisorAdminPassword); ServiceTemplateSetting vmSettingHypervisorAdminConfirmPassword = new ServiceTemplateSetting(); vmSettingHypervisorAdminConfirmPassword.setDisplayName("Confirm administrator password"); vmSettingHypervisorAdminConfirmPassword .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_ADMIN_CONFIRM_PASSWORD_ID); vmSettingHypervisorAdminConfirmPassword.setType(ServiceTemplateSettingType.PASSWORD); vmSettingHypervisorAdminConfirmPassword .setValue(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_PASSWORD_DEFAULT_TO_REMOVE); vmCategory2.getParameters().add(vmSettingHypervisorAdminConfirmPassword); ServiceTemplateSetting serverSettingHVProdKey = new ServiceTemplateSetting(); serverSettingHVProdKey.setDisplayName("Product Key"); serverSettingHVProdKey.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_HV_PROD_KEY_ID); serverSettingHVProdKey.setType(ServiceTemplateSettingType.STRING); serverSettingHVProdKey.setRequired(true); serverSettingHVProdKey .setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingHVProdKey.setDependencyValue(windowsTargets); vmCategory2.getParameters().add(serverSettingHVProdKey); ServiceTemplateSetting serverSettingNTP = new ServiceTemplateSetting(); serverSettingNTP.setDisplayName("NTP Server"); serverSettingNTP.setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_LINUX_NTP_ID); serverSettingNTP.setType(ServiceTemplateSettingType.STRING); serverSettingNTP.setRequired(false); serverSettingNTP.setDependencyTarget(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_SERVER_OS_IMAGE_ID); serverSettingNTP.setDependencyValue(ntpTargets); NTPSetting ntpSet = ProxyUtil.getAlcmNTPProxy().getNTPSettings(); if (StringUtils.isNotEmpty(ntpSet.getPreferredNTPServer())) { serverSettingNTP.setValue(ntpSet.getPreferredNTPServer()); } vmCategory2.getParameters().add(serverSettingNTP); //TODO: Perhaps add this back in when there is support for it on the back end. Removing for now because this currently does not work. // ServiceTemplateSetting customScript = new ServiceTemplateSetting(); // customScript.setDisplayName("Custom OS Installation script"); // customScript // .setId(ServiceTemplateSettingIDs.SERVICE_TEMPLATE_VM_OS_CUSTOM_SCRIPT_ID); // customScript.setType(ServiceTemplateSettingType.TEXT); // customScript.setRequired(false); // vmCategory2.getParameters().add(customScript); VM.getResources().add(vmCategory2); } VM.getResources().add(vmCategory1); return VM; }
From source file:com.sonicle.webtop.mail.Service.java
public void processGetContactFromVCard(HttpServletRequest request, HttpServletResponse response, PrintWriter out) {/*from w ww . j ava2 s . c om*/ try { String folder = ServletUtils.getStringParameter(request, "folder", true); int messageId = ServletUtils.getIntParameter(request, "messageId", true); int attachId = ServletUtils.getIntParameter(request, "attachId", true); String uploadTag = ServletUtils.getStringParameter(request, "uploadTag", true); MailAccount account = getAccount(request); account.checkStoreConnected(); FolderCache mcache = account.getFolderCache(folder); Message m = mcache.getMessage(messageId); HTMLMailData mailData = mcache.getMailData((MimeMessage) m); Part part = mailData.getAttachmentPart(attachId); String filename = MailUtils.getPartFilename(part); InputStream is = part.getInputStream(); try { List<ContactInput> results = new VCardInput().fromVCardFile(is, null); ContactInput ci = results.get(0); JsContactData js = new JsContactData(ci.contact); if (ci.contact.hasPicture()) { ContactPictureWithBytes picture = (ContactPictureWithBytes) ci.contact.getPicture(); WebTopSession.UploadedFile upl = null; ByteArrayInputStream bais = null; try { bais = new ByteArrayInputStream(picture.getBytes()); upl = addAsUploadedFile("com.sonicle.webtop.contacts", uploadTag, StringUtils.defaultIfBlank(filename, "idAttach"), "text/vcard", bais); } finally { IOUtils.closeQuietly(bais); } if (upl != null) js.picture = upl.getUploadId(); } new JsonResult(js).printTo(out); } finally { IOUtils.closeQuietly(is); } } catch (Exception ex) { Service.logger.error("Exception", ex); new JsonResult(ex).printTo(out); } }