-Adjust the task reository after selecting the "Add" button


Change-Id: I4c7f6b6f14a09f9bc44466b21f5bba2d95ce0e0a
Signed-off-by: jbouthillie <lmcbout@gmail.com>
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.classpath b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.classpath
deleted file mode 100644
index 4c62a80..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.project b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.project
deleted file mode 100644
index 6bc31c3..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.mylyn.reviews.r4e-gerrit.debug</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 8000cd6..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/META-INF/MANIFEST.MF b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/META-INF/MANIFEST.MF
deleted file mode 100644
index 77433e7..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: R4EDebug
-Bundle-SymbolicName: org.eclipse.mylyn.reviews.r4e-gerrit.debug
-Bundle-Version: 0.2.0.qualifier
-Bundle-Activator: org.eclipse.mylyn.reviews.r4e_gerrit.debug.R4EGerritDebugActivator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: org.eclipse.mylyn.reviews.r4e_gerrit.debug,
- org.eclipse.mylyn.reviews.r4e_gerrit.debug.utils
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/build.properties b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/R4EGerritDebugActivator.java b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/R4EGerritDebugActivator.java
deleted file mode 100644
index 000dd4d..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/R4EGerritDebugActivator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.eclipse.mylyn.reviews.r4e_gerrit.debug;
-
-import org.eclipse.mylyn.reviews.r4e_gerrit.debug.utils.Tracer;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class R4EGerritDebugActivator extends AbstractUIPlugin {
-
-	// ------------------------------------------------------------------------
-	// Member variables
-	// ------------------------------------------------------------------------
-
-	/**
-	 * Field Tracer.
-	 */
-	public static Tracer Ftracer;
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.mylyn.reviews.r4e-gerrit.debug"; //$NON-NLS-1$
-
-	// The shared instance
-	private static R4EGerritDebugActivator fPlugin;
-	
-	// ------------------------------------------------------------------------
-	// Constructors
-	// ------------------------------------------------------------------------
-	/**
-	 * The constructor
-	 */
-	public R4EGerritDebugActivator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		fPlugin = this;
-		Ftracer = new Tracer();
-		Ftracer.init(PLUGIN_ID);
-		Ftracer.traceDebug("plugin started");
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		fPlugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static R4EGerritDebugActivator getDefault() {
-		return fPlugin;
-	}
-	
-//	public static Tracer  initTracer(String aPluginId) {
-//		Ftracer = new Tracer();
-//		Ftracer.init(aPluginId);
-//		Ftracer.traceDebug("plugin started");
-//		return Ftracer;
-//	}
-
-}
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/utils/Tracer.java b/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/utils/Tracer.java
deleted file mode 100644
index b8afef7..0000000
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.debug/src/org/eclipse/mylyn/reviews/r4e_gerrit/debug/utils/Tracer.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 Ericsson AB and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Ericsson AB - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylyn.reviews.r4e_gerrit.debug.utils;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.eclipse.core.runtime.Platform;
-
-// ESCA-JAVA0100:
-/**
- * This class implements a simple trace facility using Eclipse that can be used to send debugging output to the console
- * and/or to file. It supports various levels of tracing
- * 
- * @author Sebastien Dubois
- */
-public class Tracer {
-
-	// ------------------------------------------------------------------------
-	// Constants
-	// ------------------------------------------------------------------------
-
-	static final int DEFAULT_STACK_TRACE_ELEMENT = 3;
-
-	// ------------------------------------------------------------------------
-	// Member variables
-	// ------------------------------------------------------------------------
-
-	static boolean ERROR = false;
-
-	static boolean WARNING = false;
-
-	static boolean INFO = false;
-
-	static boolean DEBUG = false;
-
-	private String fPluginID;
-
-	private BufferedWriter fTraceFile;
-
-	private SimpleDateFormat fTimeFormat;
-
-	private StringBuilder fTraceMessage;
-
-	private boolean fLogToConsole;
-
-	// ------------------------------------------------------------------------
-	// Constructors
-	// ------------------------------------------------------------------------
-
-	public Tracer() {
-		fTraceFile = null;
-		fTimeFormat = new SimpleDateFormat("HH:mm:ss:SSS");
-		fTraceMessage = new StringBuilder();
-		fLogToConsole = true;
-	}
-
-	// ------------------------------------------------------------------------
-	// Methods
-	// ------------------------------------------------------------------------
-
-	/**
-	 * Initialize the tracer object
-	 * 
-	 * @param aPluginId
-	 *            - the calling plugin ID (as a String object)
-	 */
-	public void init(String aPluginId) {
-
-		String traceKey = null;
-		fPluginID = aPluginId;
-
-		// Initialize tracer members from .options plugin file
-		traceKey = Platform.getDebugOption(fPluginID + "/error");
-		if (traceKey != null) {
-			ERROR = (Boolean.valueOf(traceKey)).booleanValue();
-		}
-
-		traceKey = Platform.getDebugOption(fPluginID + "/warning");
-		if (traceKey != null) {
-			WARNING = (Boolean.valueOf(traceKey)).booleanValue();
-		}
-
-		traceKey = Platform.getDebugOption(fPluginID + "/info");
-		if (traceKey != null) {
-			INFO = (Boolean.valueOf(traceKey)).booleanValue();
-		}
-
-		traceKey = Platform.getDebugOption(fPluginID + "/debug");
-		if (traceKey != null) {
-			DEBUG = (Boolean.valueOf(traceKey)).booleanValue();
-		}
-
-		traceKey = Platform.getDebugOption(fPluginID + "/consoleLog");
-		if (traceKey != null) {
-			fLogToConsole = (Boolean.valueOf(traceKey)).booleanValue();
-		}
-
-		traceKey = Platform.getDebugOption(fPluginID + "/logfile");
-		if (traceKey != null) {
-			try {
-				fTraceFile = new BufferedWriter(new FileWriter(traceKey));
-			} catch (IOException e) {
-				// ESCA-JAVA0265:
-				e.printStackTrace();
-			}
-		}
-	}
-
-	/**
-	 * Close the trace output logfile (if used)
-	 */
-	public void closeLogfile() {
-		if (fTraceFile == null) {
-			return;
-		}
-
-		try {
-			fTraceFile.close();
-			fTraceFile = null;
-		} catch (IOException e) {
-			// ESCA-JAVA0265:
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * @param newValue
-	 * @return
-	 */
-	public static boolean setError(boolean newValue) {
-		boolean oldValue = ERROR;
-		ERROR = newValue;
-		return oldValue;
-	}
-
-	/**
-	 * @param newValue
-	 * @return
-	 */
-	public static boolean setDebug(boolean newValue) {
-		boolean oldValue = DEBUG;
-		DEBUG = newValue;
-		return oldValue;
-	}
-
-	/**
-	 * @param newValue
-	 * @return
-	 */
-	public static boolean setInfo(boolean newValue) {
-		boolean oldValue = INFO;
-		INFO = newValue;
-		return oldValue;
-	}
-
-	/**
-	 * @param newValue
-	 * @return
-	 */
-	public static boolean setWarning(boolean newValue) {
-		boolean oldValue = WARNING;
-		WARNING = newValue;
-		return oldValue;
-	}
-
-	public static boolean isError() {
-		return ERROR;
-	}
-
-	public static boolean isDebug() {
-		return DEBUG;
-	}
-
-	public static boolean isInfo() {
-		return INFO;
-	}
-
-	public static boolean isWarning() {
-		return WARNING;
-	}
-
-	/**
-	 * Output an error trace
-	 * 
-	 * @param aMsg
-	 *            - the trace message to output
-	 */
-	public void traceError(String aMsg) {
-		if (ERROR) {
-			fTraceMessage.setLength(0);
-			// Timestamp
-			writeTimestamp(fTraceMessage);
-			fTraceMessage.append(" E");
-			writeThread(fTraceMessage);
-			writeLocation(fTraceMessage);
-			fTraceMessage.append(aMsg);
-			outputTrace(fTraceMessage);
-		}
-	}
-
-	/**
-	 * Output a warning trace
-	 * 
-	 * @param aMsg
-	 *            - the trace message to output
-	 */
-	public void traceWarning(String aMsg) {
-		if (WARNING) {
-			fTraceMessage.setLength(0);
-			// Timestamp
-			writeTimestamp(fTraceMessage);
-			fTraceMessage.append(" W");
-			writeThread(fTraceMessage);
-			writeLocation(fTraceMessage);
-			fTraceMessage.append(aMsg);
-			outputTrace(fTraceMessage);
-		}
-	}
-
-	/**
-	 * Output an info trace
-	 * 
-	 * @param aMsg
-	 *            - the trace message to output
-	 */
-	public void traceInfo(String aMsg) {
-		if (INFO) {
-			fTraceMessage.setLength(0);
-			// Timestamp
-			writeTimestamp(fTraceMessage);
-			fTraceMessage.append(" I");
-			writeThread(fTraceMessage);
-			writeLocation(fTraceMessage);
-			fTraceMessage.append(aMsg);
-			outputTrace(fTraceMessage);
-		}
-	}
-
-	/**
-	 * Output a debug trace
-	 * 
-	 * @param aMsg
-	 *            - the trace message to output
-	 */
-	public void traceDebug(String aMsg) {
-		if (DEBUG) {
-			fTraceMessage.setLength(0);
-			// Timestamp
-			writeTimestamp(fTraceMessage);
-			fTraceMessage.append(" D");
-			writeThread(fTraceMessage);
-			writeLocation(fTraceMessage);
-			fTraceMessage.append(aMsg);
-			outputTrace(fTraceMessage);
-		}
-	}
-
-	/**
-	 * Write timestamp header
-	 * 
-	 * @param aSb
-	 *            - the StringBuilder object (trace line) to append to
-	 */
-	private void writeTimestamp(StringBuilder aSb) {
-		aSb.append("[" + fTimeFormat.format(new Date()) + "]");
-	}
-
-	/**
-	 * Write thread header
-	 * 
-	 * @param aSb
-	 *            - the StringBuilder object (trace line) to append to
-	 */
-	private static void writeThread(StringBuilder aSb) {
-		aSb.append(" T=" + Thread.currentThread().getName());
-	}
-
-	/**
-	 * Write location header
-	 * 
-	 * @param aSb
-	 *            - the StringBuilder object (trace line) to append to
-	 */
-	private static void writeLocation(StringBuilder aSb) {
-		int traceElement = DEFAULT_STACK_TRACE_ELEMENT;
-		// ESCA-JAVA0067:
-		final StackTraceElement e[] = Thread.currentThread().getStackTrace();
-		if (e != null) {
-			traceElement = traceElement >= e.length ? e.length - 1 : traceElement;
-			StackTraceElement s = e[traceElement];
-			if (s != null) {
-				String simpleClassName = s.getClassName();
-				String[] clsNameSegs = simpleClassName.split("\\.");
-				if (clsNameSegs.length > 0) {
-					simpleClassName = clsNameSegs[clsNameSegs.length - 1];
-				}
-				aSb.append(" " + simpleClassName + ":" + s.getLineNumber() + " (" + s.getMethodName() + "): ");
-			}
-		}
-	}
-
-	/**
-	 * Write trace to console/file
-	 * 
-	 * @param aSb
-	 *            - the StringBuilder object (trace line) to output
-	 */
-	private void outputTrace(StringBuilder aSb) {
-
-		if (fLogToConsole) {
-			// ESCA-JAVA0266:
-			System.out.println(aSb);
-		}
-
-		if (fTraceFile != null) {
-			try {
-				fTraceFile.write(aSb.toString());
-				fTraceFile.newLine();
-				fTraceFile.flush();
-			} catch (IOException e) {
-				// ESCA-JAVA0265:
-				e.printStackTrace();
-			}
-		}
-	}
-
-}
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/AddGerritSiteHandler.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/AddGerritSiteHandler.java
index d6403ad..913f07b 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/AddGerritSiteHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/AddGerritSiteHandler.java
@@ -159,7 +159,7 @@
 			public IStatus run(final IProgressMonitor aMonitor) {
 				aMonitor.beginTask(COMMAND_MESSAGE, IProgressMonitor.UNKNOWN);
 						
-				final TaskRepository taskRepository = getTaskRepository(fServerUtil.getLastSavedGerritServer()); 
+				TaskRepository taskRepository = getTaskRepository(fServerUtil.getLastSavedGerritServer()); 
 				
 				R4EGerritPlugin.Ftracer.traceInfo("repository:   " + taskRepository.getUrl()); //$NON-NLS-1$
 				
@@ -174,6 +174,7 @@
 				});
 				
 				//When the wizard is closed
+				taskRepository = wizard.getRepository();//Possibility the taskRepository has changed
 				if (taskRepository.getUrl().isEmpty() || 
 						taskRepository.getUrl().endsWith(R4EUIConstants.DEFAULT_REPOSITORY)) {
 					//User selected the Cancel button
@@ -181,6 +182,12 @@
 				} else {
 				    R4EGerritPlugin.Ftracer.traceInfo("AFTER: repository: :  FINISH " ); //$NON-NLS-1$		
 					fServerUtil.saveLastGerritServer(taskRepository.getUrl());
+					//Test if we already have the Gerrit server in our internal map
+					TaskRepository taskRepositoryTmp = fServerUtil.getTaskRepo (taskRepository.getUrl());
+					if (taskRepositoryTmp == null) {
+						//Need to re-map our internal Gerrit Repo
+						fServerUtil.mapConfiguredGerritServer();
+					}
 					/*****************************************************/
 					/*                                                   */
 					/*    Now, we need to get the Gerrit repo data       */
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/utils/R4EGerritServerUtility.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/utils/R4EGerritServerUtility.java
index 9a96781..0106c52 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/utils/R4EGerritServerUtility.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/utils/R4EGerritServerUtility.java
@@ -106,7 +106,7 @@
 	 * Map the configured Gerrit server found in the TaskList
 	 * @return Map<TaskRepository, String>
 	 */
-	private Map<TaskRepository, String> mapConfiguredGerritServer () {
+	public Map<TaskRepository, String> mapConfiguredGerritServer () {
 		//Reset the list of Gerrit server
 		fResultTask.clear();
 		
@@ -389,25 +389,25 @@
 	 * Read the Gerrit server to populate the list of reviews
 	 */
 	public void getReviewListFromServer () {
-		//Get the Gerrit URL to query
-		String urlToUsed = getLastSavedGerritServer ();
-		
-		if (urlToUsed != null) {
-			//Initiate the request to populate the list of Reviews
-		    R4EGerritPlugin.Ftracer.traceInfo("use the following Gerrit URL to populate the list of reviews: " +  urlToUsed);
-			
-			// TODO: Make it pick the right repository
-			Set<TaskRepository> gerritRepositories = fResultTask.keySet();
-			Iterator<TaskRepository> it = gerritRepositories.iterator();
-			if (it.hasNext()) {
-	            TaskRepository repository = it.next();
-	     //       List<R4EGerritReviewSummary> reviews = getReviewListFromRepository(repository, GerritQuery.MY_WATCHED_CHANGES);
-	            // TODO: populate the Gerrit Dashboard with 'reviews'
-			}
-		} else {
-			//Open the dialogue to populate a Gerrit server, Should not happen here
-		    R4EGerritPlugin.Ftracer.traceInfo("Need to open the dialogue to populate a gerrit server" ); 			
-		}
+//		//Get the Gerrit URL to query
+//		String urlToUsed = getLastSavedGerritServer ();
+//		
+//		if (urlToUsed != null) {
+//			//Initiate the request to populate the list of Reviews
+//		    R4EGerritPlugin.Ftracer.traceInfo("use the following Gerrit URL to populate the list of reviews: " +  urlToUsed);
+//			
+//			// TODO: Make it pick the right repository
+//			Set<TaskRepository> gerritRepositories = fResultTask.keySet();
+//			Iterator<TaskRepository> it = gerritRepositories.iterator();
+//			if (it.hasNext()) {
+//	            TaskRepository repository = it.next();
+//	     //       List<R4EGerritReviewSummary> reviews = getReviewListFromRepository(repository, GerritQuery.MY_WATCHED_CHANGES);
+//	            // TODO: populate the Gerrit Dashboard with 'reviews'
+//			}
+//		} else {
+//			//Open the dialogue to populate a Gerrit server, Should not happen here
+//		    R4EGerritPlugin.Ftracer.traceInfo("Need to open the dialogue to populate a gerrit server" ); 			
+//		}
 	}
 //
 //    /**