[jboss-svn-commits] JBL Code SVN: r7492 - in labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status: common/tools service/plugins/codelines service/plugins/jira service/plugins/productization service/plugins/svn

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 8 17:57:52 EST 2006


Author: wrzep
Date: 2006-11-08 17:57:47 -0500 (Wed, 08 Nov 2006)
New Revision: 7492

Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/codelines/CodeLinesPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/jira/JiraStatusPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/DownloadsPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/PackagedForDownloadPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/ProductizationPlugin.java
   labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/svn/SvnStatusPlugin.java
Log:
http://jira.jboss.com/jira/browse/JBLAB-756
Making Plugins work (remotely) with ProjectsService.
Pawel


Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/common/tools/ProjectTools.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -1,85 +1,100 @@
 package org.jboss.forge.status.common.tools;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
-import java.util.Set;
-
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 
-import org.jboss.forge.common.projects.IssueTracker;
-import org.jboss.forge.common.projects.Projects;
-import org.jboss.forge.common.projects.Repository;
+
+import org.jboss.forge.common.projects.project.IssueTracker;
+import org.jboss.forge.common.projects.project.IssueTrackerType;
+import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.RepoType;
+import org.jboss.forge.common.projects.project.Repository;
 import org.jboss.forge.common.soa.projects.ProjectsService;
