Example usage for org.eclipse.jface.viewers StructuredSelection getFirstElement

List of usage examples for org.eclipse.jface.viewers StructuredSelection getFirstElement

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers StructuredSelection getFirstElement.

Prototype

@Override
    public Object getFirstElement() 

Source Link

Usage

From source file:org.apache.directory.studio.ldapservers.apacheds.CreateConnectionAction.java

License:Apache License

/**
 * {@inheritDoc}/* w w  w . ja v a  2s.  co m*/
 */
public void run(IAction action) {
    if (view != null) {
        // Getting the selection
        StructuredSelection selection = (StructuredSelection) view.getViewer().getSelection();
        if ((!selection.isEmpty()) && (selection.size() == 1)) {
            // Getting the server
            LdapServer server = (LdapServer) selection.getFirstElement();

            // Checking that the server is really an ApacheDS 2.0.0 server
            if (!ExtensionUtils.verifyApacheDs200OrPrintError(server, view)) {
                return;
            }

            // Parsing the 'config.ldif' file
            ConfigBean configuration = null;
            try {
                configuration = ApacheDS200LdapServerAdapter.getServerConfiguration(server).getConfigBean();
            } catch (Exception e) {
                String message = Messages.getString("CreateConnectionAction.UnableReadServerConfiguration") //$NON-NLS-1$
                        + "\n\n" //$NON-NLS-1$
                        + Messages.getString("CreateConnectionAction.FollowingErrorOccurred") + e.getMessage(); //$NON-NLS-1$

                reportErrorReadingServerConfiguration(view, message);
                return;
            }

            // Checking if we could read the 'server.xml' file
            if (configuration == null) {
                reportErrorReadingServerConfiguration(view,
                        Messages.getString("CreateConnectionAction.UnableReadServerConfiguration")); //$NON-NLS-1$
                return;
            }

            // Checking is LDAP and/or LDAPS is/are enabled
            if ((ApacheDS200LdapServerAdapter.isEnableLdap(configuration))
                    || (ApacheDS200LdapServerAdapter.isEnableLdaps(configuration))) {
                // Creating the connection using the helper class
                createConnection(server, configuration);
            } else {
                // LDAP and LDAPS protocols are disabled, we report this error to the user
                MessageDialog dialog = new MessageDialog(view.getSite().getShell(),
                        Messages.getString("CreateConnectionAction.UnableCreateConnection"), null, //$NON-NLS-1$
                        Messages.getString("CreateConnectionAction.LDAPAndLDAPSDisabled"), MessageDialog.ERROR, //$NON-NLS-1$
                        new String[] { IDialogConstants.OK_LABEL }, MessageDialog.OK);
                dialog.open();
            }
        }
    }
}

From source file:org.apache.directory.studio.ldapservers.apacheds.RepairAction.java

License:Apache License

private LdapServer getSelectedServer() {
    if (view != null) {
        // Getting the selection
        StructuredSelection selection = (StructuredSelection) view.getViewer().getSelection();
        if ((!selection.isEmpty()) && (selection.size() == 1)) {
            // Getting the server
            LdapServer server = (LdapServer) selection.getFirstElement();
            return server;
        }/*from w  ww . j  a va2  s  . com*/
    }

    return null;
}

From source file:org.apache.directory.studio.ldapservers.views.ServersView.java

License:Apache License

/**
 * Enables or disables the actions according to the current selection 
 * in the viewer./*from   w  ww .  j  ava2  s  .c om*/
 */
public void updateActionsStates() {
    // Getting the selection
    StructuredSelection selection = (StructuredSelection) tableViewer.getSelection();

    if (!selection.isEmpty()) {
        LdapServer server = (LdapServer) selection.getFirstElement();

        switch (server.getStatus()) {
        case STARTED:
            start.setEnabled(false);
            stop.setEnabled(true);
            break;
        case REPAIRING:
        case STARTING:
            start.setEnabled(false);
            stop.setEnabled(false);
            break;
        case STOPPED:
            start.setEnabled(true);
            stop.setEnabled(false);
            break;
        case STOPPING:
            start.setEnabled(false);
            stop.setEnabled(false);
            break;
        case UNKNOWN:
            start.setEnabled(false);
            stop.setEnabled(false);
            break;
        }

        openConfiguration.setEnabled(server.getLdapServerAdapterExtension().isOpenConfigurationActionEnabled());
        delete.setEnabled(true);
        rename.setEnabled(true);
        properties.setEnabled(true);
    } else {
        openConfiguration.setEnabled(false);
        delete.setEnabled(false);
        rename.setEnabled(false);
        start.setEnabled(false);
        stop.setEnabled(false);
        properties.setEnabled(false);
    }
}

