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);
}
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;
}
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();
}
Aggregations