Index: trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsComposite.java
===================================================================
--- trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsComposite.java	(revision 31)
+++ trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsComposite.java	(revision 32)
@@ -22,4 +22,5 @@
 	private Text researchGroupText;
 	private Text researchGroupUrlText;
+	private Combo mysqlSSLCombo;
 
 	public SettingsComposite(Composite parent, int style) {
@@ -28,20 +29,24 @@
 		{
 			Label lblSvnLocation = new Label(this, SWT.NONE);
-			lblSvnLocation.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnLocation.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnLocation.setText("SVN Location");
 		}
 		{
 			svnLocationText = new Text(this, SWT.BORDER);
-			svnLocationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnLocationText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblSvnWorkingCopy = new Label(this, SWT.NONE);
-			lblSvnWorkingCopy.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnWorkingCopy.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnWorkingCopy.setText("SVN Working Copy");
 		}
 		{
 			svnWorkingCopyText = new Text(this, SWT.BORDER);
-			svnWorkingCopyText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnWorkingCopyText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		{
@@ -51,88 +56,108 @@
 		{
 			Label lblSvnUsername = new Label(this, SWT.NONE);
-			lblSvnUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnUsername.setText("SVN Username");
 		}
 		{
 			svnUsernameText = new Text(this, SWT.BORDER);
-			svnUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblSvnPassword = new Label(this, SWT.NONE);
-			lblSvnPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnPassword.setText("SVN Password");
 		}
 		{
 			svnPasswordText = new Text(this, SWT.BORDER | SWT.PASSWORD);
-			svnPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblMysqlHost = new Label(this, SWT.NONE);
-			lblMysqlHost.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlHost.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlHost.setText("MySQL Host");
 		}
 		{
 			mysqlHostText = new Text(this, SWT.BORDER);
-			mysqlHostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlHostText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlDatabase = new Label(this, SWT.NONE);
-			lblMysqlDatabase.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlDatabase.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlDatabase.setText("MySQL Database");
 		}
 		{
 			mysqlDatabaseText = new Text(this, SWT.BORDER);
-			mysqlDatabaseText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlDatabaseText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlUsername = new Label(this, SWT.NONE);
-			lblMysqlUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlUsername.setText("MySQL Username");
 		}
 		{
 			mysqlUsernameText = new Text(this, SWT.BORDER);
-			mysqlUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlPassword = new Label(this, SWT.NONE);
-			lblMysqlPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlPassword.setText("MySQL Password");
 		}
 		{
-			mysqlPasswordText = new Text(this, SWT.BORDER);
-			mysqlPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlPasswordText = new Text(this, SWT.BORDER | SWT.PASSWORD);
+			mysqlPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlSsl = new Label(this, SWT.NONE);
-			lblMysqlSsl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlSsl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlSsl.setText("MySQL SSL");
 		}
 		{
-			Combo mysqlSSLCombo = new Combo(this, SWT.NONE);
-			mysqlSSLCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlSSLCombo = new Combo(this, SWT.READ_ONLY);
+			mysqlSSLCombo.add("Disabled");
+			mysqlSSLCombo.add("Enabled");
+			mysqlSSLCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblPdfLatexPath = new Label(this, SWT.NONE);
-			lblPdfLatexPath.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblPdfLatexPath.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblPdfLatexPath.setText("pdfLatex Path");
 		}
 		{
 			pdfLatexText = new Text(this, SWT.BORDER);
-			pdfLatexText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			pdfLatexText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+					false, 1, 1));
 		}
 		{
@@ -142,24 +167,29 @@
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblResearchGroup = new Label(this, SWT.NONE);
-			lblResearchGroup.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblResearchGroup.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblResearchGroup.setText("Research Group");
 		}
 		{
 			researchGroupText = new Text(this, SWT.BORDER);
-			researchGroupText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			researchGroupText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblResearchGroupUrl = new Label(this, SWT.NONE);
-			lblResearchGroupUrl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblResearchGroupUrl.setLayoutData(new GridData(SWT.RIGHT,
+					SWT.CENTER, false, false, 1, 1));
 			lblResearchGroupUrl.setText("Research Group URL");
 		}
 		{
 			researchGroupUrlText = new Text(this, SWT.BORDER);
-			researchGroupUrlText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			researchGroupUrlText.setLayoutData(new GridData(SWT.FILL,
+					SWT.CENTER, true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
@@ -259,3 +289,11 @@
 	}
 
+	public Combo getMysqlSSLCombo() {
+		return mysqlSSLCombo;
+	}
+
+	public void setMysqlSSLCombo(Combo mysqlSSLCombo) {
+		this.mysqlSSLCombo = mysqlSSLCombo;
+	}
+
 }
Index: trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog.java
===================================================================
--- trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog.java	(revision 31)
+++ trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog.java	(revision 32)
@@ -148,4 +148,14 @@
 				GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
 
+		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
+		gd.horizontalSpan = 1;
+
+		updateWidgets();
+
+		return parent;
+
+	}
+
+	private void updateWidgets() {
 		Settings settings = Settings.getInstance();
 		if (settings.isMysqlSSL())
@@ -165,10 +175,4 @@
 		textResearchGroup.setText(settings.getResearchGroup());
 		textResearchGroupUrl.setText(settings.getResearchGroupUrl());
-
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 1;
-
-		return parent;
-
 	}
 
Index: trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog2.java
===================================================================
--- trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog2.java	(revision 31)
+++ trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsDialog2.java	(revision 32)
@@ -1,7 +1,12 @@
 package de.ugoe.cs.swe.exercises.settings;
+
+import java.sql.DriverManager;
+import java.sql.SQLException;
 
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.TitleAreaDialog;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
@@ -11,6 +16,21 @@
 import org.eclipse.swt.widgets.TabFolder;
 import org.eclipse.swt.widgets.TabItem;
+import org.tmatesoft.svn.core.SVNException;
+import org.tmatesoft.svn.core.SVNURL;
+import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
+import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
+import org.tmatesoft.svn.core.io.SVNRepository;
+import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
+import org.tmatesoft.svn.core.wc.SVNWCUtil;
+
+import de.ugoe.cs.swe.exercises.misc.Model;
 
 public class SettingsDialog2 extends TitleAreaDialog {
+	private SettingsComposite settingsComposite;
+	private SettingsProfileComposite settingsProfileComposite;
+	private TabItem tbtmSettings;
+	private TabItem tbtmProfiledSettings;
+	private String activeTabItem;
+	private TabFolder tabFolder;
 
 	public SettingsDialog2(Shell parentShell) {
@@ -24,25 +44,143 @@
 		Composite area = (Composite) super.createDialogArea(parent);
 		{
-			TabFolder tabFolder = new TabFolder(area, SWT.NONE);
-			tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
+			tabFolder = new TabFolder(area, SWT.NONE);
+			tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
+					true, 1, 1));
 			{
-				TabItem tbtmSettings = new TabItem(tabFolder, SWT.NONE);
+				tbtmSettings = new TabItem(tabFolder, SWT.NONE);
 				tbtmSettings.setText("Settings");
 				{
-					Composite composite = new SettingsComposite(tabFolder, SWT.NONE);
-					tbtmSettings.setControl(composite);
+					settingsComposite = new SettingsComposite(tabFolder,
+							SWT.NONE);
+					tbtmSettings.setControl(settingsComposite);
 				}
 			}
 			{
-				TabItem tbtmProfiledSettings = new TabItem(tabFolder, SWT.NONE);
+				tbtmProfiledSettings = new TabItem(tabFolder, SWT.NONE);
 				tbtmProfiledSettings.setText("Profiled Settings");
 				{
-					Composite composite = new SettingsProfileComposite(tabFolder, SWT.NONE);
-					tbtmProfiledSettings.setControl(composite);
+					settingsProfileComposite = new SettingsProfileComposite(
+							tabFolder, SWT.NONE);
+					tbtmProfiledSettings.setControl(settingsProfileComposite);
 				}
 			}
 		}
+		tabFolder.addSelectionListener(new SelectionListener() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				activeTabItem = ((TabItem) e.item).getText();
+			}
+
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+			}
+		});
+		tabFolder.setSelection(tbtmSettings);
+		activeTabItem = tbtmSettings.getText();
+
+		updateWidgets();
 
 		return area;