From source file:org.apache.directory.studio.ldapservers.wizards.NewServerWizardSelectionPage.java

License:Apache License

/**
 * Adding listeners to UI elements./*from  ww  w  .j a  va2  s . c o  m*/
 */
private void addListeners() {
    // Filter Text
    filterText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            // Refreshing the LDAP Server Adapters Tree Viewer
            ldapServerAdaptersTreeViewer.refresh();
            ldapServerAdaptersTreeViewer.expandAll();
        }
    });

    // LDAP Server Adapters Tree Viewer
    ldapServerAdaptersTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            // Assigning an automatic name to the LDAP Server based on the selected LDAP Server Adapter Extension
            serverNameText
                    .setText(getServerName((StructuredSelection) ldapServerAdaptersTreeViewer.getSelection()));

            //                getContainer().updateButtons();

            validate();
        }

        /**
         * Get a name for the server based on the current selection.
         *
         * @param selection
         *      the current selection
         * @return
         *      a name for the server based on the current selection
         */
        private String getServerName(StructuredSelection selection) {
            if (!selection.isEmpty()) {
                Object selectedObject = selection.getFirstElement();
                if (selectedObject instanceof LdapServerAdapterExtension) {
                    // Getting the name of the LDAP Server Adapter Extension
                    String serverName = labelProvider.getText(selection.getFirstElement());

                    // Checking if the name if available
                    if (ldapServersManager.isNameAvailable(serverName)) {
                        return serverName;
                    } else {
                        // The name is not available, looking for another name
                        String newServerName = serverName;

                        for (int i = 2; !ldapServersManager.isNameAvailable(newServerName); i++) {
                            newServerName = serverName + " (" + i + ")"; //$NON-NLS-1$ //$NON-NLS-2$
                        }

                        return newServerName;
                    }
                }
            }

            // Returning an empty string if the selection is empty or if the current selection is a vendor
            return ""; //$NON-NLS-1$
        }
    });

    // Server Name Text
    serverNameText.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            validate();
        }
    });
}

From source file:org.apache.directory.studio.ldapservers.wizards.NewServerWizardSelectionPage.java

License:Apache License

/**
 * Validates the page./*from   w  w w  .  j a  va 2  s .co  m*/
 */
private void validate() {
    displayErrorMessage(null);

    // LDAP Server Adapters Tree Viewer
    StructuredSelection selection = (StructuredSelection) ldapServerAdaptersTreeViewer.getSelection();
    if (selection.isEmpty()) {
        displayErrorMessage(Messages.getString("NewServerWizardSelectionPage.ChooseTypeOfServerToCreate")); //$NON-NLS-1$
        return;
    } else {
        Object selectedObject = selection.getFirstElement();
        if (selectedObject instanceof String) {
            displayErrorMessage(Messages.getString("NewServerWizardSelectionPage.ChooseTypeOfServerToCreate")); //$NON-NLS-1$
            return;
        }
    }

    // Server Name Text
    String name = serverNameText.getText();
    if ((name != null)) {
        if ("".equals(name)) //$NON-NLS-1$
        {
            displayErrorMessage(Messages.getString("NewServerWizardSelectionPage.EnterANameForLdapServer")); //$NON-NLS-1$
            return;
        }
        if (!ldapServersManager.isNameAvailable(name)) {
            displayErrorMessage(
                    Messages.getString("NewServerWizardSelectionPage.LdapServerWithSameNameAlreadyExists")); //$NON-NLS-1$
            return;
        }
    }
}

From source file:org.apache.directory.studio.ldapservers.wizards.NewServerWizardSelectionPage.java

License:Apache License

/**
 * Gets the Ldap Server Adapter Extension.
 *
 * @return//from  ww w .  j  a  va 2  s  . co m
 *      the Ldap Server Adapter Extension
 */
