quashed commits
	- Create a an update site
		- Adjust some testing for Gerrit before version 2.5
			- Keep track of the last 5 commands in the custom
			  query
		  	- Add the query HIDDEN attributes
			- Adjust the single line data display on top of the table
		  	- Rename "Add" by "Add Gerrit Repository..."

Change-Id: I80a2c24141cf57e8da4c03a6337becc0737a1222
diff --git a/R4E-Gerrit Internal/.project b/R4E-Gerrit Internal/.project
new file mode 100644
index 0000000..dc1ad79
--- /dev/null
+++ b/R4E-Gerrit Internal/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>R4E-Gerrit Internal</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.UpdateSiteBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.UpdateSiteNature</nature>
+	</natures>
+</projectDescription>
diff --git a/R4E-Gerrit Internal/site.xml b/R4E-Gerrit Internal/site.xml
new file mode 100644
index 0000000..6733b11
--- /dev/null
+++ b/R4E-Gerrit Internal/site.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/org.eclipse.mykyn.reviews.r4eGerrit.feature_0.1.0.qualifier.jar" id="org.eclipse.mykyn.reviews.r4eGerrit.feature" version="0.1.0.qualifier">
+      <category name="Gerrit Dashboard"/>
+   </feature>
+   <category-def name="Gerrit Dashboard" label="Gerrit Dashboard"/>
+</site>
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/META-INF/MANIFEST.MF b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/META-INF/MANIFEST.MF
index c1a7889..73c1fff 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.mylyn.reviews.r4e-gerrit.ui; singleton:=true
-Bundle-Version: 0.2.1.qualifier
+Bundle-Version: 0.1.0.qualifier
 Bundle-Activator: org.eclipse.mylyn.reviews.r4e_gerrit.ui.R4EGerritUi
 Require-Bundle: org.eclipse.ui,
  org.eclipse.ui.forms,
  org.eclipse.core.runtime,
- org.eclipse.mylyn.tasks.core;bundle-version="3.9.0",
+ org.eclipse.mylyn.tasks.core;bundle-version="3.10.0",
  org.eclipse.mylyn.gerrit.core;bundle-version="2.0.0",
  org.eclipse.egit.core;bundle-version="2.1.0",
  org.eclipse.jgit,
@@ -16,7 +16,7 @@
  org.eclipse.mylyn.reviews.ui;bundle-version="2.0.1",
  org.eclipse.mylyn.commons.core;bundle-version="3.9.0",
  org.eclipse.mylyn.commons.ui;bundle-version="3.9.0",
- org.eclipse.mylyn.reviews.r4e-gerrit;bundle-version="0.2.0",
+ org.eclipse.mylyn.reviews.r4e-gerrit;bundle-version="0.1.0",
  org.eclipse.mylyn.commons.workbench;bundle-version="3.10.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/plugin.xml b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/plugin.xml
index 832d855..94be494 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/plugin.xml
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/plugin.xml
@@ -55,7 +55,7 @@
           <command
                 commandId="org.eclipse.mylyn.reviews.r4e-gerrit.addGerritSite"
                 id="Search.gerritSite"
-                label="Add..."
+                label="Add Gerrit Repository..."
                 style="push">
           </command>
           <command
@@ -328,7 +328,7 @@
 
       <command
             id="org.eclipse.mylyn.reviews.r4e-gerrit.addGerritSite"
-            name="Add ...">
+            name="Add Gerrit Repository...">
       </command>
       <command
             defaultHandler="org.eclipse.ui.handlers.ShowViewHandler"
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/documentation/RestAPIHandler.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/documentation/RestAPIHandler.java
index 04bf965..964a392 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/documentation/RestAPIHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4e_gerrit/ui/internal/commands/documentation/RestAPIHandler.java
@@ -22,7 +22,6 @@
 import org.eclipse.mylyn.reviews.r4e_gerrit.ui.internal.utils.R4EGerritServerUtility;
 import org.eclipse.mylyn.reviews.r4e_gerrit.ui.internal.utils.UIUtils;
 import org.eclipse.mylyn.reviews.r4egerrit.ui.views.R4EGerritTableView;
