Search in sources :

Example 1 with ILoginConnectionService

use of org.talend.core.repository.services.ILoginConnectionService in project tdi-studio-se by Talend.

the class LoginProjectPage method updateFinishButtonStatus.

private void updateFinishButtonStatus() {
    List<ILoginConnectionService> loginConnectionServices = LoginConnectionManager.getRemoteConnectionService();
    boolean localConn = false;
    String errorMsg = null;
    if (getConnection() != null) {
        localConn = getConnection().getRepositoryId() == null || getConnection().getRepositoryId().equals(RepositoryConstants.REPOSITORY_LOCAL_ID);
        if (loginConnectionServices.size() > 0 && getConnection().isComplete()) {
            for (ILoginConnectionService loginConncetion : loginConnectionServices) {
                errorMsg = loginConncetion.checkConnectionValidation(getConnection().getName(), getConnection().getDescription(), getConnection().getUser(), getConnection().getPassword(), getConnection().getWorkSpace(), getConnection().getDynamicFields().get(RepositoryConstants.REPOSITORY_URL));
                if (StringUtils.isEmpty(errorMsg)) {
                    break;
                }
            }
        }
    }
    if (getConnection() == null) {
        // refreshProjectListAreaEnable(false);
        refreshProjectOperationAreaEnable(false);
        finishButton.setEnabled(false);
    } else if (errorMsg != null) {
        // refreshProjectListAreaEnable(false);
        refreshProjectOperationAreaEnable(false);
        finishButton.setEnabled(false);
        errorManager.setErrMessage(errorMsg);
    } else if (getConnection() != null && projectViewer != null && projectViewer.getInput() == null) {
        // refreshProjectListAreaEnable(false);
        refreshProjectOperationAreaEnable(false);
        finishButton.setEnabled(false);
        //$NON-NLS-1$
        errorManager.setErrMessage(Messages.getString("LoginComposite.ConnectionIncompletedMessage"));
    } else if (!isWorkSpaceSame()) {
        // connectionsViewer.getControl().setEnabled(true);
        // refreshProjectListAreaEnable(false);
        refreshProjectOperationAreaEnable(false);
        changeFinishButtonAction(FINISH_ACTION_RESTART);
    } else {
        // refreshProjectListAreaEnable(true);
        refreshProjectOperationAreaEnable(true);
        changeFinishButtonAction();
        finishButton.getShell().setDefaultButton(finishButton);
    }
// refreshBranchAreaVisible(!localConn);
}
Also used : ILoginConnectionService(org.talend.core.repository.services.ILoginConnectionService)

Example 2 with ILoginConnectionService

use of org.talend.core.repository.services.ILoginConnectionService in project tdi-studio-se by Talend.

the class ConnectionFormComposite method validateFields.

private boolean validateFields() {
    String errorMsg = null;
    boolean valid = true;
    if (dialog.getOKButton() != null) {
        dialog.getOKButton().setEnabled(true);
    }
    IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault().getService(IBrandingService.class);
    boolean isOnlyRemoteConnection = brandingService.getBrandingConfiguration().isOnlyRemoteConnection();
    boolean usesMailCheck = brandingService.getBrandingConfiguration().isUseMailLoginCheck();
    LabelText emptyUrl = null;
    if (getRepository() != null) {
        for (LabelText currentUrlLabel : dynamicRequiredControls.get(getRepository()).values()) {
            if (valid && currentUrlLabel.getText().length() == 0) {
                emptyUrl = currentUrlLabel;
            }
        }
    }
    if (valid && getRepository() == null) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("connections.form.emptyField.repository");
    } else if (valid && getTextName().length() == 0) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("connections.form.emptyField.connname");
    } else if (valid && getUser().length() == 0) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("connections.form.emptyField.username");
    } else if (valid && isLocalConnection() && !Pattern.matches(RepositoryConstants.MAIL_PATTERN, getUser())) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("connections.form.malformedField.username");
    } else if (valid && emptyUrl != null) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("connections.form.dynamicFieldEmpty", emptyUrl.getLabel());
    } else if (valid && !this.isValidatedWorkspace(this.getWorkspace())) {
        //$NON-NLS-1$
        errorMsg = Messages.getString("ConnectionFormComposite.workspaceInvalid");
    } else if (valid && isOnlyRemoteConnection) {
        // Uniserv feature 8,Add new Extension point to allow Uniserv to add some custom controls during TAC
        // connection check
        List<ILoginConnectionService> loginConnections = LoginConnectionManager.getRemoteConnectionService();
        for (ILoginConnectionService loginConncetion : loginConnections) {
            errorMsg = loginConncetion.checkConnectionValidation(getTextName(), getDesc(), getUser(), getPassword(), getWorkspace(), connection.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL));
        }
    } else if (valid && getTextName() != null) {
        List<ConnectionBean> connectionBeanList = dialog.getConnections();
        if (connectionBeanList != null && connectionBeanList.size() > 1) {
            for (ConnectionBean connectionBean : connectionBeanList) {
                String connectionBeanName = connectionBean.getName();
                if (connectionBeanName != null) {
                    if (this.connection != connectionBean) {
                        if (connectionBeanName.equals(getTextName())) {
                            //$NON-NLS-1$
                            errorMsg = Messages.getString("ConnectionFormComposite.connectionNameInvalid");
                        }
                    }
                }
            }
        }
    }
    if (errorMsg != null && !errorMsg.equals("")) {
        //$NON-NLS-1$
        valid = false;
    }
    if (!valid) {
        dialog.setErrorMessage(errorMsg);
        if (dialog.getOKButton() != null) {
            dialog.getOKButton().setEnabled(false);
        }
    } else {
        dialog.setErrorMessage(null);
    }
    if (connection != null) {
        connection.setComplete(valid);
        connectionsListComposite.refresh(connection);
    }
    return valid;
}
Also used : ILoginConnectionService(org.talend.core.repository.services.ILoginConnectionService) LabelText(org.talend.commons.ui.swt.formtools.LabelText) List(java.util.List) ArrayList(java.util.ArrayList) ConnectionBean(org.talend.core.model.general.ConnectionBean) IBrandingService(org.talend.core.ui.branding.IBrandingService)

