package eu.etaxonomy.taxeditor.view.remoteserver.wizard;
+import java.awt.Color;
+
import org.apache.commons.lang3.StringUtils;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
//TODO
return true;
}
-
-
-
/**
complete &=StringUtils.isNotBlank(text_name.getText());
complete &=StringUtils.isNotBlank(text_server.getText());
- complete &=StringUtils.isNotBlank(text_port.getText());
+ complete &=this.remoteServer.getPort() != null;
this.setPageComplete(complete);
}
@Override
public void modifyText(ModifyEvent e) {
- String oldName = name;
name = text_name.getText();
server = text_server.getText();
port = text_port.getText();
this.remoteServer.setIgnoreCdmLibVersion(!this.checkIgnoreCdmLibVersion.getSelection());
this.remoteServer.setServer(server!= null? server:null);
this.remoteServer.setPrefix(prefix != null?prefix:null);
- this.remoteServer.setPort(StringUtils.isNotBlank(port)?Integer.parseInt(port):0);
-// if (oldName != name) {
-// CdmRemoteServerRepository.update(remoteServer,oldName);
-// }
+
+ text_port.setBackground(text_prefix.getBackground());
+ Integer intPort = checkAndConvertPort();
+ if (intPort == null){
+ text_port.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+ }
+ this.remoteServer.setPort(intPort);
checkPageComplete();
}
+ private Integer checkAndConvertPort() {
+ Integer portInt = null;
+
+ try {
+ portInt = StringUtils.isNotBlank(port)?Integer.parseInt(port):0;
+ }catch(NumberFormatException e) {
+ return null;
+ }
+ if (portInt > 65535) {
+ return null;
+ }
+
+ return portInt;
+ }
+
@Override
public void widgetSelected(SelectionEvent e) {
this.remoteServer.setIgnoreCdmLibVersion(!checkIgnoreCdmLibVersion.getSelection());