public LdapServerAdapterExtension getLdapServerAdapterExtension() {
    StructuredSelection selection = (StructuredSelection) ldapServerAdaptersTreeViewer.getSelection();
    if (!selection.isEmpty()) {
        Object selectedObject = selection.getFirstElement();
        if (selectedObject instanceof LdapServerAdapterExtension) {
            return (LdapServerAdapterExtension) selectedObject;
        }
    }

    return null;
}

From source file:org.apache.directory.studio.openldap.common.ui.dialogs.PasswordDialog.java

License:Apache License

/**
 * Gets the selected new password hash method.
 *
 * @return the selected new password hash method
 */// w w w .jav a2 s  .c  o  m
private LdapSecurityConstants getSelectedNewPasswordHashMethod() {
    StructuredSelection selection = (StructuredSelection) newPasswordHashMethodComboViewer.getSelection();

    if (!selection.isEmpty()) {
        Object selectedObject = selection.getFirstElement();

        if (selectedObject instanceof LdapSecurityConstants) {
            return (LdapSecurityConstants) selectedObject;
        }
    }

    return null;
}

From source file:org.apache.directory.studio.openldap.common.ui.widgets.BooleanWithDefaultWidget.java

License:Apache License

/**
 * Creates the widget.// w  w w .  j a v  a 2 s  .  com
 *
 * @param parent the parent composite
 */
public void create(Composite parent, FormToolkit toolkit) {
    comboViewer = new ComboViewer(parent);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof BooleanValue) {
                BooleanValue booleanValue = (BooleanValue) element;

                switch (booleanValue) {
                case DEFAULT:
                    if (defaultValue != null) {
                        if (defaultValue.booleanValue()) {
                            return NLS.bind("Default value ({0})", "true");
                        } else {
                            return NLS.bind("Default value ({0})", "false");
                        }
                    } else {
                        return "Default value";
                    }
                case TRUE:
                    return "True";
                case FALSE:
                    return "False";
                }
            }

            return super.getText(element);
        }
    });
    comboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            value = null;

            StructuredSelection selection = (StructuredSelection) comboViewer.getSelection();

            if (!selection.isEmpty()) {
                BooleanValue booleanValue = (BooleanValue) selection.getFirstElement();

                switch (booleanValue) {
                case DEFAULT:
                    value = null;
                    break;
                case TRUE:
                    value = new Boolean(true);
                    break;
                case FALSE:
                    value = new Boolean(false);
                    break;
                }
            }

            notifyListeners();
        }
    });
    comboViewer.setInput(comboViewerValues);
    comboViewer.setSelection(new StructuredSelection(comboViewerValues[0]));
}

From source file:org.apache.directory.studio.openldap.config.editor.databases.DatabasesDetailsPage.java

License:Apache License

/**
 * Action launched when the edit overlay button is clicked, or
 * when the overlays table viewer is double-clicked.
 */// ww  w.java 2 s  .  com
private void editOverlayButtonAction() {
    StructuredSelection selection = (StructuredSelection) overlaysTableViewer.getSelection();

    if (!selection.isEmpty()) {
        OlcOverlayConfig selectedOverlay = (OlcOverlayConfig) selection.getFirstElement();

        OverlayDialog dialog = new OverlayDialog(addOverlayButton.getShell());
        dialog.setBrowserConnection(browserConnection);
        dialog.setOverlay(selectedOverlay);

        if (dialog.open() == OverlayDialog.OK) {
            refreshOverlaysTableViewer();
            setEditorDirty();
        }
    }
}

From source file:org.apache.directory.studio.openldap.config.editor.databases.DatabasesDetailsPage.java

License:Apache License

/**
 * Action launched when the delete overlay button is clicked.
 *//* w  w  w.j a  v  a 2 s.c  om*/
private void deleteOverlayButtonAction() {
    StructuredSelection selection = (StructuredSelection) overlaysTableViewer.getSelection();

    if (!selection.isEmpty()) {
        OlcOverlayConfig overlay = (OlcOverlayConfig) selection.getFirstElement();

        if (MessageDialog.openConfirm(overlaysTableViewer.getControl().getShell(), "Delete Overlay?",
                NLS.bind("Are you sure you want to delete the ''{0}'' overlay?", getOverlayText(overlay)))) {
            if ((databaseWrapper != null) && (databaseWrapper.getDatabase() != null)) {
                databaseWrapper.getDatabase().removeOverlay(overlay);
                refreshOverlaysTableViewer();
                setEditorDirty();
            }
        }
    }
}