Example 3 with ILoginConnectionService

use of org.talend.core.repository.services.ILoginConnectionService in project tdi-studio-se by Talend.

the class LoginProjectPage method fillUIContents.

protected void fillUIContents() {
    boolean isOnlyRemoteConnection = brandingService.getBrandingConfiguration().isOnlyRemoteConnection();
    List<ConnectionBean> storedConnections = loginHelper.getStoredConnections();
    storedConnections = loginHelper.filterUsableConnections(storedConnections);
    for (ConnectionBean connectionBean : storedConnections) {
        String user2 = connectionBean.getUser();
        String repositoryId2 = connectionBean.getRepositoryId();
        String workSpace = connectionBean.getWorkSpace();
        String name = connectionBean.getName();
        if (//$NON-NLS-1$ //$NON-NLS-2$
        user2 != null && !"".equals(user2) && repositoryId2 != null && !"".equals(repositoryId2) && workSpace != null && !"".equals(workSpace) && name != null && !"".equals(name)) {
            //$NON-NLS-1$ //$NON-NLS-2$
            boolean valid = false;
            if (LoginHelper.isRemoteConnection(connectionBean)) {
                String url = connectionBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL);
                //$NON-NLS-1$
                valid = url != null && !"".equals(url);
            } else {
                valid = Pattern.matches(RepositoryConstants.MAIL_PATTERN, user2);
            }
            connectionBean.setComplete(valid);
        }
    }
    if (!isOnlyRemoteConnection) {
        connectionsViewer.setInput(storedConnections);
    } else {
        // feature 8,hide error remote connection for Uniserv after their login validate
        List<ILoginConnectionService> loginConnectionServices = LoginConnectionManager.getRemoteConnectionService();
        List<ConnectionBean> lastRemoteConnections = new ArrayList<ConnectionBean>();
        if (loginConnectionServices.size() > 0) {
            for (ILoginConnectionService loginConncetion : loginConnectionServices) {
                for (ConnectionBean iBean : storedConnections) {
                    String errorMsg = loginConncetion.checkConnectionValidation(iBean.getName(), iBean.getDescription(), iBean.getUser(), iBean.getPassword(), iBean.getWorkSpace(), iBean.getDynamicFields().get(RepositoryConstants.REPOSITORY_URL));
                    if (StringUtils.isEmpty(errorMsg) && iBean.isComplete()) {
                        lastRemoteConnections.add(iBean);
                    }
                }
            }
        }
        if (lastRemoteConnections.size() > 0) {
            storedConnections = lastRemoteConnections;
        }
        connectionsViewer.setInput(storedConnections);
    }
    // Check number of connection available.
    if (storedConnections.size() == 0) {
    //
    } else if (storedConnections.size() == 1) {
        connectionsViewer.setSelection(new StructuredSelection(new Object[] { storedConnections.get(0) }));
    } else {
        // select last connection used
        boolean selected = false;
        // for (ConnectionBean curent : storedConnections) {
        // String stringValue = ((LabelProvider) connectionsViewer.getLabelProvider()).getText(curent);
        // if (curent.getName().equals( lastConnection)) {
        // selectLast(stringValue, connectionsViewer.getCombo());
        // selected = true;
        // }
        // }
        ConnectionBean selectedConnBean = loginHelper.getCurrentSelectedConnBean();
        if (selectedConnBean != null) {
            connectionsViewer.setSelection(new StructuredSelection(new Object[] { selectedConnBean }));
            IStructuredSelection sel = (IStructuredSelection) connectionsViewer.getSelection();
            if (sel.getFirstElement() == selectedConnBean) {
                selected = true;
            }
        }
        if (!selected) {
            connectionsViewer.setSelection(new StructuredSelection(new Object[] { storedConnections.get(0) }));
        }
    }
    ConnectionBean selectedConnBean = getConnection();
    if (selectedConnBean != null) {
        loginHelper.setCurrentSelectedConnBean(selectedConnBean);
    }
    if (getConnection() != null || !validateFields()) {
        setRepositoryContextInContext();
    }
    fillUIProjectListWithBusyCursor();
    refreshNecessaryVisible();
}
Also used : ILoginConnectionService(org.talend.core.repository.services.ILoginConnectionService) ArrayList(java.util.ArrayList) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ConnectionBean(org.talend.core.model.general.ConnectionBean) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Aggregations

ILoginConnectionService (org.talend.core.repository.services.ILoginConnectionService)3 ArrayList (java.util.ArrayList)2 ConnectionBean (org.talend.core.model.general.ConnectionBean)2 List (java.util.List)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1 StructuredSelection (org.eclipse.jface.viewers.StructuredSelection)1 LabelText (org.talend.commons.ui.swt.formtools.LabelText)1 IBrandingService (org.talend.core.ui.branding.IBrandingService)1