Search in sources :

Example 1 with PricingTier

use of com.microsoft.azure.toolkit.redis.PricingTier in project azure-tools-for-java by Microsoft.

the class CreateRedisCacheForm method createDialogArea.

/**
 * Create contents of the dialog.
 *
 * @param parent
 */
@Override
protected Control createDialogArea(Composite parent) {
    resourceBundle = MessageHandler.getResourceBundle(MODULE_NAME);
    if (resourceBundle == null) {
        return null;
    }
    setTitle(MessageHandler.getResourceString(resourceBundle, DIALOG_TITLE));
    setMessage(MessageHandler.getResourceString(resourceBundle, DIALOG_MESSAGE));
    Composite area = (Composite) super.createDialogArea(parent);
    Composite container = new Composite(area, SWT.NONE);
    GridLayout glContainer = new GridLayout(4, false);
    glContainer.horizontalSpacing = LAYOUT_SPACING;
    glContainer.verticalSpacing = LAYOUT_SPACING;
    container.setLayout(glContainer);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    Label lblDnsName = new Label(container, SWT.NONE);
    lblDnsName.setText(MessageHandler.getResourceString(resourceBundle, LABEL_DNS_NAME));
    txtDnsName = new Text(container, SWT.BORDER);
    txtDnsName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    decoratorDnsName = new ControlDecoration(txtDnsName, SWT.CENTER);
    decoratorDnsName.setDescriptionText(MessageHandler.getResourceString(resourceBundle, DECORACTOR_DNS));
    FieldDecoration fieldDecoration = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR);
    if (fieldDecoration != null) {
        Image image = fieldDecoration.getImage();
        decoratorDnsName.setImage(image);
    }
    Label lblDnsSuffix = new Label(container, SWT.NONE);
    lblDnsSuffix.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
    lblDnsSuffix.setText(MessageHandler.getResourceString(resourceBundle, LABEL_DNS_SUFFIX));
    Label lblSubscription = new Label(container, SWT.NONE);
    lblSubscription.setText(MessageHandler.getResourceString(resourceBundle, LABEL_SUBSCRIPTION));
    cbSubs = new Combo(container, SWT.READ_ONLY);
    cbSubs.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
    Label lblResourceGroup = new Label(container, SWT.NONE);
    lblResourceGroup.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1));
    lblResourceGroup.setText(MessageHandler.getResourceString(resourceBundle, LABEL_RESOURCE_GRP));
    rdoCreateNew = new Button(container, SWT.RADIO);
    rdoCreateNew.setText(MessageHandler.getResourceString(resourceBundle, RADIOBUTTON_NEW_GRP));
    rdoCreateNew.setSelection(true);
    txtNewResGrpName = new Text(container, SWT.BORDER);
    txtNewResGrpName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
    txtNewResGrpName.setEnabled(true);
    decoratorResGrpName = new ControlDecoration(txtNewResGrpName, SWT.CENTER);
    decoratorResGrpName.setDescriptionText(MessageHandler.getResourceString(resourceBundle, RES_GRP_NAME_RULE));
    if (fieldDecoration != null) {
        Image image = fieldDecoration.getImage();
        decoratorResGrpName.setImage(image);
    }
    rdoUseExisting = new Button(container, SWT.RADIO);
    rdoUseExisting.setText(MessageHandler.getResourceString(resourceBundle, RADIOBUTTON_USE_EXIST_GRP));
    rdoUseExisting.setSelection(false);
    cbUseExisting = new Combo(container, SWT.READ_ONLY);
    cbUseExisting.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
    cbUseExisting.add(MessageHandler.getResourceString(resourceBundle, LOADING));
    cbUseExisting.select(0);
    cbUseExisting.setEnabled(false);
    Label lblLocation = new Label(container, SWT.NONE);
    lblLocation.setText(MessageHandler.getResourceString(resourceBundle, LABEL_LOCTION));
    cbLocations = new Combo(container, SWT.READ_ONLY);
    cbLocations.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
    cbLocations.add(MessageHandler.getResourceString(resourceBundle, LOADING));
    cbLocations.select(0);
    cbLocations.setEnabled(false);
    Label lblPricingTier = new Label(container, SWT.READ_ONLY);
    lblPricingTier.setText(MessageHandler.getResourceString(resourceBundle, LABEL_PRICING));
    cbPricetiers = new Combo(container, SWT.READ_ONLY);
    cbPricetiers.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
    for (PricingTier price : PricingTier.values()) {
        cbPricetiers.add(price.toString());
    }
    cbPricetiers.select(0);
    selectedPriceTierValue = cbPricetiers.getText();
    Link lnkPrice = new Link(container, SWT.NONE);
    lnkPrice.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    lnkPrice.setText(MessageHandler.getResourceString(resourceBundle, LINK_PRICE));
    lnkPrice.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent event) {
            try {
                PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(new URL(event.text));
            } catch (Exception ex) {
                LOG.log(MessageHandler.getCommonStr(OPEN_BROWSER_ERROR), ex);
            }
        }
    });
    chkUnblockPort = new Button(container, SWT.CHECK);
    chkUnblockPort.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 4, 1));
    chkUnblockPort.setText(MessageHandler.getResourceString(resourceBundle, CHECKBOX_SSL));
    this.setHelpAvailable(false);
    txtDnsName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent arg0) {
            dnsNameValue = txtDnsName.getText();
            validateFields();
        }
    });
    for (Subscription sub : selectedSubscriptions) {
        cbSubs.add(String.format(SUBS_COMBO_ITEMS_FORMAT, sub.getName(), sub.getId()));
    }
    cbSubs.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            currentSub = selectedSubscriptions.get(cbSubs.getSelectionIndex());
            if (loaded) {
                fillLocationsAndResourceGrps(currentSub);
            }
            validateFields();
        }
    });
    if (selectedSubscriptions.size() > 0) {
        cbSubs.select(0);
    }
    rdoCreateNew.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            txtNewResGrpName.setEnabled(true);
            cbUseExisting.setEnabled(false);
            newResGrp = true;
            selectedResGrpValue = txtNewResGrpName.getText();
            validateFields();
        }
    });
    rdoUseExisting.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            txtNewResGrpName.setEnabled(false);
            cbUseExisting.setEnabled(true);
            if (loaded) {
                newResGrp = false;
                selectedResGrpValue = sortedGroups.get(cbUseExisting.getSelectionIndex());
                validateFields();
            }
        }
    });
    txtNewResGrpName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent arg0) {
            selectedResGrpValue = txtNewResGrpName.getText();
            validateFields();
        }
    });
    cbUseExisting.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedResGrpValue = cbUseExisting.getText();
            validateFields();
        }
    });
    cbLocations.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedLocationValue = sortedLocations.get(cbLocations.getSelectionIndex()).getLabel();
            validateFields();
        }
    });
    cbPricetiers.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            selectedPriceTierValue = cbPricetiers.getText();
            validateFields();
        }
    });
    chkUnblockPort.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            Button btn = (Button) e.getSource();
            if (btn.getSelection()) {
                noSSLPort = true;
            } else {
                noSSLPort = false;
            }
        }
    });
    AzureTaskManager.getInstance().runInBackground(MessageHandler.getResourceString(resourceBundle, LOADING_LOCATION_AND_GRPS), false, () -> {
        try {
            DefaultLoader.getIdeHelper().invokeLater(new Runnable() {

                @Override
                public void run() {
                    fillLocationsAndResourceGrps(currentSub);
                    cbLocations.setEnabled(true);
                    loaded = true;
                    validateFields();
                }
            });
        } catch (Exception ex) {
            LOG.log(MessageHandler.getCommonStr(LOAD_LOCATION_AND_RESOURCE_ERROR), ex);
        }
    });
    return area;
}
Also used : PricingTier(com.microsoft.azure.toolkit.redis.PricingTier) Composite(org.eclipse.swt.widgets.Composite) ModifyListener(org.eclipse.swt.events.ModifyListener) FieldDecoration(org.eclipse.jface.fieldassist.FieldDecoration) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Label(org.eclipse.swt.widgets.Label) Text(org.eclipse.swt.widgets.Text) Combo(org.eclipse.swt.widgets.Combo) Image(org.eclipse.swt.graphics.Image) URL(java.net.URL) InvalidFormDataException(com.microsoft.azuretools.azurecommons.exceptions.InvalidFormDataException) IOException(java.io.IOException) GridLayout(org.eclipse.swt.layout.GridLayout) ModifyEvent(org.eclipse.swt.events.ModifyEvent) Button(org.eclipse.swt.widgets.Button) GridData(org.eclipse.swt.layout.GridData) ControlDecoration(org.eclipse.jface.fieldassist.ControlDecoration) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Subscription(com.microsoft.azure.toolkit.lib.common.model.Subscription) Link(org.eclipse.swt.widgets.Link)

