Author: wrzep Date: 2006-01-05 13:44:34 -0500 (Thu, 05 Jan 2006) New Revision: 1999 Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTools.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java Log: watching projects.xml file and project.xml file for each project http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2006-01-05 16:35:07 UTC (rev 1998) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsHelper.java 2006-01-05 18:44:34 UTC (rev 1999) @@ -76,13 +76,14 @@ */ private static Map<String, Projects> projectsObjects; + public final static String PROJECT_DESC = "project.xml"; + public final static String PROJECTS_DESC = "projects.xml"; + protected final static String LEVELS_DESC = "levels.xml"; protected final static String PAGES_DESC = "pages.xml"; protected final static String JEMS_DESC = "jems.xml"; protected final static String CATEGORIES_DESC = "categories.xml"; protected final static String SERVICES_DESC = "services.xml"; - protected final static String PROJECT_DESC = "project.xml"; - protected final static String PROJECTS_DESC = "projects.xml"; protected final static String DOWNLOADS_DESC = "downloads.xml"; protected final static String DOWNLOADCOUNTER_DESC = "counter.xml"; protected final static String DOWNLOADCOUNTERMAIN_DESC = "counters.xml"; Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java 2006-01-05 16:35:07 UTC (rev 1998) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java 2006-01-05 18:44:34 UTC (rev 1999) @@ -21,6 +21,8 @@ */ package org.jboss.forge.status; +import java.util.Set; + import org.jboss.forge.common.service.NodeWatcher; import org.jboss.forge.common.service.ResourceWatcher; import org.jboss.shotoku.ContentManager; @@ -35,13 +37,26 @@ } private StatusDescriptor getDesc(String portalName) { + StatusDescriptor desc = new StatusDescriptor(portalName, cm); rw = new ResourceWatcher(cm); + + /* Watch plugins confuguration files */ rw.watchResource(StatusTools.getXmlCmPath(portalName)); rw.watchResource(StatusTools.getXmlStatusPluginsCmPath(portalName)); rw.watchResource(StatusTools.getXmlScorePluginsCmPath(portalName)); + /* Watch projects.xml file*/ + rw.watchResource(StatusTools.getProjectsXmlPath(portalName)); + + /* Watch all project.xml files */ + Set<String> projectXmlPathsSet = StatusTools.getProjectXmlPathsSet(portalName); + + for (String projectXmlPath : projectXmlPathsSet) { + rw.watchResource(projectXmlPath); + } + return desc; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTools.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTools.java 2006-01-05 16:35:07 UTC (rev 1998) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTools.java 2006-01-05 18:44:34 UTC (rev 1999) @@ -1,6 +1,13 @@ package org.jboss.forge.status; +import java.util.HashSet; +import java.util.Set; + import org.jboss.forge.common.ForgeHelper; +import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.common.projects.ProjectsHelper; +import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; +import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.shotoku.ContentManager; import org.jboss.shotoku.aop.Inject; @@ -41,6 +48,28 @@ return portalName + "/" + STATUS_DIR + "/" + SCORE_PLUGINS_XML; } + public static String getProjectsXmlPath(String portalName) { + return portalName + "/" + ProjectsHelper.PROJECTS_DESC; + } + + public static Set<String> getProjectXmlPathsSet(String portalName) { + + Set<String> pathsSet = new HashSet<String>(); + + Projects projects = ProjectsHelper.getProjects(portalName); + Set<String> projectIdsSet = projects.getProjectIds( + (PermissionsChecker) new NullPermissionsChecker(), null); + + for (String projectId : projectIdsSet) { + + String projectXmlPath = portalName + "/" + + ProjectsHelper.MEMBERS_DIR + "/" + projectId + + ProjectsHelper.PROJECT_DESC; + pathsSet.add(projectXmlPath); + } + return pathsSet; + } + /** * Path to the file displaying the podcast feeds. */ Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-01-05 16:35:07 UTC (rev 1998) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-01-05 18:44:34 UTC (rev 1999) @@ -71,7 +71,6 @@ service = (SvnService) factory.create(SvnService.class, serviceURL); } catch (MalformedURLException e) { log.error("Can not connect to the kosmos svn service: " + serviceURL); - e.printStackTrace(); return null; } @@ -81,6 +80,7 @@ repositories = service.getRepositories(repoURL); } catch (Exception e) { log.error("Can not analyze repo: " + repoURL); + e.printStackTrace(); return null; } |