Search in sources :

Example 1 with ConnectionsDialog

use of org.talend.repository.ui.login.connections.ConnectionsDialog in project tdi-studio-se by Talend.

the class LoginFirstTimeStartupActionPage method addListeners.

@Override
protected void addListeners() {
    super.addListeners();
    finishButton.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (FINISH_BUTTON_ACTION_CREATE_NEW_PROJECT.equals(finishButtonAction)) {
                createNewProject();
            } else if (FINISH_BUTTON_ACTION_IMPORT_DEMO_PROJECT.equals(finishButtonAction)) {
                importDemoProject();
            } else if (FINISH_BUTTON_ACTION_IMPORT_EXISTING_PROJECT.equals(finishButtonAction)) {
                importExistingProject();
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    createNewProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (createNewProject.getSelection()) {
                selectNewProjectName();
                validateNewProjectName();
                finishButtonAction = FINISH_BUTTON_ACTION_CREATE_NEW_PROJECT;
            } else {
                //$NON-NLS-1$                    
                createNewProject.setText(Messages.getString("LoginFirstTimeStartupActionPage.createNewProject"));
                getErrorManager().clearCreateNewProjectError();
                newProjectName.setVisible(false);
                newProjectName.setBackground(null);
                finishButton.setEnabled(true);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    newProjectName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            validateNewProjectName();
        }
    });
    importDemoProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            finishButtonAction = FINISH_BUTTON_ACTION_IMPORT_DEMO_PROJECT;
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    importExistingProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            finishButtonAction = FINISH_BUTTON_ACTION_IMPORT_EXISTING_PROJECT;
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    manageConnections.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ConnectionsDialog connectionsDialog = new ConnectionsDialog(getShell());
            int open = connectionsDialog.open();
            if (open == Window.OK) {
                LoginFirstTimeStartupActionPageErrorManager iErrorManager = getErrorManager();
                iErrorManager.clearManageConnectionsError();
                iErrorManager.clearManageConnectionsWarn();
                refreshOperationAreaEnable(true);
                List<ConnectionBean> storedConnections = connectionsDialog.getConnections();
                if (storedConnections == null || storedConnections.isEmpty()) {
                    defaultConnectionBean = LoginHelper.createDefaultLocalConnection();
                    storedConnections = new ArrayList<ConnectionBean>();
                    storedConnections.add(defaultConnectionBean);
                    LoginHelper.getInstance().setStoredConnections(storedConnections);
                    LoginHelper.getInstance().saveConnections(storedConnections);
                    setRepositoryContextInContext();
                } else if (storedConnections.size() == 1) {
                    defaultConnectionBean = storedConnections.get(0);
                    if (defaultConnectionBean.isComplete()) {
                        LoginHelper.getInstance().setStoredConnections(storedConnections);
                        LoginHelper.getInstance().saveConnections(storedConnections);
                        boolean shouldGotoNextPage = false;
                        if (LoginHelper.isRemoteConnection(defaultConnectionBean)) {
                            shouldGotoNextPage = true;
                        } else if (!LoginHelper.isWorkspaceSame(defaultConnectionBean)) {
                            shouldGotoNextPage = true;
                        } else {
                            shouldGotoNextPage = false;
                        }
                        if (shouldGotoNextPage) {
                            try {
                                gotoNextPage();
                                return;
                            } catch (Throwable e1) {
                                CommonExceptionHandler.process(e1);
                            }
                        } else {
                            setRepositoryContextInContext();
                        }
                    } else {
                        iErrorManager.setManageConnectionsError(Messages.getString(//$NON-NLS-1$
                        "LoginFirstTimeStartupActionPage.manageConnection.incomplete"));
                        refreshOperationAreaEnable(false);
                    }
                } else {
                    try {
                        LoginHelper.getInstance().setStoredConnections(storedConnections);
                        LoginHelper.getInstance().saveConnections(storedConnections);
                        gotoNextPage();
                        return;
                    } catch (Throwable e1) {
                        CommonExceptionHandler.process(e1);
                    }
                }
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
}
Also used : ModifyEvent(org.eclipse.swt.events.ModifyEvent) ModifyListener(org.eclipse.swt.events.ModifyListener) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ConnectionsDialog(org.talend.repository.ui.login.connections.ConnectionsDialog) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 2 with ConnectionsDialog