-import org.osgi.framework.Version;
 
 /**
  * @author Jacques Bouthillier
@@ -39,19 +38,15 @@
 	@Override
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		R4EGerritUi.Ftracer.traceInfo("Search the documentation RestAPIHandler  " ); //$NON-NLS-1$
-		Version version = R4EGerritTableView.getActiveView().getlastGerritServerVersion();
-		//Testing the Gerrit server before getting the documentation
-		if (version != null) {
-			if (version.getMajor() >= 2) {
-				if (version.getMinor() < 5) {
-					String msg = "Selected Gerrit server: " + version.toString();
-					String reason = "Gerrit server is too old, need at least Gerrit version 2.5 \nto get Gerrit Code Review - REST API documentation.";
-					R4EGerritUi.Ftracer.traceInfo(msg );
-					UIUtils.showErrorDialog(msg, reason);
-					return null;
-				}
-			}
-		}
+		R4EGerritTableView view =  R4EGerritTableView.getActiveView();
+		
+        if (view.isGerritVersionBefore_2_5()) {
+			String msg = "Selected Gerrit server: " + view.getlastGerritServerVersion().toString();
+			String reason = "Gerrit server is too old, need at least Gerrit version 2.5 \nto get Gerrit Code Review - REST API documentation.";
+			R4EGerritUi.Ftracer.traceInfo(msg );
+			UIUtils.showErrorDialog(msg, reason);
+			return null;
+        }
 		
 		R4EGerritServerUtility.getInstance().openWebBrowser (REST_API_DOCUMENTATION);
 		
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 004d3be..498d51c 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
@@ -24,6 +24,8 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -82,6 +84,11 @@
 	private static final String LAST_GERRIT_FILE = "lastGerrit.txt";
 
 	/**
+	 * Field LAST_COMMANDS_FILE. (value is ""lastCommands.txt"")
+	 */
+	private static final String LAST_COMMANDS_FILE = "lastCommands.txt";
+
+	/**
 	 * Field ECLIPSE_GERRIT_DEFAULT. (value is ""https://git.eclipse.org/r/"")
 	 */
 	private final String ECLIPSE_GERRIT_DEFAULT = "https://git.eclipse.org/r/";
@@ -268,9 +275,14 @@
 		return null;
 	}
 
