You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(233) |
Sep
(199) |
Oct
(206) |
Nov
(185) |
Dec
(270) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(232) |
Feb
(426) |
Mar
(623) |
Apr
(592) |
May
(506) |
Jun
(389) |
Jul
(160) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2007 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(5) |
Oct
(9) |
Nov
(6) |
Dec
(6) |
2008 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(5) |
Jul
(10) |
Aug
(2) |
Sep
(12) |
Oct
(10) |
Nov
(54) |
Dec
(49) |
2009 |
Jan
(19) |
Feb
(13) |
Mar
(20) |
Apr
(24) |
May
(44) |
Jun
(29) |
Jul
(32) |
Aug
(10) |
Sep
(7) |
Oct
(10) |
Nov
(4) |
Dec
(17) |
2010 |
Jan
(14) |
Feb
(5) |
Mar
(23) |
Apr
(50) |
May
(31) |
Jun
(9) |
Jul
(5) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(12) |
Feb
(5) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <jbo...@li...> - 2005-12-20 15:45:27
|
Author: rl...@jb... Date: 2005-12-20 10:45:25 -0500 (Tue, 20 Dec 2005) New Revision: 1889 Modified: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml Log: added maven project Modified: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml =================================================================== --- trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml 2005-12-20 15:45:01 UTC (rev 1888) +++ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml 2005-12-20 15:45:25 UTC (rev 1889) @@ -5,6 +5,7 @@ <groupId>org.apache.maven.plugins</groupId> <version>2.0</version> </parent> + <groupId>org.jboss.mojo.plugins.sources</groupId> <artifactId>maven-addSources-plugin</artifactId> <version>1.0</version> <packaging>maven-plugin</packaging> @@ -15,5 +16,10 @@ <artifactId>maven-plugin-api</artifactId> <version>2.0.1</version> </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-project</artifactId> + <version>2.0.1</version> + </dependency> </dependencies> </project> |
From: <jbo...@li...> - 2005-12-20 15:45:22
|
Author: rl...@jb... Date: 2005-12-20 10:45:01 -0500 (Tue, 20 Dec 2005) New Revision: 1888 Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/sources/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/sources/AdditionalSourcesMojo.java Log: initial entry Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/sources/AdditionalSourcesMojo.java =================================================================== --- trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/sources/AdditionalSourcesMojo.java 2005-12-20 15:44:58 UTC (rev 1887) +++ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/sources/AdditionalSourcesMojo.java 2005-12-20 15:45:01 UTC (rev 1888) @@ -0,0 +1,70 @@ +/* + * 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.mojo.plugins.sources; + +import java.io.File; +import java.util.Iterator; +import java.util.List; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.project.MavenProject; + +/** + * @goal addsources + * @phase generate-sources + * @description Goal which lets a user add additional source directories to the + * project + * @author rue...@jb... + * @version $Id: AdditionalSources.java + */ +public class AdditionalSourcesMojo extends AbstractMojo { + + /** + * The maven project + * @parameter expression="${project}" + * @required + */ + private MavenProject project; + + /** + * A list of source directories to include in compilation. + * + * @parameter + */ + private List additionalDirs; + + public void execute() throws MojoExecutionException, MojoFailureException { + + if ((additionalDirs != null) && (project != null)) { + for (Iterator it = additionalDirs.iterator(); it.hasNext();) { + File addDir = new File((String) it.next()); + this.getLog().info("Adding additional compilation root: " + addDir.getAbsolutePath()); + project.addCompileSourceRoot(addDir.getAbsolutePath()); + } + + } + + } + +} |
From: <jbo...@li...> - 2005-12-20 15:45:02
|
Author: rl...@jb... Date: 2005-12-20 10:44:58 -0500 (Tue, 20 Dec 2005) New Revision: 1887 Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/plugins/ Log: initial entry |
Author: adamw Date: 2005-12-20 04:08:07 -0500 (Tue, 20 Dec 2005) New Revision: 1886 Modified: trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java trunk/forge/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/tools/Constants.java Log: Buffer size decreased Modified: trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java =================================================================== --- trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java 2005-12-20 02:57:15 UTC (rev 1885) +++ trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java 2005-12-20 09:08:07 UTC (rev 1886) @@ -81,7 +81,7 @@ * <code>BUF_SIZE</code> - size of a buffer, which is used while reading a * file and sending it to the client. */ - private final int BUF_SIZE = 32768; + private final int BUF_SIZE = 1024; Logger log = Logger.getLogger(this.getClass()); Modified: trunk/forge/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java =================================================================== --- trunk/forge/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java 2005-12-20 02:57:15 UTC (rev 1885) +++ trunk/forge/portal-extensions/forge-kosmos/src/java/org/jboss/kosmos/LabsCachedDataStore.java 2005-12-20 09:08:07 UTC (rev 1886) @@ -29,12 +29,13 @@ import org.jboss.forge.common.ForgeHelper; import org.jboss.forge.common.TempFileDescriptor; +import org.jboss.shotoku.tools.Tools; import hu.midori.kosmos.server.CachedDataStore; /** * - * @author Tomasz Szymański (tom...@jb...) + * @author Tomasz Szyma??ski (tom...@jb...) * @author <a href="mailto:aro...@mi...">Aron Gombas</a> */ public class LabsCachedDataStore implements CachedDataStore { @@ -47,12 +48,14 @@ OutputStream out = tfd.getOut(); - int chr = 0; + Tools.transfer(in, out); + /*int chr = 0; + // write the file while ((chr = in.read()) != -1) { out.write(chr); - } + }*/ in.close(); out.close(); Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/tools/Constants.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/tools/Constants.java 2005-12-20 02:57:15 UTC (rev 1885) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/tools/Constants.java 2005-12-20 09:08:07 UTC (rev 1886) @@ -43,5 +43,5 @@ public static final String SETUP_FUNCTION = "setup"; - public static final int TRANSFER_BUF_SIZE = 32768; + public static final int TRANSFER_BUF_SIZE = 1024; } |
From: <jbo...@li...> - 2005-12-19 23:09:16
|
Author: rl...@jb... Date: 2005-12-19 18:09:13 -0500 (Mon, 19 Dec 2005) New Revision: 1884 Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/org/jboss/mojo/additional-sources/ Log: cleanup |
From: <jbo...@li...> - 2005-12-19 23:06:08
|
Author: rl...@jb... Date: 2005-12-19 18:05:59 -0500 (Mon, 19 Dec 2005) New Revision: 1883 Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/java/ Log: cleanup |
From: <jbo...@li...> - 2005-12-19 23:05:35
|
Author: rl...@jb... Date: 2005-12-19 18:05:32 -0500 (Mon, 19 Dec 2005) New Revision: 1882 Removed: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/java/ Log: cleanup |
From: <jbo...@li...> - 2005-12-19 22:44:58
|
Author: rl...@jb... Date: 2005-12-19 17:44:54 -0500 (Mon, 19 Dec 2005) New Revision: 1881 Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/java/ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/src/main/ Log: initial entry Added: trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml =================================================================== --- trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml 2005-12-19 21:49:07 UTC (rev 1880) +++ trunk/labs/jbossbuild/projects/maven-plugins/maven-addSources-plugin/pom.xml 2005-12-19 22:44:54 UTC (rev 1881) @@ -0,0 +1,19 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>maven-plugin-parent</artifactId> + <groupId>org.apache.maven.plugins</groupId> + <version>2.0</version> + </parent> + <artifactId>maven-addSources-plugin</artifactId> + <version>1.0</version> + <packaging>maven-plugin</packaging> + <name>Maven Add Sources Plugin</name> + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + <version>2.0.1</version> + </dependency> + </dependencies> +</project> |
From: <jbo...@li...> - 2005-12-19 21:41:13
|
Author: wrzep Date: 2005-12-19 16:41:00 -0500 (Mon, 19 Dec 2005) New Revision: 1879 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByNameComparator.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByScoreComparator.java Removed: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java Log: http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Deleted: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 21:38:50 UTC (rev 1878) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 21:41:00 UTC (rev 1879) @@ -1,26 +0,0 @@ -package org.jboss.forge.status; - -import java.util.Comparator; - -import org.jboss.forge.status.plugins.Plugin; - -public class ProjectByScoreComparator implements Comparator { - - private Plugin orderPlugin; - - public ProjectByScoreComparator(Plugin orderPlugin) { - this.orderPlugin = orderPlugin; - } - - public int compare(Object o1, Object o2) { - - String project1Id = (String) o1; - String project2Id = (String) o2; - - Long project1Score = new Long(orderPlugin.getValue(project1Id)); - Long project2Score = new Long(orderPlugin.getValue(project2Id)); - - return project2Score.compareTo(project1Score); - } - -} Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByNameComparator.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByNameComparator.java 2005-12-19 21:38:50 UTC (rev 1878) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByNameComparator.java 2005-12-19 21:41:00 UTC (rev 1879) @@ -0,0 +1,51 @@ +/* + * 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; + +import java.util.Comparator; + +import org.jboss.forge.common.projects.Projects; + +/** + * + * @author Pawel Wrzeszcz + * + */ + +public class ProjectsByNameComparator implements Comparator<String> { + + private Projects projects; + + public ProjectsByNameComparator(Projects projects) { + this.projects = projects; + } + + public int compare(String project1Id, String project2Id) { + + String project1Name = projects.getProjectName(project1Id); + String project2Name = projects.getProjectName(project2Id); + + return project1Name.compareTo(project2Name); + } + +} Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByScoreComparator.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByScoreComparator.java 2005-12-19 21:38:50 UTC (rev 1878) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectsByScoreComparator.java 2005-12-19 21:41:00 UTC (rev 1879) @@ -0,0 +1,51 @@ +/* + * 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; + +import java.util.Comparator; + +import org.jboss.forge.status.plugins.Plugin; + +/** + * + * @author Pawel Wrzeszcz + * + */ + +public class ProjectsByScoreComparator implements Comparator<String> { + + private Plugin orderPlugin; + + public ProjectsByScoreComparator(Plugin orderPlugin) { + this.orderPlugin = orderPlugin; + } + + public int compare(String project1Id, String project2Id) { + + Long project1Score = new Long(orderPlugin.getValue(project1Id)); + Long project2Score = new Long(orderPlugin.getValue(project2Id)); + + return project2Score.compareTo(project1Score); + } + +} |
From: <jbo...@li...> - 2005-12-19 21:38:54
|
Author: wrzep Date: 2005-12-19 16:38:50 -0500 (Mon, 19 Dec 2005) New Revision: 1878 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java Log: when plugin to determine projects order is not specified projects are sorted by name http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 21:08:54 UTC (rev 1877) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 21:38:50 UTC (rev 1878) @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Comparator; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -33,8 +34,7 @@ import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.forge.status.plugins.Plugin; -import org.jboss.forge.status.plugins.ScorePlugin; -import org.jboss.logging.Logger; + import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -57,8 +57,6 @@ */ private Plugin orderPlugin; - private Logger log; - /** * @param pageRoot root Node specfying Columns properties * @param plugins Plugins used by Columns @@ -67,8 +65,6 @@ public Columns(Node pageRoot, Plugins plugins, Projects projects) { this.projects = projects; - - log = Logger.getLogger(this.getClass()); // Get the columns columns = new ArrayList<Column>(); @@ -164,11 +160,11 @@ */ private void fillValues(DelegateContext context) { - Object[] projectIds = getProjectIdsSorted(); + String[] projectIds = getProjectIdsSorted(); for (int i = 0; i < projectIds.length; i++) { - String projectId = (String) projectIds[i]; + String projectId = projectIds[i]; DelegateContext projectContext = context.next("project"); @@ -181,15 +177,25 @@ /** * @return String[] with project ids sorted by project scores */ - private Object[] getProjectIdsSorted() { + private String[] getProjectIdsSorted() { Set<String> projectIdsSet = projects.getProjectIds( (PermissionsChecker) new NullPermissionsChecker(), null); - Object[] projectIdsArr = projectIdsSet.toArray(); - Arrays.sort(projectIdsArr, new ProjectByScoreComparator(orderPlugin)); + String[] projectIdsArr = new String[projectIdsSet.size()]; + projectIdsSet.toArray(projectIdsArr); + Comparator<String> projectsComparator = null; + + if (orderPlugin != null) { + projectsComparator = new ProjectsByScoreComparator(orderPlugin); + } else { + projectsComparator = new ProjectsByNameComparator(projects); + } + + Arrays.sort(projectIdsArr, projectsComparator); + return projectIdsArr; } |
From: <jbo...@li...> - 2005-12-19 21:09:00
|
Author: wrzep Date: 2005-12-19 16:08:54 -0500 (Mon, 19 Dec 2005) New Revision: 1877 Modified: trunk/forge/portal-extensions/forge-status/project.xml trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java Log: projects order can be now determined by any plugin, not only score plugin http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/project.xml =================================================================== --- trunk/forge/portal-extensions/forge-status/project.xml 2005-12-19 20:39:27 UTC (rev 1876) +++ trunk/forge/portal-extensions/forge-status/project.xml 2005-12-19 21:08:54 UTC (rev 1877) @@ -54,9 +54,9 @@ <version>3.0.13</version> <jar>hessian-3.0.13.jar</jar> <properties> - <war.bundle>true</war.bundle> + <war.bundle>true</war.bundle> </properties> </dependency> - + </dependencies> </project> Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 20:39:27 UTC (rev 1876) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 21:08:54 UTC (rev 1877) @@ -55,7 +55,7 @@ /** * ScorePlugin, which determine projects order in the Matrix */ - private ScorePlugin orderPlugin; + private Plugin orderPlugin; private Logger log; @@ -110,30 +110,23 @@ } /** - * Retruns ScorePlugin used to determine projects order + * Retruns Plugin used to determine projects order * in the StatusMatrix * * @param pageRoot Node specfying Columns properties * @param plugins Plugins used by Columns - * @return ScorePlugin determining projects order + * @return Plugin determining projects order */ - private ScorePlugin getOrderPlugin(Node pageRoot, Plugins plugins) { + private Plugin getOrderPlugin(Node pageRoot, Plugins plugins) { - ScorePlugin orderPlugin = null; String orderPluginId = XmlTools.getChildNodeValue(pageRoot, StatusTags.ORDER_PLUGIN_ELEMENT); if (orderPluginId != null) { - try { - orderPlugin = (ScorePlugin) plugins.get(orderPluginId); - } catch (ClassCastException e) { - log.warn("Order plugin: " + orderPluginId + - " should be score plugin."); - } - + return plugins.get(orderPluginId); } - return orderPlugin; + return null; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 20:39:27 UTC (rev 1876) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 21:08:54 UTC (rev 1877) @@ -2,13 +2,13 @@ import java.util.Comparator; -import org.jboss.forge.status.plugins.ScorePlugin; +import org.jboss.forge.status.plugins.Plugin; public class ProjectByScoreComparator implements Comparator { - private ScorePlugin orderPlugin; + private Plugin orderPlugin; - public ProjectByScoreComparator(ScorePlugin orderPlugin) { + public ProjectByScoreComparator(Plugin orderPlugin) { this.orderPlugin = orderPlugin; } |
From: <jbo...@li...> - 2005-12-19 20:39:33
|
Author: adamw Date: 2005-12-19 15:39:27 -0500 (Mon, 19 Dec 2005) New Revision: 1876 Modified: trunk/forge/portal-extensions/shotoku/ trunk/forge/portal-extensions/shotoku/maven.xml trunk/forge/portal-extensions/shotoku/project.properties trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java Log: http://jira.jboss.com/jira/browse/JBSHOTOKU-44 : done Property changes on: trunk/forge/portal-extensions/shotoku ___________________________________________________________________ Name: svn:ignore - build.properties + build.properties target Modified: trunk/forge/portal-extensions/shotoku/maven.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/maven.xml 2005-12-19 20:12:34 UTC (rev 1875) +++ trunk/forge/portal-extensions/shotoku/maven.xml 2005-12-19 20:39:27 UTC (rev 1876) @@ -64,14 +64,48 @@ <j:set var="goal" value="deploy" /> <attainGoal name="shotoku-all-projects" /> </goal> - <goal name="clean"> <attainGoal name="prj-clean" /> + <ant:delete dir="target" /> <ant:delete dir="shotoku-base/target" /> <ant:delete dir="shotoku-aop/target" /> <ant:delete dir="shotoku-svn/target" /> <ant:delete dir="shotoku-test/target" /> <ant:delete dir="${local.deploy.dir}/00shotoku.ear" /> </goal> + + <goal name="jar-to-dir"> + <ant:unjar src="${jar.to.dir}" dest="temp" /> + <ant:delete file="${jar.to.dir}" /> + <ant:move todir="${jar.to.dir}"> + <ant:fileset dir="temp" /> + </ant:move> + </goal> + + <goal name="dist"> + <attainGoal name="all" /> + <ant:mkdir dir="target" /> + <ant:copy todir="target/binary/00shotoku.ear" overwrite="true"> + <ant:fileset dir="shotoku-svn/target/00shotoku.ear" /> + </ant:copy> + <ant:copy todir="target/binary" file="shotoku-aop/target/shotoku-aop.aop" /> + + <j:set var="jar.to.dir" value="target/binary/00shotoku.ear/shotoku-base.jar" /> + <attainGoal name="jar-to-dir" /> + <j:set var="jar.to.dir" value="target/binary/00shotoku.ear/shotoku-svn.ejb3" /> + <attainGoal name="jar-to-dir" /> + + <ant:tar destfile="target/shotoku-${version}-binary.tar.gz" + compression="gzip" + basedir="target/binary" + excludes="**/HomeTest*,**/shotoku.properties" + /> + <ant:tar destfile="target/shotoku-${version}-source.tar.gz" + compression="gzip" + basedir="" + includes="shotoku-aop/**,shotoku-base/**,shotoku-svn/**,shotoku-test/**,lib/**" + excludes="**/HomeTest*,**/shotoku.properties,**/target/**,**/.*,**/.*/**" + />--> + </goal> </project> Modified: trunk/forge/portal-extensions/shotoku/project.properties =================================================================== --- trunk/forge/portal-extensions/shotoku/project.properties 2005-12-19 20:12:34 UTC (rev 1875) +++ trunk/forge/portal-extensions/shotoku/project.properties 2005-12-19 20:39:27 UTC (rev 1876) @@ -1,3 +1,4 @@ maven.repo.remote=http://repository.atlassian.com,http://www.ibiblio.org/maven,http://dist.codehaus.org/ maven.junit.fork=yes -maven.war.src=${basedir}/src/web \ No newline at end of file +maven.war.src=${basedir}/src/web +version=1.0-alpha2 \ No newline at end of file Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-12-19 20:12:34 UTC (rev 1875) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-12-19 20:39:27 UTC (rev 1876) @@ -54,17 +54,17 @@ */ public abstract class ContentManager { /** - * <code>prefix</code> - prefix of this content manager. + * Prefix of this content manager. */ protected String prefix; /** - * <code>id</code> - id of a corresponding repository. + * Id of a corresponding repository. */ protected String id; /** - * <code>engines</code> - a map of initialized velocity engines, The key + * A map of initialized velocity engines, The key * is a string representation of parameters with which an engine was * initialized. */ |
From: <jbo...@li...> - 2005-12-19 19:37:41
|
Author: rl...@jb... Date: 2005-12-19 14:37:32 -0500 (Mon, 19 Dec 2005) New Revision: 1873 Modified: trunk/labs/jbossbuild/projects/maven-plugins/javacc-maven-plugin/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java Log: fix creation of new output directory Modified: trunk/labs/jbossbuild/projects/maven-plugins/javacc-maven-plugin/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java =================================================================== --- trunk/labs/jbossbuild/projects/maven-plugins/javacc-maven-plugin/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java 2005-12-19 19:08:48 UTC (rev 1872) +++ trunk/labs/jbossbuild/projects/maven-plugins/javacc-maven-plugin/src/main/java/org/codehaus/mojo/javacc/JavaCCMojo.java 2005-12-19 19:37:32 UTC (rev 1873) @@ -204,7 +204,7 @@ packageName = StringUtils.replace(packageName, '.', File.separatorChar); } - if ( outputDirectory.exists() ) + if ( !outputDirectory.exists() ) { if ( packageName != null ) { |
Author: rl...@jb... Date: 2005-12-19 12:43:49 -0500 (Mon, 19 Dec 2005) New Revision: 1871 Removed: trunk/labs/jbossbuild/projects/jboss/security/src/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/build/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/etc/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/etc/client/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/etc/conf/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/etc/conf/default/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/auth/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/auth/callback/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/auth/login/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/auth/spi/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/javax/security/auth/x500/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/crypto/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/crypto/digest/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/auth/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/auth/callback/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/auth/certs/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/auth/login/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/auth/spi/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/jacc/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/jce/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/jmx/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/jndi/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/plugins/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/plugins/samples/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/propertyeditor/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/srp/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/srp/jaas/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/ssl/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/security/util/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/main/org/jboss/test/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/resources/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/resources/dtd/CVS/ trunk/labs/jbossbuild/projects/jboss/security/src/resources/schema/CVS/ Log: remove cvs dirs added by mistake |
From: <jbo...@li...> - 2005-12-19 14:35:47
|
Author: wrzep Date: 2005-12-19 09:35:37 -0500 (Mon, 19 Dec 2005) New Revision: 1868 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java Removed: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java Log: comments, cleanup sorting desc http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -22,6 +22,7 @@ package org.jboss.forge.status; +import org.jboss.forge.status.plugins.Plugin; import org.jboss.portal.common.context.DelegateContext; /** @@ -43,7 +44,6 @@ public Column(String name, Plugin plugin) { this.name = name; this.plugin = plugin; - System.out.println("Column " + name + " / " + (plugin == null ? "null" : plugin.getId())); } /** Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -32,6 +32,7 @@ import org.jboss.forge.common.projects.Projects; import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; +import org.jboss.forge.status.plugins.Plugin; import org.jboss.forge.status.plugins.ScorePlugin; import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; @@ -59,7 +60,7 @@ private Logger log; /** - * @param pageRoot root Node specfying Columns to display + * @param pageRoot root Node specfying Columns properties * @param plugins Plugins used by Columns * @param projects Projects present in the Status Matrix */ @@ -81,6 +82,12 @@ (orderPlugin == null ? "null" : orderPlugin.getId())); } + /** + * Adds to the columns list columns defined in columnsRoot. + * + * @param columnsRoot Node defining columns list + * @param plugins Plugins used by Columns + */ private void addColumns(Node columnsRoot, Plugins plugins) { NodeList columnsList = columnsRoot.getChildNodes(); @@ -102,6 +109,14 @@ } } + /** + * Retruns ScorePlugin used to determine projects order + * in the StatusMatrix + * + * @param pageRoot Node specfying Columns properties + * @param plugins Plugins used by Columns + * @return ScorePlugin determining projects order + */ private ScorePlugin getOrderPlugin(Node pageRoot, Plugins plugins) { ScorePlugin orderPlugin = null; @@ -112,7 +127,8 @@ try { orderPlugin = (ScorePlugin) plugins.get(orderPluginId); } catch (ClassCastException e) { - log.warn("Order plugin: " + orderPluginId + " should be score plugin."); + log.warn("Order plugin: " + orderPluginId + + " should be score plugin."); } } @@ -169,6 +185,9 @@ //TODO sorting } + /** + * @return String[] with project ids sorted by project scores + */ private Object[] getProjectIdsSorted() { Set<String> projectIdsSet = projects.getProjectIds( Deleted: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -1,68 +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; - -import org.jboss.forge.status.plugins.InvalidPluginPropertiesException; -import org.w3c.dom.Node; - -/** -* @author Pawel Wrzeszcz -* Superclass for Status Matrix Plugins. -*/ - -public abstract class Plugin { - - /** Node from xml file which holds properties specyfic to this plugin */ - protected Node propertiesNode; - - /** Plugin id */ - protected String id; - - /** - * @param id Plugin id - * @param portalName TODO - * @param propertiesNode Node with plugin specyfic properties - * @throws InvalidPluginPropertiesException - * Thrown when properties passed in <code>propertiesNode</code> - * are incorrect or missed. - */ - public void init(String id, Node propertiesNode) - throws InvalidPluginPropertiesException { - this.propertiesNode = propertiesNode; - this.id = id; - } - - /** - * For the given project returns value specyfic to this plugin. - * - * @param projectId project id - * @return value computed by plugin for the project - * with the given <code>projectId</code>. - */ - public abstract long getValue(String projectId); - - /** - * @return Plugin id - */ - public String getId() { return id; }; -} Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -27,6 +27,7 @@ import org.jboss.forge.common.XmlTools; import org.jboss.forge.common.projects.Projects; import org.jboss.forge.status.plugins.InvalidPluginPropertiesException; +import org.jboss.forge.status.plugins.Plugin; import org.jboss.forge.status.plugins.ScorePlugin; import org.jboss.forge.status.plugins.StatusPlugin; import org.jboss.logging.Logger; Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/Plugin.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -0,0 +1,66 @@ +/* + * 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 org.w3c.dom.Node; + +/** +* @author Pawel Wrzeszcz +* Superclass for Status Matrix Plugins. +*/ + +public abstract class Plugin { + + /** Node from xml file which holds properties specyfic to this plugin */ + protected Node propertiesNode; + + /** Plugin id */ + protected String id; + + /** + * @param id Plugin id + * @param propertiesNode Node with plugin specyfic properties + * @throws InvalidPluginPropertiesException + * Thrown when properties passed in <code>propertiesNode</code> + * are incorrect or missed. + */ + public void init(String id, Node propertiesNode) + throws InvalidPluginPropertiesException { + this.propertiesNode = propertiesNode; + this.id = id; + } + + /** + * For the given project returns value specyfic to this plugin. + * + * @param projectId project id + * @return value computed by plugin for the project + * with the given <code>projectId</code>. + */ + public abstract long getValue(String projectId); + + /** + * @return Plugin id + */ + public String getId() { return id; }; +} Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -24,7 +24,6 @@ import java.util.Map; -import org.jboss.forge.status.Plugin; import org.w3c.dom.Node; /** @@ -35,7 +34,10 @@ protected Map<String,Plugin> plugins; - public void init(String id, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, Map<String, Plugin> plugins, + Node propertiesNode) + throws InvalidPluginPropertiesException { + this.plugins = plugins; init(id, propertiesNode); } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -23,7 +23,6 @@ package org.jboss.forge.status.plugins; import org.jboss.forge.common.projects.Projects; -import org.jboss.forge.status.Plugin; import org.w3c.dom.Node; Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 14:15:50 UTC (rev 1867) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 14:35:37 UTC (rev 1868) @@ -24,7 +24,6 @@ import java.util.Iterator; -import org.jboss.forge.status.Plugin; /** * @author Pawel Wrzeszcz |
From: <jbo...@li...> - 2005-12-19 14:15:59
|
Author: wrzep Date: 2005-12-19 09:15:50 -0500 (Mon, 19 Dec 2005) New Revision: 1867 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java Log: sorting projects by score http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 13:56:52 UTC (rev 1866) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 14:15:50 UTC (rev 1867) @@ -176,7 +176,7 @@ Object[] projectIdsArr = projectIdsSet.toArray(); - Arrays.sort(projectIdsArr); + Arrays.sort(projectIdsArr, new ProjectByScoreComparator(orderPlugin)); return projectIdsArr; } Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 13:56:52 UTC (rev 1866) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/ProjectByScoreComparator.java 2005-12-19 14:15:50 UTC (rev 1867) @@ -0,0 +1,26 @@ +package org.jboss.forge.status; + +import java.util.Comparator; + +import org.jboss.forge.status.plugins.ScorePlugin; + +public class ProjectByScoreComparator implements Comparator { + + private ScorePlugin orderPlugin; + + public ProjectByScoreComparator(ScorePlugin orderPlugin) { + this.orderPlugin = orderPlugin; + } + + public int compare(Object o1, Object o2) { + + String project1Id = (String) o1; + String project2Id = (String) o2; + + Long project1Score = new Long(orderPlugin.getValue(project1Id)); + Long project2Score = new Long(orderPlugin.getValue(project2Id)); + + return project2Score.compareTo(project1Score); + } + +} |
From: <jbo...@li...> - 2005-12-19 13:57:07
|
Author: wrzep Date: 2005-12-19 08:56:52 -0500 (Mon, 19 Dec 2005) New Revision: 1866 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java Log: sorting (temporarily by project ids) http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 13:21:11 UTC (rev 1865) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 13:56:52 UTC (rev 1866) @@ -23,6 +23,7 @@ package org.jboss.forge.status; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -154,22 +155,32 @@ */ private void fillValues(DelegateContext context) { - Set<String> projectIds = projects.getProjectIds( - (PermissionsChecker) new NullPermissionsChecker(), null); - - int position = 0; - for (Iterator iter = projectIds.iterator(); iter.hasNext();) { - String projectId = (String) iter.next(); - position++; + Object[] projectIds = getProjectIdsSorted(); + + for (int i = 0; i < projectIds.length; i++) { + String projectId = (String) projectIds[i]; + DelegateContext projectContext = context.next("project"); - fillProjectContext(projectContext, projectId, position); + fillProjectContext(projectContext, projectId, i + 1); fillEntries(projectContext, projectId); } //TODO sorting } + private Object[] getProjectIdsSorted() { + + Set<String> projectIdsSet = projects.getProjectIds( + (PermissionsChecker) new NullPermissionsChecker(), null); + + Object[] projectIdsArr = projectIdsSet.toArray(); + + Arrays.sort(projectIdsArr); + + return projectIdsArr; + } + /** * Fills the given context with the project informationcell value * |
From: <jbo...@li...> - 2005-12-19 13:21:26
|
Author: wrzep Date: 2005-12-19 08:21:11 -0500 (Mon, 19 Dec 2005) New Revision: 1865 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java Log: getting the plugin determining project order http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -32,6 +32,7 @@ import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.forge.status.plugins.ScorePlugin; +import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -54,14 +55,19 @@ */ private ScorePlugin orderPlugin; + private Logger log; + /** * @param pageRoot root Node specfying Columns to display * @param plugins Plugins used by Columns * @param projects Projects present in the Status Matrix */ public Columns(Node pageRoot, Plugins plugins, Projects projects) { + this.projects = projects; + log = Logger.getLogger(this.getClass()); + // Get the columns columns = new ArrayList<Column>(); Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, @@ -69,7 +75,9 @@ addColumns(columnsRoot, plugins); // Get the plugin determining projects order - orderPlugin = getOrderPlugin(pageRoot); + orderPlugin = getOrderPlugin(pageRoot, plugins); + System.out.println("Order plugin " + + (orderPlugin == null ? "null" : orderPlugin.getId())); } private void addColumns(Node columnsRoot, Plugins plugins) { @@ -92,11 +100,26 @@ } } } - - private ScorePlugin getOrderPlugin(Node pageRoot) { - return null; + + private ScorePlugin getOrderPlugin(Node pageRoot, Plugins plugins) { + + ScorePlugin orderPlugin = null; + String orderPluginId = XmlTools.getChildNodeValue(pageRoot, + StatusTags.ORDER_PLUGIN_ELEMENT); + + if (orderPluginId != null) { + try { + orderPlugin = (ScorePlugin) plugins.get(orderPluginId); + } catch (ClassCastException e) { + log.warn("Order plugin: " + orderPluginId + " should be score plugin."); + } + + } + + return orderPlugin; } + /** * Fills the given context with columns information * Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -38,8 +38,6 @@ /** Plugin id */ protected String id; - protected String portalName; - /** * @param id Plugin id * @param portalName TODO @@ -48,11 +46,10 @@ * Thrown when properties passed in <code>propertiesNode</code> * are incorrect or missed. */ - public void init(String id, String portalName, Node propertiesNode) + public void init(String id, Node propertiesNode) throws InvalidPluginPropertiesException { this.propertiesNode = propertiesNode; this.id = id; - this.portalName = portalName; } /** Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -88,7 +88,7 @@ * @param scorePlugin flag indicating whether plugin should be ScorePlugin * @return Plugin defined in the <code>pluginNode</code> */ - private Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { + public Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { // Get plugin info from pluginNode @@ -112,7 +112,7 @@ plugin = (Plugin) pluginClass.newInstance(); if (scorePlugin) { - ((ScorePlugin) plugin).init(pluginId, portalName, statusPlugins, pluginSpecificPropertiesNode); + ((ScorePlugin) plugin).init(pluginId, statusPlugins, pluginSpecificPropertiesNode); } else { /* status plugin */ ((StatusPlugin) plugin).init(pluginId, portalName, projects, pluginSpecificPropertiesNode); } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -29,6 +29,7 @@ public class StatusTags { public static final String COLUMNS_ELEMENT = "columns"; + public static final String ORDER_PLUGIN_ELEMENT = "order-plugin"; /** * This class cannot be instatiated. Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -35,8 +35,8 @@ protected Map<String,Plugin> plugins; - public void init(String id, String portalName, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { this.plugins = plugins; - init(id, portalName, propertiesNode); + init(id, propertiesNode); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 12:33:06 UTC (rev 1864) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 13:21:11 UTC (rev 1865) @@ -39,6 +39,8 @@ */ protected Projects projects; + protected String portalName; + /** * @param name Plugin name * @param id Plugin id @@ -48,6 +50,7 @@ */ public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { this.projects = projects; - init(id, null, propertiesNode); + this.portalName = portalName; + init(id, propertiesNode); } } |
From: <jbo...@li...> - 2005-12-19 12:33:24
|
Author: unibrew Date: 2005-12-19 07:33:06 -0500 (Mon, 19 Dec 2005) New Revision: 1864 Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java Log: [DOWNLOADCOUNTERS] Safety update. Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java 2005-12-19 12:31:25 UTC (rev 1863) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java 2005-12-19 12:33:06 UTC (rev 1864) @@ -126,6 +126,14 @@ DownloadCountersDescriptor desc = (DownloadCountersDescriptor) ForgeHelper .getForgeManagement().getFromCache(portalName, DownloadCountersDescriptor.class.getName()); + if (desc == null) + desc = (DownloadCountersDescriptor) ForgeHelper + .getForgeManagement().addNodeWatcher( + portalName, + DownloadCountersDescriptor.class + .getName(), + new DownloadCountersWatcher( + contentManager)); return desc; } @@ -174,7 +182,8 @@ * Returns sum of all downloads. */ public static long getOverallDownloadsForProject (String projectId,String portalName,ContentManager cm) { - Map<String,Long> values = getDesc(portalName,cm).getValuesForPortlet(projectId); + DownloadCountersDescriptor desc = getDesc(portalName,cm); + Map<String,Long> values = desc!=null?desc.getValuesForPortlet(projectId):null; if (values==null || values.size()==0) { return 0; } |
From: <jbo...@li...> - 2005-12-19 12:31:29
|
Author: wrzep Date: 2005-12-19 07:31:25 -0500 (Mon, 19 Dec 2005) New Revision: 1863 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java Log: added defining which score plugin should determine projects order http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 11:50:35 UTC (rev 1862) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 12:31:25 UTC (rev 1863) @@ -64,9 +64,9 @@ // Get the columns columns = new ArrayList<Column>(); - //Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, - // StatusTags.COLUMNS_ELEMENT); - addColumns(pageRoot, plugins); + Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, + StatusTags.COLUMNS_ELEMENT); + addColumns(columnsRoot, plugins); // Get the plugin determining projects order orderPlugin = getOrderPlugin(pageRoot); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-19 11:50:35 UTC (rev 1862) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-19 12:31:25 UTC (rev 1863) @@ -39,7 +39,7 @@ */ public class Status extends AbstractDescriptor { - private static final String MAIN_PAGE_COLLUMNS_TAG = "main"; + private static final String MAIN_PAGE_COLLUMNS_TAG = "main-page"; //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project-page"; //TODO displaying project-specyfic pages |
From: <jbo...@li...> - 2005-12-19 11:50:50
|
Author: unibrew Date: 2005-12-19 06:50:35 -0500 (Mon, 19 Dec 2005) New Revision: 1862 Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java Log: [JBLAB-577] Updating DownloadsPlugin. Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java 2005-12-19 11:50:35 UTC (rev 1862) @@ -24,8 +24,10 @@ package org.jboss.forge.status.plugins; import org.jboss.forge.common.projects.DownloadCounterTools; +import org.jboss.forge.common.projects.Projects; import org.jboss.shotoku.ContentManager; import org.jboss.shotoku.aop.Inject; +import org.w3c.dom.Node; /** * This Plugin returns sum of all downloads for given project id name. @@ -37,12 +39,22 @@ @Inject ContentManager cm; + /** + * Name of the portal on which Plugin is running. + */ + private String portalName; + public DownloadsPlugin() { super(); } + + public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { + super.init(id,portalName,projects,propertiesNode); + this.portalName = portalName; + } - public int getValue(String projectId) { - return (int)DownloadCounterTools.getOverallDownloadsForProject(projectId,"default",cm); + public long getValue(String projectId) { + return DownloadCounterTools.getOverallDownloadsForProject(projectId,portalName,cm); } } |
From: <jbo...@li...> - 2005-12-19 11:42:31
|
Author: wrzep Date: 2005-12-19 06:42:12 -0500 (Mon, 19 Dec 2005) New Revision: 1861 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java Log: changes in Plugin interface for Rysiek http://jira.jboss.com/jira/browse/JBLAB-415 Pawel Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Column.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -62,6 +62,6 @@ */ public void fillProjectContext(DelegateContext projectContext, String projectId) { DelegateContext entryContext = projectContext.next("entry"); - entryContext.put("value", plugin.getValue(projectId)); + entryContext.put("value", Long.toString(plugin.getValue(projectId))); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Columns.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -31,6 +31,7 @@ import org.jboss.forge.common.projects.Projects; import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; import org.jboss.forge.common.projects.permissions.PermissionsChecker; +import org.jboss.forge.status.plugins.ScorePlugin; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -49,16 +50,31 @@ private Projects projects; /** + * ScorePlugin, which determine projects order in the Matrix + */ + private ScorePlugin orderPlugin; + + /** * @param pageRoot root Node specfying Columns to display * @param plugins Plugins used by Columns * @param projects Projects present in the Status Matrix */ public Columns(Node pageRoot, Plugins plugins, Projects projects) { this.projects = projects; + + // Get the columns + columns = new ArrayList<Column>(); + //Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, + // StatusTags.COLUMNS_ELEMENT); + addColumns(pageRoot, plugins); - columns = new ArrayList<Column>(); + // Get the plugin determining projects order + orderPlugin = getOrderPlugin(pageRoot); + } + + private void addColumns(Node columnsRoot, Plugins plugins) { - NodeList columnsList = pageRoot.getChildNodes(); + NodeList columnsList = columnsRoot.getChildNodes(); for (int i = 0; i < columnsList.getLength(); i++) { Node columnNode = columnsList.item(i); @@ -68,11 +84,18 @@ String pluginId = XmlTools.getChildNodeValue(columnNode, "plugin"); Plugin plugin = plugins.get(pluginId); - Column column = new Column(name,plugin); - columns.add(column); + if (plugin != null) { + Column column = new Column(name,plugin); + columns.add(column); + } + } } } + + private ScorePlugin getOrderPlugin(Node pageRoot) { + return null; + } /** * Fills the given context with columns information Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -38,17 +38,21 @@ /** Plugin id */ protected String id; + protected String portalName; + /** * @param id Plugin id + * @param portalName TODO * @param propertiesNode Node with plugin specyfic properties * @throws InvalidPluginPropertiesException * Thrown when properties passed in <code>propertiesNode</code> * are incorrect or missed. */ - public void init(String id, Node propertiesNode) + public void init(String id, String portalName, Node propertiesNode) throws InvalidPluginPropertiesException { this.propertiesNode = propertiesNode; this.id = id; + this.portalName = portalName; } /** @@ -58,7 +62,7 @@ * @return value computed by plugin for the project * with the given <code>projectId</code>. */ - public abstract int getValue(String projectId); + public abstract long getValue(String projectId); /** * @return Plugin id Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Plugins.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -69,7 +69,7 @@ * @param projects Projects present in the Status Matrix * @param scorePlugins flag indicating whether plugins are ScorePlugins */ - public Plugins(Node pluginsNode, Projects projects, boolean scorePlugins) { + public Plugins(Node pluginsNode, String portalName, Projects projects, boolean scorePlugins) { this.projects = projects; @@ -78,7 +78,7 @@ allPlugins = new HashMap<String,Plugin>(); statusPlugins = new HashMap<String,Plugin>(); - addAll(pluginsNode, scorePlugins); + addAll(pluginsNode, portalName, scorePlugins); } /** @@ -88,7 +88,7 @@ * @param scorePlugin flag indicating whether plugin should be ScorePlugin * @return Plugin defined in the <code>pluginNode</code> */ - private Plugin getPlugin(Node pluginNode, boolean scorePlugin) { + private Plugin getPlugin(Node pluginNode, String portalName, boolean scorePlugin) { // Get plugin info from pluginNode @@ -112,9 +112,9 @@ plugin = (Plugin) pluginClass.newInstance(); if (scorePlugin) { - ((ScorePlugin) plugin).init(pluginId, statusPlugins, pluginSpecificPropertiesNode); + ((ScorePlugin) plugin).init(pluginId, portalName, statusPlugins, pluginSpecificPropertiesNode); } else { /* status plugin */ - ((StatusPlugin) plugin).init(pluginId, projects, pluginSpecificPropertiesNode); + ((StatusPlugin) plugin).init(pluginId, portalName, projects, pluginSpecificPropertiesNode); } } catch (InvalidPluginPropertiesException e) { @@ -146,7 +146,7 @@ * @param pluginsNode Node with plugins definitions * @param scorePlugins flag indicating whether plugins are ScorePlugins */ - public void addAll(Node pluginsNode, boolean scorePlugins) { + public void addAll(Node pluginsNode, String portalName, boolean scorePlugins) { NodeList pluginNodes = pluginsNode.getChildNodes(); @@ -157,7 +157,7 @@ continue; } - Plugin plugin = getPlugin(pluginNode, scorePlugins); + Plugin plugin = getPlugin(pluginNode, portalName, scorePlugins); if (plugin != null) { allPlugins.put(plugin.getId(), plugin); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -40,7 +40,7 @@ public class Status extends AbstractDescriptor { private static final String MAIN_PAGE_COLLUMNS_TAG = "main"; - //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project"; + //private static final String PROJECT_PAGE_COLLUMNS_TAG = "project-page"; //TODO displaying project-specyfic pages /** Columns to display on the main page */ @@ -58,8 +58,8 @@ Projects projects = ProjectsHelper.getProjects(portalName); // Get the status and score plugins - plugins = new Plugins(statusPluginsRoot, projects, false); - plugins.addAll(scorePluginsRoot, true); + plugins = new Plugins(statusPluginsRoot, portalName, projects, false); + plugins.addAll(scorePluginsRoot, portalName, true); // Get columns to display Node pageRoot = XmlTools.getFirstNodeWithName(statusRoot, MAIN_PAGE_COLLUMNS_TAG); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -46,16 +46,10 @@ public StatusDescriptor(String portalName, ContentManager cm) { try { String statusPath = StatusTools.getXmlCmPath(portalName); - //System.out.println("statusPath: " + statusPath); Node statusRoot = getRoot(cm , statusPath); - //System.out.println("statusRoot: " + XmlTools.unmarshallText(statusRoot)); - //System.out.println("statusRoot: " + statusRoot); String statusPluginsPath = StatusTools.getXmlStatusPluginsCmPath(portalName); Node statusPluginsRoot = getRoot(cm, statusPluginsPath); - //System.out.println("statusPluginsPath: " + statusPluginsPath); - //System.out.println("statusPluginsRoot: " + statusPluginsRoot); - //System.out.println("statusPluginsRoot: " + XmlTools.unmarshallText(statusPluginsRoot)); String scorePluginsPath = StatusTools.getXmlScorePluginsCmPath(portalName); Node scorePluginsRoot = getRoot(cm, scorePluginsPath); Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusTags.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -0,0 +1,37 @@ +/* + * 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; + +/** +* @author Pawel Wrzeszcz +* A class which handles Status Matrix information managment. +*/ +public class StatusTags { + + public static final String COLUMNS_ELEMENT = "columns"; + + /** + * This class cannot be instatiated. + */ + private StatusTags() {}; +} \ No newline at end of file Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/KosmosStatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -61,9 +61,9 @@ projectMaps = new HashMap<String,Map>(); } - public void init(String id, Projects projects, + public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { - super.init(id, projects,propertiesNode); + super.init(id, portalName, projects,propertiesNode); getServiceProperty(propertiesNode); } @@ -119,7 +119,7 @@ /* (non-Javadoc) * @see org.jboss.forge.status.Plugin#getValue(java.lang.String) */ - public int getValue(String projectId) { + public long getValue(String projectId) { if (!projectMaps.containsKey(projectId)) { projectMaps.put(projectId, getProjectMap(projectId)); Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/OneStatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -32,6 +32,6 @@ super(); }; - public int getValue(String projectId) { return -1; } ; + public long getValue(String projectId) { return -1; } ; } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/ScorePlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -35,8 +35,8 @@ protected Map<String,Plugin> plugins; - public void init(String id, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, String portalName, Map<String, Plugin> plugins, Node propertiesNode) throws InvalidPluginPropertiesException { this.plugins = plugins; - init(id, propertiesNode); + init(id, portalName, propertiesNode); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/StatusPlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -46,8 +46,8 @@ * @param propertiesNode Node with plugin specyfic properties * @throws InvalidPluginPropertiesException */ - public void init(String id, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { + public void init(String id, String portalName, Projects projects, Node propertiesNode) throws InvalidPluginPropertiesException { this.projects = projects; - init(id, propertiesNode); + init(id, null, propertiesNode); } } Modified: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 11:35:11 UTC (rev 1860) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/WeightedScorePlugin.java 2005-12-19 11:42:12 UTC (rev 1861) @@ -36,7 +36,7 @@ super(); } - public int getValue(String projectId) { + public long getValue(String projectId) { int total = 0; for (Iterator iter = plugins.values().iterator(); iter.hasNext();) { |
From: <jbo...@li...> - 2005-12-19 11:35:17
|
Author: unibrew Date: 2005-12-19 06:35:11 -0500 (Mon, 19 Dec 2005) New Revision: 1860 Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java Log: [JBLAB-577] Adding DownloadsPlugin. Added: trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java =================================================================== --- trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java 2005-12-19 11:33:59 UTC (rev 1859) +++ trunk/forge/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/DownloadsPlugin.java 2005-12-19 11:35:11 UTC (rev 1860) @@ -0,0 +1,48 @@ + +/* + * 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 org.jboss.forge.common.projects.DownloadCounterTools; +import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.aop.Inject; + +/** + * This Plugin returns sum of all downloads for given project id name. + * @author Ryszard Kozmik + * + */ +public class DownloadsPlugin extends StatusPlugin { + + @Inject + ContentManager cm; + + public DownloadsPlugin() { + super(); + } + + public int getValue(String projectId) { + return (int)DownloadCounterTools.getOverallDownloadsForProject(projectId,"default",cm); + } + +} |
From: <jbo...@li...> - 2005-12-19 11:34:19
|
Author: unibrew Date: 2005-12-19 06:33:59 -0500 (Mon, 19 Dec 2005) New Revision: 1859 Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java Log: [DOWNLOADCOUNTERS] Updating a little funcionality of counters. Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java 2005-12-19 09:51:24 UTC (rev 1858) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCounterTools.java 2005-12-19 11:33:59 UTC (rev 1859) @@ -103,7 +103,7 @@ } // Getting the counters values. - Map<String,String> values = desc.getValuesForPortlet(projectId); + Map<String,Long> values = desc.getValuesForPortlet(projectId); // Filling the context for portlet. DelegateContext counters = ctx.next("counters"); @@ -112,7 +112,7 @@ // Resolving the file name. String fileName = keyLink.split(File.separator)[keyLink.split(File.separator).length-1]; counter.put("link",fileName); - counter.put("value",values.get(keyLink)); + counter.put("value",Long.toString(values.get(keyLink))); } return ctx; } @@ -162,4 +162,27 @@ return FORGE_FILE_ACCESS_DIR + File.separator + DOWNLOADCOUNTER_JSP; } + /** + * Method returns overall sum of all downloads for specified <code>projectId</code> name. + * @param projectId + * Project id name for which sum must be generated. + * @param portalName + * Name of the portal. + * @param cm + * ContentManager object. + * @return + * Returns sum of all downloads. + */ + public static long getOverallDownloadsForProject (String projectId,String portalName,ContentManager cm) { + Map<String,Long> values = getDesc(portalName,cm).getValuesForPortlet(projectId); + if (values==null || values.size()==0) { + return 0; + } + long sum=0; + for (String key : values.keySet()){ + sum+=values.get(key); + } + return sum; + } + } \ No newline at end of file Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java 2005-12-19 09:51:24 UTC (rev 1858) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DownloadCountersDescriptor.java 2005-12-19 11:33:59 UTC (rev 1859) @@ -315,11 +315,19 @@ return links; } - public synchronized Map<String,String> getValuesForPortlet (String projectId) { + /** + * Method gives a Map<String,Long> containing pairs of link to tracked file + * and the Long value object which contains number of downloads of this file. + * @param projectId + * Project id name for which Map of values is reuqested. + * @return + * Map<String,Long> containing link:value pairs. + */ + public synchronized Map<String,Long> getValuesForPortlet (String projectId) { List<String> links = getProjectLinks(projectId); - Map<String,String> values = new Hashtable<String,String>(links.size()); + Map<String,Long> values = new Hashtable<String,Long>(links.size()); for (String link : links) { - values.put(link,Long.toString(downloadCounters.get(link).getValue())); + values.put(link,downloadCounters.get(link).getValue()); } return values; } |
From: <jbo...@li...> - 2005-12-19 09:51:41
|
Author: adamw Date: 2005-12-19 04:51:24 -0500 (Mon, 19 Dec 2005) New Revision: 1858 Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnResource.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnMemDirectory.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNodeProxy.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnRepoNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResource.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResourceProxy.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/FileNodeContent.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/NodeContent.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/operations/WorkspaceMediator.java trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ModifyContentTest.java Log: http://jira.jboss.com/jira/browse/JBSHOTOKU-48 : done Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -447,8 +447,7 @@ // No setup - doing nothing. } - log - .info("Added content manager: " + id + ", " + log.info("Added content manager: " + id + ", " + implementation); } } catch (Exception e) { Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnNode.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnNode.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -29,6 +29,7 @@ import java.util.Collection; import java.util.Date; import java.util.List; +import java.util.Set; import javax.activation.MimetypesFileTypeMap; @@ -98,11 +99,19 @@ getCopyRevision()); } + @Override public void notifySaved() { super.notifySaved(); content.markUnchanged(); } + @Override + public void addLargePaths(Set<String> toFill) { + if (content.isLarge()) { + toFill.add(getFullPath()); + } + } + /* * Node IMPLEMENTATION */ Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnResource.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnResource.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/AbstractSvnResource.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -104,6 +104,7 @@ } public void notifySaved() { + deletedProperties.clear(); modifiedProperties.clear(); } @@ -151,6 +152,10 @@ getParent().getFullPath())); } + public void addLargePaths(Set<String> toFill) { + + } + /* * INTERNAL OPS DECLARATIONS */ Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnContentManager.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -318,9 +318,11 @@ * removed as we use a Set. */ Set<ResourceOperation> ops = new HashSet<ResourceOperation>(); + Set<String> largePaths = new HashSet<String>(); for (Resource resource : resources) { SvnResource svnResource = (SvnResource) resource; svnResource.addOperations(ops); + svnResource.addLargePaths(largePaths); } // Sorting all operations. @@ -329,7 +331,8 @@ Collections.sort(opsList); try { - performOperations(opsList, logMessage); + performOperations(opsList, logMessage, + new WorkspaceMediator(largePaths)); } catch (SVNException e) { throw new SaveException(e); } @@ -350,10 +353,16 @@ protected void performOperations(List<ResourceOperation> opsList, String logMessage) throws SVNException { + performOperations(opsList, logMessage, new WorkspaceMediator( + new HashSet<String>())); + } + + protected void performOperations(List<ResourceOperation> opsList, + String logMessage, WorkspaceMediator mediator) throws SVNException { ISVNEditor editor = null; try { editor = repository.getCommitEditor(logMessage, - new WorkspaceMediator()); + mediator); PathsStack stack = new PathsStack(editor); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnMemDirectory.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnMemDirectory.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnMemDirectory.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -140,7 +140,7 @@ public boolean forceSwitch() { /* * If a mem resource is switchable, it must have been saved. So, - * it must be switched on the neartes occasion. + * it must be switched on the nearest occasion. */ return switchable; } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNodeProxy.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNodeProxy.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNodeProxy.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -52,9 +52,7 @@ currentNode = new SvnFileNode(getId(), getFullPath(), getSvnCm()); if (oldNode != null) { - NodeContent newNodeContent = new NodeContent(); - newNodeContent.copyFrom(oldNode.getNodeContent()); - currentNode.setNodeContent(newNodeContent); + currentNode.getNodeContent().copyFrom(oldNode.getNodeContent()); } return currentNode; @@ -65,13 +63,7 @@ currentNode = new SvnRepoNode(getId(), getFullPath(), getSvnCm()); if (oldNode != null) { - /* - * We have to set an already changed content so it won't be - * overriden by a repository version on read. - */ - NodeContent newNodeContent = new NodeContent(); - newNodeContent.copyFrom(oldNode.getNodeContent()); - currentNode.setNodeContent(newNodeContent); + currentNode.getNodeContent().copyFrom(oldNode.getNodeContent()); } return currentNode; Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnRepoNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnRepoNode.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnRepoNode.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -23,7 +23,6 @@ import java.io.ByteArrayOutputStream; import java.io.InputStream; -import java.io.OutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -42,20 +41,10 @@ private Map<String, String> properties; private SvnRevisionInfo info; - private boolean repoContent; public SvnRepoNode(String id, String fullPath, SvnContentManager svnCm) { super(id, fullPath, svnCm); - repoContent = true; - /* - * Setting an empty node content - this is only for internal operations - * which check for content modifications. Actual content will never - * be read/ written from/ to it, because: - * - in case of read, content will be read from the repository and - * replaced - * - in case of a (first) write, a new empty content will be set. - */ setNodeContent(new NodeContent()); } @@ -77,21 +66,13 @@ return info.getMessage(); } - public void setNodeContent(NodeContent content) { - super.setNodeContent(content); - - if (content.getChanged()) { - repoContent = false; - } - } - private void loadInfo() { info = SvnTools.getCurrentRevisionInformation(getFullPath(), getSvnCm()).get(0); } private void loadContentAndProperties(boolean loadProps) { - if (loadProps || repoContent) { + if (loadProps || !getNodeContent().getChanged()) { properties = new HashMap<String, String>(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); @@ -107,19 +88,12 @@ } } - if (repoContent) { + if (!getNodeContent().getChanged()) { setNodeContent(new NodeContent(baos.toByteArray())); } } } - private void intializeNodeContent() { - if (repoContent) { - repoContent = false; - setNodeContent(new NodeContent()); - } - } - /* * Node IMPLEMENTATION */ @@ -170,32 +144,4 @@ super.copyToFile(path); } - - @Override - public OutputStream getOutputStream() { - intializeNodeContent(); - - return super.getOutputStream(); - } - - @Override - public void setContent(byte[] bytes) { - intializeNodeContent(); - - super.setContent(bytes); - } - - @Override - public void setContent(InputStream is) { - intializeNodeContent(); - - super.setContent(is); - } - - @Override - public void setContent(String stringContent) { - intializeNodeContent(); - - super.setContent(stringContent); - } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResource.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResource.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResource.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -43,6 +43,8 @@ public boolean switchable(); public boolean forceSwitch(); + public void addLargePaths(Set<String> toFill); + public String getFullPath(); public String getId(); public SvnContentManager getSvnCm(); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResourceProxy.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResourceProxy.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnResourceProxy.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -220,6 +220,10 @@ currentResource.addDeleteOperation(ops); } + public void addLargePaths(Set<String> toFill) { + currentResource.addLargePaths(toFill); + } + /* * Resource IMPLEMENTATION */ Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnTools.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -22,11 +22,17 @@ package org.jboss.shotoku.svn; import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Random; import org.jboss.mx.util.MBeanProxyExt; import org.jboss.mx.util.MBeanServerLocator; @@ -60,8 +66,16 @@ public static final String PROPERTY_PASSWORD = "password"; public static final String PROPERTY_LOCALPATH = "localpath"; + public static final String TEMP_FILE_PREFIX = "shotoku-svn"; + private static SvnService instance; + public static final Random random; + + static { + random = new Random(); + } + /** * Gets an instance of Shotoku svn service - this should be always the same * the object, so the dirty sets work properly. @@ -249,4 +263,28 @@ return res.getFullName().substring(0, lastSlash); } } + + public static ByteBuffer getFileBytes(File file) throws IOException { + FileChannel fc = new FileInputStream(file).getChannel(); + ByteBuffer buff = ByteBuffer.allocate((int) file.length()); + fc.read(buff); + buff.flip(); + + return buff; + } + + public static String getFileString(File file) throws IOException { + return Charset.forName( + System.getProperty("file.encoding")).decode( + getFileBytes(file)).toString(); + } + + public static File createTemporaryFile() { + try { + return File.createTempFile(TEMP_FILE_PREFIX, Integer.toString( + random.nextInt())); + } catch (IOException e) { + throw new RepositoryException(e); + } + } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/FileNodeContent.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/FileNodeContent.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/FileNodeContent.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -25,11 +25,9 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; -import java.nio.ByteBuffer; -import java.nio.channels.FileChannel; -import java.nio.charset.Charset; import org.jboss.shotoku.exceptions.RepositoryException; +import org.jboss.shotoku.svn.SvnTools; /** * @author Adam Warski (ad...@as...) @@ -40,15 +38,6 @@ public FileNodeContent(File file) { this.file = file; } - - private ByteBuffer getFileBytes() throws IOException { - FileChannel fc = new FileInputStream(file).getChannel(); - ByteBuffer buff = ByteBuffer.allocate((int) file.length()); - fc.read(buff); - buff.flip(); - - return buff; - } @Override public byte[] asByteArray() { @@ -56,7 +45,7 @@ return super.asByteArray(); } else { try { - return getFileBytes().array(); + return SvnTools.getFileBytes(file).array(); } catch (IOException e) { throw new RepositoryException(e); } @@ -82,9 +71,7 @@ return super.asString(); } else { try { - return Charset.forName( - System.getProperty("file.encoding")).decode( - getFileBytes()).toString(); + return SvnTools.getFileString(file); } catch (IOException e) { throw new RepositoryException(e); } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/NodeContent.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/NodeContent.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/content/NodeContent.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -21,15 +21,20 @@ */ package org.jboss.shotoku.svn.content; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import org.jboss.shotoku.exceptions.RepositoryException; +import org.jboss.shotoku.svn.SvnTools; import org.jboss.shotoku.tools.Tools; /** @@ -40,7 +45,8 @@ private String stringContent; private byte[] byteContent; - private ByteArrayOutputStream currentBaos; + private File tmpFile; + private OutputStream tmpFileOs; private boolean changed; @@ -56,18 +62,28 @@ /* HELPER METHODS */ private void emptyContent() { + if (tmpFile != null) { + tmpFile.delete(); + tmpFile = null; + } + stringContent = null; byteContent = null; - currentBaos = null; } /* CONVERSION METHODS */ public String asString() { - if (currentBaos != null) { - try { currentBaos.flush(); } catch (IOException e) { } - stringContent = currentBaos.toString(); - currentBaos = null; + if (tmpFile != null) { + try { + tmpFileOs.flush(); + tmpFileOs.close(); + stringContent = SvnTools.getFileString(tmpFile); + } catch (IOException e) { + stringContent = ""; + } + tmpFile.delete(); + tmpFile = null; } else if (stringContent == null) { if (byteContent == null) stringContent = ""; @@ -79,10 +95,16 @@ } public byte[] asByteArray() { - if (currentBaos != null) { - try { currentBaos.flush(); } catch (IOException e) { } - byteContent = currentBaos.toByteArray(); - currentBaos = null; + if (tmpFile != null) { + try { + tmpFileOs.flush(); + tmpFileOs.close(); + byteContent = SvnTools.getFileBytes(tmpFile).array(); + } catch (IOException e) { + byteContent = new byte[0]; + } + tmpFile.delete(); + tmpFile = null; } else if (byteContent == null) { if (stringContent == null) byteContent = new byte[0]; @@ -94,7 +116,18 @@ } public InputStream asInputStream() { - return new ByteArrayInputStream(asByteArray()); + if (tmpFile != null) { + try { + tmpFileOs.flush(); + return new BufferedInputStream(new FileInputStream(tmpFile)); + } catch (FileNotFoundException e) { + return null; + } catch (IOException e) { + return null; + } + } else { + return new ByteArrayInputStream(asByteArray()); + } } /* SETTING METHODS */ @@ -124,10 +157,17 @@ } public OutputStream getOutputStream() { - currentBaos = new ByteArrayOutputStream(); + emptyContent(); + + tmpFile = SvnTools.createTemporaryFile(); + try { + tmpFileOs = new BufferedOutputStream(new FileOutputStream(tmpFile)); + } catch (FileNotFoundException e) { + throw new RepositoryException(e); + } changed = true; - return currentBaos; + return tmpFileOs; } /* VARIOUS METHODS */ @@ -146,26 +186,48 @@ * @return */ public void markUnchanged() { + emptyContent(); changed = false; } public long getLength() { - if (stringContent != null) + if (stringContent != null) { return stringContent.length(); + } + if (tmpFile != null) { + try { + tmpFileOs.flush(); + } catch (IOException e) { + + } + return tmpFile.length(); + } + return asByteArray().length; } public void copyFrom(NodeContent content) { if (content != null) { - setContent(content.asByteArray()); + if (content.tmpFile != null) { + this.tmpFile = content.tmpFile; + this.tmpFileOs = content.tmpFileOs; + } else { + setContent(content.asByteArray()); + } + changed = content.changed; } } - /* NOT USED */ + public boolean isLarge() { + return tmpFile != null; + } - public void free() { - + @Override + public void finalize() { + if (tmpFile != null) { + tmpFile.delete(); + } } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/operations/WorkspaceMediator.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/operations/WorkspaceMediator.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/operations/WorkspaceMediator.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -21,24 +21,41 @@ */ package org.jboss.shotoku.svn.operations; +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; +import java.util.Set; +import org.jboss.shotoku.svn.SvnTools; +import org.jboss.shotoku.tools.Pair; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.io.ISVNWorkspaceMediator; /** * @author Adam Warski (ad...@as...) */ -public class WorkspaceMediator implements -ISVNWorkspaceMediator { - private Map myTmpFiles = new HashMap(); +public class WorkspaceMediator implements ISVNWorkspaceMediator { + private Set<String> largePaths; + private Map<Object, Pair<File, OutputStream>> tmpFiles; + private Map<Object, ByteArrayOutputStream> tmpInMemory; + + public WorkspaceMediator(Set<String> largePaths) { + tmpFiles = new HashMap<Object, Pair<File, OutputStream>>(); + tmpInMemory = new HashMap<Object, ByteArrayOutputStream>(); + + this.largePaths = largePaths; + } + public String getWorkspaceProperty(String path, String name) throws SVNException { return null; @@ -46,45 +63,56 @@ public void setWorkspaceProperty(String path, String name, String value) throws SVNException { + } - /* - * Creates a temporary file delta storage. id will be used as the - * temporary storage identifier. Returns an OutputStream to write the - * delta data into the temporary storage. - */ - @SuppressWarnings("unchecked") public OutputStream createTemporaryLocation(String path, Object id) throws IOException { - ByteArrayOutputStream tempStorageOS = new ByteArrayOutputStream(); - myTmpFiles.put(id, tempStorageOS); - return tempStorageOS; + if (largePaths.contains(path)) { + File tmpFile = SvnTools.createTemporaryFile(); + OutputStream tmpOs = new BufferedOutputStream( + new FileOutputStream(tmpFile)); + tmpFiles.put(id, new Pair<File, OutputStream>(tmpFile, tmpOs)); + + return tmpOs; + } else { + ByteArrayOutputStream tmpBaos = new ByteArrayOutputStream(); + tmpInMemory.put(id, tmpBaos); + + return tmpBaos; + } } - /* - * Returns an InputStream of the temporary file delta storage identified - * by id to read the delta. - */ public InputStream getTemporaryLocation(Object id) throws IOException { - return new ByteArrayInputStream(((ByteArrayOutputStream)myTmpFiles.get(id)).toByteArray()); + if (tmpFiles.containsKey(id)) { + tmpFiles.get(id).getSecond().flush(); + return new BufferedInputStream(new FileInputStream( + tmpFiles.get(id).getFirst())); + } else { + return new ByteArrayInputStream(tmpInMemory.get(id).toByteArray()); + } } - /* - * Gets the length of the delta that was written to the temporary - * storage identified by id. - */ public long getLength(Object id) throws IOException { - ByteArrayOutputStream tempStorageOS = (ByteArrayOutputStream)myTmpFiles.get(id); - if (tempStorageOS != null) { - return tempStorageOS.size(); + if (tmpFiles.containsKey(id)) { + tmpFiles.get(id).getSecond().flush(); + return tmpFiles.get(id).getFirst().length(); + } else { + ByteArrayOutputStream tmpBaos = tmpInMemory.get(id); + if (tmpBaos != null) { + return tmpBaos.size(); + } + + return 0; } - return 0; } - /* - * Deletes the temporary file delta storage identified by id. - */ public void deleteTemporaryLocation(Object id) { - myTmpFiles.remove(id); + if (tmpFiles.containsKey(id)) { + tmpFiles.get(id).getFirst().delete(); + tmpFiles.remove(id); + } else { + tmpInMemory.remove(id); + } } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ModifyContentTest.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ModifyContentTest.java 2005-12-19 08:46:31 UTC (rev 1857) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ModifyContentTest.java 2005-12-19 09:51:24 UTC (rev 1858) @@ -85,6 +85,31 @@ TEST_FILE).getContent())); } + public void testBackgroundContentChange() throws Exception { + Node n = cm.getNode(TEST_FILE); + Node n2 = cm.getNode(TEST_FILE); + + assertTrue("initial".equals(n.getContent())); + + Node n3 = cm.getNode(TEST_FILE); + n3.setContent(TEST_CONTENT); + + assertTrue("initial".equals(n.getContent())); + + n3.save(""); + + assertTrue(TEST_CONTENT.equals(n.getContent())); + assertTrue(TEST_CONTENT.equals(n2.getContent())); + assertTrue(TEST_CONTENT.equals(n3.getContent())); + + // Waiting for a wc update. + Thread.sleep(20*1000); + + assertTrue(TEST_CONTENT.equals(n.getContent())); + assertTrue(TEST_CONTENT.equals(n2.getContent())); + assertTrue(TEST_CONTENT.equals(n3.getContent())); + } + @Override protected void tearDown() throws Exception { try { |