From: <jbo...@li...> - 2005-12-01 10:52:08
|
Author: wrzep Date: 2005-12-01 05:51:58 -0500 (Thu, 01 Dec 2005) New Revision: 1678 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java Removed: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast31DaysStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast7DaysStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTodayStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTotalStatusPlugin.java Log: changes made to put all svn plugins into plugins/svn dir http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Deleted: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java 2005-12-01 10:47:09 UTC (rev 1677) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -1,129 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright 2005, JBoss Inc., and individual contributors as indicated - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.jboss.forge.status.plugins; - -import java.net.MalformedURLException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.jboss.logging.Logger; - -import com.caucho.hessian.client.HessianProxyFactory; - -import hu.midori.kosmos.protocol.SvnService; -//import hu.midori.kosmos.model.SvnRepository; - -/** -* @author Pawel Wrzeszcz -*/ - -public abstract class SvnStatusPlugin extends StatusPlugin { - - private Map<String,Map> projectsMaps; - - private Logger log; - - private final static String KOSMOS_SVN_SERVICE_URL = - "http://localhost:8080/kosmos-server/kosmos-services/svn-service"; - //TODO shoud be parameter in xml config file - - public SvnStatusPlugin() { - super(); - - projectsMaps = new HashMap<String,Map>(); - log = Logger.getLogger(this.getClass()); - } - - protected abstract int getPluginSpecyficValue(Map projectMap); - protected abstract int getPluginSpecyficDefaultValue(); - - protected Map getSvnRepository(String projectId) { - - // Get project repository URL - String repoURL = getRepoURL(projectId); - //System.out.println("repo for project " + projectId + " " + repoURL); - - if (repoURL == null) { - return null; - } - - Map repositoryMap = null; - - // Connect to kosmos service - HessianProxyFactory factory = new HessianProxyFactory(); - SvnService service; - - try { - service = (SvnService) factory.create(SvnService.class, - KOSMOS_SVN_SERVICE_URL); - } catch (MalformedURLException e) { - log.error("Can not connect to kosmos svn service: " + KOSMOS_SVN_SERVICE_URL); - return null; - } - - // Get repository map - List repositories = service.getRepositories(repoURL); - - repositoryMap = (Map) repositories.get(0); - printRepo(repositoryMap); - - return repositoryMap; - } - - private void printRepo(Map repositoryMap) { //debug - if (repositoryMap != null) { - - for (Iterator iter = repositoryMap.keySet().iterator(); iter.hasNext();) { - Object obj = (Object) iter.next(); - System.out.println("object: " + obj + " binding: " + repositoryMap.get(obj)); - } - } - } - - public int getValue(String projectId) { - - if (!projectsMaps.containsKey(projectId)) { - projectsMaps.put(projectId, getProjectMap(projectId)); - } - - Map projectMap = projectsMaps.get(projectId); - - if (projectMap == null) { - return getPluginSpecyficDefaultValue(); - } - - return getPluginSpecyficValue(projectMap); - } - - private String getRepoURL(String projectId) { - String repoURL = projects.getProjectProperty(projectId, "svn-repo"); - return (repoURL == "" ? null : repoURL); - } - - private Map getProjectMap(String projectId) { - return getSvnRepository(projectId); - } - -} Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast31DaysStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast31DaysStatusPlugin.java 2005-12-01 10:47:09 UTC (rev 1677) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast31DaysStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -20,7 +20,7 @@ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.status.plugins; +package org.jboss.forge.status.plugins.svn; import java.util.Map; Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast7DaysStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast7DaysStatusPlugin.java 2005-12-01 10:47:09 UTC (rev 1677) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsLast7DaysStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -20,7 +20,7 @@ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.status.plugins; +package org.jboss.forge.status.plugins.svn; import java.util.Map; Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTodayStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTodayStatusPlugin.java 2005-12-01 10:47:09 UTC (rev 1677) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTodayStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -20,7 +20,7 @@ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.status.plugins; +package org.jboss.forge.status.plugins.svn; import java.util.Map; Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTotalStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTotalStatusPlugin.java 2005-12-01 10:47:09 UTC (rev 1677) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/CommitsTotalStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -20,7 +20,7 @@ * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.status.plugins; +package org.jboss.forge.status.plugins.svn; import java.util.Map; Copied: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java (from rev 1676, trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java) =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/SvnStatusPlugin.java 2005-12-01 10:41:07 UTC (rev 1676) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2005-12-01 10:51:58 UTC (rev 1678) @@ -0,0 +1,131 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.forge.status.plugins.svn; + +import org.jboss.forge.status.plugins.StatusPlugin; + +import java.net.MalformedURLException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.jboss.logging.Logger; + +import com.caucho.hessian.client.HessianProxyFactory; + +import hu.midori.kosmos.protocol.SvnService; +//import hu.midori.kosmos.model.SvnRepository; + +/** +* @author Pawel Wrzeszcz +*/ + +public abstract class SvnStatusPlugin extends StatusPlugin { + + private Map<String,Map> projectsMaps; + + private Logger log; + + private final static String KOSMOS_SVN_SERVICE_URL = + "http://localhost:8080/kosmos-server/kosmos-services/svn-service"; + //TODO shoud be parameter in xml config file + + public SvnStatusPlugin() { + super(); + + projectsMaps = new HashMap<String,Map>(); + log = Logger.getLogger(this.getClass()); + } + + protected abstract int getPluginSpecyficValue(Map projectMap); + protected abstract int getPluginSpecyficDefaultValue(); + + protected Map getSvnRepository(String projectId) { + + // Get project repository URL + String repoURL = getRepoURL(projectId); + //System.out.println("repo for project " + projectId + " " + repoURL); + + if (repoURL == null) { + return null; + } + + Map repositoryMap = null; + + // Connect to kosmos service + HessianProxyFactory factory = new HessianProxyFactory(); + SvnService service; + + try { + service = (SvnService) factory.create(SvnService.class, + KOSMOS_SVN_SERVICE_URL); + } catch (MalformedURLException e) { + log.error("Can not connect to kosmos svn service: " + KOSMOS_SVN_SERVICE_URL); + return null; + } + + // Get repository map + List repositories = service.getRepositories(repoURL); + + repositoryMap = (Map) repositories.get(0); + printRepo(repositoryMap); + + return repositoryMap; + } + + private void printRepo(Map repositoryMap) { //debug + if (repositoryMap != null) { + + for (Iterator iter = repositoryMap.keySet().iterator(); iter.hasNext();) { + Object obj = (Object) iter.next(); + System.out.println("object: " + obj + " binding: " + repositoryMap.get(obj)); + } + } + } + + public int getValue(String projectId) { + + if (!projectsMaps.containsKey(projectId)) { + projectsMaps.put(projectId, getProjectMap(projectId)); + } + + Map projectMap = projectsMaps.get(projectId); + + if (projectMap == null) { + return getPluginSpecyficDefaultValue(); + } + + return getPluginSpecyficValue(projectMap); + } + + private String getRepoURL(String projectId) { + String repoURL = projects.getProjectProperty(projectId, "svn-repo"); + return (repoURL == "" ? null : repoURL); + } + + private Map getProjectMap(String projectId) { + return getSvnRepository(projectId); + } + +} |