+	}
+
+	private void updateWidgets() {
+		Settings settings = Settings.getInstance();
+		if (settings.isMysqlSSL()) {
+			settingsComposite.getMysqlSSLCombo().select(1);
+			settingsProfileComposite.getMysqlSSLCombo().select(1);
+		} else {
+			settingsComposite.getMysqlSSLCombo().select(0);
+			settingsProfileComposite.getMysqlSSLCombo().select(0);
+		}
+
+		settingsComposite.getSvnLocationText().setText(
+				settings.getSvnLocation());
+		settingsComposite.getMysqlHostText().setText(settings.getMysqlHost());
+		settingsComposite.getMysqlDatabaseText().setText(settings.getMysqlDb());
+		settingsComposite.getResearchGroupText().setText(
+				settings.getResearchGroup());
+		settingsComposite.getResearchGroupUrlText().setText(
+				settings.getResearchGroupUrl());
+
+		settingsComposite.getSvnWorkingCopyText().setText(
+				settings.getWorkingDirectory());
+		settingsProfileComposite.getSvnWorkingCopyText().setText(
+				settings.getWorkingDirectory());
+
+		settingsComposite.getSvnUsernameText().setText(
+				settings.getSvnUsername());
+		settingsProfileComposite.getSvnUsernameText().setText(
+				settings.getSvnUsername());
+
+		settingsComposite.getSvnPasswordText().setText(
+				settings.getSvnPassword());
+		settingsProfileComposite.getSvnPasswordText().setText(
+				settings.getSvnPassword());
+
+		settingsComposite.getMysqlUsernameText().setText(
+				settings.getMysqlUsername());
+		settingsProfileComposite.getMysqlUsernameText().setText(
+				settings.getMysqlUsername());
+
+		settingsComposite.getMysqlPasswordText().setText(
+				settings.getMysqlPassword());
+		settingsProfileComposite.getMysqlPasswordText().setText(
+				settings.getMysqlPassword());
+
+		settingsComposite.getPdfLatexText().setText(settings.getPdfLatexPath());
+		settingsProfileComposite.getPdfLatexText().setText(
+				settings.getPdfLatexPath());
+	}
+
+	protected void okPressed() {
+		updateSettings();
+		Settings settings = Settings.getInstance();
+
+		// validate settings
+		try {
+			DAVRepositoryFactory.setup();
+			SVNURL url = SVNURL.parseURIDecoded(settings.getSvnLocation());
+			SVNRepository repository = SVNRepositoryFactory.create(url);
+			ISVNAuthenticationManager authManager = SVNWCUtil
+					.createDefaultAuthenticationManager(settings
+							.getSvnUsername(), settings.getSvnPassword());
+			((SVNRepository) repository).setAuthenticationManager(authManager);
+			repository.testConnection();
+
+		} catch (SVNException ex) {
+			setErrorMessage(ex.getMessage());
+			return;
+		}
+
+		System.setProperty("javax.net.ssl.trustStorePassword", settings
+				.getMysqlPassword());
+		String path = Model.class.getProtectionDomain().getCodeSource()
+				.getLocation().getPath();
+		if (path.endsWith("bin/"))
+			path = path.replaceFirst("bin/$", "");
+		path += "keystore";
+		System.setProperty("javax.net.ssl.trustStore", path);
+
+		try {
+			// Step 1: Load the JDBC driver.
+			Class.forName("com.mysql.jdbc.Driver").newInstance();
+			// Step 2: Establish the connection to the database.
+			String url = "jdbc:mysql://" + settings.getMysqlHost() + "/"
+					+ settings.getMysqlDb() + "?useSSL="
+					+ String.valueOf(settings.isMysqlSSL());
+			DriverManager.getConnection(url, settings.getMysqlUsername(),
+					settings.getMysqlPassword());
+		} catch (SQLException ex) {
+			setErrorMessage(ex.getMessage());
+			return;
+		} catch (Exception ex2) {
+			setErrorMessage(ex2.getMessage());
+			return;
+		}
+
+		// save settings
+		Settings.getInstance().save();
+		setReturnCode(OK);
+		close();
 	}
 
