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
|
Author: adamw Date: 2005-10-05 15:51:48 -0400 (Wed, 05 Oct 2005) New Revision: 1276 Added: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/jrockit-pluggable-instrumentor.jar trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/pluggable-instrumentor.jar trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Inject.java trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/InjectAspect.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/test/ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/test/PropertiesTest.java Removed: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java Modified: trunk/forge/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn-javahl.jar trunk/forge/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn.jar trunk/forge/portal-extensions/common.xml trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/FilesFromRepoFilter.java trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/portlet/ContentPortlet.java trunk/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java trunk/forge/portal-extensions/forge-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java trunk/forge/portal-extensions/forge-kosmos/to-copy/kosmos-portlet.war trunk/forge/portal-extensions/forge-kosmos/to-copy/kosmos-server.war trunk/forge/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationTools.java trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/run.conf trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/MANIFEST.MF trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/base-aop.xml trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/javassist.jar trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/jboss-aspect-library-jdk50.jar trunk/forge/portal-extensions/jbosswiki/.classpath trunk/forge/portal-extensions/jbosswiki/.project trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ShotokuTest.java trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java Log: - @Inject annotation for shotoku (using aop) - updated jboss aop - updated jboss as config to enable loadtime weaving - updated kosmos to 0.1.0 - almost working history for shotoku Modified: trunk/forge/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn-javahl.jar =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn.jar =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/common.xml =================================================================== --- trunk/forge/portal-extensions/common.xml 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/common.xml 2005-10-05 19:51:48 UTC (rev 1276) @@ -52,6 +52,13 @@ <ejb.manifest.classpath>true</ejb.manifest.classpath> </properties> </dependency> + + <dependency> + <groupId>shotoku</groupId> + <artifactId>shotoku-aop</artifactId> + <version>1.0</version> + <jar>shotoku-aop.jar</jar> + </dependency> </dependencies> <build> Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/FilesFromRepoFilter.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/FilesFromRepoFilter.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/FilesFromRepoFilter.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -16,6 +16,7 @@ import org.jboss.shotoku.ContentManager; import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Inject; /** * A filter for reading JSP (and html, text etc) files from a file repository @@ -51,12 +52,12 @@ */ private int repoAccessDirLength; + @Inject private ContentManager contentManager; public void init(FilterConfig conf) { separator = '/'; repoAccessDirLength = ForgeHelper.REPO_ACCESS_DIR.length(); - contentManager = ForgeHelper.getContentManager(""); // Constructing the base path. basePath = conf.getServletContext().getRealPath("") + separator Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/portlet/ContentPortlet.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/portlet/ContentPortlet.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/portlet/ContentPortlet.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -41,7 +41,7 @@ * * @return Suffix for use in the content reader. */ - protected String getContentReaderSuffix() { + protected String getContentManagerSuffix() { return ""; } @@ -54,7 +54,7 @@ public ContentPortlet(String title, String id) { this.title = title; this.id = id; - this.cm = ForgeHelper.getContentManager(getContentReaderSuffix()); + this.cm = ForgeHelper.getContentManager(getContentManagerSuffix()); } public void init() { Modified: trunk/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java =================================================================== --- trunk/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-contributor/src/java/org/jboss/forge/contributor/ConServer.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -25,6 +25,7 @@ import org.jboss.forge.common.projects.elements.PropertiesHandlerDefault; import org.jboss.shotoku.ContentManager; import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Inject; import org.xml.sax.InputSource; /** @@ -62,14 +63,13 @@ return getBaseFilePath() + "/" + ConServer.UNCONFIRMED_XML; } + @Inject private ContentManager cm; private ResourceBundle messages; private Locale currentLocale; public ConServer() { - cm = ForgeHelper.getContentManager(""); - currentLocale = new Locale("en", "US"); messages = ResourceBundle.getBundle("Messages", currentLocale); } 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-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-file-access/src/java/org/jboss/forge/fileaccess/FileAccessFilter.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -21,9 +21,9 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; -import org.jboss.forge.common.ForgeHelper; import org.jboss.shotoku.ContentManager; import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Inject; /** * A filter that enables to download files which are stored in a working copy of @@ -58,12 +58,12 @@ * file and sending it to the client. */ private final int BUF_SIZE = 32768; + + @Inject private ContentManager contentManager; private MimetypesFileTypeMap mimeTypes; public void init(FilterConfig conf) { - contentManager = ForgeHelper.getContentManager(""); - mimeTypes = new MimetypesFileTypeMap( FileAccessFilter.class.getResourceAsStream("/mime-types.txt")); } Modified: trunk/forge/portal-extensions/forge-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java =================================================================== --- trunk/forge/portal-extensions/forge-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-freezone/src/java/org/jboss/forge/projects/freezone/Freezone.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -18,6 +18,7 @@ import org.jboss.portlet.JBossRenderRequest; import org.jboss.portlet.JBossRenderResponse; import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.aop.Inject; /** * A portlet for a project freezone. @@ -42,12 +43,9 @@ private final static String SRC_PATTERN = "src" + ATTRIBUTE_PATTERN; + @Inject private ContentManager cm; - public void init() { - cm = ForgeHelper.getContentManager(""); - } - /** * Figures out if a link shouldn't be changed: this is the case when either * it is an off-site link, or it starts with '/'. This recognizes the most Modified: trunk/forge/portal-extensions/forge-kosmos/to-copy/kosmos-portlet.war =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/forge-kosmos/to-copy/kosmos-server.war =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationTools.java =================================================================== --- trunk/forge/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationTools.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/forge-navigation/src/java/org/jboss/forge/navigation/NavigationTools.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -2,6 +2,7 @@ import org.jboss.forge.common.ForgeHelper; import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.aop.Inject; /** * @author adamw @@ -16,12 +17,9 @@ private final static String NAVIGATION_DIR = "navigation"; + @Inject private static ContentManager cm; - - static { - cm = ForgeHelper.getContentManager(""); - } - + static String getXmlCmPath(String portalName) { return portalName + "/" + NAVIGATION_DIR + "/" + NAVIGATION_XML; } Added: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/jrockit-pluggable-instrumentor.jar =================================================================== (Binary files differ) Property changes on: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/jrockit-pluggable-instrumentor.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/pluggable-instrumentor.jar =================================================================== (Binary files differ) Property changes on: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/pluggable-instrumentor.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/run.conf =================================================================== --- trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/run.conf 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jboss-as-binaries/to-copy/bin/run.conf 2005-10-05 19:51:48 UTC (rev 1276) @@ -49,3 +49,6 @@ # Sample JPDA settings for shared memory debugging #JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=n,address=jboss" +JAVA_OPTS="$JAVA_OPTS -javaagent:pluggable-instrumentor.jar" +#JAVA_OPTS="$JAVA_OPTS -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor" +#JBOSS_CLASSPATH="$JBOSS_CLASSPATH:jrockit-pluggable-instrumentor.jar" \ No newline at end of file Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/MANIFEST.MF =================================================================== --- trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/MANIFEST.MF 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/MANIFEST.MF 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,12 +1,12 @@ Manifest-Version: 1.0 Ant-Version: Apache Ant 1.6.2 -Created-By: 1.5.0_03-b07 (Sun Microsystems Inc.) +Created-By: 1.5.0_04-b05 (Sun Microsystems Inc.) Specification-Title: JBoss AOP Aspect Library -Specification-Version: jboss-aspect-library-1.3 +Specification-Version: jboss-aspect-library-1.3.3 Specification-Vendor: JBoss (http://www.jboss.org/) Implementation-Title: JBoss AOP Aspect Library Implementation-URL: http://www.jboss.org/ -Implementation-Version: jboss-aspect-library-1.3 +Implementation-Version: jboss-aspect-library-1.3.3 Implementation-Vendor: JBoss.org Implementation-Vendor-Id: http://www.jboss.org/ Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml =================================================================== --- trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/META-INF/jboss-service.xml 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,31 +1,43 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- $Id: jboss-service.xml,v 1.3.2.3 2005/06/19 07:08:07 bill Exp $ --> - -<!-- ===================================================================== --> -<!-- JBoss Server Configuration --> -<!-- ===================================================================== --> - -<server> - - <mbean code="org.jboss.aop.deployment.AspectManagerService" - name="jboss.aop:service=AspectManager"> - <attribute name="EnableLoadtimeWeaving">false</attribute> - <!-- only relevant when EnableLoadtimeWeaving is true. - When transformer is on, every loaded class gets - transformed. If AOP can't find the class, then it - throws an exception. Sometimes, classes may not have - all the classes they reference. So, the Suppressing - is needed. (i.e. Jboss cache in the default configuration --> - <attribute name="SuppressTransformationErrors">true</attribute> - <attribute name="Prune">true</attribute> - <attribute name="Include">org.jboss.test</attribute> - <attribute name="Exclude">org.jboss.</attribute> - <attribute name="Optimized">true</attribute> - <attribute name="Verbose">false</attribute> - </mbean> - - <mbean code="org.jboss.aop.deployment.AspectDeployer" - name="jboss.aop:service=AspectDeployer"> - </mbean> - -</server> +<?xml version="1.0" encoding="UTF-8"?> +<!-- $Id: jboss-service.xml,v 1.3.2.4 2005/09/09 07:23:48 kkhan Exp $ --> + +<!-- ===================================================================== --> +<!-- JBoss Server Configuration --> +<!-- ===================================================================== --> + +<server> + + <!-- The code for the service is different for the different run scenarios + *** JBoss 4.0 + * JDK 1.4 - org.jboss.aop.deployment.AspectManagerService + * JDK 5 (not using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService + * JDK 5 (using -javaagent switch) - org.jboss.aop.deployment.AspectManagerServiceJDK5 + * BEA JRockit 1.4.2 - org.jboss.aop.deployment.AspectManagerService + *** JBoss 3.2 + * JDK 1.4 - org.jboss.aop.deployment.AspectManagerService32 + * JDK 5 (not using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService32 + * JDK 5 (using -javaagent switch) - org.jboss.aop.deployment.AspectManagerService32JDK5 + * BEA JRockit 1.4.2 - org.jboss.aop.deployment.AspectManagerService32 + --> + <mbean code="org.jboss.aop.deployment.AspectManagerServiceJDK5" + name="jboss.aop:service=AspectManager"> + <attribute name="EnableLoadtimeWeaving">true</attribute> + <!-- only relevant when EnableLoadtimeWeaving is true. + When transformer is on, every loaded class gets + transformed. If AOP can't find the class, then it + throws an exception. Sometimes, classes may not have + all the classes they reference. So, the Suppressing + is needed. (i.e. Jboss cache in the default configuration --> + <attribute name="SuppressTransformationErrors">true</attribute> + <attribute name="Prune">true</attribute> + <attribute name="Include">org.jboss.test, org.jboss.injbossaop, org.jboss.shotoku, org.jboss.forge, org.jboss.wiki</attribute> + <attribute name="Exclude">org.jboss., org.apache., org.tmatesoft</attribute> + <attribute name="Optimized">true</attribute> + <attribute name="Verbose">false</attribute> + </mbean> + + <mbean code="org.jboss.aop.deployment.AspectDeployer" + name="jboss.aop:service=AspectDeployer"> + </mbean> + +</server> Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/base-aop.xml =================================================================== --- trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/base-aop.xml 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/base-aop.xml 2005-10-05 19:51:48 UTC (rev 1276) @@ -10,7 +10,7 @@ <stack name="J2EESecurityStack"> <interceptor factory="org.jboss.aspects.security.AuthenticationInterceptorFactory" scope="PER_CLASS"/> <interceptor factory="org.jboss.aspects.security.RoleBasedAuthorizationInterceptorFactory" scope="PER_CLASS"/> - <interceptor class="org.jboss.aspects.security.RunAsSecurityInterceptor"/> + <interceptor factory="org.jboss.aspects.security.RunAsSecurityInterceptorFactory" scope="PER_CLASS"/> </stack> <bind pointcut="all(@security)"> Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/javassist.jar =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/jboss-aop-jdk50.jar =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/jboss-as-binaries/to-copy/server/all/deploy/jboss-aop-jdk50.deployer/jboss-aspect-library-jdk50.jar =================================================================== (Binary files differ) Modified: trunk/forge/portal-extensions/jbosswiki/.classpath =================================================================== --- trunk/forge/portal-extensions/jbosswiki/.classpath 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jbosswiki/.classpath 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,5 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> + <classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="target/classes"/> -</classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> + </classpathentry> + <classpathentry kind="output" path="target/classes"> + </classpathentry> +</classpath> \ No newline at end of file Modified: trunk/forge/portal-extensions/jbosswiki/.project =================================================================== --- trunk/forge/portal-extensions/jbosswiki/.project 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/jbosswiki/.project 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>null:null</name> + <name>jbosswiki</name> <comment> </comment> <projects> Modified: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,8 +1,8 @@ <aop> - <aspect class="org.jboss.shotoku.aop.DependsAspect"/> + <aspect class="org.jboss.shotoku.aop.InjectAspect" scope="PER_CLASS_JOINPOINT" /> - <bind pointcut="field(org.jboss.shotoku.ContentManager *->@org.jboss.shotoku.aop.Depends)"> - <advice name="access" aspect="org.jboss.shotoku.aop.DependsAspect"/> + <bind pointcut="field(org.jboss.shotoku.ContentManager *->@org.jboss.shotoku.aop.Inject)"> + <advice name="access" aspect="org.jboss.shotoku.aop.InjectAspect"/> </bind> </aop> Deleted: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,12 +0,0 @@ -package org.jboss.shotoku.aop; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -public @interface Depends { - -} Deleted: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,27 +0,0 @@ -package org.jboss.shotoku.aop; - -import org.jboss.aop.joinpoint.*; -import org.jboss.shotoku.ContentManager; - -public class DependsAspect { - public Object access(FieldReadInvocation invocation) throws Throwable { - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("ACCESS"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - System.out.println("-"); - return ContentManager.getContentManager(); - } - - public Object access(FieldWriteInvocation invocation) throws Throwable { - throw new RuntimeException("Setting a @Depends variable is illegal"); - } -} Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Inject.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Inject.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Inject.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -0,0 +1,13 @@ +package org.jboss.shotoku.aop; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Inject { + String id() default ""; + String prefix() default ""; +} Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/InjectAspect.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/InjectAspect.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/InjectAspect.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -0,0 +1,28 @@ +package org.jboss.shotoku.aop; + +import org.jboss.aop.joinpoint.*; +import org.jboss.shotoku.ContentManager; + +public class InjectAspect { + public Object access(FieldReadInvocation invocation) throws Throwable { + Inject current = invocation.getField().getAnnotation(Inject.class); + + if (current == null) + throw new RuntimeException("This aspect should be used only with " + + "@Inject!"); + + String prefix = current.prefix(); + if (prefix == null) prefix = ""; + + String id = current.id(); + if ((id == null) || ("".equals(id))) + return ContentManager.getContentManager(prefix); + else + return ContentManager.getContentManager(id, prefix); + + } + + public Object access(FieldWriteInvocation invocation) throws Throwable { + throw new RuntimeException("Setting an @Inject-ed variable is illegal"); + } +} 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-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -132,6 +132,7 @@ * * @return A ""-prefixed, default content manager, or null, if a default * content manager is not registered. + * @deprecated */ public static ContentManager getContentManager() { return getContentManager(""); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -234,7 +234,7 @@ new ISVNLogEntryHandler() { public void handleLogEntry(SVNLogEntry entry) { ret.add(new RevisionInfo(entry.getDate(), - entry.getAuthor(), entry.getRevision())); + entry.getMessage(), entry.getRevision())); } }); Added: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/test/PropertiesTest.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/test/PropertiesTest.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/test/PropertiesTest.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -0,0 +1,35 @@ +package org.jboss.shotoku.test; + +import java.io.File; + +import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory; +import org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryFactoryImpl; +import org.tmatesoft.svn.core.wc.ISVNOptions; +import org.tmatesoft.svn.core.wc.SVNClientManager; +import org.tmatesoft.svn.core.wc.SVNWCUtil; + +public class PropertiesTest { + public void test() throws Exception { + DAVRepositoryFactory.setup(); + SVNRepositoryFactoryImpl.setup(); + + File file = new File("/home/adamw/jboss/content/trunk/forge/portal-content/shotoku-test/prop-test"); + + ISVNOptions options = SVNWCUtil.createDefaultOptions(true); + SVNClientManager clientManager = + SVNClientManager.newInstance(options, "jbf...@jb...", "rO@B5oPfff"); + + System.out.println(file.createNewFile()); + clientManager.getWCClient().doAdd(file, true, false, false, false); + clientManager.getCommitClient().doCommit(new File[] { file }, false, "", true, false); + clientManager.getWCClient().doDelete(file, true, false); + clientManager.getCommitClient().doCommit(new File[] { file }, false, "", true, false); + System.out.println(file.createNewFile()); + System.out.println( + clientManager.getStatusClient().doStatus(file, false).getContentsStatus().getID()); + } + + public static void main(String[] argv) throws Exception { + new PropertiesTest().test(); + } +} Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ShotokuTest.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ShotokuTest.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/ShotokuTest.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -1,13 +1,11 @@ package org.jboss.shotoku.test; import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.aop.Inject; import junit.framework.TestCase; public abstract class ShotokuTest extends TestCase { + @Inject(prefix="shotoku-test") protected ContentManager cm; - - public ShotokuTest() { - cm = ContentManager.getContentManager("shotoku-test"); - } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java 2005-10-04 21:55:26 UTC (rev 1275) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java 2005-10-05 19:51:48 UTC (rev 1276) @@ -2,6 +2,9 @@ import java.io.IOException; import java.io.PrintWriter; +import java.text.DateFormat; +import java.util.Calendar; +import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -9,10 +12,12 @@ import javax.servlet.http.HttpServletResponse; import org.jboss.shotoku.ContentManager; -import org.jboss.shotoku.aop.Depends; +import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Inject; +import org.jboss.shotoku.exceptions.ResourceDoesNotExist; public class ShotokuServlet extends HttpServlet { - @Depends + @Inject(prefix="shotoku-test") ContentManager test; @Override @@ -20,34 +25,37 @@ HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter pw = response.getWriter(); - pw.write("Z " + test); + pw.write("Depends test: " + test + "<br />"); + pw.write("<br />"); - /*ContentManager cm = ContentManager.getContentManager(""); + /*ContentManager cm = ContentManager.getContentManager("shotoku-test"); - String filePath = "shotoku-test/test1.txt"; + Node n; - Node n = cm.getNode(filePath); + try { + n = cm.getNode("history-test.txt"); + } catch (ResourceDoesNotExist e) { + System.out.println("Creating ..."); + n = cm.getRootDirectory().newNode("history-test.txt"); + n.save("create"); + } - pw.println("<b>File " + filePath + " content:</b><br />"); - pw.println(n.getContent()); - pw.println("<br />"); - pw.println("<br />"); - - n.setContent("1"); + String now = DateFormat.getTimeInstance().format(Calendar.getInstance().getTime()); - pw.println("Saving ... <br />"); - n.save("Shotoku test 1"); - pw.println("done<br />"); + n.setContent("Content " + now); + n.save(now); - n.setContent("2"); + List<Node> revs = n.getHistory().getAllRevisions().toList(); - pw.println("Saving ... <br />"); - n.save("Shotoku test 2"); - pw.println("done<br />"); - - Node n = cm.getNode("shotoku-test/test2.txt"); - n.delete(); - pw.println("Deleted <br />");*/ + pw.write("History: <br />"); + pw.write("<br />"); + for (Node h : revs) { + pw.write("Content: " + h.getContent() + "<br />"); + pw.write("Log: " + h.getLogMessage() + "<br />"); + pw.write("Rel rev: " + h.getRevisionNumber() + "<br />"); + pw.write("Last mod: " + h.getLastModfication() + "<br />"); + pw.write("<br />"); + }*/ } } |
From: <jbo...@li...> - 2005-10-04 21:55:34
|
Author: szimano Date: 2005-10-04 17:55:26 -0400 (Tue, 04 Oct 2005) New Revision: 1275 Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java Log: changed redirection to be more IP Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-10-04 21:07:59 UTC (rev 1274) +++ trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/fileaccess/WikiFileAccessFilter.java 2005-10-04 21:55:26 UTC (rev 1275) @@ -144,6 +144,14 @@ // Parse URI to get filename and page name String[] tokens = requestURI.split("[/]"); + System.out.println("TOK LEN: "+tokens.length); + + if ((tokens.length == 1)&&(tokens[0].equals(""))) { + //show Main page - as there is no place to go specified :) + httpResponse.sendRedirect(hostURL + wikiHome); + return; + } + // check if all tokens are UpperCase (meanins they are all wiki // pages) boolean isAllUpperCase = true; @@ -197,7 +205,7 @@ imageIS.close(); } - } else if (Character.isLowerCase(tokens[0].charAt(0))) { + } else if ((Character.isLowerCase(tokens[0].charAt(0)))&&(tokens.length > 1)) { boolean isPageNameUC = true; for (int i = 1; i < tokens.length; i++) @@ -290,6 +298,14 @@ .println("<html><body><h3>ERROR</h3><br />\nThere is no such file or there is no such version of file</body></html>"); } } + else { + ServletOutputStream os = response.getOutputStream(); + + response.setContentType("text/html"); + + os + .println("<html><body><h3>ERROR</h3><br />\nThere is lack of page name or page name should be uppercase</body></html>"); + } } else { throw new IOException( "This servlet should be called as HTTPServletRequest"); |
Author: szimano Date: 2005-10-04 17:07:59 -0400 (Tue, 04 Oct 2005) New Revision: 1274 Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RecentlyChangedPagesPlugin.java Log: wiki stable for release 1.0.5 of labs Modified: trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-10-04 20:20:36 UTC (rev 1273) +++ trunk/forge/portal-extensions/jbosswiki/forge-wiki/src/java/org/jboss/wiki/WikiPortlet.java 2005-10-04 21:07:59 UTC (rev 1274) @@ -224,6 +224,8 @@ public void doView(RenderRequest rReq, RenderResponse rRes) throws PortletException, java.io.IOException { + WikiSession wikiSession = new PortletWikiSession(rReq.getPortletSession()); + Credentials credentials = new JBossPortalCredentials(rReq); PortletURL wikiURL = rRes.createActionURL(); @@ -274,8 +276,10 @@ && (credentials.isLogedIn())) { page = "Edit.jsp"; showPage = false; + + WikiContext editWikiContext = new WikiContext(credentials.getName(), wikiEngine.getWikiType("edit"), wikiSession); - pageToShow = wikiEngine.getByName(wikiPage, null); + pageToShow = wikiEngine.getByName(wikiPage, editWikiContext); if ((pageToShow != null) && (!pageToShow.isEditable())) { if (!credentials.isAdmin()) { @@ -290,7 +294,7 @@ if ((pageToShow.getLastVersion() > Integer.valueOf(rReq .getParameter("version")))) { - pageToShow = wikiEngine.getByName(wikiPage, null, + pageToShow = wikiEngine.getByName(wikiPage, editWikiContext, Integer.valueOf(rReq.getParameter("version"))); } @@ -299,7 +303,7 @@ .getParameter("version"))); } } else { - pageToShow = wikiEngine.getByName(wikiPage, null); + pageToShow = wikiEngine.getByName(wikiPage, editWikiContext); } if (pageToShow == null) { Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-10-04 20:20:36 UTC (rev 1273) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-10-04 21:07:59 UTC (rev 1274) @@ -135,7 +135,10 @@ pageDictionary = new Properties(); pageRevDictionary = new Properties(); - pageDictionaryFile = new File(pathToMedia + "/dictionary.properties"); + + //TODO Do not load dictionary YET ! + + /*pageDictionaryFile = new File(pathToMedia + "/dictionary.properties"); if (!pageDictionaryFile.exists()) { try { @@ -165,10 +168,9 @@ e.printStackTrace(); } - } + }*/ - //pageDictionary.setProperty("Tomek", "TomekToZebesciak"); - //pageDictionary.setProperty("Tomek/Life/Relatives/Gyg", "TomekToZebesciak/Bimbom/PlumPlum/Plum"); + // create pageRevDictionary - to make it work faster Set<Object> keys = pageDictionary.keySet(); Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-10-04 20:20:36 UTC (rev 1273) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-10-04 21:07:59 UTC (rev 1274) @@ -463,7 +463,14 @@ } public Set<String> getPagesFor(String pageName) { - return mediaDataSource.getPagesFor(pageName); + Set<String> set = mediaDataSource.getPagesFor(pageName); + Set<String> ret = new HashSet<String>(); + + for (String page : set) { + ret.add(getRealName(page)); + } + + return ret; } public String executeInsidePlugin(String pluginLink, WikiPage wikiPage, @@ -558,7 +565,7 @@ public String getRealName(String uid) { String[] pageTokens = uid.split("/"); - System.out.println("Looking at page: (realName) "+uid); + //System.out.println("Looking at page: (realName) "+uid); if (pageTokens.length > 1) { if (!wikiPageDictionary.getRealName(uid).equals(uid)) { @@ -583,7 +590,7 @@ page = page.substring(1); - System.out.println("Looking at page: (realName) "+page); + //System.out.println("Looking at page: (realName) "+page); if (!wikiPageDictionary.getRealName(page).equals(page)) // this // page @@ -603,7 +610,7 @@ public String getUid(String realName) { String[] pageTokens = realName.split("/"); - System.out.println("Looking at page: (uid) "+realName); + //System.out.println("Looking at page: (uid) "+realName); if (pageTokens.length > 1) { if (!wikiPageDictionary.getUid(realName).equals(realName)) { @@ -627,7 +634,7 @@ page = page.substring(1); - System.out.println("Looking at page: (uid) "+page); + //System.out.println("Looking at page: (uid) "+page); if (!wikiPageDictionary.getUid(page).equals(page)) // this // page @@ -644,7 +651,7 @@ } public void rename(String uid, String newName) { - wikiPageDictionary.rename(uid, newName); + //wikiPageDictionary.rename(uid, newName); } public boolean deleteAttachment(String pageName, String attName) { Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RecentlyChangedPagesPlugin.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RecentlyChangedPagesPlugin.java 2005-10-04 20:20:36 UTC (rev 1273) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/RecentlyChangedPagesPlugin.java 2005-10-04 21:07:59 UTC (rev 1274) @@ -13,8 +13,9 @@ public class RecentlyChangedPagesPlugin extends WikiPlugin { private int numOfDays = 30; // just initialization if sth goes wrong. Real - // number is taken from wikiPlugin.properties + // number is taken from wikiPlugin.properties + @Override public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { StringBuilder recentChanges = new StringBuilder(); @@ -38,6 +39,7 @@ for (String name : pages) { WikiPage temp = wikiEngine.getByName(name, null); + System.out.println("name: "+name+" "+temp.getName()); then.setTime(temp.getEditDate()); then.add(Calendar.DAY_OF_MONTH, numOfDays); @@ -46,7 +48,7 @@ // this page has been edited in last numOfDays days Calendar cal = Calendar.getInstance(); String key; - + cal.setTime(temp.getEditDate()); String month = String.valueOf(cal.get(Calendar.MONTH) + 1); @@ -69,6 +71,7 @@ sortedByDate.get(key).add(temp.getName()); } } + } // add pages to recentChanges page |
Author: adamw Date: 2005-10-04 16:20:36 -0400 (Tue, 04 Oct 2005) New Revision: 1273 Added: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/HistoricNodeContent.java Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistory.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java Log: Further history implementation Added: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/HistoricNodeContent.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/HistoricNodeContent.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/HistoricNodeContent.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -0,0 +1,21 @@ +package org.jboss.shotoku.svn; + +import java.util.Map; + +public class HistoricNodeContent { + private String content; + private Map<String, String> properties; + + public HistoricNodeContent(String content, Map<String, String> properties) { + this.content = content; + this.properties = properties; + } + + public String getContent() { + return content; + } + + public Map<String, String> getProperties() { + return properties; + } +} Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -2,11 +2,13 @@ import java.io.File; import java.io.InputStream; +import java.io.PrintWriter; import java.util.Date; import java.util.Map; import org.jboss.shotoku.Directory; import org.jboss.shotoku.exceptions.NodeReadOnly; +import org.jboss.shotoku.exceptions.RepositoryException; public class SvnHistoricNode extends SvnNode { private String logMessage; @@ -14,21 +16,37 @@ private long revisionAbsolute; private int revisionRelative; private Map<String, String> properties; + private String content; public SvnHistoricNode(String id, String fullPath, File file, String name, Date commitDate, String logMessage, long revisionAbsolute, - int revisionRelative, Map<String, String> properties) { + int revisionRelative) { super(id, fullPath, file, name); this.logMessage = logMessage; this.commitDate = commitDate; this.revisionAbsolute = revisionAbsolute; this.revisionRelative = revisionRelative; - this.properties = properties; } + private void loadContentAndProperties() { + HistoricNodeContent hnc; + try { + hnc = service.getNodeAtRevision(id, fullPath, + revisionAbsolute); + } catch (SvnOperationFailed e) { + throw new RepositoryException(e); + } + + content = hnc.getContent(); + properties = hnc.getProperties(); + } + public String getContent() { - throw new RuntimeException("Operation not yet implemented"); + if (content == null) + loadContentAndProperties(); + + return content; } public int getRevisionNumber() { @@ -48,6 +66,9 @@ } public String getProperty(String name) { + if (content == null) + loadContentAndProperties(); + return properties.get(name); } @@ -59,8 +80,20 @@ return logMessage; } - public void copyToFile(String arg0) { - throw new RuntimeException("Operation not yet implemented"); + public void copyToFile(String path) { + File target = new File(path); + + PrintWriter pw; + + try { + target.createNewFile(); + pw = new PrintWriter(target); + } catch (Exception e) { + throw new RepositoryException(e); + } + + pw.print(content); + pw.close(); } public void setContent(String content) { Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistory.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistory.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistory.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -5,15 +5,21 @@ import org.jboss.shotoku.NodeList; public class SvnHistory implements History { + private NodeList nodes; + + public SvnHistory(NodeList nodes) { + this.nodes = nodes; + } + public int getRevisionsCount() { - return 0; + return nodes.toList().size(); } - public Node getNodeAtRevision(int arg0) { - return null; + public Node getNodeAtRevision(int index) { + return nodes.toList().get(index); } public NodeList getAllRevisions() { - return null; + return nodes; } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -1,9 +1,13 @@ package org.jboss.shotoku.svn; import java.io.File; +import java.util.ArrayList; +import java.util.List; import org.jboss.shotoku.History; import org.jboss.shotoku.Node; +import org.jboss.shotoku.NodeList; +import org.jboss.shotoku.exceptions.RepositoryException; public abstract class SvnNode extends AbstractSvnResource implements Node { public SvnNode(String id, String fullPath, File file, String name) { @@ -11,6 +15,22 @@ } public History getHistory() { - throw new RuntimeException("Operation not yet implemented"); + List<RevisionInfo> revisions; + + try { + revisions = service.getRevisionInfo(id, fullPath); + } catch (SvnOperationFailed e) { + throw new RepositoryException(e); + } + + List<Node> nodes = new ArrayList<Node>(); + int revisionRelative = 0; + for (RevisionInfo revision : revisions) { + nodes.add(new SvnHistoricNode(id, fullPath, file, + name, revision.getDate(), revision.getMessage(), + revision.getRevision(), revisionRelative++)); + } + + return new SvnHistory(new NodeList(nodes)); } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -81,44 +81,15 @@ * @param path * Path to a file to get the revision of. * @param revision - * Number of the revision to get (revisions are counted from 1 - * with step 1). + * Number of the revision to get (svn revision number). * @return String representation of this node's content at the given * revision or null, if this node does not have the given revision. * @throws SvnOperationFailed */ - public abstract String getNodeAtRevision(String id, String path, - int revision) throws SvnOperationFailed; + public abstract HistoricNodeContent getNodeAtRevision(String id, String path, + long revision) throws SvnOperationFailed; /** - * Gets a log message with which the given revision was commited. - * - * @param id - * Id of the repository. - * @param revision - * Number of the revision (svn revision number). - * @return Log message with which the given reivison was commited or null, - * if no such revision exists. - * @throws SvnOperationFailed - */ - public abstract String getLogMessage(String id, String revision) - throws SvnOperationFailed; - - /** - * Gets the number of revisions of a given path. - * - * @param id - * Id of the repository. - * @param path - * Path for which to determine the number of revisions (number of - * different versions). - * @return Number of revisions of a given path. - * @throws SvnOperationFailed - */ - public abstract int getRevisionCount(String id, String path) - throws SvnOperationFailed; - - /** * Deletes a given path (node/ directory) from the repository. The resource * is automatically added to a commite queue. * Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -1,5 +1,6 @@ package org.jboss.shotoku.svn.service; +import java.io.ByteArrayOutputStream; import java.io.File; import java.util.ArrayList; import java.util.Collections; @@ -9,6 +10,7 @@ import java.util.concurrent.Semaphore; import org.apache.log4j.Logger; +import org.jboss.shotoku.svn.HistoricNodeContent; import org.jboss.shotoku.svn.RevisionInfo; import org.jboss.shotoku.svn.SvnOperationFailed; import org.jboss.shotoku.svn.service.operations.DelayedOperation; @@ -16,6 +18,8 @@ import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNLogEntry; import org.tmatesoft.svn.core.SVNURL; +import org.tmatesoft.svn.core.io.SVNRepository; +import org.tmatesoft.svn.core.io.SVNRepositoryFactory; import org.tmatesoft.svn.core.wc.ISVNOptions; import org.tmatesoft.svn.core.wc.ISVNPropertyHandler; import org.tmatesoft.svn.core.wc.SVNClientManager; @@ -34,6 +38,7 @@ private static final Logger log = Logger.getLogger(SvnRepository.class); private SVNClientManager ourClientManager; + private SVNRepository repository; private String url; private String localpath; private File wc; @@ -46,6 +51,16 @@ ourClientManager = SVNClientManager.newInstance(options, username, password); + try { + repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded( + url)); + repository.setAuthenticationManager( + SVNWCUtil.createDefaultAuthenticationManager(username, + password)); + } catch (SVNException e) { + log.warn("Error while creating SVNRepoistory.", e); + } + this.url = url; this.localpath = localpath; @@ -228,4 +243,18 @@ throw new SvnOperationFailed(e); } } + + public HistoricNodeContent getNodeAtRevision(String path, long revision) + throws SvnOperationFailed { + Map<String, String> properties = new HashMap<String, String>(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + try { + repository.getFile(path, revision, properties, baos); + } catch (SVNException e) { + throw new SvnOperationFailed(e); + } + + return new HistoricNodeContent(baos.toString(), properties); + } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-04 18:58:53 UTC (rev 1272) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-04 20:20:36 UTC (rev 1273) @@ -12,6 +12,7 @@ import org.apache.xerces.parsers.DOMParser; import org.jboss.annotation.ejb.Service; import org.jboss.shotoku.Tools; +import org.jboss.shotoku.svn.HistoricNodeContent; import org.jboss.shotoku.svn.RevisionInfo; import org.jboss.shotoku.svn.SvnOperationFailed; import org.jboss.shotoku.svn.SvnService; @@ -156,18 +157,11 @@ return repositories.get(id).getProperty(path, name); } - public String getNodeAtRevision(String id, String path, int revision) { - return null; + public HistoricNodeContent getNodeAtRevision(String id, String path, + long revision) throws SvnOperationFailed { + return repositories.get(id).getNodeAtRevision(path, revision); } - public String getLogMessage(String id, String path) { - return null; - } - - public int getRevisionCount(String id, String path) { - return 0; - } - public void delete(String id, String path) { SvnRepository repo = repositories.get(id); repo.addDelayedOperation(new DeleteDelayedOperation(repo, path)); |
Author: adamw Date: 2005-10-04 14:58:53 -0400 (Tue, 04 Oct 2005) New Revision: 1272 Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java Log: Fix that will make tomek's code compile? Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java 2005-10-04 18:02:32 UTC (rev 1271) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHeadNode.java 2005-10-04 18:58:53 UTC (rev 1272) @@ -12,7 +12,6 @@ import java.nio.charset.Charset; import org.jboss.shotoku.Directory; -import org.jboss.shotoku.History; import org.jboss.shotoku.exceptions.RepositoryException; public class SvnHeadNode extends SvnNode { @@ -46,10 +45,6 @@ newContent = content; } - public History getHistory() { - throw new RuntimeException("Operation not yet implemented"); - } - public int getRevisionNumber() { throw new RuntimeException("Operation not yet implemented"); } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java 2005-10-04 18:02:32 UTC (rev 1271) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnHistoricNode.java 2005-10-04 18:58:53 UTC (rev 1272) @@ -2,26 +2,37 @@ import java.io.File; import java.io.InputStream; +import java.util.Date; +import java.util.Map; import org.jboss.shotoku.Directory; -import org.jboss.shotoku.History; import org.jboss.shotoku.exceptions.NodeReadOnly; public class SvnHistoricNode extends SvnNode { - public SvnHistoricNode(String id, String fullPath, File file, String name) { + private String logMessage; + private Date commitDate; + private long revisionAbsolute; + private int revisionRelative; + private Map<String, String> properties; + + public SvnHistoricNode(String id, String fullPath, File file, String name, + Date commitDate, String logMessage, long revisionAbsolute, + int revisionRelative, Map<String, String> properties) { super(id, fullPath, file, name); + + this.logMessage = logMessage; + this.commitDate = commitDate; + this.revisionAbsolute = revisionAbsolute; + this.revisionRelative = revisionRelative; + this.properties = properties; } public String getContent() { throw new RuntimeException("Operation not yet implemented"); } - public History getHistory() { - throw new RuntimeException("Operation not yet implemented"); - } - public int getRevisionNumber() { - throw new RuntimeException("Operation not yet implemented"); + return revisionRelative; } public InputStream getContentInputStream() { @@ -33,11 +44,11 @@ } public long getLastModfication() { - throw new RuntimeException("Operation not yet implemented"); + return commitDate.getTime(); } - public String getProperty(String arg0) { - throw new RuntimeException("Operation not yet implemented"); + public String getProperty(String name) { + return properties.get(name); } public Directory getParent() { @@ -45,6 +56,10 @@ } public String getLogMessage() { + return logMessage; + } + + public void copyToFile(String arg0) { throw new RuntimeException("Operation not yet implemented"); } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java 2005-10-04 18:02:32 UTC (rev 1271) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNode.java 2005-10-04 18:58:53 UTC (rev 1272) @@ -2,6 +2,7 @@ import java.io.File; +import org.jboss.shotoku.History; import org.jboss.shotoku.Node; public abstract class SvnNode extends AbstractSvnResource implements Node { @@ -9,7 +10,7 @@ super(id, fullPath, file, name); } - public void copyToFile(String arg0) { + public History getHistory() { throw new RuntimeException("Operation not yet implemented"); } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 18:02:32 UTC (rev 1271) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 18:58:53 UTC (rev 1272) @@ -217,8 +217,7 @@ SVNRevision.create(0), SVNRevision.HEAD, false, false, 999999, new ISVNLogEntryHandler() { - public void handleLogEntry(SVNLogEntry entry) - throws SVNException { + public void handleLogEntry(SVNLogEntry entry) { ret.add(new RevisionInfo(entry.getDate(), entry.getAuthor(), entry.getRevision())); } |
From: <jbo...@li...> - 2005-10-04 17:42:14
|
Author: aron.gombas Date: 2005-10-04 13:41:50 -0400 (Tue, 04 Oct 2005) New Revision: 1270 Modified: trunk/labs/kosmos/xdocs/others/welcome.txt Log: Rewritten "welcome" file Modified: trunk/labs/kosmos/xdocs/others/welcome.txt =================================================================== --- trunk/labs/kosmos/xdocs/others/welcome.txt 2005-10-04 12:51:10 UTC (rev 1269) +++ trunk/labs/kosmos/xdocs/others/welcome.txt 2005-10-04 17:41:50 UTC (rev 1270) @@ -6,8 +6,16 @@ Visit for latest info: http://labs.jboss.com/projects/kosmos -Bug reports: see Kosmos JIRA -Free technical support: see Kosmos Forums +Subversion repository: https://svn.labs.jboss.com/trunk/labs/kosmos/ -Commercial support: http://www.midori.hu \ No newline at end of file +Anonymous Subversion repository: http://anonsvn.labs.jboss.com/trunk/labs/kosmos + +Bug reports: http://jira.jboss.com/jira/browse/KOSMOS + +Free technical support: http://www.jboss.com/index.html?module=bb&op=viewforum&f=225 + +Wiki: http://labs.jboss.com/portal/index.html?ctrl:id=window.default.WikiPortletWindow&ctrl:type=action&page=Kosmos&project=kosmos + + +Professional support: in...@mi... |
From: <jbo...@li...> - 2005-10-04 12:51:15
|
Author: aron.gombas Date: 2005-10-04 08:51:10 -0400 (Tue, 04 Oct 2005) New Revision: 1269 Modified: trunk/labs/kosmos/build/kosmos-project.properties Log: Verno set to 0.1.0 Modified: trunk/labs/kosmos/build/kosmos-project.properties =================================================================== --- trunk/labs/kosmos/build/kosmos-project.properties 2005-10-04 12:49:35 UTC (rev 1268) +++ trunk/labs/kosmos/build/kosmos-project.properties 2005-10-04 12:51:10 UTC (rev 1269) @@ -1,3 +1,3 @@ project.name=Kosmos project.name.short=kosmos -project.version=0.1.0RC5 +project.version=0.1.0 |
From: <jbo...@li...> - 2005-10-04 12:49:42
|
Author: aron.gombas Date: 2005-10-04 08:49:35 -0400 (Tue, 04 Oct 2005) New Revision: 1268 Modified: trunk/labs/kosmos/xdocs/reference/reference-manual.xml Log: Modified: trunk/labs/kosmos/xdocs/reference/reference-manual.xml =================================================================== --- trunk/labs/kosmos/xdocs/reference/reference-manual.xml 2005-10-04 08:29:57 UTC (rev 1267) +++ trunk/labs/kosmos/xdocs/reference/reference-manual.xml 2005-10-04 12:49:35 UTC (rev 1268) @@ -1015,7 +1015,8 @@ <orderedlist> <listitem> - <para>You have to downgrade the <filename>$LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/lib/commons-logging-1.0.4.jar</filename> to <filename>commons-logging-1.0.3.jar</filename> (downloadable from <ulink url="http://www.ibiblio.org/maven/commons-logging/jars/">http://www.ibiblio.org/maven/commons-logging/jars/</ulink>) if Liferay throws a <literal>java.lang.NoSuchMethodError: org.apache.log4j.Category.log(Ljava/lang/String;Lorg/apache/log4j/Level;Ljava/lang/Object;Ljava/lang/Throwable;)V</literal> + <para>You have to downgrade the <filename>$LIFERAY_HOME/webapps/kosmos-portlet/WEB-INF/lib/commons-logging-1.0.4.jar</filename> to <filename>commons-logging-1.0.3.jar</filename> (downloadable from <ulink url="http://www.ibiblio.org/maven/commons-logging/jars/">http://www.ibiblio.org/maven/commons-logging/jars/</ulink>) if Liferay throws a <literal>java.lang.NoSuchMethodError: org.apache.log4j.Category.log(Ljava/lang/String;Lorg/apache/log4j/Level;Ljava/lang/Object;Ljava/lang/Throwable;)V</literal>. + The same exception can be thrown also for the kosmos-servlet web-application, the fix is the same: downgrade the same JAR also in <filename>$LIFERAY_HOME/webapps/kosmos-server/WEB-INF/lib</filename>. </para> </listitem> |
Author: adamw Date: 2005-10-04 04:29:57 -0400 (Tue, 04 Oct 2005) New Revision: 1267 Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/ trunk/forge/portal-extensions/shotoku/shotoku-aop/maven.xml trunk/forge/portal-extensions/shotoku/shotoku-aop/project.properties trunk/forge/portal-extensions/shotoku/shotoku-aop/project.xml trunk/forge/portal-extensions/shotoku/shotoku-aop/src/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/RevisionInfo.java Modified: trunk/forge/portal-extensions/shotoku/maven.xml trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/AbstractResource.java 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/Directory.java trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/History.java trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Node.java trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/NodeList.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewDirectory.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewNode.java trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java trunk/forge/portal-extensions/shotoku/shotoku-test/project.xml trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/SimpleDirectoryTest.java trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java Log: aop for shotoku (not working), first history fragments Modified: trunk/forge/portal-extensions/shotoku/maven.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/maven.xml 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/maven.xml 2005-10-04 08:29:57 UTC (rev 1267) @@ -17,6 +17,9 @@ <maven:reactor includes="${prefix}shotoku-base/project.xml" excludes="" basedir="." banner="Shotoku base" goals="${goal}" ignoreFailures="false" /> + <maven:reactor includes="${prefix}shotoku-aop/project.xml" excludes="" basedir="." + banner="Shotoku base aop" + goals="${goal}" ignoreFailures="false" /> <maven:reactor includes="${prefix}shotoku-svn/project.xml" excludes="" basedir="." banner="Shotoku svn" goals="${goal}" ignoreFailures="false" /> Property changes on: trunk/forge/portal-extensions/shotoku/shotoku-aop ___________________________________________________________________ Name: svn:ignore + target .project .classpath .settings Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/maven.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/maven.xml 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/maven.xml 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,40 @@ +<!-- + JBoss, the OpenSource J2EE webOS + Distributable under LGPL license. + See terms of license at gnu.org. + --> +<project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:u="jelly:util"> + <goal name="all"> + <attainGoal name="clean" /> + <attainGoal name="build" /> + <attainGoal name="deploy" /> + </goal> + + <goal name="build"> + <attainGoal name="jar" /> + <ant:copy file="target/shotoku-aop-1.0.jar" + tofile="target/shotoku-aop.aop" /> + <ant:copy + file="target/shotoku-aop-1.0.jar" + tofile="${maven.repo.local}/shotoku/jars/shotoku-aop.jar" + flatten="true" + overwrite="true" /> + </goal> + + <goal name="deploy"> + <ant:copy todir="${local.deploy.dir}" overwrite="true" flatten="true"> + <ant:fileset dir="target"> + <ant:filename name="*.aop" /> + </ant:fileset> + </ant:copy> +<!-- <ant:copy todir="${local.deploy.dir}" overwrite="true" flatten="true"> + <ant:fileset dir="src/etc"> + <ant:filename name="*.xml" /> + </ant:fileset> + </ant:copy>--> + </goal> + + <goal name="clean"> + <attainGoal name="prj-clean" /> + </goal> +</project> Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/project.properties =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/project.properties 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/project.properties 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,3 @@ +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 Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/project.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/project.xml 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/project.xml 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,43 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- + JBoss, the OpenSource J2EE webOS + Distributable under LGPL license. + See terms of license at gnu.org. + --> +<project> + <pomVersion>3</pomVersion> + <extend>../../empty.xml</extend> + <id>shotoku-aop</id> + <name>Shotoku base aop</name> + <currentVersion>1.0</currentVersion> + <organization> + <name>Adam Warski</name> + <url>http://mamut.net.pl</url> + </organization> + <description></description> + + <dependencies> + <dependency> + <groupId>shotoku</groupId> + <artifactId>shotoku-base</artifactId> + <jar>shotoku-base.jar</jar> + </dependency> + + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-aop</artifactId> + <version>1.0</version> + <jar>jboss-aop.jar</jar> + </dependency> + </dependencies> + + <build> + <sourceDirectory>src/java</sourceDirectory> + <resources> + <resource> + <directory>src/etc/</directory> + <include>**/*.xml</include> + </resource> + </resources> + </build> +</project> Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/etc/META-INF/jboss-aop.xml 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,8 @@ +<aop> + <aspect class="org.jboss.shotoku.aop.DependsAspect"/> + + <bind pointcut="field(org.jboss.shotoku.ContentManager *->@org.jboss.shotoku.aop.Depends)"> + <advice name="access" aspect="org.jboss.shotoku.aop.DependsAspect"/> + </bind> +</aop> + Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/Depends.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,12 @@ +package org.jboss.shotoku.aop; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface Depends { + +} Added: trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-aop/src/java/org/jboss/shotoku/aop/DependsAspect.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,27 @@ +package org.jboss.shotoku.aop; + +import org.jboss.aop.joinpoint.*; +import org.jboss.shotoku.ContentManager; + +public class DependsAspect { + public Object access(FieldReadInvocation invocation) throws Throwable { + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("ACCESS"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + System.out.println("-"); + return ContentManager.getContentManager(); + } + + public Object access(FieldWriteInvocation invocation) throws Throwable { + throw new RuntimeException("Setting a @Depends variable is illegal"); + } +} Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/AbstractResource.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/AbstractResource.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/AbstractResource.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -3,8 +3,8 @@ import org.jboss.shotoku.exceptions.RepositoryException; /** + * Common parts of nodes and directories interface. * @author adamw - * Common parts of nodes and directories interface. */ public interface AbstractResource { /** 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-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/ContentManager.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -13,7 +13,8 @@ import org.xml.sax.InputSource; /** - * @author adamw A base class which provides access to nodes and directories. + * A base class which provides access to nodes and directories. + * @author adamw */ public abstract class ContentManager { /** Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Directory.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Directory.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Directory.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -7,9 +7,10 @@ import org.jboss.shotoku.exceptions.ResourceDoesNotExist; /** - * @author adamw Interface that must be implemented by classes which represent - * directories, that is resources, which can contain other directories - * and nodes. + * Interface that must be implemented by classes which represent directories, + * that is resources, which can contain other directories and nodes. + * + * @author adamw */ public interface Directory extends AbstractResource { /** @@ -27,7 +28,7 @@ * @throws RepositoryException */ public List<Directory> getDirectories() throws RepositoryException; - + /** * Gets a node from the given directory with the given name. * @@ -35,7 +36,7 @@ * @throws RepositoryException */ public Node getNode(String name) throws RepositoryException, - ResourceDoesNotExist; + ResourceDoesNotExist; /** * Gets a node from the given directory with the given name. @@ -44,7 +45,7 @@ * @throws RepositoryException */ public Directory getDirectory(String name) throws RepositoryException, - ResourceDoesNotExist; + ResourceDoesNotExist; /** * Creates and returns a new node in this directory. Only after saving, this @@ -61,9 +62,8 @@ /** * Creates a new directory in this directory. Only after saving this - * directory, it will be visible by other functions and persisted. - * Also, new nodes/ directories in it will be possible to create only - * after saving. + * directory, it will be visible by other functions and persisted. Also, new + * nodes/ directories in it will be possible to create only after saving. * * @param name * Name of the directory to create. Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/History.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/History.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/History.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -4,8 +4,10 @@ import org.jboss.shotoku.exceptions.ResourceDoesNotExist; /** - * @author adamw An interface that should be implemented by classes which - * represent a node's history. + * An interface that should be implemented by classes which represent a node's + * history. + * + * @author adamw */ public interface History { /** Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Node.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Node.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/Node.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -5,9 +5,10 @@ import org.jboss.shotoku.exceptions.RepositoryException; /** - * @author adamw An interface which should be implemented by classes - * representing a node, that is a resource, which is versionable and has - * some text content. + * An interface which should be implemented by classes representing a node, that + * is a resource, which is versionable and has some text content. + * + * @author adamw */ public interface Node extends AbstractResource { /** Modified: trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/NodeList.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/NodeList.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-base/src/java/org/jboss/shotoku/NodeList.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -4,38 +4,42 @@ import java.util.List; /** + * A class representing a list of nodes and providing the possibility to + * manipulate these nodes. + * * @author adamw - * A class representing a list of nodes and providing the possibility to - * manipulate these nodes. */ public class NodeList { private List<Node> nodeList; - + public NodeList() { nodeList = new ArrayList<Node>(); } - + public NodeList(List<Node> nodeList) { this.nodeList = nodeList; } - + /** * Adds the given node to the node list. - * @param node Node to add. + * + * @param node + * Node to add. */ public void add(Node node) { nodeList.add(node); } - + /** * Gets a <code>java.util.List</code> representation of this node list. + * * @return A <code>java.util.List</code> representation of this node list. */ public List<Node> toList() { return nodeList; } - + /* - * public InputStream getFeed(Template velocityTemplate); + * public InputStream getFeed(Template velocityTemplate); */ } Added: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/RevisionInfo.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/RevisionInfo.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/RevisionInfo.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -0,0 +1,31 @@ +package org.jboss.shotoku.svn; + +import java.util.Date; + +/** + * A class holding information about a single revision of some file. + * @author adamw + */ +public class RevisionInfo { + Date date; + String message; + long revision; + + public RevisionInfo(Date date, String message, long revision) { + this.date = date; + this.message = message; + this.revision = revision; + } + + public Date getDate() { + return date; + } + + public String getMessage() { + return message; + } + + public long getRevision() { + return revision; + } +} Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewDirectory.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewDirectory.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewDirectory.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -96,7 +96,12 @@ } else { service.getWriteLock(id, fullPath); - file.mkdir(); + if (!file.mkdir()) { + service.putWriteLock(id, fullPath); + throw new RepositoryException( + "Could not create directory: " + + file.getAbsolutePath()); + } try { service.add(id, fullPath); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewNode.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewNode.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnNewNode.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -97,7 +97,7 @@ super.save(logMessage); else { service.getWriteLock(id, fullPath); - + try { if (!file.createNewFile()) { service.putWriteLock(id, fullPath); Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn/src/java/org/jboss/shotoku/svn/SvnService.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -1,118 +1,180 @@ package org.jboss.shotoku.svn; +import java.util.List; + public abstract interface SvnService { /** * Gets an exclusive write lock for a given path. The lock should be - * requiered before making any changes to the file. Later, the file - * must be added for a commit, unless an exception is thrown. After - * commiting the file, the lock is released. - * @param id Id of the repository. - * @param path Path to lock. + * requiered before making any changes to the file. Later, the file must be + * added for a commit, unless an exception is thrown. After commiting the + * file, the lock is released. + * + * @param id + * Id of the repository. + * @param path + * Path to lock. */ public abstract void getWriteLock(String id, String path); + /** - * Puts an earlier acquiered exclusive write lock for a given path. - * This should be called only in case of an internal node-implementation - * exeception that occures while saving. - * @param id Id of the repository. - * @param path Path to release the lock for. + * Puts an earlier acquiered exclusive write lock for a given path. This + * should be called only in case of an internal node-implementation + * exeception that occures while saving. + * + * @param id + * Id of the repository. + * @param path + * Path to release the lock for. */ public abstract void putWriteLock(String id, String path); + /** - * Adds the given path to a commite quese of a repository with the - * given id. - * @param id Id of the repository. - * @param path Path to commit. - * @param logMessage Log message to commit with. + * Adds the given path to a commite quese of a repository with the given id. + * + * @param id + * Id of the repository. + * @param path + * Path to commit. + * @param logMessage + * Log message to commit with. * @throws SvnOperationFailed */ public abstract void commit(String id, String path, String logMessage) - throws SvnOperationFailed; + throws SvnOperationFailed; + /** - * Sets a property on the given path. - * @param id Id of the repository. - * @param path Path to set the property on. - * @param name Name of the property to set. - * @param value Value of the property to set. + * Sets a property on the given path. + * + * @param id + * Id of the repository. + * @param path + * Path to set the property on. + * @param name + * Name of the property to set. + * @param value + * Value of the property to set. * @throws SvnOperationFailed */ public abstract void setProperty(String id, String path, String name, - String value) throws SvnOperationFailed; + String value) throws SvnOperationFailed; + /** * Gets a property from the given path. - * @param id Id of the repository. - * @param path Path to get the property from. - * @param name Name of the property to get. + * + * @param id + * Id of the repository. + * @param path + * Path to get the property from. + * @param name + * Name of the property to get. * @return Value of the property or null, if it is not set. * @throws SvnOperationFailed */ public abstract String getProperty(String id, String path, String name) - throws SvnOperationFailed; + throws SvnOperationFailed; + /** * Gets content of a node at the specified revision. - * @param id Id of the repository. - * @param path Path to a file to get the revision of. - * @param revision Number of the revision to get (revisions are counted - * from 1 with step 1). + * + * @param id + * Id of the repository. + * @param path + * Path to a file to get the revision of. + * @param revision + * Number of the revision to get (revisions are counted from 1 + * with step 1). * @return String representation of this node's content at the given - * revision or null, if this node does not have the given revision. + * revision or null, if this node does not have the given revision. * @throws SvnOperationFailed */ - public abstract String getNodeAtRevision(String id, String path, - int revision) throws SvnOperationFailed; + public abstract String getNodeAtRevision(String id, String path, + int revision) throws SvnOperationFailed; + /** * Gets a log message with which the given revision was commited. - * @param id Id of the repository. - * @param revision Number of the revision (svn revision number). - * @return Log message with which the given reivison was commited - * or null, if no such revision exists. + * + * @param id + * Id of the repository. + * @param revision + * Number of the revision (svn revision number). + * @return Log message with which the given reivison was commited or null, + * if no such revision exists. * @throws SvnOperationFailed */ public abstract String getLogMessage(String id, String revision) - throws SvnOperationFailed; + throws SvnOperationFailed; + /** * Gets the number of revisions of a given path. - * @param id Id of the repository. - * @param path Path for which to determine the number of revisions - * (number of different versions). + * + * @param id + * Id of the repository. + * @param path + * Path for which to determine the number of revisions (number of + * different versions). * @return Number of revisions of a given path. * @throws SvnOperationFailed */ public abstract int getRevisionCount(String id, String path) - throws SvnOperationFailed; + throws SvnOperationFailed; + /** - * Deletes a given path (node/ directory) from the repository. The - * resource is automatically added to a commite queue. - * @param id Id of the repository. - * @param path Path to delete. + * Deletes a given path (node/ directory) from the repository. The resource + * is automatically added to a commite queue. + * + * @param id + * Id of the repository. + * @param path + * Path to delete. * @throws SvnOperationFailed */ public abstract void delete(String id, String path) - throws SvnOperationFailed; + throws SvnOperationFailed; + /** - * Adds a given path (node/ directory) to a repository. The resource - * is automatically added to a commite queue. - * @param id Id of the repository. - * @param path Path to add. + * Adds a given path (node/ directory) to a repository. The resource is + * automatically added to a commite queue. + * + * @param id + * Id of the repository. + * @param path + * Path to add. * @throws SvnOperationFailed */ - public abstract void add(String id, String path) - throws SvnOperationFailed; + public abstract void add(String id, String path) throws SvnOperationFailed; + /** * Gets a full path on the file system to a resource with the given * repository-path. - * @param id Id of the repository. - * @param path Path to the resource. + * + * @param id + * Id of the repository. + * @param path + * Path to the resource. * @return A full path on the file system to the given resource (represented - * by a path). + * by a path). * @throws SvnOperationFailed */ public abstract String getFileSystemPath(String id, String path) - throws SvnOperationFailed; - + throws SvnOperationFailed; + /** - * <code>SVN_SERVICE_NAME</code> - name under which the svn service - * is registered. + * Gets all revision information of the specified resource. + * + * @param id + * Id of the repository. + * @param path + * Path to the resource. + * @return An array of revision information of subsequent revisions of the + * given resource. + * @throws SvnOperationFailed */ + public abstract List<RevisionInfo> getRevisionInfo(String id, String path) + throws SvnOperationFailed; + + /** + * <code>SVN_SERVICE_NAME</code> - name under which the svn service is + * registered. + */ public final static String SVN_SERVICE_NAME = "shotoku:service=svn"; } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -9,9 +9,12 @@ import java.util.concurrent.Semaphore; import org.apache.log4j.Logger; +import org.jboss.shotoku.svn.RevisionInfo; import org.jboss.shotoku.svn.SvnOperationFailed; import org.jboss.shotoku.svn.service.operations.DelayedOperation; +import org.tmatesoft.svn.core.ISVNLogEntryHandler; import org.tmatesoft.svn.core.SVNException; +import org.tmatesoft.svn.core.SVNLogEntry; import org.tmatesoft.svn.core.SVNURL; import org.tmatesoft.svn.core.wc.ISVNOptions; import org.tmatesoft.svn.core.wc.ISVNPropertyHandler; @@ -170,12 +173,14 @@ try { File file = new File(getFileSystemPath(path)); + SVNStatusType currentStatus = ourClientManager.getStatusClient(). + doStatus(file, false).getContentsStatus(); + // Checking if this item is under version control // already. If not - returning null, as it cannot have // any saved properties. - if (SVNStatusType.STATUS_UNVERSIONED == - ourClientManager.getStatusClient().doStatus(file, false). - getContentsStatus()) + if ((currentStatus == SVNStatusType.STATUS_UNVERSIONED) || + (currentStatus == SVNStatusType.UNKNOWN)) return null; SVNPropertyData data = @@ -185,12 +190,8 @@ return data == null ? null : data.getValue(); } catch (SVNException e) { - /*e.printStackTrace(); - throw new SvnOperationFailed(e);*/ - - // TODO - sometimes "svn status" returns "M", but getProperty throws - // a "not under version control" exception. - return null; + e.printStackTrace(); + throw new SvnOperationFailed(e); } } @@ -204,4 +205,28 @@ throw new SvnOperationFailed(e); } } + + public List<RevisionInfo> getRevisionInfo(String path) + throws SvnOperationFailed { + File f = new File(getFileSystemPath(path)); + try { + final List<RevisionInfo> ret = new ArrayList<RevisionInfo>(); + + // TODO: check the maximum number. + ourClientManager.getLogClient().doLog(new File[] { f }, + SVNRevision.create(0), SVNRevision.HEAD, false, + false, 999999, + new ISVNLogEntryHandler() { + public void handleLogEntry(SVNLogEntry entry) + throws SVNException { + ret.add(new RevisionInfo(entry.getDate(), + entry.getAuthor(), entry.getRevision())); + } + }); + + return ret; + } catch (SVNException e) { + throw new SvnOperationFailed(e); + } + } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-svn-service/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -1,6 +1,7 @@ package org.jboss.shotoku.svn.service; import java.util.HashMap; +import java.util.List; import java.util.Map; @@ -11,6 +12,7 @@ import org.apache.xerces.parsers.DOMParser; import org.jboss.annotation.ejb.Service; import org.jboss.shotoku.Tools; +import org.jboss.shotoku.svn.RevisionInfo; import org.jboss.shotoku.svn.SvnOperationFailed; import org.jboss.shotoku.svn.SvnService; import org.jboss.shotoku.svn.service.operations.AddDelayedOperation; @@ -179,4 +181,9 @@ public String getFileSystemPath(String id, String path) { return repositories.get(id).getFileSystemPath(path); } + + public List<RevisionInfo> getRevisionInfo(String id, String path) + throws SvnOperationFailed { + return repositories.get(id).getRevisionInfo(path); + } } Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/project.xml =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/project.xml 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/project.xml 2005-10-04 08:29:57 UTC (rev 1267) @@ -28,6 +28,15 @@ <dependency> <groupId>shotoku</groupId> + <artifactId>shotoku-aop</artifactId> + <jar>shotoku-aop.jar</jar> + <!-- <properties> + <war.bundle>true</war.bundle> + </properties>--> + </dependency> + + <dependency> + <groupId>shotoku</groupId> <artifactId>shotoku-svn</artifactId> <jar>shotoku-svn.jar</jar> <properties> Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/SimpleDirectoryTest.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/SimpleDirectoryTest.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/SimpleDirectoryTest.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -5,7 +5,7 @@ import org.jboss.shotoku.exceptions.ResourceDoesNotExist; public class SimpleDirectoryTest extends ShotokuTest { - public void testAddDeleteDirectory() { + /*public void testAddDeleteDirectory() { // Creating the directory. Directory newDir = cm.getRootDirectory().newDirectory("new-dir-test"); @@ -25,7 +25,7 @@ assertTrue("test".equals(cm.getNode( "new-dir-test/node2").getContent())); - } + }*/ public void testNames() { // Checking name of the root directory. @@ -34,7 +34,7 @@ Directory newDir = cm.getRootDirectory().newDirectory("new-dir-test"); newDir.save("new-dir-test"); Node newNode = newDir.newNode("new-node"); - newNode.save("new-node-test"); + newNode.save("new-node"); // Checking name of a new directory. assertTrue("new-dir-test".equals(newDir.getName())); @@ -45,9 +45,16 @@ assertTrue("new-node".equals(newNode.getName())); assertTrue("new-node".equals(cm.getRootDirectory().getDirectory( "new-dir-test").getNode("new-node").getName())); + + // TODO: + /* This tests passes, but causes an exception in the service. That's because + * the directory gets deleted after the tests, but before the node commit. + * A solution would be: locking a path a/b/c would also paths a/b/c/d to be + * locked. */ } - public void tearDown() { + @Override + protected void tearDown() { try { Directory newDir = cm.getDirectory("new-dir-test"); newDir.delete(); Modified: trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java =================================================================== --- trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java 2005-10-03 20:21:38 UTC (rev 1266) +++ trunk/forge/portal-extensions/shotoku/shotoku-test/src/java/org/jboss/shotoku/test/servlet/ShotokuServlet.java 2005-10-04 08:29:57 UTC (rev 1267) @@ -9,19 +9,22 @@ import javax.servlet.http.HttpServletResponse; import org.jboss.shotoku.ContentManager; -import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Depends; public class ShotokuServlet extends HttpServlet { - + @Depends + ContentManager test; + @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter pw = response.getWriter(); + pw.write("Z " + test); - ContentManager cm = ContentManager.getContentManager(""); + /*ContentManager cm = ContentManager.getContentManager(""); - /*String filePath = "shotoku-test/test1.txt"; + String filePath = "shotoku-test/test1.txt"; Node n = cm.getNode(filePath); @@ -40,11 +43,11 @@ pw.println("Saving ... <br />"); n.save("Shotoku test 2"); - pw.println("done<br />");*/ + pw.println("done<br />"); Node n = cm.getNode("shotoku-test/test2.txt"); n.delete(); - pw.println("Deleted <br />"); + pw.println("Deleted <br />");*/ } } |
From: <jbo...@li...> - 2005-10-03 20:04:19
|
Author: dam...@jb... Date: 2005-10-03 16:04:07 -0400 (Mon, 03 Oct 2005) New Revision: 1265 Added: branches/forge/rysiek/portal-extensions/ Log: BRANCHING: trunk portal-extensions to rysiek portal extensions to include a fix that Adam made... into the rysiek branch. Copied: branches/forge/rysiek/portal-extensions (from rev 1264, trunk/forge/portal-extensions) |
From: <jbo...@li...> - 2005-10-03 20:02:54
|
Author: dam...@jb... Date: 2005-10-03 16:02:44 -0400 (Mon, 03 Oct 2005) New Revision: 1264 Added: branches/forge/rysiek/ Log: Recreating rysiek branch. About to copy trunk/portal-extensions to rysiek/ |
From: <jbo...@li...> - 2005-10-03 20:01:55
|
Author: dam...@jb... Date: 2005-10-03 16:01:52 -0400 (Mon, 03 Oct 2005) New Revision: 1263 Added: branches/forge/rysiek0/ Removed: branches/forge/rysiek/ Log: Moving rysiek branch out of the way so that I can rebranch trunk and merge in rysiek0 mods. This will effectively update the rysiek branch with the latest from trunk without causing merge conflicts when I have to merge rysiek back into trunk. Copied: branches/forge/rysiek0 (from rev 1262, branches/forge/rysiek) |
From: <jbo...@li...> - 2005-10-03 17:11:08
|
Author: aron.gombas Date: 2005-10-03 13:10:54 -0400 (Mon, 03 Oct 2005) New Revision: 1261 Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java Log: Little branch-related fixes Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-10-02 16:44:03 UTC (rev 1260) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-10-03 17:10:54 UTC (rev 1261) @@ -245,6 +245,10 @@ if(changedPaths.size() > 0) { for(Iterator it = changedPaths.keySet().iterator(); it.hasNext();) { SVNLogEntryPath logEntryPath = (SVNLogEntryPath)changedPaths.get(it.next()); + + // skip copied branches + if(logEntryPath.getCopyPath() != null) + continue; // count commits-per-file Integer commitsPerCurrentFile = commitsPerFileMap.get(logEntryPath.getPath()); @@ -271,13 +275,12 @@ /** Returns the Subversion commit types as adders in file count ('A' meaning 'add' will return +1). */ protected int commitTypeToAdder(char type) { - if (type == 'A') - return 1; - if (type == 'D') - return -1; - if ((type == 'M') || (type == 'R'))// TODO what does 'R' mean? - return 0; - throw new IllegalArgumentException(String.format("Unknown commit type '%c'", type)); + switch(type) { + case 'A': return 1; + case 'D': return -1; + case 'M': return 0; + default: throw new IllegalArgumentException(String.format("Unknown commit type '%c'", type)); + } } /** Wraps the stats retrieved from the log of a SVN repository. */ |
From: <jbo...@li...> - 2005-10-02 23:29:56
|
Author: aron.gombas Date: 2005-10-01 06:48:16 -0400 (Sat, 01 Oct 2005) New Revision: 1252 Modified: trunk/labs/kosmos/web-portlet/WEB-INF/web.xml trunk/labs/kosmos/web-portlet/pages/includes/taglibs.jsp Log: Upgraded to Servlet 2.4 / JSP 2.0 Modified: trunk/labs/kosmos/web-portlet/WEB-INF/web.xml =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/web.xml 2005-10-01 10:47:17 UTC (rev 1251) +++ trunk/labs/kosmos/web-portlet/WEB-INF/web.xml 2005-10-01 10:48:16 UTC (rev 1252) @@ -1,9 +1,10 @@ <?xml version="1.0"?> -<!DOCTYPE web-app PUBLIC - "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" - "http://java.sun.com/dtd/web-app_2_3.dtd"> + +<web-app xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd" + version="2.4"> -<web-app> <!-- JSTL configuration --> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name> Modified: trunk/labs/kosmos/web-portlet/pages/includes/taglibs.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/includes/taglibs.jsp 2005-10-01 10:47:17 UTC (rev 1251) +++ trunk/labs/kosmos/web-portlet/pages/includes/taglibs.jsp 2005-10-01 10:48:16 UTC (rev 1252) @@ -1,6 +1,7 @@ <%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %> -<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> -<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> -<%@ taglib uri="http://displaytag.sf.net/el" prefix="display" %> +<%@ taglib uri="http://displaytag.sf.net" prefix="display" %> |
From: <jbo...@li...> - 2005-10-02 23:18:27
|
Author: aron.gombas Date: 2005-10-02 02:50:20 -0400 (Sun, 02 Oct 2005) New Revision: 1255 Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java Log: "Ordered" rendering of color-coded piecharts Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java 2005-10-01 20:33:45 UTC (rev 1254) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java 2005-10-02 06:50:20 UTC (rev 1255) @@ -23,6 +23,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; @@ -139,17 +140,17 @@ } // generate chart - Map<Integer, Integer> testsPerCategory = new HashMap<Integer, Integer>(); + List<Map.Entry<Integer, Integer>> testsPerCategory = new ArrayList<Map.Entry<Integer, Integer>>(); int success = tests - errors - failures; if(success > 0) - testsPerCategory.put(SUCCESS_COLOR, success); + testsPerCategory.addAll(Collections.singletonMap(SUCCESS_COLOR, success).entrySet()); if(failures > 0) - testsPerCategory.put(FAILURE_COLOR, failures); + testsPerCategory.addAll(Collections.singletonMap(FAILURE_COLOR, failures).entrySet()); if(errors > 0) - testsPerCategory.put(ERROR_COLOR, errors); - + testsPerCategory.addAll(Collections.singletonMap(ERROR_COLOR, errors).entrySet()); + ByteArrayOutputStream out = new ByteArrayOutputStream(); - ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(testsPerCategory)), out); + ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.collectionToPieDataset(testsPerCategory)), out); String testsPerCategoryChartUrl = saveCachedFile(dir + "_tests_per_category.png", new ByteArrayInputStream(out.toByteArray())); // save Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java 2005-10-01 20:33:45 UTC (rev 1254) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java 2005-10-02 06:50:20 UTC (rev 1255) @@ -17,6 +17,7 @@ import java.io.ByteArrayOutputStream; import java.net.URL; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -223,39 +224,39 @@ String openIssuesPerAssigneeChartUrl = saveCachedFile(url + "_open_issues_per_assignee.png", new ByteArrayInputStream(out.toByteArray())); // generate issues-per-status chart - Map<Integer, Integer> issuesPerStatusMap = new HashMap<Integer, Integer>(); + List<Map.Entry<Integer, Integer>> issuesPerStatusMap = new ArrayList<Map.Entry<Integer, Integer>>(); if(openIssues > 0) - issuesPerStatusMap.put(OPEN_COLOR, openIssues); + issuesPerStatusMap.addAll(Collections.singletonMap(OPEN_COLOR, openIssues).entrySet()); if(codingInProgressIssues > 0) - issuesPerStatusMap.put(CODING_IN_PROGRESS_COLOR, codingInProgressIssues); + issuesPerStatusMap.addAll(Collections.singletonMap(CODING_IN_PROGRESS_COLOR, codingInProgressIssues).entrySet()); if(reopenedIssues > 0) - issuesPerStatusMap.put(REOPENED_COLOR, reopenedIssues); + issuesPerStatusMap.addAll(Collections.singletonMap(REOPENED_COLOR, reopenedIssues).entrySet()); if(resolvedIssues > 0) - issuesPerStatusMap.put(RESOLVED_COLOR, resolvedIssues); + issuesPerStatusMap.addAll(Collections.singletonMap(RESOLVED_COLOR, resolvedIssues).entrySet()); if(closedIssues > 0) - issuesPerStatusMap.put(CLOSED_COLOR, closedIssues); + issuesPerStatusMap.addAll(Collections.singletonMap(CLOSED_COLOR, closedIssues).entrySet()); out.reset(); - ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(issuesPerStatusMap)), out); + ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.collectionToPieDataset(issuesPerStatusMap)), out); String issuesPerStatusChartUrl = saveCachedFile(url + "_issues_per_status.png", new ByteArrayInputStream(out.toByteArray())); // generate issues-per-priority chart - Map<Integer, Integer> openIssuesPerPriorityMap = new HashMap<Integer, Integer>(); + List<Map.Entry<Integer, Integer>> openIssuesPerPriorityMap = new ArrayList<Map.Entry<Integer, Integer>>(); if(blockerOpenIssues > 0) - openIssuesPerPriorityMap.put(BLOCKER_COLOR, blockerOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(BLOCKER_COLOR, blockerOpenIssues).entrySet()); if(criticalOpenIssues > 0) - openIssuesPerPriorityMap.put(CRITICAL_COLOR, criticalOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(CRITICAL_COLOR, criticalOpenIssues).entrySet()); if(majorOpenIssues > 0) - openIssuesPerPriorityMap.put(MAJOR_COLOR, majorOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(MAJOR_COLOR, majorOpenIssues).entrySet()); if(minorOpenIssues > 0) - openIssuesPerPriorityMap.put(MINOR_COLOR, minorOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(MINOR_COLOR, minorOpenIssues).entrySet()); if(trivialOpenIssues > 0) - openIssuesPerPriorityMap.put(TRIVIAL_COLOR, trivialOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(TRIVIAL_COLOR, trivialOpenIssues).entrySet()); if(optionalOpenIssues > 0) - openIssuesPerPriorityMap.put(OPTIONAL_COLOR, optionalOpenIssues); + openIssuesPerPriorityMap.addAll(Collections.singletonMap(OPTIONAL_COLOR, optionalOpenIssues).entrySet()); out.reset(); - ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(openIssuesPerPriorityMap)), out); + ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.collectionToPieDataset(openIssuesPerPriorityMap)), out); String openIssuesPerPriorityChartUrl = saveCachedFile(url + "_open_issues_per_priority.png", new ByteArrayInputStream(out.toByteArray())); // save Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java 2005-10-01 20:33:45 UTC (rev 1254) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/util/ChartUtils.java 2005-10-02 06:50:20 UTC (rev 1255) @@ -38,9 +38,14 @@ public class ChartUtils { /** * Max number of items in clamped datasets. - * @see #listToPieDataset(List<Map.Entry>, int) + * @see #collectionToPieDataset(Collection, int) */ public static final int MAX_ITEMS = 8; + /** + * Pass this as max number of items for unclamped datasets. + * @see #collectionToPieDataset(Collection, int) + */ + public static final int NO_CLAMP_MAX_ITEMS = -1; /** Horizontal resolution of chart images. */ protected static final int CHART_RESOLUTION_X = 320; @@ -105,17 +110,20 @@ public static void writeChartAsPng(JFreeChart chart, OutputStream out) throws IOException { ChartUtilities.writeChartAsPNG(out, chart, CHART_RESOLUTION_X, CHART_RESOLUTION_Y, true, 0); } - - /** Returns the passed data as unclamped pie-dataset. */ - public static PieDataset mapToPieDataset(Map data) {// TODO should be Map<? extends Comparable, Integer> - return collectionToPieDataset(new ArrayList<Map.Entry>(data.entrySet()), -1); - } /** + * Returns the passed collection as unclamped pie-dataset. + * @see #collectionToPieDataset(Collection, int) + */ + public static PieDataset collectionToPieDataset(Collection items) { + return collectionToPieDataset(items, NO_CLAMP_MAX_ITEMS); + } + + /** * Returns the passed collection of <code>Map.Entry</code> objects as pie-dataset * (equivalent key-value pairs), optionally clamped to a maximum number of items * to prevent unreadably busy charts. - * @param maxItems the maximum number of items in the returned pie-dataset or -1 if clamping is not needed. + * @param maxItems the maximum number of items in the returned pie-dataset or <code>NO_CLAMP_MAX_ITEMS</code> if clamping is not needed. */ public static PieDataset collectionToPieDataset(Collection items, int maxItems) { DefaultPieDataset dataset = new DefaultPieDataset(); @@ -123,7 +131,7 @@ // generate dataset int counter = 0; for(Map.Entry<? extends Comparable, Integer> item : (Collection<Map.Entry<? extends Comparable, Integer>>)items) { - if((maxItems != -1) && (++counter > maxItems)) + if((maxItems != NO_CLAMP_MAX_ITEMS) && (++counter > maxItems)) break; dataset.setValue(item.getKey(), item.getValue()); } |
From: <jbo...@li...> - 2005-10-02 23:08:31
|
Author: aron.gombas Date: 2005-10-01 16:33:45 -0400 (Sat, 01 Oct 2005) New Revision: 1254 Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/cc/CcMonitoringPortlet.java trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/jira/JiraMonitoringPortlet.java trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/sf/SfMonitoringPortlet.java trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/svn/SvnMonitoringPortlet.java Log: Timestamp queried AFTER the service main content Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/cc/CcMonitoringPortlet.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/cc/CcMonitoringPortlet.java 2005-10-01 20:33:17 UTC (rev 1253) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/cc/CcMonitoringPortlet.java 2005-10-01 20:33:45 UTC (rev 1254) @@ -70,9 +70,6 @@ Date timestamp = null; List<CcProject> projects = null; if(service != null) { - timestamp = service.getTimestamp(); - log.debug("CC timestamp: " + timestamp); - for(String monitoredDir : monitoredDirs) { if(projects == null) projects = service.getProjects(monitoredDir); @@ -80,6 +77,9 @@ projects.addAll(service.getProjects(monitoredDir)); } log.debug("CC projects downloaded: " + projects.size()); + + timestamp = service.getTimestamp(); + log.debug("CC timestamp: " + timestamp); } // render response Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/jira/JiraMonitoringPortlet.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/jira/JiraMonitoringPortlet.java 2005-10-01 20:33:17 UTC (rev 1253) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/jira/JiraMonitoringPortlet.java 2005-10-01 20:33:45 UTC (rev 1254) @@ -70,16 +70,16 @@ Date timestamp = null; List<JiraProject> projects = null; if(service != null) { - timestamp = service.getTimestamp(); - log.debug("JIRA timestamp: " + timestamp); - for(String monitoredUrl : monitoredUrls) { if(projects == null) projects = service.getProjects(monitoredUrl); else projects.addAll(service.getProjects(monitoredUrl)); } - log.debug("JIRA projects downloaded: " + projects.size()); + log.debug("JIRA projects downloaded: " + projects.size()); + + timestamp = service.getTimestamp(); + log.debug("JIRA timestamp: " + timestamp); } // render response Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/sf/SfMonitoringPortlet.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/sf/SfMonitoringPortlet.java 2005-10-01 20:33:17 UTC (rev 1253) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/sf/SfMonitoringPortlet.java 2005-10-01 20:33:45 UTC (rev 1254) @@ -69,9 +69,6 @@ Date timestamp = null; List<SfRelease> releases = null; if(service != null) { - timestamp = service.getTimestamp(); - log.debug("SF timestamp: " + timestamp); - for(String monitoredUrl : monitoredUrls) { if(releases == null) releases = service.getFileReleases(monitoredUrl); @@ -79,6 +76,9 @@ releases.addAll(service.getFileReleases(monitoredUrl)); } log.debug("SF releases downloaded: " + releases.size()); + + timestamp = service.getTimestamp(); + log.debug("SF timestamp: " + timestamp); } // render response Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/svn/SvnMonitoringPortlet.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/svn/SvnMonitoringPortlet.java 2005-10-01 20:33:17 UTC (rev 1253) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/portlet/svn/SvnMonitoringPortlet.java 2005-10-01 20:33:45 UTC (rev 1254) @@ -70,9 +70,6 @@ Date timestamp = null; List<SvnRepository> repositories = null; if(service != null) { - timestamp = service.getTimestamp(); - log.debug("SVN timestamp: " + timestamp); - for(String monitoredUrl : monitoredUrls) { if(repositories == null) repositories = service.getRepositories(monitoredUrl); @@ -80,6 +77,9 @@ repositories.addAll(service.getRepositories(monitoredUrl)); } log.debug("SVN repositories downloaded: " + repositories.size()); + + timestamp = service.getTimestamp(); + log.debug("SVN timestamp: " + timestamp); } // render response |
From: <jbo...@li...> - 2005-10-02 22:54:11
|
Author: aron.gombas Date: 2005-10-01 16:33:17 -0400 (Sat, 01 Oct 2005) New Revision: 1253 Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/AbstractKosmosService.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java Log: Cache mechanism rewritten Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/AbstractKosmosService.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/AbstractKosmosService.java 2005-10-01 10:48:16 UTC (rev 1252) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/AbstractKosmosService.java 2005-10-01 20:33:17 UTC (rev 1253) @@ -11,6 +11,7 @@ import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Date; +import java.util.Enumeration; import java.util.HashMap; import java.util.Map; @@ -36,7 +37,7 @@ private final Log log = LogFactory.getLog(AbstractKosmosService.class); /** Cache timeout in milliseconds: a new request over this period will receive the cached result. */ - private static final int CACHE_TIMEOUT = 2*60*1000;// TODO should be externally configurable + private static final int CACHE_TIMEOUT = 10*60*1000;// TODO should be externally configurable /** Spring application context. */ private WebApplicationContext ctx; @@ -52,9 +53,15 @@ this.ctx = (WebApplicationContext)ctx; } - /** Returns the timestamp when the cache was most recently updated. */ - public Date getTimestamp() {// TODO this doesn't get updated until getFromCache() is called, so it must be forced somehow or must be documented & an exception thrown + /** + * Returns the timestamp when the cache was most recently updated. + * This can be invoked only after the service method was called. + */ + public Date getTimestamp() { log.debug("Service invoked: returning timestamp..."); + if(timestamp == null) + throw new IllegalStateException("Timestamp was not initialized yet. Call the service method before!"); + return timestamp; } @@ -85,16 +92,6 @@ return value; } - - /** - * Encodes the local filename for a cached item and adds a time-based prefix - * so browsers will not cache it if it actually changes. - * @param filename can contain any character. - * @return the filename which contain only file-system-compatible characters. - */ - protected String encodeCachedFileName(String filename) throws UnsupportedEncodingException { - return URLEncoder.encode(String.format("%d_%s", new Date().getTime(), filename), "utf-8"); - } /** * Saves the passed stream to a WebDAV repository-based cache and returns @@ -124,21 +121,70 @@ if((clientUrl == null) || (clientUrl.trim().length() == 0)) clientUrl = webdavUrl.getURI(); - String cacheDirPath = webdavUrl.getPath() + "/kosmos-cache/"; - String cachedFilePath = cacheDirPath + filename; - String cachedFileUrl = clientUrl + "/kosmos-cache/" + URLEncoder.encode(filename, "utf-8"); + String cacheDirName = "kosmos-cache"; + String cachedFilename = getCachedFilename(filename); + String cachedFilePath = webdavUrl.getPath() + "/" + cacheDirName + "/" + cachedFilename; + String cachedFileUrl = clientUrl + "/" + cacheDirName + "/" + URLEncoder.encode(cachedFilename, "utf-8"); - // create WebDAV dir if not existing - WebdavResource webdavResource = new WebdavResource(webdavUrl); // TODO check if the dir was not existing yet - if (!isHttps) // using this with https throws an exception - webdavResource.mkcolMethod(cacheDirPath); + // init cache: create WebDAV collection if not existing + WebdavResource root = new WebdavResource(webdavUrl); + WebdavResource cacheDir = root.getChildResources().getResource("kosmos-cache"); + if(cacheDir == null) { + if(!isHttps) { // TODO using this with https throws an exception? + root.mkcolMethod(cacheDirName); + log.debug(String.format("Creating WebDAV collection \"%s\"...", cacheDirName)); + + cacheDir = root.getChildResources().getResource(cacheDirName); + } + } - // put resource to WebDAV - log.debug(String.format("Putting WebDAV resource \"%s\"...", cachedFilePath)); - webdavResource.putMethod(cachedFilePath, in); - log.debug(String.format("WebDAV resource put: \"%s\".", cachedFileUrl)); - webdavResource.close(); + // clear cache: remove old resource(s) from WebDAV + String cachedWildcard = getCachedWildcard(filename); + Enumeration oldCachedFiles = cacheDir.getChildResources().getResources(); + while(oldCachedFiles.hasMoreElements()) { + WebdavResource oldCachedFile = (WebdavResource)oldCachedFiles.nextElement(); + if(oldCachedFile.isCollection()) + continue; + + if(oldCachedFile.getName().endsWith(cachedWildcard)) { + log.debug(String.format("Deleting outdated WebDAV resource \"%s\"...", oldCachedFile.getName())); + root.deleteMethod(oldCachedFile.getPath());// TODO it doesn't work with name only?! Slide bug? + } + } + // fill cache: put new resource to WebDAV + log.debug(String.format("Putting WebDAV resource \"%s\"...", cachedFilename)); + root.putMethod(cachedFilePath, in);// TODO it doesn't work with name only?! Slide bug? + + cacheDir.close(); + root.close(); + return cachedFileUrl; } + + /** + * Returns the part of the filename for a cached item without the timestamp + * prefix. This is used to found the previous versions of the same cache item. + */ + private String getCachedWildcard(String filename) throws UnsupportedEncodingException { + return encodeFilename("", filename); + } + + /** + * Returns the local filename for a cached item, by adding a timestamp prefix + * so that browsers will not cache the item if it actually changes. + */ + private String getCachedFilename(String filename) throws UnsupportedEncodingException { + return encodeFilename(Long.toString(new Date().getTime()), filename); + } + + + /** + * Encodes the local filename for a cached item. + * @param filename can contain any character. + * @return the filename which contain only file-system-compatible characters. + */ + private String encodeFilename(String prefix, String filename) throws UnsupportedEncodingException { + return URLEncoder.encode(String.format("%s_%s", prefix, filename), "utf-8"); + } } Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java 2005-10-01 10:48:16 UTC (rev 1252) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/cc/CcServiceImpl.java 2005-10-01 20:33:17 UTC (rev 1253) @@ -150,7 +150,7 @@ ByteArrayOutputStream out = new ByteArrayOutputStream(); ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(testsPerCategory)), out); - String testsPerCategoryChartUrl = saveCachedFile(encodeCachedFileName(dir + "_tests_per_category.png"), new ByteArrayInputStream(out.toByteArray())); + String testsPerCategoryChartUrl = saveCachedFile(dir + "_tests_per_category.png", new ByteArrayInputStream(out.toByteArray())); // save previousLatestLogModified = latestLog.lastModified(); Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java 2005-10-01 10:48:16 UTC (rev 1252) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/jira/JiraServiceImpl.java 2005-10-01 20:33:17 UTC (rev 1253) @@ -220,7 +220,7 @@ ByteArrayOutputStream out = new ByteArrayOutputStream(); ChartUtils.writeChartAsPng(ChartUtils.generatePieChart(ChartUtils.collectionToPieDataset(openIssuesPerAssignee, ChartUtils.MAX_ITEMS)), out);// TODO fix all generics warnings - String openIssuesPerAssigneeChartUrl = saveCachedFile(encodeCachedFileName(url + "_open_issues_per_assignee.png"), new ByteArrayInputStream(out.toByteArray())); + String openIssuesPerAssigneeChartUrl = saveCachedFile(url + "_open_issues_per_assignee.png", new ByteArrayInputStream(out.toByteArray())); // generate issues-per-status chart Map<Integer, Integer> issuesPerStatusMap = new HashMap<Integer, Integer>(); @@ -237,7 +237,7 @@ out.reset(); ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(issuesPerStatusMap)), out); - String issuesPerStatusChartUrl = saveCachedFile(encodeCachedFileName(url + "_issues_per_status.png"), new ByteArrayInputStream(out.toByteArray())); + String issuesPerStatusChartUrl = saveCachedFile(url + "_issues_per_status.png", new ByteArrayInputStream(out.toByteArray())); // generate issues-per-priority chart Map<Integer, Integer> openIssuesPerPriorityMap = new HashMap<Integer, Integer>(); @@ -256,7 +256,7 @@ out.reset(); ChartUtils.writeChartAsPng(ChartUtils.generateColorCodedPieChart(ChartUtils.mapToPieDataset(openIssuesPerPriorityMap)), out); - String openIssuesPerPriorityChartUrl = saveCachedFile(encodeCachedFileName(url + "_open_issues_per_priority.png"), new ByteArrayInputStream(out.toByteArray())); + String openIssuesPerPriorityChartUrl = saveCachedFile(url + "_open_issues_per_priority.png", new ByteArrayInputStream(out.toByteArray())); // save JiraProject project = new JiraProject(name, url, projectKey, projectUrl, description, lead, Modified: trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java =================================================================== --- trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-10-01 10:48:16 UTC (rev 1252) +++ trunk/labs/kosmos/src/java/hu/midori/kosmos/server/svn/SvnServiceImpl.java 2005-10-01 20:33:17 UTC (rev 1253) @@ -319,24 +319,24 @@ /** Generates and saves the chart images on the server, and sets the URLs to the stats. */ protected void generateCharts(SVNRepository repository, SvnRepositoryLogStats stats) throws IOException { - String prefix = repository.getLocation().toString(); + String location = repository.getLocation().toString(); // generate charts ByteArrayOutputStream out = new ByteArrayOutputStream(); ChartUtils.writeChartAsPng(ChartUtils.generatePieChart(ChartUtils.collectionToPieDataset(stats.commitsPerAuthor, ChartUtils.MAX_ITEMS)), out); - stats.commitsPerAuthorChartUrl = saveCachedFile(encodeCachedFileName(prefix + "_commits_per_author.png"), new ByteArrayInputStream(out.toByteArray())); + stats.commitsPerAuthorChartUrl = saveCachedFile(location + "_commits_per_author.png", new ByteArrayInputStream(out.toByteArray())); out.reset(); ChartUtils.writeChartAsPng(ChartUtils.generatePieChart(ChartUtils.collectionToPieDataset(stats.commitsPerFile, ChartUtils.MAX_ITEMS)), out); - stats.commitsPerFileChartUrl = saveCachedFile(encodeCachedFileName(prefix + "_commits_per_file.png"), new ByteArrayInputStream(out.toByteArray())); + stats.commitsPerFileChartUrl = saveCachedFile(location + "_commits_per_file.png", new ByteArrayInputStream(out.toByteArray())); out.reset(); ChartUtils.writeChartAsPng(ChartUtils.generateTimeChart(stats.commitsPerWeek), out); - stats.commitsPerWeekChartUrl = saveCachedFile(encodeCachedFileName(prefix + "_commits_per_week.png"), new ByteArrayInputStream(out.toByteArray())); + stats.commitsPerWeekChartUrl = saveCachedFile(location + "_commits_per_week.png", new ByteArrayInputStream(out.toByteArray())); out.reset(); ChartUtils.writeChartAsPng(ChartUtils.generateTimeChart(stats.repoEntriesPerWeek), out); - stats.repoEntriesPerWeekChartUrl = saveCachedFile(encodeCachedFileName(prefix + "_files_per_week.png"), new ByteArrayInputStream(out.toByteArray())); + stats.repoEntriesPerWeekChartUrl = saveCachedFile(location + "_files_per_week.png", new ByteArrayInputStream(out.toByteArray())); } } } |
Author: noe...@jb... Date: 2005-10-02 07:29:33 -0400 (Sun, 02 Oct 2005) New Revision: 1257 Removed: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/examples-config.xml trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/commons-logging.jar trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jakarta-oro.jar trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jsp-2.0.jar trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jstl.jar trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/log4j-1.2.8.jar trunk/labs/reportingservices/reporting-services/src/webapp/images/jboss.gif trunk/labs/reportingservices/reporting-services/src/webapp/images/logo_mini.jpg Modified: trunk/labs/reportingservices/reporting-services/.classpath trunk/labs/reportingservices/reporting-services/build.xml trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces-impl.jar trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces-jsf-api.jar trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces.jar trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/distribute/Distribute.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/output/OutputFormat.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/deployer/AbstractReportDeployer.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeByMail.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeService.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/metadata/ReportSecurityMetaData.java trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java trunk/labs/reportingservices/reporting-services/src/resources/META-INF/jboss-service.xml trunk/labs/reportingservices/reporting-services/src/resources/messages.properties trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/faces-config.xml trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/myfaces.jar trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/web.xml trunk/labs/reportingservices/reporting-services/src/webapp/css/basic.css trunk/labs/reportingservices/reporting-services/src/webapp/images/logo.jpg trunk/labs/reportingservices/reporting-services/src/webapp/include/head.inc trunk/labs/reportingservices/reporting-services/src/webapp/include/navigation.jsp trunk/labs/reportingservices/reporting-services/src/webapp/include/page_header.jsp trunk/labs/reportingservices/reporting-services/src/webapp/report/list.jsp trunk/labs/reportingservices/reporting-services/src/webapp/report/tree.jsp Log: console + distribute by file copy Modified: trunk/labs/reportingservices/reporting-services/.classpath =================================================================== --- trunk/labs/reportingservices/reporting-services/.classpath 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/.classpath 2005-10-02 11:29:33 UTC (rev 1257) @@ -60,5 +60,6 @@ <classpathentry kind="lib" path="lib/jfreereport/jlfgr-1_0.jar"/> <classpathentry kind="lib" path="lib/jfreereport/pixie-0.8.4.jar"/> <classpathentry kind="lib" path="lib/jfreereport/poi-2.5.1-final-20040804.jar"/> + <classpathentry sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.1.0/src/org.junit_3.8.1/junitsrc.zip" kind="var" path="JUNIT_HOME/junit.jar"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: trunk/labs/reportingservices/reporting-services/build.xml =================================================================== --- trunk/labs/reportingservices/reporting-services/build.xml 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/build.xml 2005-10-02 11:29:33 UTC (rev 1257) @@ -26,6 +26,7 @@ <property name="root.dir" value="${basedir}"/> <property name="doc.dir" value="${root.dir}/docs"/> <property name="src.dir" value="${root.dir}/src/main"/> + <property name="src.webapp.dir" value="${root.dir}/src/webapp"/> <property name="src.resources.dir" value="${root.dir}/src/resources"/> <property name="tests.dir" value="${root.dir}/src/tests"/> <property name="etc.dir" value="${root.dir}/src/etc"/> @@ -78,7 +79,8 @@ org/jboss/reporting/server/deployer/DeployerJFXML.java, org/jboss/reporting/server/deployer/DeployerERA.java, org/jboss/reporting/server/distribute/DistributeService.java, - org/jboss/reporting/server/distribute/DistributeByMail.java, + org/jboss/reporting/server/distribute/DistributeByFileCopy.java, + org/jboss/reporting/server/distribute/DistributeByMail.java, org/jboss/reporting/server/repository/RepositoryService.java, org/jboss/reporting/server/engine/JasperReports.java, org/jboss/reporting/server/engine/JFreeReport.java, @@ -157,25 +159,30 @@ </jar> - <!-- Build reporting-services.war - <delete> - <fileset dir="${module.source}/webapp/WEB-INF/classes" /> - </delete> - <mkdir dir="${module.source}/webapp/WEB-INF/classes" /> - <copy todir="${module.source}/webapp/WEB-INF/classes"> - <fileset dir="${build.classes}"> - <include name="org/jboss/xmas/reporting/servlet/**"/> + <!-- Build reporting-services.war --> + + <!-- FIXME: lib should be build upon the project lib + and dhouldn't exist in src.webapp --> + <copy todir="${output.dir}/webapp"> + <fileset dir="${src.webapp.dir}"> + <include name="**/*"/> + </fileset> + </copy> + <mkdir dir="${output.dir}/webapp/WEB-INF/classes" /> + <copy todir="${output.dir}/webapp/WEB-INF/classes"> + <fileset dir="${compile.dir}"> + <include name="org/jboss/reporting/server/servlet/**/*"/> </fileset> - <fileset dir="${module.source}/resources" > + <fileset dir="${src.resources.dir}" > <include name="messages.properties" /> </fileset> </copy> - <war warfile="${build.lib}/reporting-services.war" webxml="${module.source}/webapp/WEB-INF/web.xml" > - <fileset dir="${module.source}/webapp"> + + <war warfile="${output.lib.dir}/reporting-services.war" webxml="${output.dir}/webapp/WEB-INF/web.xml" > + <fileset dir="${output.dir}/webapp"> <exclude name="WEB-INF/web.xml"/> </fileset> </war> ---> <!-- Build reporting-services.sar --> <mkdir dir="${output.lib.dir}/reporting-services.sar"/> @@ -183,7 +190,7 @@ <fileset dir="${output.lib.dir}"> <include name="reporting-services.jar"/> <include name="reporting-services-ejb.jar"/> - <!--include name="reporting-services.war"/--> + <include name="reporting-services.war"/> </fileset> <fileset dir="${src.resources.dir}"> <include name="META-INF/jboss-service.xml"/> @@ -192,12 +199,16 @@ <include name="commons-digester*.jar"/> <include name="commons-collections.jar"/> <include name="commons-beanutils.jar"/> + <include name="commons-fileupload.jar"/> + <include name="commons-codec-1.2.jar"/> + <include name="commons-validator-1.1.3.jar"/> </fileset> <fileset dir="${lib.dir}/jboss-remoting"> <include name="*.jar"/> </fileset> <fileset dir="${lib.dir}/jasperreports"> <include name="*.jar"/> + <exclude name="itext*.jar"/> </fileset> <fileset dir="${lib.dir}/jfreereport"> <include name="*.jar"/> Modified: trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces-impl.jar =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces-jsf-api.jar =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/lib/apache-myfaces/myfaces.jar =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/distribute/Distribute.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/distribute/Distribute.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/distribute/Distribute.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -11,6 +11,7 @@ public final static int TYPE_NONE=0; public final static int TYPE_BY_METHOD_RETURN=100; public final static int TYPE_BY_MAIL=200; + public final static int TYPE_BY_FILE_COPY=300; public static int TYPE=TYPE_NONE; public int getType() Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/output/OutputFormat.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/output/OutputFormat.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/api/output/OutputFormat.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -23,6 +23,37 @@ public final static int CSV=500; + + + public final static String getFileExtension(int in_value) + { + String result=""; + switch(in_value) + { + case OutputFormat.PDF: + result = ".pdf"; + break; + case OutputFormat.HTML: + result = ".html"; + break; + case OutputFormat.XML: + result = ".xml"; + break; + case OutputFormat.XLS: + result = ".xls"; + break; + case OutputFormat.CSV: + result = ".csv"; + break; + default: + result = ".???"; + } + + return result; + } + + + public final static String toString(int in_value) { String result="Output format = "; Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/deployer/AbstractReportDeployer.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/deployer/AbstractReportDeployer.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/deployer/AbstractReportDeployer.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -29,11 +29,11 @@ protected static final String DEFAULT_DOMAIN = "reports"; /** The notification type send when a new Report is binded */ - public static final String ADD_REPORT_NOTIFICATION = "org.jboss.reporting.server.deployer.add"; + public static final String ADD_REPORT_NOTIFICATION = "org.jboss.reporting.deployer.add"; /** The notification type send when a Report is unbinded */ - public static final String REMOVE_REPORT_NOTIFICATION = "org.jboss.reporting.server.deployer.remove"; + public static final String REMOVE_REPORT_NOTIFICATION = "org.jboss.reporting.deployer.remove"; /** The notification type send when an Enterprise Report Archive is unbinded */ - public static final String REMOVE_REPORT_ARCHIVE_NOTIFICATION = "org.jboss.reporting.server.deployer.remove.archive"; + public static final String REMOVE_REPORT_ARCHIVE_NOTIFICATION = "org.jboss.reporting.deployer.remove.archive"; public RepositoryServiceMBean repository=null; Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeByMail.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeByMail.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeByMail.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -33,6 +33,7 @@ import org.jboss.mx.util.MBeanProxyExt; import org.jboss.mx.util.ObjectNameFactory; import org.jboss.reporting.api.ReportTask; +import org.jboss.reporting.api.output.OutputFormat; import org.jboss.system.ServiceMBeanSupport; import org.jboss.system.server.ServerConfig; @@ -108,7 +109,9 @@ public void distribute(ReportTask in_reportTask, Object in_result) throws Exception { - File tmpFile = new File(tempDirectory,in_reportTask.getReport().getDisplay_name().replaceAll("/","-").replaceAll(" ","_")+".pdf"); + File tmpFile = new File(tempDirectory, + in_reportTask.getReport().getDisplay_name().replaceAll("/","-").replaceAll(" ","_") + + OutputFormat.getFileExtension(in_reportTask.getOutputFormat()) ); OutputStream attachment=null; Iterator iterator=null; Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeService.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeService.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/distribute/DistributeService.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -30,7 +30,7 @@ * @version $Revision: 1.0 $ * * @jmx:mbean - * description="Reports Repository" + * description="Reports Distribute Service" * name="reporting:service=Distribute" * extends="org.jboss.system.ServiceMBean" */ @@ -53,6 +53,9 @@ // byMail MBean Object name private ObjectName byMail=null; + // byFileCopy MBean Object name + private ObjectName byFileCopy=null; + protected ObjectName getObjectName(MBeanServer server, ObjectName name) @@ -88,6 +91,9 @@ ObjectName moduleName=null; switch(in_reportTask.getDistribute().getType()) { + case Distribute.TYPE_BY_FILE_COPY: + moduleName=byFileCopy; + break; case Distribute.TYPE_BY_MAIL: moduleName=byMail; break; @@ -121,6 +127,19 @@ this.byMail = byMail; } + /** @jmx:managed-attribute */ + public ObjectName getByFileCopy() + { + return byFileCopy; + } + + + /** @jmx:managed-attribute */ + public void setByFileCopy(ObjectName byFileCopy) + { + this.byFileCopy = byFileCopy; + } + Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/metadata/ReportSecurityMetaData.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/metadata/ReportSecurityMetaData.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/server/metadata/ReportSecurityMetaData.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -7,8 +7,6 @@ /** Encapsulation of the jboss-report.xml security-constraints * - * @author Sco...@jb... - * @version $Revison:$ */ public class ReportSecurityMetaData { @@ -26,9 +24,11 @@ /** The optional security-constraint/user-data-constraint/transport-guarantee */ private String transportGuarantee; + /** The unchecked flag is set when there is no security-constraint/auth-constraint */ private boolean unchecked = false; + /** The excluded flag is set when there is an empty security-constraint/auth-constraint element */ Modified: trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java =================================================================== --- trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/main/org/jboss/reporting/ui/reporttree/MyFacesTreeService.java 2005-10-02 11:29:33 UTC (rev 1257) @@ -129,22 +129,24 @@ { ReportInfo report_info = (ReportInfo)notification.getUserData(); + log.trace("Got notification TYPE: " + notification.getType() ); + if (notification.getType().equalsIgnoreCase(AbstractReportDeployer.ADD_REPORT_NOTIFICATION)) { // add report - log.info("Got notification ADD: Report JNDI Name = " + report_info.getReport().getJndi_path() + "/" + report_info.getReport().getJndi_name() ); + log.trace("Got notification ADD: Report JNDI Name = " + report_info.getReport().getJndi_path() + "/" + report_info.getReport().getJndi_name() ); addReport(report_info); } else if (notification.getType().equalsIgnoreCase(AbstractReportDeployer.REMOVE_REPORT_NOTIFICATION)) { // remove report - log.info("Got notification REMOVE: Report Name = " + report_info.getReport().getJndi_path() + "/" + report_info.getReport().getJndi_name()); + log.trace("Got notification REMOVE: Report Name = " + report_info.getReport().getJndi_path() + "/" + report_info.getReport().getJndi_name()); removeReport(report_info); } else { // remove archive - log.info("Got notification REMOVE ARCHIVE: Report Archive Name = " + report_info.getReport().getJndi_path() ); + log.trace("Got notification REMOVE ARCHIVE: Report Archive Name = " + report_info.getReport().getJndi_path() ); removeReportArchive(report_info); } } @@ -205,7 +207,7 @@ } reportsCounter++; - log.info("Add report, tree is now containing : " + reportsCounter + " reports"); + log.debug("Add report, tree is now containing : " + reportsCounter + " reports"); } } @@ -262,7 +264,7 @@ } reportsCounter--; - log.info("Remove report, tree is now containing : " + reportsCounter + " reports"); + log.debug("Remove report, tree is now containing : " + reportsCounter + " reports"); } } @@ -332,7 +334,7 @@ reportsCounter = reportsCounter - removed_count; - log.info("Removed archive containing " + removed_count + " reports, tree is now containing : " + reportsCounter + " reports"); + log.debug("Removed archive containing " + removed_count + " reports, tree is now containing : " + reportsCounter + " reports"); } Modified: trunk/labs/reportingservices/reporting-services/src/resources/META-INF/jboss-service.xml =================================================================== --- trunk/labs/reportingservices/reporting-services/src/resources/META-INF/jboss-service.xml 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/resources/META-INF/jboss-service.xml 2005-10-02 11:29:33 UTC (rev 1257) @@ -100,7 +100,7 @@ <depends optional-attribute-name="ReportEngine">reporting:service=ReportEngine,type=generic</depends> </mbean> - + <!-- ERA --> <mbean code="org.jboss.reporting.server.deployer.DeployerERA" name="reporting:service=ReportsDeployer,type=ERA"> <attribute name="ReportFilenameExtensions">.jrxml, .jfxml</attribute> @@ -114,19 +114,18 @@ <mbean code="org.jboss.reporting.server.distribute.DistributeService" name="reporting:service=Distribute"> <depends optional-attribute-name="ByMail">reporting:service=Distribute,type=ByMail</depends> + <depends optional-attribute-name="ByFileCopy">reporting:service=Distribute,type=ByFileCopy</depends> </mbean> <mbean code="org.jboss.reporting.server.distribute.DistributeByMail" name="reporting:service=Distribute,type=ByMail"> <attribute name="MailResource">java:/Mail</attribute> <attribute name="DefaultFrom">rep...@jb...</attribute> </mbean> + <mbean code="org.jboss.reporting.server.distribute.DistributeByFileCopy" + name="reporting:service=Distribute,type=ByFileCopy"> + <attribute name="BaseDirectoryName">../data/reporting</attribute> + </mbean> - - - - - - </server> Modified: trunk/labs/reportingservices/reporting-services/src/resources/messages.properties =================================================================== --- trunk/labs/reportingservices/reporting-services/src/resources/messages.properties 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/resources/messages.properties 2005-10-02 11:29:33 UTC (rev 1257) @@ -1,12 +1,12 @@ -common.project=Xmas Reporting +common.project=Reporting Services -nav.explorer=Report Explorer -nav.scheduled=Report Scheduled +nav.explorer=Explorer +nav.scheduled=Scheduled nav.info=Info nav.contact=Contact -nav.project=Xmas Reporting +nav.project=Reporting Services format.pdf=.pdf format.html=.html Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/examples-config.xml =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/examples-config.xml 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/examples-config.xml 2005-10-02 11:29:33 UTC (rev 1257) @@ -1,409 +0,0 @@ -<?xml version="1.0"?> - -<!DOCTYPE faces-config PUBLIC - "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" - "http://java.sun.com/dtd/web-facesconfig_1_0.dtd"> - -<!-- =========== FULL CONFIGURATION FILE ================================== --> - -<faces-config> - - <!-- Managed Beans for sample1.jsp --> - - <managed-bean> - <managed-bean-name>calcForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.example1.CalcForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>validateForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.validate.ValidateForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>ucaseForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.example1.UCaseForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>validationController</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.example1.ValidationController</managed-bean-class> - <managed-bean-scope>application</managed-bean-scope> - </managed-bean> - - - <!-- Managed Beans for sample2.jsp --> - - <managed-bean> - <managed-bean-name>q_form</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.example2.QuotationForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for aliasBean.jsp --> - - <managed-bean> - <managed-bean-name>aliasTest1</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.aliasexample.AliasHolder</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>aliasTest2</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.aliasexample.AliasHolder</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for selectbox.jsp --> - - <managed-bean> - <managed-bean-name>carconf</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.common.CarConfigurator</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - - <!-- Managed Beans for simpleList.jsp --> - - <managed-bean> - <managed-bean-name>countryList</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.listexample.SimpleCountryList</managed-bean-class> - <managed-bean-scope>session</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for tree.jsp --> - - <managed-bean> - <managed-bean-name>treeTable</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.listexample.TreeTable</managed-bean-class> - <managed-bean-scope>session</managed-bean-scope> - </managed-bean> - - - <!-- Managed Beans for simpleSortList.jsp --> - - <managed-bean> - <managed-bean-name>list</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.listexample.SimpleSortableCarList</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for calendar.jsp --> - - <managed-bean> - <managed-bean-name>calendar</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.calendarexample.DateHolder</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for countryForm.jsp --> - - <managed-bean> - <managed-bean-name>countryForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.listexample.SimpleCountryForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for date.jsp --> - - <managed-bean> - <managed-bean-name>date1</managed-bean-name> - <managed-bean-class>java.util.Date</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>date2</managed-bean-name> - <managed-bean-class>java.util.Date</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>date3</managed-bean-name> - <managed-bean-class>java.util.Date</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for htmlEditor.jsp --> - - <managed-bean> - <managed-bean-name>editor</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.htmleditorexample.EditorFace</managed-bean-class> - <managed-bean-scope>session</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for fileupload.jsp --> - - <managed-bean> - <managed-bean-name>fileUploadForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.FileUploadForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - - <!-- Managed Beans for options.jsp --> - - <managed-bean> - <managed-bean-name>globalOptions</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.GlobalOptions</managed-bean-class> - <managed-bean-scope>session</managed-bean-scope> - <managed-property> - <property-name>pageLayout</property-name> - <value>classic</value> - </managed-property> - </managed-bean> - - <managed-bean> - <managed-bean-name>optionsForm</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.OptionsForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> - <managed-bean-name>optionsCtrl</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.OptionsController</managed-bean-class> - <managed-bean-scope>application</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for dataScroller.jsp --> - - <managed-bean> - <managed-bean-name>scrollerList</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.listexample.DataScrollerList</managed-bean-class> - <managed-bean-scope>application</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for NavigationMenu --> - - <managed-bean> - <managed-bean-name>navigationMenu</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.NavigationMenu</managed-bean-class> - <managed-bean-scope>application</managed-bean-scope> - </managed-bean> - - <!-- Managed Beans for TabbedPane example --> - - <managed-bean> - <managed-bean-name>tabbedPaneBean</managed-bean-name> - <managed-bean-class>org.apache.myfaces.examples.misc.TabbedPaneBean</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - - <!-- Managed Beans for panelstack example --> - - <managed-bean> - <managed-bean-name>stackState</managed-bean-name> - <managed-bean-class>java.util.HashMap</managed-bean-class> - <managed-bean-scope>session</managed-bean-scope> - </managed-bean> - - - - <navigation-rule> - <navigation-case> - <from-outcome>go_home</from-outcome> - <to-view-id>/home.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - - <navigation-rule> - <description> - Navigation rules for navigation component. - </description> - <from-view-id>*</from-view-id> - - <navigation-case> - <from-outcome>go_sample1</from-outcome> - <to-view-id>/sample1.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_sample2</from-outcome> - <to-view-id>/sample2.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_aliasBean</from-outcome> - <to-view-id>/aliasBean.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_buffer</from-outcome> - <to-view-id>/buffer.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_dataTable</from-outcome> - <to-view-id>/dataTable.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_sortTable</from-outcome> - <to-view-id>/sortTable.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_selectbox</from-outcome> - <to-view-id>/selectbox.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_fileupload</from-outcome> - <to-view-id>/fileupload.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_tabbedPane</from-outcome> - <to-view-id>/tabbedPane.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_calendar</from-outcome> - <to-view-id>/calendar.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_popup</from-outcome> - <to-view-id>/popup.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_jslistener</from-outcome> - <to-view-id>/jslistener.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_date</from-outcome> - <to-view-id>/date.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_htmlEditor</from-outcome> - <to-view-id>/htmlEditor.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_dataList</from-outcome> - <to-view-id>/dataList.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_tree</from-outcome> - <to-view-id>/tree.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_treeTable</from-outcome> - <to-view-id>/treeTable.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_features</from-outcome> - <to-view-id>/features.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_options</from-outcome> - <to-view-id>/options.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_contact</from-outcome> - <to-view-id>/contact.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_copyright</from-outcome> - <to-view-id>/copyright.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_validate</from-outcome> - <to-view-id>/validate.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_rssticker</from-outcome> - <to-view-id>/rssTicker.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_datascroller</from-outcome> - <to-view-id>/dataScroller.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_panelstack</from-outcome> - <to-view-id>/panelstack.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_css</from-outcome> - <to-view-id>/css.jsp</to-view-id> - </navigation-case> - - <navigation-case> - <from-outcome>go_newspaperTable</from-outcome> - <to-view-id>/newspaperTable.jsp</to-view-id> - </navigation-case> - - </navigation-rule> - - <navigation-rule> - <from-view-id>/sample1.jsp</from-view-id> - <navigation-case> - <from-outcome>jump_home</from-outcome> - <to-view-id>/home.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - <navigation-rule> - <from-view-id>/validate.jsp</from-view-id> - <navigation-case> - <from-outcome>valid</from-outcome> - <to-view-id>/home.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - <navigation-rule> - <from-view-id>/dataTable.jsp</from-view-id> - <navigation-case> - <from-outcome>go_country</from-outcome> - <to-view-id>/countryForm.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - <navigation-rule> - <from-view-id>/dataTable.jsp</from-view-id> - <navigation-case> - <from-outcome>go_edit_table</from-outcome> - <to-view-id>/countryTableForm.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - <navigation-rule> - <from-view-id>/countryTableForm.jsp</from-view-id> - <navigation-case> - <from-outcome>go_back</from-outcome> - <to-view-id>/dataTable.jsp</to-view-id> - </navigation-case> - </navigation-rule> - - <navigation-rule> - <from-view-id>/countryForm.jsp</from-view-id> - <navigation-case> - <from-outcome>cancel</from-outcome> - <to-view-id>/dataTable.jsp</to-view-id> - </navigation-case> - <navigation-case> - <from-outcome>ok_next</from-outcome> - <to-view-id>/dataTable.jsp</to-view-id> - </navigation-case> - </navigation-rule> - -</faces-config> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/faces-config.xml =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/faces-config.xml 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/faces-config.xml 2005-10-02 11:29:33 UTC (rev 1257) @@ -11,12 +11,6 @@ --> <managed-bean> - <managed-bean-name>calcForm</managed-bean-name> - <managed-bean-class>net.sourceforge.myfaces.examples.example1.CalcForm</managed-bean-class> - <managed-bean-scope>request</managed-bean-scope> - </managed-bean> - - <managed-bean> <managed-bean-name>reportlist</managed-bean-name> <managed-bean-class>org.jboss.reporting.ui.reportlist.ReportList</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> @@ -40,6 +34,18 @@ <from-outcome>action.explorer.display</from-outcome> <to-view-id>/explorer.jsp</to-view-id> </navigation-case> + <navigation-case> + <from-outcome>action.scheduled.display</from-outcome> + <to-view-id>/explorer.jsp</to-view-id> + </navigation-case> + <navigation-case> + <from-outcome>action.contact.display</from-outcome> + <to-view-id>/explorer.jsp</to-view-id> + </navigation-case> + <navigation-case> + <from-outcome>action.projet.display</from-outcome> + <to-view-id>/explorer.jsp</to-view-id> + </navigation-case> </navigation-rule> Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/commons-logging.jar =================================================================== (Binary files differ) Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jakarta-oro.jar =================================================================== (Binary files differ) Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jsp-2.0.jar =================================================================== (Binary files differ) Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/jstl.jar =================================================================== (Binary files differ) Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/log4j-1.2.8.jar =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/lib/myfaces.jar =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/web.xml =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/web.xml 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/WEB-INF/web.xml 2005-10-02 11:29:33 UTC (rev 1257) @@ -25,7 +25,7 @@ <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value> - /WEB-INF/examples-config.xml + /WEB-INF/faces-config.xml </param-value> <description> Comma separated list of URIs of (additional) faces config files. @@ -243,4 +243,7 @@ </welcome-file-list> + + + </web-app> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/css/basic.css =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/css/basic.css 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/css/basic.css 2005-10-02 11:29:33 UTC (rev 1257) @@ -46,7 +46,7 @@ .standardTable_Header { color: #000000; - background-color: #FFDD00; + background-color: #efefef; padding: 3; text-align: center; border: none; Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/images/jboss.gif =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/src/webapp/images/logo.jpg =================================================================== (Binary files differ) Deleted: trunk/labs/reportingservices/reporting-services/src/webapp/images/logo_mini.jpg =================================================================== (Binary files differ) Modified: trunk/labs/reportingservices/reporting-services/src/webapp/include/head.inc =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/include/head.inc 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/include/head.inc 2005-10-02 11:29:33 UTC (rev 1257) @@ -1,6 +1,6 @@ <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> - <title>Xmas Reporting</title> + <title>Reporting Services</title> <link rel="stylesheet" type="text/css" href="styles.css"> <!-- JSCook Menu --> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/include/navigation.jsp =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/include/navigation.jsp 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/include/navigation.jsp 2005-10-02 11:29:33 UTC (rev 1257) @@ -8,7 +8,7 @@ activeItemClass="navitem_active" openItemClass="navitem_open" > <x:commandNavigation id="nav_1" value="#{messages['nav.explorer']}" action="action.explorer.display" /> - <x:commandNavigation id="nav_2" value="#{messages['nav.scheduled']}" action="action.scheduled.display"/> + <x:commandNavigation id="nav_2" value="#{messages['nav.scheduled']}" action="action.scheduled.display" /> <f:verbatim> </f:verbatim> <x:commandNavigation id="nav_3" value="#{messages['nav.info']}" > <x:commandNavigation id="nav_3_1" value="#{messages['nav.contact']}" action="action.contact.display" /> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/include/page_header.jsp =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/include/page_header.jsp 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/include/page_header.jsp 2005-10-02 11:29:33 UTC (rev 1257) @@ -6,8 +6,8 @@ <h:graphicImage id="logo" url="images/logo.jpg" alt="#{messages['common.project']}" /> <f:verbatim> - <font size="+1" color="#FFFFFF">Xmas Reporting</font> - <font size="-1" color="#FFFFFF">(Version 0.1 beta)</font> + <font size="+1" color="#FFFFFF">Reporting Services</font> + <font size="-1" color="#FFFFFF">(Version 0.1)</font> </f:verbatim> </h:panelGrid> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/report/list.jsp =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/report/list.jsp 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/report/list.jsp 2005-10-02 11:29:33 UTC (rev 1257) @@ -2,6 +2,9 @@ <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://myfaces.apache.org/extensions" prefix="x"%> + + + <x:dataTable id="reportlist" styleClass="standardTable" headerClass="standardTable_SortHeader" @@ -16,7 +19,7 @@ <f:facet name="header"> - <h:outputText value="List from /#{reportlist.jndi_path} #{reportlist.id}" /> + <h:outputText value="List from /#{reportlist.jndi_path}" /> </f:facet> @@ -26,7 +29,7 @@ <h:outputText value="Jndi Name" /> </x:commandSortHeader> </f:facet> - <h:outputLink value="/reports-console/view?report=#{reportinfo.id}&datasource=jbossDS" target="_blank"><h:outputText value="#{reportinfo.jndi_name}" /></h:outputLink> + <h:outputText value="#{reportinfo.report.jndi_name}" /> </h:column> <h:column> Modified: trunk/labs/reportingservices/reporting-services/src/webapp/report/tree.jsp =================================================================== --- trunk/labs/reportingservices/reporting-services/src/webapp/report/tree.jsp 2005-10-02 07:25:48 UTC (rev 1256) +++ trunk/labs/reportingservices/reporting-services/src/webapp/report/tree.jsp 2005-10-02 11:29:33 UTC (rev 1257) @@ -6,7 +6,6 @@ - <% RMIAdaptor server = (RMIAdaptor)(new InitialContext()).lookup("jmx/invoker/RMIAdaptor"); |
From: <jbo...@li...> - 2005-10-02 21:59:50
|
Author: aron.gombas Date: 2005-10-01 06:47:17 -0400 (Sat, 01 Oct 2005) New Revision: 1251 Modified: trunk/labs/kosmos/web-portlet/pages/cc_monitoring_test_details.jsp trunk/labs/kosmos/web-portlet/pages/images/green_light.gif trunk/labs/kosmos/web-portlet/pages/images/red_light.gif trunk/labs/kosmos/web-portlet/pages/images/yellow_light.gif trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp trunk/labs/kosmos/web-portlet/pages/jira_monitoring_issue_details.jsp trunk/labs/kosmos/web-portlet/pages/svn_monitoring_activity_details.jsp trunk/labs/kosmos/web-portlet/pages/svn_monitoring_revision_details.jsp Log: Initial impl of the expander Modified: trunk/labs/kosmos/web-portlet/pages/cc_monitoring_test_details.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/cc_monitoring_test_details.jsp 2005-09-30 21:19:43 UTC (rev 1250) +++ trunk/labs/kosmos/web-portlet/pages/cc_monitoring_test_details.jsp 2005-10-01 10:47:17 UTC (rev 1251) @@ -45,27 +45,19 @@ <td valign="top"><fmt:message key="ccproject.testsPerCategory"/>:</td> <td valign="top"><img src="<c:out value="${project.testsPerCategoryChartUrl}"/>" title="<fmt:message key="ccproject.testsPerCategory"/>"/></td> <td valign="top"> - - - -<!-- TODO ezt csak ilyen benan lehet? --> -<c:forEach items="${project.testCases}" varStatus="status"> - <c:set var="listSize" value="${status.index}"/> -</c:forEach> - -<%@include file="includes/table_expander.jsp" %> - - - - + + <c:set var="listSize" value="${fn:length(project.testCases)}"/> + <c:set var="listIndex" value="0"/> + <%@include file="includes/table_expander.jsp" %> + <table> <c:forEach var="testcase" items="${project.testCases}" varStatus="status"> <c:choose> <c:when test="${status.index < 10}"> - <tr id="row-<portlet:namespace/>-<c:out value="${status.index}"/>" class="portlet-section-body"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" class="portlet-section-body"> </c:when> <c:otherwise> - <tr id="row-<portlet:namespace/>-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-body"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-body"> </c:otherwise> </c:choose> <td> Modified: trunk/labs/kosmos/web-portlet/pages/images/green_light.gif =================================================================== (Binary files differ) Modified: trunk/labs/kosmos/web-portlet/pages/images/red_light.gif =================================================================== (Binary files differ) Modified: trunk/labs/kosmos/web-portlet/pages/images/yellow_light.gif =================================================================== (Binary files differ) Modified: trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp 2005-09-30 21:19:43 UTC (rev 1250) +++ trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp 2005-10-01 10:47:17 UTC (rev 1251) @@ -1,6 +1,8 @@ -<script language="javascript" type="text/javascript"> - <%@include file="../scripts/main.js"%> -</script> -<a href="javascript:void(0)" onclick="javascript:toggle('row-<portlet:namespace/>-', 'expander-<portlet:namespace/>', <c:out value="${listSize}"/>, '<%= renderRequest.getContextPath() %>/pages/images/expand.gif', '<%= renderRequest.getContextPath() %>/pages/images/collapse.gif')"> - <img id="expander-<portlet:namespace/>" border="0" src="<%= renderRequest.getContextPath() %>/pages/images/expand.gif" title="TODO Expand List"/> -</a> +<c:if test="${listSize > 10}"> + <script language="javascript" type="text/javascript"> + <%@include file="../scripts/main.js"%> + </script> + <a href="javascript:void(0)" onclick="javascript:toggle('row-<portlet:namespace/>-${listIndex}-', 'expander-<portlet:namespace/>-${listIndex}', <c:out value="${listSize}"/>, '<%= renderRequest.getContextPath() %>/pages/images/expand.gif', '<%= renderRequest.getContextPath() %>/pages/images/collapse.gif')"> + <img id="expander-<portlet:namespace/>-${listIndex}" border="0" src="<%= renderRequest.getContextPath() %>/pages/images/expand.gif" title="Expand All ${listSize}"/> Expand All ${listSize} + </a> +</c:if> Modified: trunk/labs/kosmos/web-portlet/pages/jira_monitoring_issue_details.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/jira_monitoring_issue_details.jsp 2005-09-30 21:19:43 UTC (rev 1250) +++ trunk/labs/kosmos/web-portlet/pages/jira_monitoring_issue_details.jsp 2005-10-01 10:47:17 UTC (rev 1251) @@ -31,18 +31,28 @@ </td> </tr> <tr class="portlet-section-alternate"> - <td><fmt:message key="jiraproject.openIssuesByAssignee"/>:</td> - <td><img src="<c:out value="${project.openIssuesPerAssigneeChartUrl}"/>" title="<fmt:message key="jiraproject.openIssuesByAssignee"/>"/></td> + <td valign="top"><fmt:message key="jiraproject.openIssuesByAssignee"/>:</td> + <td valign="top"><img src="<c:out value="${project.openIssuesPerAssigneeChartUrl}"/>" title="<fmt:message key="jiraproject.openIssuesByAssignee"/>"/></td> <td valign="top"> + + <c:set var="listSize" value="${fn:length(project.openIssuesPerAssignee)}"/> + <c:set var="listIndex" value="0"/> + <%@include file="includes/table_expander.jsp" %> + <table> <c:forEach var="item" items="${project.openIssuesPerAssignee}" varStatus="status"> - <c:if test="${status.index < 8}"> - <tr class="portlet-section-body"> - <td><c:out value="${1 + status.index}"/></td> - <td><c:out value="${item.key}"/></td> - <td><c:out value="${item.value}"/></td> - </tr> - </c:if> + <c:choose> + <c:when test="${status.index < 10}"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" class="portlet-section-body"> + </c:when> + <c:otherwise> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-body"> + </c:otherwise> + </c:choose> + <td><c:out value="${1 + status.index}"/></td> + <td><c:out value="${item.key}"/></td> + <td><c:out value="${item.value}"/></td> + </tr> </c:forEach> </table> </td> Modified: trunk/labs/kosmos/web-portlet/pages/svn_monitoring_activity_details.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/svn_monitoring_activity_details.jsp 2005-09-30 21:19:43 UTC (rev 1250) +++ trunk/labs/kosmos/web-portlet/pages/svn_monitoring_activity_details.jsp 2005-10-01 10:47:17 UTC (rev 1251) @@ -33,23 +33,18 @@ <td valign="top"><img src="<c:out value="${repository.commitsPerWeekChartUrl}"/>" title="<fmt:message key="svnrepository.commitHistory"/>"/></td> <td colspan="2" valign="top"> -<!-- TODO ezt csak ilyen benan lehet? --> -<c:forEach items="${repository.commits}" varStatus="status"> - <c:set var="listSize" value="${status.index}"/> -</c:forEach> - -<%@include file="includes/table_expander.jsp" %> - - + <c:set var="listSize" value="${fn:length(repository.commits)}"/> + <c:set var="listIndex" value="0"/> + <%@include file="includes/table_expander.jsp" %> <table> <c:forEach var="commit" items="${repository.commits}" varStatus="status"> <c:choose> <c:when test="${status.index < 10}"> - <tr id="row-<portlet:namespace/>-<c:out value="${status.index}"/>" class="portlet-section-alternate"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" class="portlet-section-alternate"> </c:when> <c:otherwise> - <tr id="row-<portlet:namespace/>-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-alternate"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-alternate"> </c:otherwise> </c:choose> <td><c:out value="${commit.message}"/></td> Modified: trunk/labs/kosmos/web-portlet/pages/svn_monitoring_revision_details.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/svn_monitoring_revision_details.jsp 2005-09-30 21:19:43 UTC (rev 1250) +++ trunk/labs/kosmos/web-portlet/pages/svn_monitoring_revision_details.jsp 2005-10-01 10:47:17 UTC (rev 1251) @@ -8,32 +8,52 @@ <td><fmt:message key="svnrepository.mostActiveCommitters"/>:</td> <td><img src="<c:out value="${repository.commitsPerAuthorChartUrl}"/>" title="<fmt:message key="svnrepository.mostActiveCommitters"/>"/></td> <td valign="top"> + + <c:set var="listSize" value="${fn:length(repository.commitsPerAuthor)}"/> + <c:set var="listIndex" value="0"/> + <%@include file="includes/table_expander.jsp" %> + <table> <c:forEach var="item" items="${repository.commitsPerAuthor}" varStatus="status"> - <c:if test="${status.index < 8}"> - <tr class="portlet-section-body"> - <td><c:out value="${1 + status.index}"/></td> - <td><c:out value="${item.key}"/></td> - <td><c:out value="${item.value}"/></td> - </tr> - </c:if> + <c:choose> + <c:when test="${status.index < 10}"> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" class="portlet-section-body"> + </c:when> + <c:otherwise> + <tr id="row-<portlet:namespace/>-0-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-body"> + </c:otherwise> + </c:choose> + <td><c:out value="${1 + status.index}"/></td> + <td><c:out value="${item.key}"/></td> + <td><c:out value="${item.value}"/></td> + </tr> </c:forEach> </table> </td> </tr> <tr class="portlet-section-body"> - <td><fmt:message key="svnrepository.mostActiveFiles"/>:</td> - <td><img src="<c:out value="${repository.commitsPerFileChartUrl}"/>" title="<fmt:message key="svnrepository.mostActiveFiles"/>"/></td> + <td valign="top"><fmt:message key="svnrepository.mostActiveFiles"/>:</td> + <td valign="top"><img src="<c:out value="${repository.commitsPerFileChartUrl}"/>" title="<fmt:message key="svnrepository.mostActiveFiles"/>"/></td> <td valign="top"> + + <c:set var="listSize" value="${fn:length(repository.commitsPerFile)}"/> + <c:set var="listIndex" value="1"/> + <%@include file="includes/table_expander.jsp" %> + <table> <c:forEach var="item" items="${repository.commitsPerFile}" varStatus="status"> - <c:if test="${status.index < 8}"> - <tr class="portlet-section-alternate"> - <td><c:out value="${1 + status.index}"/></td> - <td><c:out value="${item.key}"/></td> - <td><c:out value="${item.value}"/></td> - </tr> - </c:if> + <c:choose> + <c:when test="${status.index < 10}"> + <tr id="row-<portlet:namespace/>-1-<c:out value="${status.index}"/>" class="portlet-section-alternate"> + </c:when> + <c:otherwise> + <tr id="row-<portlet:namespace/>-1-<c:out value="${status.index}"/>" style="display: none" class="portlet-section-alternate"> + </c:otherwise> + </c:choose> + <td><c:out value="${1 + status.index}"/></td> + <td><c:out value="${item.key}"/></td> + <td><c:out value="${item.value}"/></td> + </tr> </c:forEach> </table> </td> |
From: <jbo...@li...> - 2005-10-02 21:36:43
|
Author: aron.gombas Date: 2005-10-02 03:25:48 -0400 (Sun, 02 Oct 2005) New Revision: 1256 Added: trunk/labs/kosmos/web-server/WEB-INF/lib/commons-httpclient-2.0.2.jar Removed: trunk/labs/kosmos/web-server/WEB-INF/lib/commons-httpclient.jar Modified: trunk/labs/kosmos/web-server/WEB-INF/lib/javasvn.jar trunk/labs/kosmos/web-server/WEB-INF/lib/spring.jar Log: Dependencies upgraded to latest stable Added: trunk/labs/kosmos/web-server/WEB-INF/lib/commons-httpclient-2.0.2.jar =================================================================== (Binary files differ) Property changes on: trunk/labs/kosmos/web-server/WEB-INF/lib/commons-httpclient-2.0.2.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: trunk/labs/kosmos/web-server/WEB-INF/lib/commons-httpclient.jar =================================================================== (Binary files differ) Modified: trunk/labs/kosmos/web-server/WEB-INF/lib/javasvn.jar =================================================================== (Binary files differ) Modified: trunk/labs/kosmos/web-server/WEB-INF/lib/spring.jar =================================================================== (Binary files differ) |
From: <jbo...@li...> - 2005-10-02 20:48:40
|
Author: szimano Date: 2005-09-30 17:19:43 -0400 (Fri, 30 Sep 2005) New Revision: 1250 Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/WikiTypes.xml trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiPage.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java Log: dictionary and tests Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/WikiTypes.xml =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/WikiTypes.xml 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/etc/org/jboss/wiki/WikiTypes.xml 2005-09-30 21:19:43 UTC (rev 1250) @@ -101,4 +101,12 @@ <class>org.jboss.wiki.plugins.HTMLTranslatorParts</class> </plugin> </wikiType> + <wikiType> + <name>edit</name> + <class>org.jboss.wiki.plugins.DirectReferenceWikiType</class> + <plugin> + <name>translateUids</name> + <class>org.jboss.wiki.plugins.TranslateUids</class> + </plugin> + </wikiType> </wikiTypes> \ No newline at end of file Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/FileDataSource.java 2005-09-30 21:19:43 UTC (rev 1250) @@ -167,9 +167,8 @@ } - pageDictionary.setProperty("Tomek", "TomekToZebesciak"); - pageDictionary.setProperty("Tomek/Life/Relatives/Gyg", "TomekToZebesciak/Bimbom/PlumPlum/Plum"); - + //pageDictionary.setProperty("Tomek", "TomekToZebesciak"); + //pageDictionary.setProperty("Tomek/Life/Relatives/Gyg", "TomekToZebesciak/Bimbom/PlumPlum/Plum"); // create pageRevDictionary - to make it work faster Set<Object> keys = pageDictionary.keySet(); Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiEngine.java 2005-09-30 21:19:43 UTC (rev 1250) @@ -558,8 +558,11 @@ public String getRealName(String uid) { String[] pageTokens = uid.split("/"); + System.out.println("Looking at page: (realName) "+uid); + if (pageTokens.length > 1) { if (!wikiPageDictionary.getRealName(uid).equals(uid)) { + // this page is in dictionary return wikiPageDictionary.getRealName(uid); } else { @@ -580,8 +583,8 @@ page = page.substring(1); - System.out.println("Looking at page: " + page); - + System.out.println("Looking at page: (realName) "+page); + if (!wikiPageDictionary.getRealName(page).equals(page)) // this // page // is @@ -600,6 +603,8 @@ public String getUid(String realName) { String[] pageTokens = realName.split("/"); + System.out.println("Looking at page: (uid) "+realName); + if (pageTokens.length > 1) { if (!wikiPageDictionary.getUid(realName).equals(realName)) { // this page is in dictionary @@ -622,8 +627,8 @@ page = page.substring(1); - System.out.println("Looking at page(uid): " + page); - + System.out.println("Looking at page: (uid) "+page); + if (!wikiPageDictionary.getUid(page).equals(page)) // this // page // is Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiPage.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiPage.java 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiPage.java 2005-09-30 21:19:43 UTC (rev 1250) @@ -146,16 +146,19 @@ * </p> * */ - public synchronized void save() { + public synchronized boolean save() { if (!wikiEngine.preSave()) { System.err.println("Couldn't save page"); - return; + return false; } - wikiEngine.savePage(this, null); - - if (!wikiEngine.postSave()) { + boolean ret = wikiEngine.savePage(this, null); + boolean postSave; + + if (postSave = !wikiEngine.postSave()) { System.err.println("Problems with postSave"); } + + return ret || postSave; } /** Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/WikiType.java 2005-09-30 21:19:43 UTC (rev 1250) @@ -24,7 +24,7 @@ public class WikiType { protected String name; - + protected WikiEngine wikiEngine; /** @@ -36,7 +36,6 @@ protected Vector<WikiPlugin> plugins = new Vector<WikiPlugin>(); - public void addPlugin(String pluginName, String pluginClass) { WikiPlugin plugin = null; @@ -50,11 +49,11 @@ if (plugin != null) { plugins.add(plugin); - + plugin.setWikiEngine(wikiEngine); - + plugin.setName(pluginName); - + // run init() function plugin.init(); @@ -66,43 +65,55 @@ /** * <p> - * Processes given WikiPage with the apropriate plugins, connected to this WikiType + * Processes given WikiPage with the apropriate plugins, connected to this + * WikiType * </p> * * * @return processed WikiPage (copy - not exact reference) - * @param wikiPage page to process - * @param wikiSession current session + * @param wikiPage + * page to process + * @param wikiSession + * current session */ public WikiPage process(WikiPage wikiPage, WikiSession wikiSession) { // process through all plugins - + WikiPage newPage = null; - - try { - newPage = (WikiPage)wikiPage.clone(); + + if (getReference()) { + // pass reference + newPage = wikiPage; + } else { + try { + newPage = (WikiPage) wikiPage.clone(); + } catch (CloneNotSupportedException cnse) { + System.err.println("cannot clone the page: " + cnse); + } } - catch (CloneNotSupportedException cnse) { - System.err.println("cannot clone the page: " + cnse); - } // execute the plugins for (int i = 0; i < plugins.size(); i++) { - //System.out.println("Executing plugin: "+plugins.get(i).getName()); + // System.out.println("Executing plugin: + // "+plugins.get(i).getName()); newPage = (plugins.get(i)).process(newPage, wikiSession); } - + // clear session attributes passed in uri int i = 1; - - while (wikiSession.getAttribute("var"+i) != null) { - wikiSession.removeAttribute("var"+i); + + while (wikiSession.getAttribute("var" + i) != null) { + wikiSession.removeAttribute("var" + i); i++; } - + return newPage; } + protected boolean getReference() { + return false; + } + public String getName() { return name; } @@ -111,11 +122,11 @@ System.out.print("Setting new WikiType name: " + name); this.name = name; } - + public void setWikiEngine(WikiEngine wikiEngine) { this.wikiEngine = wikiEngine; } - + public String getContentType() { return "text/html"; } Modified: trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java =================================================================== --- trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java 2005-09-30 18:49:40 UTC (rev 1249) +++ trunk/forge/portal-extensions/jbosswiki/wiki-common/src/java/org/jboss/wiki/plugins/HTMLTranslatorParts.java 2005-09-30 21:19:43 UTC (rev 1250) @@ -402,7 +402,7 @@ * @author Rali Genova * @author Janne Jalkanen */ - public String parseCamelCase(String link) { + public static String parseCamelCase(String link) { String camelCasepattern = "^([^\\p{Alnum}]*|\\~)([\\p{Upper}]+[\\p{Lower}]+[\\p{Upper}]+[\\p{Alnum}]*)[^\\p{Alnum}]*$"; Pattern camelCase = Pattern.compile(camelCasepattern); Matcher camelMatch = camelCase.matcher(link); @@ -815,8 +815,12 @@ } else // [link] case { - text = wikiEngine.getRealName(cleanLink(link)); - + if (!isExternalLink(link)) { + text = wikiEngine.getRealName(cleanLink(link)); + } + else { + text = link; + } } // external link @@ -875,7 +879,7 @@ * * @author Janne Jalkanen */ - private boolean isExternalLink(String link) { + public static boolean isExternalLink(String link) { link = link.trim(); return link.startsWith("http:") || link.startsWith("ftp:") || link.startsWith("https:") || link.startsWith("mailto:") @@ -903,7 +907,7 @@ * @since 2.0 * @author Janne Jalkanen */ - public String cleanLink(String link) { + public static String cleanLink(String link) { StringBuffer clean = new StringBuffer(); if (link == null) |
From: <jbo...@li...> - 2005-10-02 20:41:59
|
Author: aron.gombas Date: 2005-10-02 11:30:44 -0400 (Sun, 02 Oct 2005) New Revision: 1258 Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties Log: Localization typo fixed Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties 2005-10-02 11:29:33 UTC (rev 1257) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties 2005-10-02 15:30:44 UTC (rev 1258) @@ -24,7 +24,7 @@ legend.error=Failed build. legend.buildSuccess=Successful build. legend.buildError=Failed build. -legend.testSuccess=Succesful test. +legend.testSuccess=Successful test. legend.testWarning=Failed test. legend.testError=Test error. |
From: <jbo...@li...> - 2005-10-02 18:03:06
|
Author: adamw Date: 2005-09-30 14:49:40 -0400 (Fri, 30 Sep 2005) New Revision: 1249 Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectDescriptor.java Log: External links in project descriptors Modified: trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectDescriptor.java =================================================================== --- trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectDescriptor.java 2005-09-30 16:14:51 UTC (rev 1248) +++ trunk/forge/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectDescriptor.java 2005-09-30 18:49:40 UTC (rev 1249) @@ -12,6 +12,7 @@ import java.util.Set; import org.apache.xerces.parsers.DOMParser; +import org.jboss.forge.common.ForgeHelper; import org.jboss.forge.common.projects.XmlInputFactory.XmlNotFoundException; import org.jboss.forge.common.projects.elements.BindingsHandlerIterSingleKey; import org.jboss.forge.common.projects.elements.ExtendedPropertiesMap; @@ -271,7 +272,10 @@ if (thisProject.hasProperty(ProjectsDescriptor.INFO_PAGE_ATTRIBUTE)) { String infoPage = getProperty(ProjectsDescriptor.INFO_PAGE_ATTRIBUTE); - return ProjectsHelper.createFreezonePageLink(portalName, + if (ForgeHelper.isOutsideLink(infoPage)) + return infoPage; + else + return ProjectsHelper.createFreezonePageLink(portalName, getId(), infoPage); } else { return ProjectsHelper.createPageLink(portalName, |
From: <jbo...@li...> - 2005-10-02 16:44:54
|
Author: aron.gombas Date: 2005-10-02 12:43:40 -0400 (Sun, 02 Oct 2005) New Revision: 1259 Added: trunk/labs/kosmos/web-portlet/pages/scripts/ trunk/labs/kosmos/web-portlet/pages/scripts/main.js Log: JS added Added: trunk/labs/kosmos/web-portlet/pages/scripts/main.js =================================================================== --- trunk/labs/kosmos/web-portlet/pages/scripts/main.js 2005-10-02 15:30:44 UTC (rev 1258) +++ trunk/labs/kosmos/web-portlet/pages/scripts/main.js 2005-10-02 16:43:40 UTC (rev 1259) @@ -0,0 +1,7 @@ +/** Shows a certain number of rows in a table. */ +function showTableRows(rowIdPrefix, rows, rowsToShow) { + for(i = 0; i < rowsToShow; i++) + document.getElementById(rowIdPrefix + i).style.display = ""; + for(; i < rows; i++) + document.getElementById(rowIdPrefix + i).style.display = "none"; +} |
Author: aron.gombas Date: 2005-10-02 12:44:03 -0400 (Sun, 02 Oct 2005) New Revision: 1260 Added: trunk/labs/kosmos/web-portlet/pages/images/table.gif Removed: trunk/labs/kosmos/web-portlet/pages/images/collapse.gif trunk/labs/kosmos/web-portlet/pages/images/expand.gif Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet_hu.properties trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet.properties trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet_hu.properties trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet.properties trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet_hu.properties trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp Log: Table expander done Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -32,3 +32,5 @@ action.refresh=Refresh action.back=Back +action.show=Show +action.showAll=Show All Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet_hu.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet_hu.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/cc/ccmonitoringportlet_hu.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -32,3 +32,5 @@ action.refresh=Friss action.back=Vissza +action.show=Mutat +action.showAll=szeset Mutat \ No newline at end of file Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -36,3 +36,5 @@ action.refresh=Refresh action.back=Back +action.show=Show +action.showAll=Show All Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet_hu.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet_hu.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/jira/jiramonitoringportlet_hu.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -36,3 +36,5 @@ action.refresh=Friss action.back=Vissza +action.show=Mutat +action.showAll=szeset Mutat Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -39,3 +39,5 @@ action.refresh=Refresh action.back=Back +action.show=Show +action.showAll=Show All Modified: trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet_hu.properties =================================================================== --- trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet_hu.properties 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/WEB-INF/classes/hu/midori/kosmos/portlet/svn/svnmonitoringportlet_hu.properties 2005-10-02 16:44:03 UTC (rev 1260) @@ -39,3 +39,5 @@ action.refresh=Friss action.back=Vissza +action.show=Mutat +action.showAll=szeset Mutat Deleted: trunk/labs/kosmos/web-portlet/pages/images/collapse.gif =================================================================== (Binary files differ) Deleted: trunk/labs/kosmos/web-portlet/pages/images/expand.gif =================================================================== (Binary files differ) Added: trunk/labs/kosmos/web-portlet/pages/images/table.gif =================================================================== (Binary files differ) Property changes on: trunk/labs/kosmos/web-portlet/pages/images/table.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp =================================================================== --- trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp 2005-10-02 16:43:40 UTC (rev 1259) +++ trunk/labs/kosmos/web-portlet/pages/includes/table_expander.jsp 2005-10-02 16:44:03 UTC (rev 1260) @@ -2,7 +2,20 @@ <script language="javascript" type="text/javascript"> <%@include file="../scripts/main.js"%> </script> - <a href="javascript:void(0)" onclick="javascript:toggle('row-<portlet:namespace/>-${listIndex}-', 'expander-<portlet:namespace/>-${listIndex}', <c:out value="${listSize}"/>, '<%= renderRequest.getContextPath() %>/pages/images/expand.gif', '<%= renderRequest.getContextPath() %>/pages/images/collapse.gif')"> - <img id="expander-<portlet:namespace/>-${listIndex}" border="0" src="<%= renderRequest.getContextPath() %>/pages/images/expand.gif" title="Expand All ${listSize}"/> Expand All ${listSize} + +<img src="<%= renderRequest.getContextPath() %>/pages/images/table.gif" title="<fmt:message key="legend.warning"/>"/> + + <a href="javascript:void(0)" onclick="javascript:showTableRows('row-<portlet:namespace/>-${listIndex}-', ${listSize}, 10)"> + <fmt:message key="action.show"/> 10 </a> + | + <c:if test="${listSize > 25}"> + <a href="javascript:void(0)" onclick="javascript:showTableRows('row-<portlet:namespace/>-${listIndex}-', ${listSize}, 25)"> + <fmt:message key="action.show"/> 25 + </a> + | + </c:if> + <a href="javascript:void(0)" onclick="javascript:showTableRows('row-<portlet:namespace/>-${listIndex}-', ${listSize}, ${listSize})"> + <fmt:message key="action.showAll"/> ${listSize} + </a> </c:if> |