Search in sources :

Example 1 with AzureDockerVnet

use of com.microsoft.azure.docker.model.AzureDockerVnet in project azure-tools-for-java by Microsoft.

the class AzureNewDockerConfigPage method updateDockerHostVnetGroup.

private void updateDockerHostVnetGroup(Composite mainContainer) {
    dockerHostNewVNetRadioButton.setSelection(true);
    dockerHostNewVNetRadioButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            dockerHostNewVNetNameTextField.setEnabled(true);
            dockerHostNewVNetAddrSpaceTextField.setEnabled(true);
            dockerHostSelectVnetComboBox.setEnabled(false);
            dockerHostSelectSubnetComboBox.setEnabled(false);
            setPageComplete(doValidate());
        }
    });
    dockerHostNewVNetNameTextField.setToolTipText(AzureDockerValidationUtils.getDockerVnetNameTip());
    dockerHostNewVNetNameTextField.setText(newHost.hostVM.vnetName);
    dockerHostNewVNetNameTextField.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            if (AzureDockerValidationUtils.validateDockerVnetName(((Text) event.getSource()).getText())) {
                errDispatcher.removeMessage("dockerHostNewVNetNameTextField", dockerHostNewVNetNameTextField);
                setErrorMessage(null);
                setPageComplete(doValidate());
            } else {
                errDispatcher.addMessage("dockerHostNewVNetNameTextField", AzureDockerValidationUtils.getDockerVnetNameTip(), null, IMessageProvider.ERROR, dockerHostNewVNetNameTextField);
                setErrorMessage("Invalid network name");
                setPageComplete(false);
            }
        }
    });
    dockerHostNewVNetAddrSpaceTextField.setToolTipText(AzureDockerValidationUtils.getDockerVnetAddrspaceTip());
    dockerHostNewVNetAddrSpaceTextField.setText(newHost.hostVM.vnetAddressSpace);
    dockerHostNewVNetAddrSpaceTextField.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            if (AzureDockerValidationUtils.validateDockerVnetAddrSpace(((Text) event.getSource()).getText())) {
                errDispatcher.removeMessage("dockerHostNewVNetAddrSpaceTextField", dockerHostNewVNetAddrSpaceTextField);
                setErrorMessage(null);
                setPageComplete(doValidate());
            } else {
                errDispatcher.addMessage("dockerHostNewVNetAddrSpaceTextField", AzureDockerValidationUtils.getDockerVnetAddrspaceTip(), null, IMessageProvider.ERROR, dockerHostNewVNetAddrSpaceTextField);
                setErrorMessage("Invalid address space");
                setPageComplete(false);
            }
        }
    });
    dockerHostSelectVNetRadioButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            dockerHostNewVNetNameTextField.setEnabled(false);
            dockerHostNewVNetAddrSpaceTextField.setEnabled(false);
            dockerHostSelectVnetComboBox.setEnabled(true);
            dockerHostSelectSubnetComboBox.setEnabled(true);
            setPageComplete(doValidate());
        }
    });
    dockerHostSelectVnetComboBox.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            updateDockerSelectSubnetComboBox(mainContainer, (AzureDockerVnet) dockerHostSelectVnetComboBox.getData(dockerHostSelectVnetComboBox.getText()));
            setPageComplete(doValidate());
        }
    });
    dockerHostSelectSubnetComboBox.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            setPageComplete(doValidate());
        }
    });
    dockerHostSelectVnetComboBox.setEnabled(false);
    dockerHostSelectSubnetComboBox.setEnabled(false);
    String region = (String) dockerLocationComboBox.getText();
    Region regionObj = Region.findByLabelOrName(region);
    updateDockerSelectVnetComboBox(mainContainer, getCurrentSubscription(), regionObj != null ? regionObj.name() : region);
}
Also used : AzureDockerVnet(com.microsoft.azure.docker.model.AzureDockerVnet) ModifyEvent(org.eclipse.swt.events.ModifyEvent) ModifyListener(org.eclipse.swt.events.ModifyListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionEvent(org.eclipse.swt.events.SelectionEvent) Region(com.microsoft.azure.management.resources.fluentcore.arm.Region) Text(org.eclipse.swt.widgets.Text)

Example 2 with AzureDockerVnet

use of com.microsoft.azure.docker.model.AzureDockerVnet in project azure-tools-for-java by Microsoft.

the class AzureNewDockerConfigPage method validateDockerVnet.

private boolean validateDockerVnet() {
    // Docker virtual network name
    if (dockerHostNewVNetRadioButton.getSelection()) {
        // New virtual network
        String vnetName = dockerHostNewVNetNameTextField.getText();
        if (vnetName == null || vnetName.isEmpty() || !AzureDockerValidationUtils.validateDockerVnetName(vnetName)) {
            hostDetailsTabFolder.setSelection(2);
            errDispatcher.addMessage("dockerHostNewVNetNameTextField", AzureDockerValidationUtils.getDockerVnetNameTip(), null, IMessageProvider.ERROR, dockerHostNewVNetNameTextField);
            setErrorMessage("Invalid network name");
            return false;
        } else {
            errDispatcher.removeMessage("dockerHostNewVNetNameTextField", dockerHostNewVNetNameTextField);
            setErrorMessage(null);
            String vnetAddrSpace = dockerHostNewVNetAddrSpaceTextField.getText();
            if (vnetAddrSpace == null || vnetAddrSpace.isEmpty() || !AzureDockerValidationUtils.validateDockerVnetAddrSpace(vnetAddrSpace)) {
                hostDetailsTabFolder.setSelection(2);
                errDispatcher.addMessage("dockerHostNewVNetAddrSpaceTextField", AzureDockerValidationUtils.getDockerVnetAddrspaceTip(), null, IMessageProvider.ERROR, dockerHostNewVNetAddrSpaceTextField);
                setErrorMessage("Invalid address space");
                return false;
            } else {
                errDispatcher.removeMessage("dockerHostNewVNetAddrSpaceTextField", dockerHostNewVNetAddrSpaceTextField);
                setErrorMessage(null);
                newHost.hostVM.vnetName = vnetName;
                newHost.hostVM.vnetAddressSpace = vnetAddrSpace;
                newHost.hostVM.subnetName = "subnet1";
                return true;
            }
        }
    } else {
        // Existing virtual network and subnet
        AzureDockerVnet vnet = (AzureDockerVnet) dockerHostSelectVnetComboBox.getData(dockerHostSelectVnetComboBox.getText());
        if (vnet == null || vnet.name == null || vnet.name.isEmpty()) {
            hostDetailsTabFolder.setSelection(2);
            String errMsg = "Network not set";
            errDispatcher.addMessage("dockerHostSelectVnetComboBox", errMsg, null, IMessageProvider.ERROR, dockerHostSelectVnetComboBox);
            setErrorMessage(errMsg);
            return false;
        } else {
            errDispatcher.removeMessage("dockerHostSelectVnetComboBox", dockerHostSelectVnetComboBox);
            setErrorMessage(null);
            String subnet = (String) dockerHostSelectSubnetComboBox.getText();
            if (subnet == null || subnet.isEmpty()) {
                hostDetailsTabFolder.setSelection(2);
                errDispatcher.addMessage("dockerHostSelectSubnetComboBox", AzureDockerValidationUtils.getDockerVnetAddrspaceTip(), null, IMessageProvider.ERROR, dockerHostSelectSubnetComboBox);
                setErrorMessage("Subnet not set");
                return false;
            } else {
                errDispatcher.removeMessage("dockerHostSelectSubnetComboBox", dockerHostSelectSubnetComboBox);
                setErrorMessage(null);
                // Add "@resourceGroupName" to mark this as an existing virtual
                // network
                newHost.hostVM.vnetName = vnet.name + "@" + vnet.resourceGroup;
                newHost.hostVM.vnetAddressSpace = vnet.addrSpace;
                newHost.hostVM.subnetName = subnet;
                return true;
            }
        }
    }
}
Also used : AzureDockerVnet(com.microsoft.azure.docker.model.AzureDockerVnet)

Example 3 with AzureDockerVnet

use of com.microsoft.azure.docker.model.AzureDockerVnet in project azure-tools-for-java by Microsoft.

the class AzureNewDockerConfigPage method updateDockerSelectVnetComboBox.

private void updateDockerSelectVnetComboBox(Composite mainContainer, AzureDockerSubscription currentSubscription, String region) {
    dockerHostSelectVnetComboBox.deselectAll();
    dockerHostSelectVnetComboBox.removeAll();
    if (currentSubscription != null && region != null) {
        List<AzureDockerVnet> dockerVnets = dockerManager.getNetworksAndSubnets(currentSubscription);
        for (AzureDockerVnet vnet : dockerVnets) {
            if (region != null && vnet.region.equals(region)) {
                dockerHostSelectVnetComboBox.add(vnet.name);
                dockerHostSelectVnetComboBox.setData(vnet.name, vnet);
            }
        }
    }
    dockerHostSelectVnetComboBox.redraw();
    if (dockerHostSelectVnetComboBox.getItemCount() > 0) {
        dockerHostSelectVnetComboBox.select(0);
        updateDockerSelectSubnetComboBox(mainContainer, (AzureDockerVnet) dockerHostSelectVnetComboBox.getData(dockerHostSelectVnetComboBox.getText()));
    } else {
        updateDockerSelectSubnetComboBox(mainContainer, null);
    }
}
Also used : AzureDockerVnet(com.microsoft.azure.docker.model.AzureDockerVnet)

Aggregations

AzureDockerVnet (com.microsoft.azure.docker.model.AzureDockerVnet)3 Region (com.microsoft.azure.management.resources.fluentcore.arm.Region)1 ModifyEvent (org.eclipse.swt.events.ModifyEvent)1 ModifyListener (org.eclipse.swt.events.ModifyListener)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 SelectionEvent (org.eclipse.swt.events.SelectionEvent)1 Text (org.eclipse.swt.widgets.Text)1