@@ -55,4 +193,57 @@
 	}
 
+	private void updateSettings() {
+		Settings settings = Settings.getInstance();
+
+		if (activeTabItem.contains("Profiled Settings")) {
+			settings.setWorkingDirectory(settingsProfileComposite
+					.getSvnWorkingCopyText().getText());
+			settings.setSvnUsername(settingsProfileComposite
+					.getSvnUsernameText().getText());
+			settings.setSvnPassword(settingsProfileComposite
+					.getSvnPasswordText().getText());
+			settings.setMysqlUsername(settingsProfileComposite
+					.getMysqlUsernameText().getText());
+			settings.setMysqlPassword(settingsProfileComposite
+					.getMysqlPasswordText().getText());
+			settings.setPdfLatexPath(settingsProfileComposite.getPdfLatexText()
+					.getText());
+			if (settingsProfileComposite.getMysqlSSLCombo().getSelectionIndex() == 1) {
+				settings.setMysqlSSL(true);
+			} else {
+				settings.setMysqlSSL(false);
+			}
+		} else {
+			settings.setSvnLocation(settingsComposite.getSvnLocationText()
+					.getText());
+			settings.setMysqlHost(settingsComposite.getMysqlHostText()
+					.getText());
+			settings.setMysqlDb(settingsComposite.getMysqlDatabaseText()
+					.getText());
+			settings.setResearchGroup(settingsComposite.getResearchGroupText()
+					.getText());
+			settings.setResearchGroupUrl(settingsComposite
+					.getResearchGroupUrlText().getText());
+
+			settings.setWorkingDirectory(settingsComposite
+					.getSvnWorkingCopyText().getText());
+			settings.setSvnUsername(settingsComposite.getSvnUsernameText()
+					.getText());
+			settings.setSvnPassword(settingsComposite.getSvnPasswordText()
+					.getText());
+			settings.setMysqlUsername(settingsComposite.getMysqlUsernameText()
+					.getText());
+			settings.setMysqlPassword(settingsComposite.getMysqlPasswordText()
+					.getText());
+			settings.setPdfLatexPath(settingsComposite.getPdfLatexText()
+					.getText());
+			if (settingsComposite.getMysqlSSLCombo().getSelectionIndex() == 1) {
+				settings.setMysqlSSL(true);
+			} else {
+				settings.setMysqlSSL(false);
+			}
+		}
+	}
+
 	@Override
 	protected Point getInitialSize() {
Index: trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsHandler.java
===================================================================
--- trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsHandler.java	(revision 31)
+++ trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsHandler.java	(revision 32)
@@ -12,6 +12,6 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
-		SettingsDialog dialog = new SettingsDialog(window.getShell());
-//		SettingsDialog2 dialog = new SettingsDialog2(window.getShell());
+//		SettingsDialog dialog = new SettingsDialog(window.getShell());
+		SettingsDialog2 dialog = new SettingsDialog2(window.getShell());
 		dialog.open();
 		return null;
Index: trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsProfileComposite.java
===================================================================
--- trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsProfileComposite.java	(revision 31)
+++ trunk/de.ugoe.cs.swe.exercises/src/de/ugoe/cs/swe/exercises/settings/SettingsProfileComposite.java	(revision 32)
@@ -18,4 +18,5 @@
 	private Text pdfLatexText;
 	private Text profileText;
+	private Combo mysqlSSLCombo;
 
 	public SettingsProfileComposite(Composite parent, int style) {
@@ -24,10 +25,12 @@
 		{
 			Label lblProfileFile = new Label(this, SWT.NONE);
-			lblProfileFile.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblProfileFile.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblProfileFile.setText("Profile File");
 		}
 		{
 			profileText = new Text(this, SWT.BORDER);
-			profileText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			profileText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+					false, 1, 1));
 		}
 		{
@@ -37,14 +40,17 @@
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblSvnWorkingCopy = new Label(this, SWT.NONE);
-			lblSvnWorkingCopy.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnWorkingCopy.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnWorkingCopy.setText("SVN Working Copy");
 		}
 		{
 			svnWorkingCopyText = new Text(this, SWT.BORDER);
-			svnWorkingCopyText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnWorkingCopyText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		{
@@ -54,68 +60,84 @@
 		{
 			Label lblSvnUsername = new Label(this, SWT.NONE);
-			lblSvnUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnUsername.setText("SVN Username");
 		}
 		{
 			svnUsernameText = new Text(this, SWT.BORDER);
-			svnUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblSvnPassword = new Label(this, SWT.NONE);
-			lblSvnPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblSvnPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblSvnPassword.setText("SVN Password");
 		}
 		{
 			svnPasswordText = new Text(this, SWT.BORDER | SWT.PASSWORD);
-			svnPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			svnPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblMysqlUsername = new Label(this, SWT.NONE);
-			lblMysqlUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlUsername.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlUsername.setText("MySQL Username");
 		}
 		{
 			mysqlUsernameText = new Text(this, SWT.BORDER);
-			mysqlUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlUsernameText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlPassword = new Label(this, SWT.NONE);
-			lblMysqlPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlPassword.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlPassword.setText("MySQL Password");
 		}
 		{
-			mysqlPasswordText = new Text(this, SWT.BORDER);
-			mysqlPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlPasswordText = new Text(this, SWT.BORDER | SWT.PASSWORD);
+			mysqlPasswordText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label lblMysqlSsl = new Label(this, SWT.NONE);
-			lblMysqlSsl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblMysqlSsl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblMysqlSsl.setText("MySQL SSL");
 		}
 		{
-			Combo mysqlSSLCombo = new Combo(this, SWT.NONE);
-			mysqlSSLCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			mysqlSSLCombo = new Combo(this, SWT.READ_ONLY);
+			mysqlSSLCombo.add("Disabled");
+			mysqlSSLCombo.add("Enabled");
+			mysqlSSLCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER,
+					true, false, 1, 1));
 		}
 		new Label(this, SWT.NONE);
 		{
 			Label label = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 3, 1));
+			label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false,
+					false, 3, 1));
 		}
 		{
 			Label lblPdfLatexPath = new Label(this, SWT.NONE);
-			lblPdfLatexPath.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+			lblPdfLatexPath.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
+					false, false, 1, 1));
 			lblPdfLatexPath.setText("pdfLatex Path");
 		}
 		{
 			pdfLatexText = new Text(this, SWT.BORDER);
-			pdfLatexText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+			pdfLatexText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true,
+					false, 1, 1));
 		}
 		{
@@ -178,3 +200,19 @@
 	}
 
+	public Combo getMysqlSSLCombo() {
+		return mysqlSSLCombo;
+	}
+
+	public void setMysqlSSLCombo(Combo mysqlSSLCombo) {
+		this.mysqlSSLCombo = mysqlSSLCombo;
+	}
+
+	public Text getProfileText() {
+		return profileText;
+	}
+
+	public void setProfileText(Text profileText) {
+		this.profileText = profileText;
+	}
+
 }