-	private File getLastGerritFile () {
+	/**
+	 * Build and return the File storing the persistent data
+	 * @param String aFile
+	 * @return File
+	 */
+	private File getLastGerritFile (String aFile) {
 		IPath ipath = R4EGerritPlugin.getDefault().getStateLocation();
-		String fileName = ipath.append(LAST_GERRIT_FILE).toPortableString();
+		String fileName = ipath.append(aFile).toPortableString();
 		File file = new File (fileName);
 		return file;
 	}
@@ -365,7 +377,7 @@
 	 */
 	public Boolean saveLastGerritServer (String aURL) {
 		Boolean ok = true;
-		File file = getLastGerritFile();
+		File file = getLastGerritFile(LAST_GERRIT_FILE);
 		try {
 			FileWriter fw= new FileWriter(file);
 			BufferedWriter out = new BufferedWriter(fw);
@@ -385,7 +397,7 @@
 	 */
 	public String getLastSavedGerritServer () {
 		String lastGerritURL = null;
-		File file = getLastGerritFile();
+		File file = getLastGerritFile(LAST_GERRIT_FILE);
 		if (file != null) {
 			try {
 				FileReader fr= new FileReader(file);
@@ -482,6 +494,56 @@
 	}
 	
 	/**
+	 * Save the list of the last 5 commands
+	 * @param LinkedHashSet<String>
+	 * @return Boolean
+	 */
+	public Boolean saveLastCommandList (LinkedHashSet<String> aCommands) {
+		Boolean ok = true;
+		File file = getLastGerritFile(LAST_COMMANDS_FILE);
+		try {
+			FileWriter fw= new FileWriter(file);
+			BufferedWriter out = new BufferedWriter(fw);
+			Iterator<String> iter = aCommands.iterator();
+			while ( iter.hasNext()) {
+				String s = iter.next();
+				out.write(s);
+				out.newLine();
+			}
+			out.close();
+		} catch (IOException e1) {
+			e1.printStackTrace();
+			ok = false;
+		}
+		
+		return ok;
+	}
+	
+	/**
+	 * Return the list of the last commands saved
+	 * @return LinkedHashSet
+	 */
+	public LinkedHashSet getListLastCommands () {
+		LinkedHashSet<String> lastCommands = new LinkedHashSet<String>();
+		File file = getLastGerritFile(LAST_COMMANDS_FILE);
+		if (file != null) {
+			try {
+				FileReader fr= new FileReader(file);
+				BufferedReader in = new BufferedReader(fr);
+				while (in.ready()) {
+					String line = in.readLine();
+					lastCommands.add(line);
+				}
+				in.close();
+			} catch (IOException e1) {
+				//When there is no file, 
+				//e1.printStackTrace();
+			}			
+		}
+		return lastCommands;
+	}
+	
+	/**
 	 * Read the Gerrit server to populate the list of reviews
 	 */
 	public void getReviewListFromServer () {
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
index e15c62d..1511fad 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit.ui/src/org/eclipse/mylyn/reviews/r4egerrit/ui/views/R4EGerritTableView.java
@@ -18,6 +18,8 @@
 package org.eclipse.mylyn.reviews.r4egerrit.ui.views;
 
 import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -48,6 +50,7 @@
 import org.eclipse.mylyn.internal.gerrit.core.client.GerritException;
 import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
 import org.eclipse.mylyn.internal.tasks.core.ITaskListChangeListener;
+import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
 import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
 import org.eclipse.mylyn.internal.tasks.core.TaskContainerDelta;
 import org.eclipse.mylyn.internal.tasks.core.TaskTask;
@@ -79,6 +82,7 @@
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Event;
@@ -86,7 +90,6 @@
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
@@ -134,19 +137,21 @@
 	// Labels for the Search 
 	private final String SEARCH_LABEL 	= "Current Query:";
 	private final String SEARCH_BTN 	= "Search";
-	private final String REPOSITORY 	= "Repository:";
-	private final String VERSION 		= "Version:";
 	private final String TOTAL_COUNT 	= "Total reviews:";
+	private final String GERRIT_LABEL   = " - Gerrit ";
 
 	private final int SEARCH_WIDTH = 300;
 	private final int REPO_WIDTH = 200;
-	private final int VERSION_WIDTH = 100;
+	private final int VERSION_WIDTH = 35;
 	
 	private final String SEARCH_TOOLTIP = "Ex. status:open (or is:open) \n status:merged \n "
 			+ "is:draft \n status:open project:Foo \n "
 			+ "See explanation by selecting in the toolbar \n "
 			+ "Documentation > Searching";
 	
+	//Numbers of menu items in the Search pulldown menu; SEARCH_SIZE_MENU_LIST + 1 will be the max
+	private final int SEARCH_SIZE_MENU_LIST = 4;
+
 	// ------------------------------------------------------------------------
 	// Member variables
 	// ------------------------------------------------------------------------
@@ -161,18 +166,15 @@
 	private Label 	fSearchForLabel;
 	private Label	fSearchResulLabel;
 
-	private Label 	fRepositoryLabel;
-	private Label	fRepositoryResulLabel;
-
-    private Label 	fRepositoryVersionLabel;
 	private Label	fRepositoryVersionResulLabel;
 	
     private Label 	fReviewsTotalLabel;	
     private Label 	fReviewsTotalResultLabel;	
 	
-	private Text	fSearchRequestText;
+	private Combo	fSearchRequestText;
 	private Button	fSearchRequestBtn;
 	
+	private LinkedHashSet<String>   fRequestList = new LinkedHashSet<String>();
 	private static TableViewer fViewer;
 	
 	private ReviewTableData fReviewTable = new ReviewTableData();
@@ -181,6 +183,9 @@
 	private Map<TaskRepository, String> fMapRepoServer = null;
 
 	private Action doubleClickAction;
+	
+	private final LinkedHashSet<Job> fJobs = new LinkedHashSet<Job>();
+	
 
 	// ------------------------------------------------------------------------
 	// TableRefreshJob
@@ -247,6 +252,17 @@
 	public void dispose() {
 		TasksUiPlugin.getTaskList().removeChangeListener(this);
 		fTableRefreshJob.cancel();
+		cleanJobs();		
+	}
+	
+	private void cleanJobs () {
+		Iterator<Job> iter = fJobs.iterator();
+		while (iter.hasNext()) {
+			Job job  = iter.next();
+			job.sleep();
+			job.cancel();
+		}
+        fJobs.clear();
 	}
 
 	/**
@@ -302,6 +318,7 @@
 	 * Create a group to show the search command and a search text
 	 * @param Composite aParent
 	 */
+	@SuppressWarnings("unchecked")
 	private void createSearchSection(Composite aParent) {
 		
 		final Group formGroup =  new Group(aParent, SWT.SHADOW_ETCHED_IN | SWT.H_SCROLL);
@@ -325,26 +342,16 @@
 		leftSearchForm.setLayoutData(gribDataViewer);
 
 		GridLayout leftLayoutForm = new GridLayout();
-		leftLayoutForm.numColumns = 4;
+		leftLayoutForm.numColumns = 5;
 		leftLayoutForm.marginHeight = 0;
 		leftLayoutForm.makeColumnsEqualWidth = false;
 		leftLayoutForm.horizontalSpacing = 10;
 		
 		leftSearchForm.setLayout(leftLayoutForm);
 		
-		//Label to display the repository
-		fRepositoryLabel = new Label(leftSearchForm, SWT.NONE);
-		fRepositoryLabel.setText(REPOSITORY);
-		
-		fRepositoryResulLabel = new Label(leftSearchForm, SWT.NONE);
-		fRepositoryResulLabel.setLayoutData(new GridData(REPO_WIDTH, SWT.DEFAULT));
-
-		//Label to display the repository version
-		fRepositoryVersionLabel = new Label(leftSearchForm, SWT.NONE);
-		fRepositoryVersionLabel.setText(VERSION);
-		
+		//Label to display the repository and the version
 		fRepositoryVersionResulLabel = new Label(leftSearchForm, SWT.NONE);
-		fRepositoryVersionResulLabel.setLayoutData(new GridData(VERSION_WIDTH, SWT.DEFAULT));	
+		fRepositoryVersionResulLabel.setLayoutData(new GridData(REPO_WIDTH, SWT.DEFAULT));	
 		
 		
 		// Label for SEARCH for
@@ -375,9 +382,12 @@
 		rightSsearchForm.setLayout(rightLayoutForm);
 
 		//Create a SEARCH text data entry
-		fSearchRequestText = new Text (rightSsearchForm, SWT.BORDER);
+		fSearchRequestText = new Combo (rightSsearchForm, SWT.BORDER);
 		fSearchRequestText.setLayoutData(new GridData(SEARCH_WIDTH, SWT.DEFAULT));
 		fSearchRequestText.setToolTipText(SEARCH_TOOLTIP);
+		//Get the last saved commands
+		fRequestList = fServerUtil.getListLastCommands();
+		setSearchText("");
 	
 		//Create a SEARCH button 
 		fSearchRequestBtn = new Button (rightSsearchForm, SWT.NONE);
@@ -456,10 +466,8 @@
 		            editorInput = new TaskEditorInput(fTaskRepository, task);
 		        }
 		        String editorId = connectorUi.getTaskEditorId(task);
-				System.out.println("JBJB before  editorinout: " + editorInput.getName() + "\n\t editor id: " + editorId);
 				IEditorPart editorPart = TasksUiUtil.openEditor(editorInput, editorId, null);
 				if (editorPart instanceof TaskEditor) {
-					System.out.println("JBJB editorPart: " + editorPart + " Try to refreshed pages");
 					TaskEditor taskEditor = (TaskEditor) editorPart;
 					//Allow to open a Task even if not found locally yet
 					SynchronizeEditorAction synchAction = new SynchronizeEditorAction();
@@ -472,7 +480,6 @@
 					}
 					
 				}
-				System.out.println("JBJB editorinout: " + editorInput.toString() + "\n\t editor id: " + editorId);
 			}
 		};
 	}
@@ -671,13 +678,30 @@
 	}
 	
 	/**
+	 * Verify if the Gerrit version is before 2.5
+	 * @return boolean
+	 */
+	public boolean isGerritVersionBefore_2_5 () {
+		boolean ret = false;
+	
+        Version version = getlastGerritServerVersion ();
+        if (version != null && version.getMajor() >= 2) {
+        	if (version.getMinor() < 5) {
+        		ret = true;
+        	}
+        }
+		return ret;
+	}
+	
+	/**
 	 * @param aTaskRepo
 	 * @param aQueryType
 	 * @return
 	 */
 	private Object updateTable(final TaskRepository aTaskRepo, final String aQueryType)  {
 		
-		final Job job = new Job(COMMAND_MESSAGE) {
+		String cmdMessage = COMMAND_MESSAGE + " " + aTaskRepo.getUrl() + " : " + aQueryType;
+		final Job job = new Job(cmdMessage) {
 
 			public String familyName = R4EUIConstants.R4E_UI_JOB_FAMILY;
 
@@ -704,12 +728,14 @@
 	                        setSearchLabel(aQueryType);
 	                        if (aQueryType != GerritQuery.CUSTOM ) {
 		                        setSearchText(aQueryType);	                        	
+	                        } else {
+	                        	//Record the custom query
+	                        	setSearchText (getSearchText());
 	                        }
-	                        setRepositoryLabel(aTaskRepo.getRepositoryLabel());
 	                        GerritClient gerritClient = fConnector.getClient(aTaskRepo);
 	                        try {
 								R4EGerritUi.Ftracer.traceInfo("GerritClient: " + gerritClient.getVersion(new NullProgressMonitor()) );
-								setRepositoryVersionLabel (gerritClient.getVersion(new NullProgressMonitor()).toString() );
+								setRepositoryVersionLabel (aTaskRepo.getRepositoryLabel(), gerritClient.getVersion(new NullProgressMonitor()).toString() );
 							} catch (GerritException e1) {
 								e1.printStackTrace();
 							}
@@ -725,9 +751,14 @@
                 }
 
 				aMonitor.done();
+				fJobs.remove(this);
 				return status;
 			}
 		};
+		//Clean some Jobs if still running
+		cleanJobs();
+		
+		fJobs.add(job);
 		job.setUser(true);
 		job.schedule();
 		
@@ -742,10 +773,58 @@
 
 	private void setSearchText (String aSt) {
 		if (!fSearchRequestText.isDisposed() ) {
-			fSearchRequestText.setText(aSt);
+			if (aSt != null && aSt != "" ) {
+				int index = -1;
+				String [] ar = fSearchRequestText.getItems();
+				for (int i =0; i< ar.length; i++ ) {
+					if ( ar[i].equals(aSt.trim()) ) {
+						index = i;
+						break;
+					}
+				}
+				
+				if (index != -1) {
+					fRequestList.remove(fRequestList.remove(ar[index]));
+				} else {
+					//Remove the oldest element from the list
+					if (fRequestList.size() > SEARCH_SIZE_MENU_LIST) {
+						Object obj= fRequestList.iterator().next(); //Should be the first item in the list
+						fRequestList.remove(fRequestList.remove(obj));
+					}
+				}
+				//Add the new text in the combo
+				fRequestList.add (aSt.trim());
+				//Save the list of commands in file
+				fServerUtil.saveLastCommandList(fRequestList);
+				
+			}
+			
+			fSearchRequestText.setItems( reverseOrder ( fRequestList.toArray(new String[0])));
+			if (aSt != null && aSt != "" ) {
+				fSearchRequestText.select(0);			
+			} else {
+				//Leave the text empty
+				fSearchRequestText.setText("");
+			}
 		}
 	}
 	
+	/**
+	 * Take the list of last save queries and reverse the order to have 
+	 * the latest selection to be the first one on the pull-down menu
+	 * @param aList String[]
+	 * @return String[] reverse order
+	 */
+	private String[] reverseOrder (String[] aList) {
+		int size = aList.length;
+		int index = size - 1;
+		String [] rev = new String[size];
+		for (int i = 0; i < size; i++) {
+			rev[i] = aList[index--];
+		}
+		return rev;
+	}
+	
 	private String getSearchText () {
 		if (!fSearchRequestText.isDisposed() ) {
 			final String[] str  = new String[1];
@@ -760,13 +839,6 @@
 		return null;
 	}
 	
-
-	private void setRepositoryLabel(String aSt) {
-		if (!fRepositoryResulLabel.isDisposed() ) {
-			fRepositoryResulLabel.setText(aSt);
-		}
-	}
-
 	// ------------------------------------------------------------------------
 	// Query handling
 	// ------------------------------------------------------------------------
@@ -808,6 +880,9 @@
         	query.setSummary(queryId);
             query.setAttribute(GerritQuery.TYPE, queryType);
     		query.setAttribute(GerritQuery.PROJECT, null);
+   		 	// Flag to prevent the query to be displayed in the Task List 
+    		// and pop-up list showing all the times
+   		 	query.setAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN, Boolean.toString(true));
     		if (queryType == GerritQuery.CUSTOM ) {
         		query.setAttribute(GerritQuery.QUERY_STRING, getSearchText());
     		} else {
@@ -828,20 +903,20 @@
     	// Start the long-running synchronized query; the individual review details
         // are handled by ITaskListChangeListener.containersChanged()
         GerritConnector connector = GerritCorePlugin.getDefault().getConnector();
-        Version version = getlastGerritServerVersion ();
-        if (version != null && version.getMajor() >= 2) {
-        	if (version.getMinor() < 5) {
-        		//We are in Gerrit server 2.4 and lower, need a resynch
-                Job job = null;
-                try {
-                    job = TasksUiInternal.synchronizeQuery(connector, query, null, true);
-        		} catch (Exception e) {
-        			if (job != null) {
-        				job.cancel();
-        			}
-        		}
-        	}
-        }
+
+        //Do we re-synch for all Gerrit server version or just Gerrit 2.4 ?
+//        if (isGerritVersionBefore_2_5()) {
+//            Job job = null;
+//            try {
+//                job = TasksUiInternal.synchronizeQuery(connector, query, null, true);
+//    		} catch (Exception e) {
+//    			if (job != null) {
+//    				job.cancel();
+//    			}
+//    		}
+//    	}
+        	
+        //Should sync any Gerrit server instead of waiting the timer re-synch 
         Job job = null;
         try {
             job = TasksUiInternal.synchronizeQuery(connector, query, null, true);
@@ -933,9 +1008,11 @@
 		
 	}
 
-	private void setRepositoryVersionLabel(String aSt) {
+	private void setRepositoryVersionLabel(String aRepo, String aVersion) {
 		if (!fRepositoryVersionResulLabel.isDisposed() ) {
-			fRepositoryVersionResulLabel.setText(aSt);
+			// e.g. "Eclipse.org Reviews - Gerrit 2.6.1" 
+			String s = aRepo + GERRIT_LABEL + aVersion;
+			fRepositoryVersionResulLabel.setText(s);
 		}
 	}
 
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit/META-INF/MANIFEST.MF b/org.eclipse.mylyn.reviews.r4e-gerrit/META-INF/MANIFEST.MF
index 2e89baf..2d55186 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit/META-INF/MANIFEST.MF
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.mylyn.reviews.r4e-gerrit; singleton:=true
-Bundle-Version: 0.2.1.qualifier
+Bundle-Version: 0.1.0.qualifier
 Bundle-Activator: org.eclipse.mylyn.reviews.r4e_gerrit.R4EGerritPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.core.runtime,
@@ -10,7 +10,7 @@
  org.eclipse.mylyn.commons.ui;bundle-version="3.9.0",
  org.eclipse.mylyn.reviews.core;bundle-version="2.0.0",
  org.eclipse.mylyn.gerrit.core;bundle-version="2.0.0",
- org.eclipse.mylyn.tasks.core;bundle-version="3.9.0",
+ org.eclipse.mylyn.tasks.core;bundle-version="3.10.0",
  org.eclipse.jgit;bundle-version="2.1.0",
  org.eclipse.egit.core;bundle-version="2.1.0"
 Bundle-ActivationPolicy: lazy