Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbouthillie2013-05-23 19:49:02 +0000
committerjbouthillie2013-05-27 13:22:40 +0000
commit1a7f53144703d9809bb46066245e929bc24502de (patch)
tree85392ba6ad0d29935392fdaca4b61074263aa1b8
parentbecdebae52c064168705ddcfef868114e81fdc19 (diff)
downloadorg.eclipse.mylyn.reviews.r4e-1a7f53144703d9809bb46066245e929bc24502de.tar.gz
org.eclipse.mylyn.reviews.r4e-1a7f53144703d9809bb46066245e929bc24502de.tar.xz
org.eclipse.mylyn.reviews.r4e-1a7f53144703d9809bb46066245e929bc24502de.zip
- Adjust code to read the Task Repository and fill the R4E-menu
- Adjust the dialogue to have the task properties Change-Id: I42c8477657a229946a4e13ae534d69e93d60d7d5
-rw-r--r--org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/AddGerritSiteHandler.java50
-rw-r--r--org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/SelectReviewSiteHandler.java14
-rw-r--r--org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/menus/DynamicMenuAddition.java63
-rw-r--r--org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/utils/R4EGerritServerUtility.java217
4 files changed, 211 insertions, 133 deletions
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/AddGerritSiteHandler.java b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/AddGerritSiteHandler.java
index 5bdef48b..c74126f7 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/AddGerritSiteHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/AddGerritSiteHandler.java
@@ -27,7 +27,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jgit.lib.Repository;
import org.eclipse.mylyn.internal.gerrit.core.GerritConnector;
import org.eclipse.mylyn.internal.tasks.ui.wizards.EditRepositoryWizard;
import org.eclipse.mylyn.reviews.r4e_gerrit.R4EGerritPlugin;
@@ -62,7 +61,7 @@ public class AddGerritSiteHandler extends AbstractHandler {
private R4EGerritServerUtility fServerUtil = null;
- private Map<Repository, String> fMapRepoServer = null;
+ private Map<TaskRepository, String> fMapRepoServer = null;
// ------------------------------------------------------------------------
@@ -91,17 +90,16 @@ public class AddGerritSiteHandler extends AbstractHandler {
if (objWidget instanceof MenuItem) {
MenuItem menuItem = (MenuItem) objWidget;
menuItemText = menuItem.getText();
-// R4EGerritPlugin.Ftracer.traceInfo("MenuItem: " + menuItemText );
R4EGerritPlugin.Ftracer.traceInfo("MenuItem: " + menuItemText + "\t value: " +
param.get(menuItemText) + " VS saved: " + fServerUtil.getLastSavedGerritServer());
fMapRepoServer = fServerUtil.getGerritMapping();
String stURL = fServerUtil.getMenuSelectionURL(menuItemText);
R4EGerritPlugin.Ftracer.traceInfo("URL for the menuItemText: " + stURL);
if (!fMapRepoServer.isEmpty()) {
- Set<Repository> mapSet = fMapRepoServer.keySet();
+ Set<TaskRepository> mapSet = fMapRepoServer.keySet();
R4EGerritPlugin.Ftracer.traceInfo("-------------------");
- for (Repository key: mapSet) {
- R4EGerritPlugin.Ftracer.traceInfo("Map Key name: " + key.getWorkTree().getName() + "\t URL: " + fMapRepoServer.get(key));
+ for (TaskRepository key: mapSet) {
+ R4EGerritPlugin.Ftracer.traceInfo("Map Key name: " + key.getRepositoryLabel() + "\t URL: " + fMapRepoServer.get(key));
}
}
@@ -143,15 +141,11 @@ public class AddGerritSiteHandler extends AbstractHandler {
public IStatus run(final IProgressMonitor aMonitor) {
aMonitor.beginTask(COMMAND_MESSAGE, IProgressMonitor.UNKNOWN);
-// final TaskRepository repository = getTaskRepository();
- final TaskRepository repository = getTaskRepository(fServerUtil.getLastSavedGerritServer());
+ final TaskRepository taskRepository = getTaskRepository(fServerUtil.getLastSavedGerritServer());
- R4EGerritPlugin.Ftracer.traceInfo("repository: " + repository.getUrl()); //$NON-NLS-1$
-// int ret = TasksUiUtil.openEditRepositoryWizard(repository); //Generate a null pointer for the workbench window
+ R4EGerritPlugin.Ftracer.traceInfo("repository: " + taskRepository.getUrl()); //$NON-NLS-1$
-
- R4EGerritPlugin.Ftracer.traceInfo("Before: repository: " + repository.getUrl() ); //$NON-NLS-1$
- final EditRepositoryWizard wizard = new EditRepositoryWizard(repository);
+ final EditRepositoryWizard wizard = new EditRepositoryWizard(taskRepository);
Display.getDefault().syncExec(new Runnable() {
public void run() {
WizardDialog dialog = new TaskRepositoryWizardDialog(wizard.getShell(), wizard);
@@ -162,13 +156,13 @@ public class AddGerritSiteHandler extends AbstractHandler {
});
//When the wizard is closed
- if (repository.getUrl().isEmpty() ||
- repository.getUrl().endsWith(R4EUIConstants.DEFAULT_REPOSITORY)) {
+ if (taskRepository.getUrl().isEmpty() ||
+ taskRepository.getUrl().endsWith(R4EUIConstants.DEFAULT_REPOSITORY)) {
//User selected the Cancel button
R4EGerritPlugin.Ftracer.traceInfo("AFTER: repository: CANCEL " ); //$NON-NLS-1$
} else {
R4EGerritPlugin.Ftracer.traceInfo("AFTER: repository: : FINISH " ); //$NON-NLS-1$
- fServerUtil.saveLastGerritServer(repository.getUrl());
+ fServerUtil.saveLastGerritServer(taskRepository.getUrl());
/*****************************************************/
/* */
/* Now, we need to get the Gerrit repo data */
@@ -179,8 +173,8 @@ public class AddGerritSiteHandler extends AbstractHandler {
fServerUtil.getReviewListFromServer ();
}
- R4EGerritPlugin.Ftracer.traceInfo("AFTER: repository: : " + repository.getUrl() +
- "\n\t repo: " + repository.getRepositoryUrl() ); //$NON-NLS-1$
+ R4EGerritPlugin.Ftracer.traceInfo("AFTER: repository: : " + taskRepository.getUrl() +
+ "\n\t repo: " + taskRepository.getRepositoryUrl() ); //$NON-NLS-1$
aMonitor.done();
@@ -199,28 +193,22 @@ public class AddGerritSiteHandler extends AbstractHandler {
* @param String default URL
* @return TaskRepository
*/
-// private TaskRepository getTaskRepository () {
private TaskRepository getTaskRepository (String aUrl) {
TaskRepository taskRepo = null;
- //Begin search for the current Gerrit connector
-// final RepositoryTemplateManager templateManager = TasksUiPlugin.getRepositoryTemplateManager();
-//
-// for (RepositoryTemplate template : templateManager.getTemplates(GerritConnector.CONNECTOR_KIND)) {
-// R4EGerritPlugin.Ftracer.traceInfo("Gerrit repository: " + template.label + "\t URL: " + template.repositoryUrl);
-// taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, template.repositoryUrl);
-// taskRepo.setRepositoryLabel(template.label);
-// }
-
-
+ //Search for the current Gerrit connector
+ taskRepo = R4EGerritServerUtility.getDefault().getTaskRepo(aUrl);
+
if (taskRepo == null) {
- //Create a default Task repo
-// taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, R4EUIConstants.DEFAULT_REPOSITORY);
if (aUrl != null) {
taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, aUrl);
} else {
+ //Create a default Task repo
taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, R4EUIConstants.DEFAULT_REPOSITORY);
}
+ } else {
+ R4EGerritPlugin.Ftracer.traceInfo("Repo already in list: " + taskRepo.getRepositoryLabel());
+
}
return taskRepo;
}
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/SelectReviewSiteHandler.java b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/SelectReviewSiteHandler.java
index 632cd5c2..736f689e 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/SelectReviewSiteHandler.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/commands/SelectReviewSiteHandler.java
@@ -26,10 +26,10 @@ import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jgit.lib.Repository;
import org.eclipse.mylyn.reviews.r4e_gerrit.R4EGerritPlugin;
import org.eclipse.mylyn.reviews.r4e_gerrit.internal.utils.R4EGerritServerUtility;
import org.eclipse.mylyn.reviews.r4e_gerrit.internal.utils.R4EUIConstants;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.handlers.IHandlerService;
@@ -56,7 +56,8 @@ public class SelectReviewSiteHandler extends AbstractHandler {
private R4EGerritServerUtility fServerUtil = null;
- private Map<Repository, String> fMapRepoServer = null;
+// private Map<Repository, String> fMapRepoServer = null;
+ private Map<TaskRepository, String> fMapRepoServer = null;
// ------------------------------------------------------------------------
@@ -95,10 +96,13 @@ public class SelectReviewSiteHandler extends AbstractHandler {
//Debug purpose, see which project have a gerrit server
fMapRepoServer = fServerUtil.getGerritMapping();
if (!fMapRepoServer.isEmpty()) {
- Set<Repository> mapSet = fMapRepoServer.keySet();
+ Set<TaskRepository> mapSet = fMapRepoServer.keySet();
R4EGerritPlugin.Ftracer.traceInfo("-------------------");
- for (Repository key: mapSet) {
- R4EGerritPlugin.Ftracer.traceInfo("Map Key repo name : " + key.getWorkTree().getName() + "\t URL: " + fMapRepoServer.get(key));
+ for (TaskRepository key: mapSet) {
+ R4EGerritPlugin.Ftracer.traceInfo("Map Key repo name : "
+ + key.getRepositoryLabel()
+ + "\t URL: "
+ + fMapRepoServer.get(key));
}
}
//End Debug
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/menus/DynamicMenuAddition.java b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/menus/DynamicMenuAddition.java
index a52fa8e7..6e46bebe 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/menus/DynamicMenuAddition.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/menus/DynamicMenuAddition.java
@@ -20,10 +20,10 @@ import java.util.Set;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jgit.lib.Repository;
import org.eclipse.mylyn.reviews.r4e_gerrit.R4EGerritPlugin;
import org.eclipse.mylyn.reviews.r4e_gerrit.internal.utils.R4EGerritServerUtility;
import org.eclipse.mylyn.reviews.r4e_gerrit.internal.utils.R4EUIConstants;
+import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.ui.actions.CompoundContributionItem;
import org.eclipse.ui.menus.CommandContributionItem;
import org.eclipse.ui.menus.CommandContributionItemParameter;
@@ -56,7 +56,7 @@ public class DynamicMenuAddition extends CompoundContributionItem implements IWo
private R4EGerritServerUtility fServer = null;
- private Map<Repository, String> fMapServer = null;
+ private Map<TaskRepository, String> fMapServer = null;
private ImageDescriptor fSelectPicture = null;
@@ -65,37 +65,44 @@ public class DynamicMenuAddition extends CompoundContributionItem implements IWo
// ------------------------------------------------------------------------
@Override
protected IContributionItem[] getContributionItems() {
-
- R4EGerritPlugin.Ftracer.traceInfo("\t\t DynamicMenuAddition .getContributionItems()" );
- CommandContributionItem[] contributionItems = new CommandContributionItem[0];
- if (fServer != null) {
- fMapServer = fServer.getGerritMapping();
- }
-
+
+ R4EGerritPlugin.Ftracer
+ .traceInfo("\t\t DynamicMenuAddition .getContributionItems()");
+ CommandContributionItem[] contributionItems = new CommandContributionItem[0];
+ if (fServer != null) {
+ fMapServer = fServer.getGerritMapping();
+ }
+
if (fMapServer != null && !fMapServer.isEmpty()) {
- Set<Repository> mapSet = fMapServer.keySet();
- String lastSelected = fServer.getLastSavedGerritServer();
- R4EGerritPlugin.Ftracer.traceInfo("-------------------");
- int size = mapSet.size();
- contributionItems = new CommandContributionItem[size];
+ Set<TaskRepository> mapSet = fMapServer.keySet();
+ String lastSelected = fServer.getLastSavedGerritServer();
+ R4EGerritPlugin.Ftracer.traceInfo("-------------------");
+ int size = mapSet.size();
+ contributionItems = new CommandContributionItem[size];
+
+ int count = 0;
+ for (TaskRepository key : mapSet) {
+ R4EGerritPlugin.Ftracer.traceInfo("Map Key: "
+ + key.getRepositoryLabel() + "\t URL: "
+ + fMapServer.get(key));
+ CommandContributionItemParameter contributionParameter = new CommandContributionItemParameter(
+ fServiceLocator, fMapServer.get(key),
+ R4EUIConstants.ADD_GERRIT_SITE_COMMAND_ID,
+ CommandContributionItem.STYLE_PUSH);
+ contributionParameter.label = key.getRepositoryLabel();
+ contributionParameter.visibleEnabled = true;
+ if (lastSelected != null
+ && lastSelected.equals(fMapServer.get(key))) {
+ fSelectPicture = R4EGerritPlugin
+ .getImageDescriptor(SELECT_PICTURE_FILE);
- int count = 0;
- for (Repository key: mapSet) {
- R4EGerritPlugin.Ftracer.traceInfo("Map Key: " + key.getWorkTree().getName() + "\t URL: " + fMapServer.get(key));
- CommandContributionItemParameter contributionParameter = new CommandContributionItemParameter(fServiceLocator,
- fMapServer.get(key), R4EUIConstants.ADD_GERRIT_SITE_COMMAND_ID,
- CommandContributionItem.STYLE_PUSH);
- contributionParameter.label = key.getWorkTree().getName();
- contributionParameter.visibleEnabled = true;
- if (lastSelected != null && lastSelected.equals(fMapServer.get(key)) ) {
- fSelectPicture = R4EGerritPlugin.getImageDescriptor(SELECT_PICTURE_FILE);
+ contributionParameter.icon = fSelectPicture;
- contributionParameter.icon = fSelectPicture;
-
- }
- contributionItems[count++] = new CommandContributionItem(contributionParameter) ;
}
+ contributionItems[count++] = new CommandContributionItem(
+ contributionParameter);
}
+ }
return contributionItems;
}
diff --git a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/utils/R4EGerritServerUtility.java b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/utils/R4EGerritServerUtility.java
index 19965752..1eb9e540 100644
--- a/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/utils/R4EGerritServerUtility.java
+++ b/org.eclipse.mylyn.reviews.r4e-gerrit/src/org/eclipse/mylyn/reviews/r4e_gerrit/internal/utils/R4EGerritServerUtility.java
@@ -24,6 +24,7 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.runtime.IPath;
@@ -33,8 +34,6 @@ import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.ConfigConstants;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.mylyn.internal.gerrit.core.GerritConnector;
-import org.eclipse.mylyn.internal.tasks.core.IRepositoryConstants;
-import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
import org.eclipse.mylyn.internal.tasks.core.RepositoryTemplateManager;
import org.eclipse.mylyn.internal.tasks.core.TaskRepositoryManager;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
@@ -78,11 +77,9 @@ public class R4EGerritServerUtility {
// Variables
// ------------------------------------------------------------------------
- private Map<Repository, String> fResult = new HashMap<Repository,String>();
-
- private R4EGerritServerUtility instance = null;
+ private static R4EGerritServerUtility instance = null;
- private Map<TaskRepository, String> fResultTask = new HashMap<TaskRepository,String>();
+ private static Map<TaskRepository, String> fResultTask = new HashMap<TaskRepository,String>();
@@ -92,31 +89,128 @@ public class R4EGerritServerUtility {
public R4EGerritServerUtility() {
instance = this;
mapConfiguredGerritServer();
+
+ //LATER: Map the workspace gerrit to the menu option
+ //addWorkspaceGerritRepo();
+
//Begin Test
- testTaskRepo();
+ //testTaskRepo(); not needed anymore
//End Test
}
// ------------------------------------------------------------------------
// Methods Private
// ------------------------------------------------------------------------
- private Map<Repository, String> mapConfiguredGerritServer () {
+
+ /**
+ * Map the configured Gerrit server found in the TaskList
+ * @return Map<TaskRepository, String>
+ */
+ private Map<TaskRepository, String> mapConfiguredGerritServer () {
+ //Reset the list of Gerrit server
+ fResultTask.clear();
+
+ TaskRepositoryManager repositoryManager = TasksUiPlugin.getRepositoryManager();
+
+ //Only get the TaskRepository related to Gerrit review connnector
+ R4EGerritPlugin.Ftracer.traceInfo("--------Review repo ---------------");
+ Set<TaskRepository> reviewRepo = repositoryManager.getRepositories(GerritConnector.CONNECTOR_KIND);
+ for (TaskRepository taskRepo: reviewRepo) {
+ R4EGerritPlugin.Ftracer.traceInfo("Only Gerrit Review repo: " + taskRepo.getRepositoryLabel() + "\t url: " + taskRepo.getRepositoryUrl());
+ fResultTask.put(taskRepo, taskRepo.getRepositoryUrl());
+ if (null != taskRepo.getRepositoryUrl() ) {
+ adjustTemplatemanager(taskRepo);
+ }
+ }
+ //Print a the end the info for all Gerrit
+ printRepositoryTemplate();
+ return fResultTask;
+ }
+
+ /**
+ * Build a list of Gerrit server to display in the combo box in the dialogue window
+ * @param aTaskRepo
+ */
+ private void adjustTemplatemanager (TaskRepository aTaskRepo) {
+ RepositoryTemplateManager templateManager = TasksUiPlugin.getRepositoryTemplateManager();
+ //Verify to only add once in the repository template
+ Boolean found = false;
+ // printTaskRepository(aTaskRepo);
+ for (RepositoryTemplate template : templateManager.getTemplates(GerritConnector.CONNECTOR_KIND)) {
+ String convertedRemoteURL = aTaskRepo.getRepositoryUrl() ;
+ R4EGerritPlugin.Ftracer.traceInfo("\t template.label: " + template.label
+ + "\t repo label: " + aTaskRepo.getRepositoryLabel() +" repo getname: " + convertedRemoteURL );
+ //Test the name and the remoteURL to reduce duplications
+ if (template.label.equals(aTaskRepo.getRepositoryLabel()) ||
+ template.repositoryUrl.equals(convertedRemoteURL) ) {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found) {
+ //Set each parameter of the Gerrit server
+ String userName = aTaskRepo.getUserName();
+ Boolean anonymous = (userName != null && !userName.isEmpty()) ? false: true;
+
+ //Create a repository template
+ RepositoryTemplate templateTest = new RepositoryTemplate(aTaskRepo.getRepositoryLabel(),
+ aTaskRepo.getRepositoryUrl(),
+ aTaskRepo.getCharacterEncoding(),
+ aTaskRepo.getVersion(),
+ "", "", "",
+ aTaskRepo.getUserName(), anonymous, true);
+
+ //Set the attributes
+ Map<String, String> attributes = aTaskRepo.getProperties();
+
+ Set<Entry<String, String>> value = attributes.entrySet();
+ for ( Map.Entry <String, String> entry: value){
+ templateTest.addAttribute(entry.getKey(), entry.getValue());
+ }
+ templateManager.addTemplate(GerritConnector.CONNECTOR_KIND, templateTest);
+
+ }
+ }
+
+ private void printRepositoryTemplate() {
+ RepositoryTemplateManager templateManager = TasksUiPlugin.getRepositoryTemplateManager();
+ for (RepositoryTemplate template : templateManager.getTemplates(GerritConnector.CONNECTOR_KIND)) {
+ R4EGerritPlugin.Ftracer.traceInfo("------------======================------------------");
+ Set<Entry<String, String>> value = template.getAttributes().entrySet();
+ for (Map.Entry <String, String> entry: value) {
+ R4EGerritPlugin.Ftracer.traceInfo("key: " + entry.getKey() + "\tvalue: " +
+ entry.getValue());
+ }
+ }
+ }
+
+ private void printTaskRepository(TaskRepository aTask) {
+ Set<Entry<String, String>> value = aTask.getProperties().entrySet();
+ for (Map.Entry<String, String> entry : value) {
+ R4EGerritPlugin.Ftracer.traceInfo("TaskRepo key: " + entry.getKey()
+ + "\tvalue: " + entry.getValue());
+ }
+ R4EGerritPlugin.Ftracer.traceInfo(" UserName: " + aTask.getUserName());
+ R4EGerritPlugin.Ftracer
+ .traceInfo("===================================");
+ }
+
+ /**
+ * This method use the Gerrit from the git server in the workspace
+ */
+ private void addWorkspaceGerritRepo () {
RepositoryUtil repoUtil = org.eclipse.egit.core.Activator.getDefault().getRepositoryUtil();
List<String> repoPaths = repoUtil.getConfiguredRepositories();
RepositoryCache repositoryCache = org.eclipse.egit.core.Activator.getDefault().getRepositoryCache();
Repository repo = null;
- RepositoryTemplateManager templateManager = TasksUiPlugin.getRepositoryTemplateManager();
- //Reset the list of Gerrit server
- fResult.clear();
-
for (String repoPath : repoPaths) {
R4EGerritPlugin.Ftracer.traceInfo("List Gerrit repository: " + repoPath );
File gitDir = new File(repoPath);
if (!gitDir.exists()) {
R4EGerritPlugin.Ftracer.traceInfo("Gerrit repository do not exist: " + gitDir.getPath());
- continue;
-
+ continue;
}
try {
repo = repositoryCache.lookupRepository(gitDir);
@@ -127,6 +221,7 @@ public class R4EGerritServerUtility {
}
if (repo != null) {
Config config = new Config(repo.getConfig());
+ //Look to get the remotes URL
Set<String> remotes = config.getSubsections(ConfigConstants.CONFIG_REMOTE_SECTION);
for (String remote: remotes) {
String remoteURL = config.getString(ConfigConstants.CONFIG_REMOTE_SECTION,
@@ -134,40 +229,21 @@ public class R4EGerritServerUtility {
ConfigConstants.CONFIG_KEY_URL);
R4EGerritPlugin.Ftracer.traceInfo("\t\t " + remote +" -> remoteURL: " + remoteURL );
- //Test if this is a Gerrit server and add it to the Dialogue cmbo
+ //Test if this is a Gerrit server and add it to the Dialogue combo
String convertedRemoteURL = getReformatGerritServer(remoteURL) ;
if (null != convertedRemoteURL ) {
- fResult.put(repo, convertedRemoteURL);
- //Test Begin
- //Verify to only add once
- Boolean found = false;
- for (RepositoryTemplate template : templateManager.getTemplates(GerritConnector.CONNECTOR_KIND)) {
- R4EGerritPlugin.Ftracer.traceInfo("\t template.label: " + template.label
- +" repo getname: " + repo.getWorkTree().getName() );
- //Test the name and the remoteURL to reduce duplications
- if (template.label.equals(repo.getWorkTree().getName()) ||
- template.repositoryUrl.equals(remoteURL) ) {
- found = true;
- break;
- }
- }
+ TaskRepository taskRepo = new TaskRepository(GerritConnector.CONNECTOR_KIND, convertedRemoteURL);
+ taskRepo.setRepositoryLabel(convertedRemoteURL);
+ fResultTask.put(taskRepo, taskRepo.getRepositoryUrl());
+ adjustTemplatemanager(taskRepo);
- if (!found) {
- RepositoryTemplate templateTest = new RepositoryTemplate(repo.getWorkTree().getName(), convertedRemoteURL,
- "", "", "", "", "", "", false, true);
- templateManager.addTemplate(GerritConnector.CONNECTOR_KIND, templateTest);
-
- }
- //Test END
-
}
}
}
}
-
- return fResult;
}
+
//Note the Gerrit server for "git.eclipse.org" in config is
// not the same as in the task Repository: "git.eclipse.org/r"
/**
@@ -203,7 +279,7 @@ public class R4EGerritServerUtility {
// ------------------------------------------------------------------------
// Methods Public
// ------------------------------------------------------------------------
- public R4EGerritServerUtility getDefault () {
+ public static R4EGerritServerUtility getDefault () {
if (instance == null) {
new R4EGerritServerUtility();
}
@@ -214,8 +290,8 @@ public class R4EGerritServerUtility {
* Return the mapping of the available Gerrit server used in the user workspace
* @return Map<Repository, String>
*/
- public Map<Repository, String> getGerritMapping () {
- return fResult;
+ public static Map<TaskRepository, String> getGerritMapping () {
+ return fResultTask;
}
/**
@@ -269,14 +345,14 @@ public class R4EGerritServerUtility {
*/
public String getMenuSelectionURL (String aSt) {
String urlStr = null;
- if (!fResult.isEmpty()) {
- Set<Repository> mapSet = fResult.keySet();
+ if (!fResultTask.isEmpty()) {
+ Set<TaskRepository> mapSet = fResultTask.keySet();
R4EGerritPlugin.Ftracer.traceInfo("-------------------");
- for (Repository key: mapSet) {
- if (key.getWorkTree().getName().equals(aSt)) {
- urlStr = fResult.get(key);
+ for (TaskRepository key: mapSet) {
+ if (key.getRepositoryLabel().equals(aSt)) {
+ urlStr = fResultTask.get(key);
- R4EGerritPlugin.Ftracer.traceInfo("Map Key: " + key.getWorkTree().getName() + "\t URL: " + fResult.get(key));
+ R4EGerritPlugin.Ftracer.traceInfo("Map Key: " + key.getRepositoryLabel() + "\t URL: " + fResultTask.get(key));
return urlStr;
}
}
@@ -286,6 +362,30 @@ public class R4EGerritServerUtility {
}
/**
+ * Get the Gerrit task Repository
+ *
+ * @param string aSt
+ * @return TaskRepository
+ *
+ */
+ public TaskRepository getTaskRepo (String aStURL) {
+
+ if (aStURL != null && !fResultTask.isEmpty()) {
+ Set<TaskRepository> mapSet = fResultTask.keySet();
+ R4EGerritPlugin.Ftracer.traceInfo("-------------------");
+ for (TaskRepository key: mapSet) {
+ if (key.getRepositoryUrl().equals(aStURL)) {
+
+ R4EGerritPlugin.Ftracer.traceInfo("Key label : " + key.getRepositoryLabel() + "\t URL: " + fResultTask.get(key));
+ return key;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ /**
* Read the Gerrit server to populate the list of reviews
*/
public void getReviewListFromServer () {
@@ -339,28 +439,7 @@ public class R4EGerritServerUtility {
//Reset the list of Gerrit server
fResultTask.clear();
- //Begin search for the current Gerrit connector
- final RepositoryTemplateManager templateManager = TasksUiPlugin.getRepositoryTemplateManager();
-
- for (RepositoryTemplate template : templateManager.getTemplates(GerritConnector.CONNECTOR_KIND)) {
- R4EGerritPlugin.Ftracer.traceInfo("Gerrit repository: " + template.label + "\t URL: " + template.repositoryUrl);
- taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, template.repositoryUrl);
- taskRepo.setRepositoryLabel(template.label);
- fResultTask.put(taskRepo, template.repositoryUrl);
-// //Test Begin
-// RepositoryTemplate templateTest = new RepositoryTemplate(template.label, template.repositoryUrl,
-// "", "", "", "", "", "", false, true);
-// templateManager.addTemplate(GerritConnector.CONNECTOR_KIND, templateTest);
-// //Test END
- }
-
- if (taskRepo == null) {
- //Create a default Task repo
- taskRepo = new TaskRepository (GerritConnector.CONNECTOR_KIND, DEFAULT_REPOSITORY);
-
- }
-
//Test to read the TaskRepositories
TaskRepositoryManager repositoryManager = TasksUiPlugin.getRepositoryManager();

Back to the top