use of org.talend.repository.ui.login.connections.ConnectionsDialog in project tdi-studio-se by Talend.

the class LoginProjectPage method addListeners.

@Override
protected void addListeners() {
    super.addListeners();
    connectionsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            try {
                resetProjectOperationSelectionWithBusyCursor(false);
                final ConnectionBean connection = getConnection();
                if (connection == null) {
                    checkErrors();
                    return;
                }
                // }
                if (connection == loginHelper.getCurrentSelectedConnBean()) {
                    return;
                } else {
                    loginHelper.setCurrentSelectedConnBean(connection);
                }
                cancelAndClearFetchJobs();
                errorManager.clearAllMessages();
                // beforeConnBean = connection;
                updateServerFields();
                // Validate data
                if (validateFields()) {
                    fillUIProjectListWithBusyCursor();
                    validateProject();
                }
                checkErrors();
                validateUpdate();
            } catch (PersistenceException e) {
                CommonExceptionHandler.process(e);
            } catch (JSONException e) {
                CommonExceptionHandler.process(e);
            }
        }
    });
    selectExistingProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectExistingProject.getSelection()) {
                // refreshProjectListAreaEnable(true);
                finishButtonAction = FINISH_ACTION_OPEN_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                try {
                    checkErrors();
                } catch (PersistenceException e1) {
                    CommonExceptionHandler.process(e1);
                }
            } else {
                refreshProjectListAreaEnable(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    createSandBoxProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (createSandBoxProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_CREATE_SANDBOX;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeCreateSandBoxProject.setVisible(true);
                executeCreateSandBoxProject.forceFocus();
            } else {
                executeCreateSandBoxProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    importDemoProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (importDemoProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_IMPORT_DEMO_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeImportDemoProject.setVisible(true);
                executeImportDemoProject.forceFocus();
            } else {
                executeImportDemoProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    importLocalProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (importLocalProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_IMPORT_LOCAL_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeImportLocalProject.setVisible(true);
                executeImportLocalProject.forceFocus();
            } else {
                executeImportLocalProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    createNewProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (createNewProject.getSelection()) {
                //$NON-NLS-1$
                createNewProject.setText(Messages.getString("LoginProjectPage.createNewProject.beginCreate"));
                createNewProject.pack();
                FormData formData = (FormData) newProjectName.getLayoutData();
                formData.left = new FormAttachment(createNewProject, createNewProject.getSize().x + TAB_HORIZONTAL_PADDING_LEVEL_2, SWT.LEFT);
                newProjectName.setVisible(true);
                newProjectName.forceFocus();
                executeCreateNewProject.setVisible(true);
                finishButtonAction = FINISH_ACTION_CREATE_NEW_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                validateNewProjectName();
            } else {
                //$NON-NLS-1$
                createNewProject.setText(Messages.getString("LoginProjectPage.createNewProject"));
                newProjectName.setVisible(false);
                executeCreateNewProject.setVisible(false);
                getErrorManager().clearCreateNewProjectError();
            // refreshUIFinishButtonEnable();
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    projectViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            finishButton.setEnabled(false);
            Project project = getProject();
            if (project != null) {
                // last used project will be saved when click finish
                // loginHelper.getPrefManipulator().setLastProject(project.getLabel());
                fetchLicenseIfNeeded(project);
                try {
                    fillUIBranches(project, false);
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    ExceptionHandler.process(e);
                }
                setRepositoryContextInContext();
            }
            finishButton.setEnabled(true);
        }
    });
    branchesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
        // last used branch of project will be saved when click finish
        // String branch = getBranch();
        // if (branch == null) {
        // branch = SVNConstant.EMPTY;
        // }
        // Project project = getProject();
        // try {
        // loginHelper.getPrefManipulator().setLastSVNBranch(
        // new JSONObject(project.getEmfProject().getUrl()).getString("location"), project.getTechnicalLabel(),
        // branch);
        // } catch (JSONException e) {
        // // TODO Auto-generated catch block
        // ExceptionHandler.process(e);
        // }
        }
    });
    manageButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                ConnectionsDialog connectionsDialog = new ConnectionsDialog(getShell());
                int open = connectionsDialog.open();
                if (open == Window.OK) {
                    List<ConnectionBean> storedConnections = connectionsDialog.getConnections();
                    loginHelper.setStoredConnections(storedConnections);
                    loginHelper.saveConnections();
                    fillUIContentsWithBusyCursor();
                    final ConnectionBean connection = getConnection();
                    if (connection == null) {
                        checkErrors();
                        return;
                    }
                    // beforeConnBean = connection;
                    updateServerFields();
                    // Validate data
                    if (validateFields()) {
                        fillUIProjectListWithBusyCursor();
                        validateProject();
                    }
                    checkErrors();
                    validateUpdate();
                } else if (!LoginHelper.isRemoteConnection(getConnection())) {
                    fillUIProjectListWithBusyCursor();
                    validateProject();
                    checkErrors();
                }
            // setStatusArea();
            } catch (PersistenceException e1) {
                CommonExceptionHandler.process(e1);
            } catch (JSONException e2) {
                CommonExceptionHandler.process(e2);
            }
        }
    });
    refreshProjectButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            cancelAndClearFetchJobs();
            LoginProjectPage.this.selectedProjectBeforeRefresh = getProject() == null ? null : getProject().getLabel();
            // Validate data
            if (validateFields()) {
                fillUIProjectListWithBusyCursor();
                validateProject();
            }
            try {
                checkErrors();
                validateUpdate();
            } catch (PersistenceException e1) {
                CommonExceptionHandler.process(e1);
            } catch (JSONException e1) {
                CommonExceptionHandler.process(e1);
            }
            setRepositoryContextInContext();
            LoginProjectPage.this.selectedProjectBeforeRefresh = null;
        }
    });
    newProjectName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            validateNewProjectName();
        }
    });
    executeCreateNewProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            createNewProjectWithBusyCursor();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeCreateSandBoxProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            createSandboxProject();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeImportDemoProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            importDemoProject();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeImportLocalProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            importProjects();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    finishButton.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (FINISH_ACTION_OPEN_PROJECT.equals(finishButtonAction)) {
                setRepositoryContextInContext();
                finishPressed();
            } else if (FINISH_ACTION_RESTART.equals(finishButtonAction)) {
                restartStudio();
            } else if (FINISH_ACTION_UPDATE.equals(finishButtonAction) || FINISH_ACTION_UPDATE_DETAILS.equals(finishButtonAction)) {
                updateStudio();
            } else if (FINISH_ACTION_CREATE_SANDBOX.equals(finishButtonAction)) {
                createSandboxProject();
            } else if (FINISH_ACTION_IMPORT_DEMO_PROJECT.equals(finishButtonAction)) {
                importDemoProject();
            } else if (FINISH_ACTION_IMPORT_LOCAL_PROJECT.equals(finishButtonAction)) {
                importProjects();
            } else if (FINISH_ACTION_CREATE_NEW_PROJECT.equals(finishButtonAction)) {
                createNewProjectWithBusyCursor();
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
}
Also used : FormData(org.eclipse.swt.layout.FormData) ModifyListener(org.eclipse.swt.events.ModifyListener) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) JSONException(org.talend.utils.json.JSONException) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Project(org.talend.core.model.general.Project) ModifyEvent(org.eclipse.swt.events.ModifyEvent) PersistenceException(org.talend.commons.exception.PersistenceException) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ConnectionBean(org.talend.core.model.general.ConnectionBean) ArrayList(java.util.ArrayList) List(java.util.List) ConnectionsDialog(org.talend.repository.ui.login.connections.ConnectionsDialog) FormAttachment(org.eclipse.swt.layout.FormAttachment) SelectionListener(org.eclipse.swt.events.SelectionListener)

Aggregations

ArrayList (java.util.ArrayList)2 List (java.util.List)2 ModifyEvent (org.eclipse.swt.events.ModifyEvent)2 ModifyListener (org.eclipse.swt.events.ModifyListener)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2 SelectionListener (org.eclipse.swt.events.SelectionListener)2 ConnectionsDialog (org.talend.repository.ui.login.connections.ConnectionsDialog)2 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)1 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)1 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)1 FormAttachment (org.eclipse.swt.layout.FormAttachment)1 FormData (org.eclipse.swt.layout.FormData)1 PersistenceException (org.talend.commons.exception.PersistenceException)1 ConnectionBean (org.talend.core.model.general.ConnectionBean)1 Project (org.talend.core.model.general.Project)1 JSONException (org.talend.utils.json.JSONException)1