-import org.jboss.forge.status.common.Tags;
 import org.jboss.logging.Logger;
 
 /**
  * @author Pawel Wrzeszcz
  */
 public class ProjectTools {
-
-	private static Projects projects;
 	
 	private static ProjectsService service = null;
 	
 	private static Logger log = Logger.getLogger(ProjectTools.class);
 	
-	
-	public static List<String> getCcURLs(String projectId) {
+
+	public static void init(String portalName, Properties projectsServiceProperties) {
 		
-		String ccURLsString =
-				projects.getProjectProperty(projectId, Tags.CC_ADRESS_TAG);
-		
-		if (ccURLsString == "") {
-			return null; 
+		try {
+			service = getProjectsService(projectsServiceProperties);
+			
+		} catch (NamingException e) {
+			log.warn("Unable to obtain Projects Service. " +
+					 "(properties=" + projectsServiceProperties +")", e);
 		}
-	
-		return Tools.getCommaSeparatedStrings(ccURLsString);
 	}
 
+	private static ProjectsService getProjectsService(Properties properties)
+	  throws NamingException {
 
-	public static Repository getProjectRepository(String projectId) {
+		InitialContext ic = new InitialContext(properties);
+		ProjectsService service = (ProjectsService)ic.lookup("ProjectsService");
+
+		return service;
+	}
+
+	public static List<String> getProjectJems(String projectId) {
 		
-		return projects.getProjectRepository(projectId);
+		return service.getProjectJems(projectId);
 	}
 
+	public static List<String> getCcURLs(String projectId) {
 
-	public static IssueTracker getProjectIssueTracker(String projectId) {
+		List<Repository> repoList = getProjectCcRepositories(projectId);
+		List<String> ccURLs = new ArrayList<String>();
 		
-		return projects.getProjectIssueTracker(projectId);
+		for (Repository repository : repoList) {
+			
+			ccURLs.add(repository.getValue());
+		}
+		
+		return ccURLs;
 	}
 	
-	public static Set<String> getProjectIds() {
+	public static List<Repository> getProjectCcRepositories(String projectId) {
 		
-		return projects.getProjectIds();
-	}
-
-
-	public static void init(String portalName, Properties projectsServiceProperties) {
+		List<Repository> repoList = service.getProjectRepositories(projectId);
+		List<Repository> ccRepoList = new ArrayList<Repository>();
 		
-		try {
-			service = getProjectsService(projectsServiceProperties);
+		for (Repository repository : repoList) {
 			
-		} catch (NamingException e) {
-			log.warn("Unable to obtain Projects Service. " +
-					 "(properties=" + projectsServiceProperties +")", e);
+			if (repository.getType() == RepoType.SVN) {
+				ccRepoList.add(repository);
+			}
 		}
+		
+		return ccRepoList;
 	}
 
-
-	public static List<String> getProjectJems(String projectId) {
+	public static IssueTracker getProjectJiraIssueTracker(String projectId) {
 		
-		return service.getProjectJems(projectId);
+		List<IssueTracker> issueTrackerList = service.getProjectIssueTrackers(projectId);
+		
+		for (IssueTracker tracker : issueTrackerList) {
+			
+			if (tracker.getType() == IssueTrackerType.JIRA) {
+				
+				return tracker;
+			}
+		}
+		
+		return null;
 	}
 
-
-	private static ProjectsService getProjectsService(Properties properties)
-													  throws NamingException {
+	public static Project getProject(String projectId) {
 		
-		InitialContext ic = new InitialContext(properties);
-		ProjectsService service = (ProjectsService)ic.lookup("ProjectsService");
-		
-		return service;
+		return service.getProjectByName(projectId);
 	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/codelines/CodeLinesPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/codelines/CodeLinesPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/codelines/CodeLinesPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -22,10 +22,13 @@
 
 package org.jboss.forge.status.service.plugins.codelines;
 
+import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 
-import org.jboss.forge.common.projects.Repository;
+
+import org.jboss.forge.common.projects.project.RepoType;
+import org.jboss.forge.common.projects.project.Repository;
 import org.jboss.forge.status.common.tools.ProjectTools;
 import org.jboss.forge.status.service.plugins.Plugin;
 import org.jboss.logging.Logger;
@@ -51,7 +54,7 @@
 	/** Binds project ids with their values */
 	private Map<String,Long> cachedValues;
 	
-	protected Logger log = Logger.getLogger(CodeLinesPlugin.class);
+	protected static Logger log = Logger.getLogger(CodeLinesPlugin.class);
 	
 	public CodeLinesPlugin() {
 		super();
@@ -65,28 +68,34 @@
 			
 			long cl = 0;
 			
-			Repository repo = ProjectTools.getProjectRepository(projectId);
+			List<Repository> repoList = ProjectTools.getProjectCcRepositories(projectId);
 			
-			if (repo != null) {
+			if (repoList == null) {
 				
-				String url = repo.getLocation();
-				String userName = repo.getUsername();
-				String password = repo.getPassword();
-				
-				log.info("Analyzing repository " + url + 
-											" (project: " + projectId + ")..."); 
-				
-				cl = getPluginValue(url, userName, password);
-				
-				log.info("Project: " + projectId  + " plugin: " + id + 
-															" score: " + cl);
-				
-				cachedValues.put(projectId, new Long(cl));
+				return 0;
 			}
+			
+			for (Repository repository : repoList) {
+					
+				cl += analyze(repository.getValue());
+			}
+			
+			cachedValues.put(projectId, cl);
 		}
 		
 		Long value = cachedValues.get(projectId);
 	
 		return value == null ? 0 : value.longValue();
 	}
+
+	private long analyze(String url) {
+		
+		log.info("Analyzing repository " + url); 
+		
+		long cl = getPluginValue(url, null, null);
+		
+		log.info("Score: " + cl);
+		
+		return cl;
+	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/jira/JiraStatusPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/jira/JiraStatusPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/jira/JiraStatusPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -25,7 +25,7 @@
 import java.util.List;
 import java.net.MalformedURLException;
 
-import org.jboss.forge.common.projects.IssueTracker;
+import org.jboss.forge.common.projects.project.IssueTracker;
 import org.jboss.forge.status.common.Tags;
 import org.jboss.forge.status.common.tools.ProjectTools;
 import org.jboss.forge.status.service.plugins.KosmosStatusPlugin;
@@ -95,14 +95,13 @@
 
 	private String getJiraURL(String projectId) {
 		
-		IssueTracker it = ProjectTools.getProjectIssueTracker(projectId);
+		IssueTracker it = ProjectTools.getProjectJiraIssueTracker(projectId);
 		
-		if ((it == null)
-				|| (it.getType() != IssueTracker.JIRA_ISSUE_TRACKER)) {
+		if (it == null) {
 			return null;
 		}
 		
-		return it.getLocation();
+		return it.getValue();
 	}
 	
 	@Override

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/DownloadsPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/DownloadsPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/DownloadsPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -43,6 +43,8 @@
 	}
 		
 	public long getPluginValue(String projectId) {
+		
+		//TODO Making it remote will undoubtedly kill it.
 		return DownloadCounterTools.
 				getOverallDownloadsForProject(projectId,portalName,cm);
 	}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/PackagedForDownloadPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/PackagedForDownloadPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/PackagedForDownloadPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -33,12 +33,8 @@
 
 	@Override
 	public long getPluginValue(String projectId) {
-		/*
-		DelegateContext ds =
-			projectIds.getDownloadsContext(new NullPermissionsChecker(),
-										projectId, "");
 		
-		return (ds == null ? 0 : 1);*/
+		//TODO
 		
 		return 1;
 		

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/ProductizationPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/ProductizationPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/productization/ProductizationPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -25,7 +25,7 @@
 
 import org.jboss.forge.common.projects.project.Project;
 
-import org.jboss.forge.status.common.tools.Tools;
+import org.jboss.forge.status.common.tools.ProjectTools;
 import org.jboss.forge.status.service.plugins.Plugin;
 
 
@@ -38,6 +38,6 @@
 
 	protected Project getProject(String projectId) {
 		
-		return Tools.getProject(projectId);
+		return ProjectTools.getProject(projectId);
 	}
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/svn/SvnStatusPlugin.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/svn/SvnStatusPlugin.java	2006-11-08 22:26:07 UTC (rev 7491)
+++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/plugins/svn/SvnStatusPlugin.java	2006-11-08 22:57:47 UTC (rev 7492)
@@ -25,7 +25,7 @@
 import java.util.List;
 import java.net.MalformedURLException;
 
-import org.jboss.forge.common.projects.Repository;
+import org.jboss.forge.common.projects.project.Repository;
 import org.jboss.forge.status.common.Tags;
 import org.jboss.forge.status.common.tools.ProjectTools;
 import org.jboss.forge.status.service.plugins.KosmosStatusPlugin;
@@ -100,16 +100,15 @@
 	 */
 	private String getRepoURL(String projectId) {
 		
-		Repository repository = ProjectTools.getProjectRepository(projectId);
-		if (repository == null) {
-			return null;
-		}
+		List<Repository> repoList = ProjectTools.getProjectCcRepositories(projectId);
 		
-		if (repository.getType() == Repository.SVN_REPOSITORY) {
-			return repository.getLocation();
-		} else {
+		if (repoList == null) {
 			return null;
 		}
+		
+		Repository repository = repoList.get(0);//TODO
+		
+		return repository.getValue();
 	}
 	
 	@Override




More information about the jboss-svn-commits mailing list