gt: 		list = listViewer.getList();
context: package com.odcgroup.t24.server.properties.ui;
  
  import java.io.File;
  import java.io.FileInputStream;
  import java.io.FileNotFoundException;
  import java.io.FileWriter;
  import java.io.IOException;
  import java.io.InputStream;
  import java.net.URL;
  import java.util.Collections;
  import java.util.Iterator;
  import java.util.Map.Entry;
  import java.util.Set;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  
  import org.eclipse.core.databinding.DataBindingContext;
  import org.eclipse.core.databinding.UpdateListStrategy;
  import org.eclipse.core.databinding.UpdateValueStrategy;
  import org.eclipse.core.databinding.observable.list.IObservableList;
  import org.eclipse.core.databinding.observable.value.IObservableValue;
  import org.eclipse.core.resources.IFile;
  import org.eclipse.core.resources.IResource;
  import org.eclipse.core.resources.IWorkspaceRoot;
  import org.eclipse.core.resources.ResourcesPlugin;
  import org.eclipse.core.runtime.CoreException;
  import org.eclipse.core.runtime.FileLocator;
  import org.eclipse.core.runtime.IPath;
  import org.eclipse.core.runtime.IStatus;
  import org.eclipse.core.runtime.Path;
  import org.eclipse.core.runtime.Status;
  import org.eclipse.emf.common.util.EList;
  import org.eclipse.emf.databinding.edit.EMFEditObservables;
  import org.eclipse.jface.databinding.swt.ISWTObservableList;
  import org.eclipse.jface.databinding.swt.WidgetProperties;
  import org.eclipse.jface.dialogs.Dialog;
  import org.eclipse.jface.viewers.ListViewer;
  import org.eclipse.swt.SWT;
  import org.eclipse.swt.events.SelectionAdapter;
  import org.eclipse.swt.events.SelectionEvent;
  import org.eclipse.swt.graphics.Image;
  import org.eclipse.swt.graphics.ImageData;
  import org.eclipse.swt.layout.GridData;
  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.Event;
  import org.eclipse.swt.widgets.Group;
  import org.eclipse.swt.widgets.Label;
  import org.eclipse.swt.widgets.List;
  import org.eclipse.swt.widgets.Listener;
  import org.eclipse.swt.widgets.Shell;
  import org.eclipse.swt.widgets.Text;
  import org.eclipse.ui.IEditorInput;
  import org.eclipse.ui.forms.IManagedForm;
  import org.eclipse.ui.forms.editor.FormPage;
  import org.eclipse.ui.forms.widgets.ScrolledForm;
  import org.eclipse.ui.forms.widgets.TableWrapData;
  import org.eclipse.ui.forms.widgets.TableWrapLayout;
  import org.eclipse.ui.part.FileEditorInput;
  import org.osgi.framework.Bundle;
  
  import com.odcgroup.server.model.IDSProject;
  import com.odcgroup.server.model.IDSServer;
  import com.odcgroup.server.model.impl.DSProject;
  import com.odcgroup.server.ui.ServerUICore;
  import com.odcgroup.server.ui.dialogs.ManageProjectsDialog;
  import com.odcgroup.t24.server.external.model.internal.ExternalT24Server;
  import com.odcgroup.t24.server.external.util.ServerPropertiesPasswordScrambler;
  import com.odcgroup.t24.server.properties.Messages;
  import com.odcgroup.t24.server.properties.T24ServerPropertiesActivator;
  import com.odcgroup.t24.server.properties.server.Server;
  import com.odcgroup.t24.server.properties.server.ServerPackage.Literals;
  import com.odcgroup.t24.server.properties.util.ServerProperties;
  
  public class ServerFormPageWebServicePage extends FormPage {
  	private Text usernameText;
  	private Text protocolText;
  	private Text hostText;
  	private Text portText;
  	private Text pwdText;
  
  	private List list;
  	private ServerFormEditor editor;
  	private ISWTObservableList itemsListObserveWidget;
  	private Server server;
  	private Text branchText;
  	
  	private ServerProperties serverProperties;
  	
  	public ServerFormPageWebServicePage(ServerFormEditor editor, String id,
  			String title, Server server) {
  		super(editor, id, title);
  		this.editor = editor;
  		this.server = server;
  	}
  
  	@Override
  	protected void createFormContent(IManagedForm managedForm) {
  		ScrolledForm form = managedForm.getForm();
  		form.setText("Server Properties");
  		TableWrapLayout layout = new TableWrapLayout();
  		layout.leftMargin = 10;
  		layout.rightMargin = 10;
  		form.getBody().setLayout(layout);
  		TableWrapData td;
  
  		Composite mainComposite = new Composite(form.getBody(), SWT.NONE);
  		managedForm.getToolkit().adapt(mainComposite);
  		managedForm.getToolkit().paintBordersFor(mainComposite);
  		mainComposite.setLayout(new GridLayout(1, false));
  
  		Group grpT = new Group(mainComposite, SWT.NONE);
  		grpT.setLayout(new GridLayout(2, false));
  		GridData gd_grpT = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1);
  		gd_grpT.heightHint = 128;
  		grpT.setLayoutData(gd_grpT);
  		grpT.setText("T24 User (deployment only)");
  		managedForm.getToolkit().adapt(grpT);
  		managedForm.getToolkit().paintBordersFor(grpT);
  
  		Label lblUsername = new Label(grpT, SWT.NONE);
  		lblUsername.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false,
  				false, 1, 1));
  		managedForm.getToolkit().adapt(lblUsername, true, true);
  		lblUsername.setText("Username:");
  
  		usernameText = new Text(grpT, SWT.BORDER);
  		usernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
  				false, 1, 1));
  		managedForm.getToolkit().adapt(usernameText, true, true);
  		usernameText.addListener(SWT.KeyUp, copyListener);
  		usernameText.addListener(SWT.KeyUp, pasteListener);
  
  		Label lblPassword = new Label(grpT, SWT.NONE);
  		lblPassword.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false,
  				false, 1, 1));
  		managedForm.getToolkit().adapt(lblPassword, true, true);
  		lblPassword.setText("Password:");
  
  		pwdText = new Text(grpT, SWT.BORDER | SWT.PASSWORD);
  		pwdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false,
  				1, 1));
  		pwdText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
  				1, 1));
  		managedForm.getToolkit().adapt(pwdText, true, true);
  		pwdText.addListener(SWT.KeyUp, copyListener);
  		pwdText.addListener(SWT.KeyUp, pasteListener);
  
  		Label lblBranch = new Label(grpT, SWT.NONE);
  		lblBranch.setLayoutData(new GridData(SWT.LEFT, SWT.LEFT, false, false,
  				1, 1));
  		managedForm.getToolkit().adapt(lblBranch, true, true);
  		lblBranch.setText("Branch:");
  
  		branchText = new Text(grpT, SWT.BORDER);
  		branchText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
  				false, 1, 1));
  		managedForm.getToolkit().adapt(branchText, true, true);
  		branchText.addListener(SWT.KeyUp, copyListener);
  		branchText.addListener(SWT.KeyUp, pasteListener);
  
  		Composite composite = new Composite(mainComposite, SWT.NONE);
  		composite.setLayout(new GridLayout(2, false));
  		composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1,
  				1));
  		managedForm.getToolkit().adapt(composite);
  		managedForm.getToolkit().paintBordersFor(composite);
  
  		Group grpAgentConnection = new Group(composite, SWT.NONE);
  		grpAgentConnection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
  				true, 1, 1));
  		grpAgentConnection.setText("WebService (TAFj) Connection");
  		managedForm.getToolkit().adapt(grpAgentConnection);
  		managedForm.getToolkit().paintBordersFor(grpAgentConnection);
  		grpAgentConnection.setLayout(new GridLayout(2, false));
  
  		Label lblProtocol = new Label(grpAgentConnection, SWT.NONE);
  		managedForm.getToolkit().adapt(lblProtocol, true, true);
  		lblProtocol.setText("Protocol:");
  
  		protocolText = new Text(grpAgentConnection, SWT.BORDER);
  		protocolText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
  				false, 1, 1));
  		managedForm.getToolkit().adapt(protocolText, true, true);
  		protocolText.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false,
  				1, 1));
  		managedForm.getToolkit().adapt(protocolText, true, true);
  		protocolText.addListener(SWT.KeyUp, copyListener);
  		protocolText.addListener(SWT.KeyUp, pasteListener);
  
  		Label lblHost = new Label(grpAgentConnection, SWT.NONE);
  		managedForm.getToolkit().adapt(lblHost, true, true);
  		lblHost.setText("Hostname:");
  
  		hostText = new Text(grpAgentConnection, SWT.BORDER);
  		hostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
  				1, 1));
  		managedForm.getToolkit().adapt(hostText, true, true);
  		hostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false,
  				1, 1));
  		managedForm.getToolkit().adapt(hostText, true, true);
  		hostText.addListener(SWT.KeyUp, copyListener);
  		hostText.addListener(SWT.KeyUp, pasteListener);
  
  		Label lblPort = new Label(grpAgentConnection, SWT.NONE);
  		managedForm.getToolkit().adapt(lblPort, true, true);
  		lblPort.setText("Port:");
  
  		portText = new Text(grpAgentConnection, SWT.BORDER);
  		portText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
  				1, 1));
  		managedForm.getToolkit().adapt(portText, true, true);
  		portText.addListener(SWT.KeyUp, copyListener);
  		portText.addListener(SWT.KeyUp, pasteListener);
  
  		Group group = new Group(composite, SWT.NONE);
  		group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
  		group.setText("Deployed Projects");
  		managedForm.getToolkit().adapt(group);
  		managedForm.getToolkit().paintBordersFor(group);
  		group.setLayout(new GridLayout(2, false));
  
  		ListViewer listViewer = new ListViewer(group, SWT.BORDER | SWT.V_SCROLL);
  