Example 2 with PricingTier

use of com.microsoft.azure.toolkit.redis.PricingTier in project azure-tools-for-java by Microsoft.

the class CreateRedisCacheForm method getData.

private RedisConfig getData() {
    RedisConfig redisConfig = new RedisConfig();
    redisConfig.setSubscription(this.currentSub);
    redisConfig.setRegion(Region.fromName(selectedLocationValue));
    redisConfig.setResourceGroup(newResGrp ? new DraftResourceGroup(this.currentSub, selectedResGrpValue) : com.microsoft.azure.toolkit.lib.Azure.az(AzureGroup.class).get(this.currentSub.getId(), selectedResGrpValue));
    redisConfig.setEnableNonSslPort(noSSLPort);
    redisConfig.setPricingTier(PricingTier.values().stream().filter(pricingTier -> StringUtils.equalsIgnoreCase(pricingTier.toString(), selectedPriceTierValue)).findFirst().orElse(null));
    redisConfig.setName(dnsNameValue);
    return redisConfig;
}
Also used : AuthMethodManager(com.microsoft.azuretools.authmanage.AuthMethodManager) URL(java.net.URL) InvalidFormDataException(com.microsoft.azuretools.azurecommons.exceptions.InvalidFormDataException) IDialogConstants(org.eclipse.jface.dialogs.IDialogConstants) StringUtils(org.apache.commons.lang3.StringUtils) Point(org.eclipse.swt.graphics.Point) RedisCacheUtil(com.microsoft.azuretools.azurecommons.helpers.RedisCacheUtil) AzureTitleAreaDialogWrapper(com.microsoft.azuretools.core.components.AzureTitleAreaDialogWrapper) Composite(org.eclipse.swt.widgets.Composite) Map(java.util.Map) AzureGroup(com.microsoft.azure.toolkit.lib.resource.AzureGroup) Activator(com.microsoft.azuretools.core.Activator) MessageDialog(org.eclipse.jface.dialogs.MessageDialog) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ResourceEx(com.microsoft.azuretools.core.mvp.model.ResourceEx) AzureActionEnum(com.microsoft.tooling.msservices.serviceexplorer.AzureActionEnum) Text(org.eclipse.swt.widgets.Text) ModifyEvent(org.eclipse.swt.events.ModifyEvent) Button(org.eclipse.swt.widgets.Button) PlatformUI(org.eclipse.ui.PlatformUI) ErrorType(com.microsoft.azuretools.telemetrywrapper.ErrorType) Operation(com.microsoft.azuretools.telemetrywrapper.Operation) CREATE_REDIS(com.microsoft.azuretools.telemetry.TelemetryConstants.CREATE_REDIS) Collectors(java.util.stream.Collectors) AzureRedis(com.microsoft.azure.toolkit.redis.AzureRedis) List(java.util.List) AzureAccount(com.microsoft.azure.toolkit.lib.auth.AzureAccount) SWT(org.eclipse.swt.SWT) AzureMvpModel(com.microsoft.azuretools.core.mvp.model.AzureMvpModel) FieldDecorationRegistry(org.eclipse.jface.fieldassist.FieldDecorationRegistry) REDIS(com.microsoft.azuretools.telemetry.TelemetryConstants.REDIS) EventUtil(com.microsoft.azuretools.telemetrywrapper.EventUtil) Label(org.eclipse.swt.widgets.Label) AzureTaskManager(com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager) ControlDecoration(org.eclipse.jface.fieldassist.ControlDecoration) RedisCache(com.microsoft.azure.toolkit.redis.RedisCache) Node(com.microsoft.tooling.msservices.serviceexplorer.Node) Image(org.eclipse.swt.graphics.Image) HashMap(java.util.HashMap) AzureManager(com.microsoft.azuretools.sdkmanage.AzureManager) RedisCacheModule(com.microsoft.tooling.msservices.serviceexplorer.azure.rediscache.RedisCacheModule) CreateResourceGroupTask(com.microsoft.azure.toolkit.lib.resource.task.CreateResourceGroupTask) AzureTask(com.microsoft.azure.toolkit.lib.common.task.AzureTask) Region(com.microsoft.azure.toolkit.lib.common.model.Region) ResourceBundle(java.util.ResourceBundle) MessageHandler(com.microsoft.azuretools.azureexplorer.messages.MessageHandler) DefaultLoader(com.microsoft.tooling.msservices.components.DefaultLoader) GridData(org.eclipse.swt.layout.GridData) FieldDecoration(org.eclipse.jface.fieldassist.FieldDecoration) Link(org.eclipse.swt.widgets.Link) Subscription(com.microsoft.azure.toolkit.lib.common.model.Subscription) PricingTier(com.microsoft.azure.toolkit.redis.PricingTier) Combo(org.eclipse.swt.widgets.Combo) Shell(org.eclipse.swt.widgets.Shell) DraftResourceGroup(com.microsoft.azuretools.azureexplorer.forms.common.DraftResourceGroup) IOException(java.io.IOException) ResourceGroup(com.microsoft.azure.toolkit.lib.common.model.ResourceGroup) Draft(com.microsoft.azuretools.azureexplorer.forms.common.Draft) ModifyListener(org.eclipse.swt.events.ModifyListener) TelemetryManager(com.microsoft.azuretools.telemetrywrapper.TelemetryManager) SelectionEvent(org.eclipse.swt.events.SelectionEvent) RedisConfig(com.microsoft.azure.toolkit.redis.RedisConfig) Comparator(java.util.Comparator) Control(org.eclipse.swt.widgets.Control) Utils(com.microsoft.azuretools.azurecommons.util.Utils) GridLayout(org.eclipse.swt.layout.GridLayout) DraftResourceGroup(com.microsoft.azuretools.azureexplorer.forms.common.DraftResourceGroup) AzureGroup(com.microsoft.azure.toolkit.lib.resource.AzureGroup) RedisConfig(com.microsoft.azure.toolkit.redis.RedisConfig)

Aggregations

Subscription (com.microsoft.azure.toolkit.lib.common.model.Subscription)2 PricingTier (com.microsoft.azure.toolkit.redis.PricingTier)2 InvalidFormDataException (com.microsoft.azuretools.azurecommons.exceptions.InvalidFormDataException)2 IOException (java.io.IOException)2 URL (java.net.URL)2 ControlDecoration (org.eclipse.jface.fieldassist.ControlDecoration)2 FieldDecoration (org.eclipse.jface.fieldassist.FieldDecoration)2 ModifyEvent (org.eclipse.swt.events.ModifyEvent)2 ModifyListener (org.eclipse.swt.events.ModifyListener)2 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2 Image (org.eclipse.swt.graphics.Image)2 GridData (org.eclipse.swt.layout.GridData)2 GridLayout (org.eclipse.swt.layout.GridLayout)2 Button (org.eclipse.swt.widgets.Button)2 Combo (org.eclipse.swt.widgets.Combo)2 Composite (org.eclipse.swt.widgets.Composite)2 Label (org.eclipse.swt.widgets.Label)2 Link (org.eclipse.swt.widgets.Link)2 Text (org.eclipse.swt.widgets.Text)2