org.talend.mdm.engines.client.ui.preferences.MDMServerEditor.java Source code

Java tutorial

Introduction

Here is the source code for org.talend.mdm.engines.client.ui.preferences.MDMServerEditor.java

Source

// ============================================================================
//
// Copyright (C) 2006-2017 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.mdm.engines.client.ui.preferences;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.talend.commons.ui.swt.preferences.TableEditor;
import org.talend.mdm.engines.client.Activator;
import org.talend.mdm.engines.client.i18n.Messages;
import org.talend.mdm.engines.client.ui.wizards.MDMServerHelper;

/**
 * @deprecated DOC cantoine class global comment. Detailled comment <br/>
 * 
 * $Id: MDMServerEditor.java 2738 2007-04-27 13:12:27Z cantoine $
 * 
 */
@Deprecated
public class MDMServerEditor extends TableEditor {

    /**
     * DOC tguiu MDMServerEditor constructor comment.
     * 
     * @param name
     * @param labelText
     * @param parent
     */
    public MDMServerEditor(String name, String labelText, Composite parent) {
        super(name, labelText, parent);
    }

    @Override
    protected Table createTable(Composite parent) {

        Table contextTable = new Table(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
        contextTable.setLinesVisible(true);
        contextTable.setHeaderVisible(true);

        TableColumn shortDescription = new TableColumn(contextTable, SWT.NONE);
        shortDescription.setText(Messages.MDMServerEditor_descriptionColumnTitle);
        shortDescription.setWidth(150);

        TableColumn host = new TableColumn(contextTable, SWT.NONE);
        host.setText(Messages.MDMServerEditor_hostColumnTitle);
        host.setWidth(150);

        TableColumn engineName = new TableColumn(contextTable, SWT.NONE);
        engineName.setText(Messages.MDMServerDialog_port);
        engineName.setWidth(150);

        return contextTable;
    }

    @Override
    protected IStructuredContentProvider createContentProvider() {
        return new IStructuredContentProvider() {

            public Object[] getElements(Object inputElement) {
                return ((List) inputElement).toArray();
            }

            public void dispose() {
            }

            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            }

        };
    }

    @Override
    protected ITableLabelProvider createLabelProvider() {
        return new ITableLabelProvider() {

            public Image getColumnImage(Object element, int columnIndex) {
                return null;
            }

            public String getColumnText(Object element, int columnIndex) {
                String value = ((String) element);
                if (columnIndex == 0) {
                    return MDMServerHelper.getShortDescription(value);
                }
                if (columnIndex == 1) {
                    return MDMServerHelper.getHost(value);
                }
                if (columnIndex == 2) {
                    return MDMServerHelper.getPort(value);
                }
                throw new IllegalStateException();
            }

            public void addListener(ILabelProviderListener listener) {
            }

            public void dispose() {
            }

            public boolean isLabelProperty(Object element, String property) {
                return false;
            }

            public void removeListener(ILabelProviderListener listener) {
            }

        };
    }

    @Override
    protected String writeString(List<String> items) {
        return MDMServerHelper.writeString(items);
    }

    @Override
    protected String getNewInputObject() {
        Shell shell = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
        MDMServerDialog dialog = new MDMServerDialog(shell, computeCodeList());
        if (dialog.open() == Window.OK) {
            return MDMServerHelper.getString(dialog.getShortDescription(), dialog.getHost(), dialog.getPort(),
                    dialog.getLogin(), dialog.getPassword());
        }
        return null;
    }

    @Override
    protected String getExistingInputObject(String obj) {
        Shell shell = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
        // MDMServerDialog dialog = new MDMServerDialog(shell, computeCodeList(),
        // MDMServerHelper.getEngineName(obj),
        // MDMServerHelper.getShortDescription(obj), MDMServerHelper.getHost(obj),
        // MDMServerHelper.getPort(obj),
        // MDMServerHelper.getLogin(obj), MDMServerHelper.getPassword(obj), MDMServerHelper
        // .getApplicationContext(obj));
        MDMServerDialog dialog = new MDMServerDialog(shell, computeCodeList(),
                MDMServerHelper.getShortDescription(obj), MDMServerHelper.getHost(obj),
                MDMServerHelper.getPort(obj), MDMServerHelper.getLogin(obj), MDMServerHelper.getPassword(obj));

        if (dialog.open() == Window.OK) {
            return MDMServerHelper.getString(dialog.getShortDescription(), dialog.getHost(), dialog.getPort(),
                    dialog.getLogin(), dialog.getPassword());
        }
        return null;
    }

    /**
     * DOC tguiu Comment method "computeCodeList".
     * 
     * @return
     */
    private List computeCodeList() {
        List result = new ArrayList();
        for (String tmp : getList()) {
            result.add(MDMServerHelper.getShortDescription(tmp));
        }
        return result;
    }

    @Override
    protected List<String> readString(String stringList) {
        return MDMServerHelper.readString(stringList);
    }
}