You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(233) |
Sep
(199) |
Oct
(206) |
Nov
(185) |
Dec
(270) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(232) |
Feb
(426) |
Mar
(623) |
Apr
(592) |
May
(506) |
Jun
(389) |
Jul
(160) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2007 |
Jan
(1) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(4) |
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(5) |
Oct
(9) |
Nov
(6) |
Dec
(6) |
2008 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(3) |
Jun
(5) |
Jul
(10) |
Aug
(2) |
Sep
(12) |
Oct
(10) |
Nov
(54) |
Dec
(49) |
2009 |
Jan
(19) |
Feb
(13) |
Mar
(20) |
Apr
(24) |
May
(44) |
Jun
(29) |
Jul
(32) |
Aug
(10) |
Sep
(7) |
Oct
(10) |
Nov
(4) |
Dec
(17) |
2010 |
Jan
(14) |
Feb
(5) |
Mar
(23) |
Apr
(50) |
May
(31) |
Jun
(9) |
Jul
(5) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(2) |
Dec
(3) |
2011 |
Jan
(12) |
Feb
(5) |
Mar
(5) |
Apr
(3) |
May
(4) |
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2015 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <jbo...@li...> - 2006-04-19 19:41:59
|
Author: dam...@jb... Date: 2006-04-19 15:41:55 -0400 (Wed, 19 Apr 2006) New Revision: 3801 Added: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/tools/DomToXmlTransformer.java Log: Adding to shotoku for shotoku extraction from forge. Copied: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/tools/DomToXmlTransformer.java (from rev 3800, labs/jbosslabs/branches/qa/jbosslabs/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/DomToXmlTransformer.java) |
From: <jbo...@li...> - 2006-04-19 19:39:28
|
Author: dam...@jb... Date: 2006-04-19 15:39:21 -0400 (Wed, 19 Apr 2006) New Revision: 3800 Added: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/tools/XmlTools.java Log: Copying XmlTools from forge-common to shotoku.tools. Need it to depart from forge code base." Copied: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/tools/XmlTools.java (from rev 3799, labs/jbosslabs/branches/qa/jbosslabs/portal-extensions/forge-common/src/java/org/jboss/forge/common/XmlTools.java) |
From: <jbo...@li...> - 2006-04-19 18:35:12
|
Author: dam...@jb... Date: 2006-04-19 14:35:00 -0400 (Wed, 19 Apr 2006) New Revision: 3799 Added: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/ Removed: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/ Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/AtomFeed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Feed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedFactory.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsCache.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsDescriptor.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsPortlet.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsServlet.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FileBasedFeed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/InformaBasedFeed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfDateFormat.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfFeed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RomeBasedFeed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Rss2Feed.java labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/TextEscaping.java Log: Refactore package to shotoku rather than forge. Copied: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku (from rev 3798, labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge) Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/AtomFeed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/AtomFeed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/AtomFeed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Feed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/Feed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Feed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.IOException; import java.io.InputStream; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedFactory.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FeedFactory.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedFactory.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.util.HashMap; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsCache.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FeedsCache.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsCache.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import org.jboss.shotoku.tools.Pair; import org.jboss.shotoku.cache.ShotokuCacheItem; @@ -36,4 +36,4 @@ public FeedsDescriptor init(Pair<String, String> key) { return getDesc(key.getFirst(), key.getSecond()); } -} \ No newline at end of file +} Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsDescriptor.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FeedsDescriptor.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsDescriptor.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.IOException; import java.io.Writer; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsPortlet.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FeedsPortlet.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsPortlet.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsServlet.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FeedsServlet.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FeedsServlet.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FileBasedFeed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/FileBasedFeed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/FileBasedFeed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/InformaBasedFeed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/InformaBasedFeed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/InformaBasedFeed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -1,4 +1,4 @@ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfDateFormat.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/RdfDateFormat.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfDateFormat.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -1,4 +1,4 @@ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.text.SimpleDateFormat; import java.util.Date; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfFeed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/RdfFeed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RdfFeed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RomeBasedFeed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/RomeBasedFeed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/RomeBasedFeed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Rss2Feed.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/Rss2Feed.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/Rss2Feed.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.io.File; import java.io.IOException; Modified: labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/TextEscaping.java =================================================================== --- labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/forge/feeds/TextEscaping.java 2006-04-19 18:11:29 UTC (rev 3798) +++ labs/shotoku/trunk/shotoku-feeds/src/java/org/jboss/shotoku/feeds/TextEscaping.java 2006-04-19 18:35:00 UTC (rev 3799) @@ -19,7 +19,7 @@ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ -package org.jboss.forge.feeds; +package org.jboss.shotoku.feeds; import java.text.StringCharacterIterator; |
From: <jbo...@li...> - 2006-04-19 18:11:35
|
Author: dam...@jb... Date: 2006-04-19 14:11:29 -0400 (Wed, 19 Apr 2006) New Revision: 3798 Added: labs/shotoku/trunk/shotoku-feeds/ Modified: labs/shotoku/trunk/shotoku-feeds/project.xml Log: Adding Shotoku Feeds. Copied: labs/shotoku/trunk/shotoku-feeds (from rev 3796, labs/jbosslabs/trunk/portal-extensions/forge-feeds) Modified: labs/shotoku/trunk/shotoku-feeds/project.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-feeds/project.xml 2006-04-19 15:01:54 UTC (rev 3796) +++ labs/shotoku/trunk/shotoku-feeds/project.xml 2006-04-19 18:11:29 UTC (rev 3798) @@ -6,22 +6,28 @@ --> <project> <pomVersion>3</pomVersion> - <extend>../common.xml</extend> + <extend>../project.xml</extend> <id>feeds</id> - <name>Forge feeds</name> + <name>Shotoku Feeds</name> <currentVersion>1.0</currentVersion> <organization> - <name>Adam Warski</name> - <url>http://mamut.net.pl</url> + <name>Damon Sicore</name> + <url>http://damon.sicore.org</url> </organization> <description></description> <dependencies> <dependency> - <groupId>jboss-forge</groupId> - <artifactId>forge-common</artifactId> - <version>1.0</version> + <groupId>shotoku</groupId> + <artifactId>shotoku-base</artifactId> + <jar>shotoku-base.jar</jar> </dependency> + + <dependency> + <groupId>shotoku</groupId> + <artifactId>shotoku-base</artifactId> + <jar>shotoku-base.jar</jar> + </dependency> <dependency> <groupId>aslibs</groupId> @@ -97,4 +103,11 @@ <version>2.6.0</version> </dependency> </dependencies> + + <build> + <sourceDirectory>src/java</sourceDirectory> + <resources> + <resource> + <directory>src/etc/</directory> + <include>**/*.xml</include></resource></resources></build> </project> |
From: <jbo...@li...> - 2006-04-19 18:08:16
|
Author: wrzep Date: 2006-04-19 14:08:00 -0400 (Wed, 19 Apr 2006) New Revision: 3797 Modified: labs/jbosslabs/trunk/portal-extensions/forge-ads/src/java/org/jbosslabs/portlet/ads/AdsPortlet.java Log: ads fix (JBLAB-636) Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-ads/src/java/org/jbosslabs/portlet/ads/AdsPortlet.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-ads/src/java/org/jbosslabs/portlet/ads/AdsPortlet.java 2006-04-19 15:01:54 UTC (rev 3796) +++ labs/jbosslabs/trunk/portal-extensions/forge-ads/src/java/org/jbosslabs/portlet/ads/AdsPortlet.java 2006-04-19 18:08:00 UTC (rev 3797) @@ -65,7 +65,8 @@ new NullPermissionsChecker(), projectId); - if (context.childIterator("ads") != null) { + if ((context.childIterator("ads") != null) + && context.childIterator("ads").hasNext()) { return context; } else { // If project ads are not specified show default ads return generateDefaultContent(portalName); |
From: <jbo...@li...> - 2006-04-19 15:04:09
|
Author: mar...@jb... Date: 2006-04-19 11:01:54 -0400 (Wed, 19 Apr 2006) New Revision: 3796 Added: labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/ labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.pom Log: -Update to jdtcore 3.2.0_v_658 Added: labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar =================================================================== (Binary files differ) Property changes on: labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.jar ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.pom =================================================================== --- labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.pom 2006-04-19 12:32:22 UTC (rev 3795) +++ labs/jbossrules/trunk/repository/eclipse/jdtcore/3.2.0.v_658/jdtcore-3.2.0.v_658.pom 2006-04-19 15:01:54 UTC (rev 3796) @@ -0,0 +1,7 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>eclipse</groupId> + <artifactId>jdtcore</artifactId> + <version>3.2.0.v_658</version> + <dependencies/> +</project> \ No newline at end of file |
From: <jbo...@li...> - 2006-04-19 12:32:41
|
Author: wrzep Date: 2006-04-19 08:32:22 -0400 (Wed, 19 Apr 2006) New Revision: 3795 Removed: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/jboss/jars/status-common.jar Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/maven.xml labs/jbosslabs/trunk/portal-extensions/forge-status/project.properties labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml Log: JBLAB-599 Pawel Deleted: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/jboss/jars/status-common.jar =================================================================== (Binary files differ) Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/maven.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/maven.xml 2006-04-19 12:01:53 UTC (rev 3794) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/maven.xml 2006-04-19 12:32:22 UTC (rev 3795) @@ -22,7 +22,7 @@ <attainGoal name="prj-war-deploy" /> <ant:copy tofile="../${forge.sar.dir}/target/${forge.sar.name}/forge-status.ejb3" file="target/forge-status-1.0.jar" /> <ant:copy tofile="../${forge.sar.dir}/target/${forge.sar.name}/status-common.jar" file="target/status-common.jar" /> - <ant:copy tofile="../binaries/maven-repo-addons/jboss/jars/status-common.jar" file="target/status-common.jar" /> + <ant:copy tofile="${maven.repo.local}/jboss-forge/jars/status-common.jar" file="target/status-common.jar" /> </goal> <goal name="clean"> Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/project.properties =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/project.properties 2006-04-19 12:01:53 UTC (rev 3794) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/project.properties 2006-04-19 12:32:22 UTC (rev 3795) @@ -1,6 +1,6 @@ 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 -common.classes=**/PluginsValues.class,**/PluginValues.class +<!-- common.classes=**/PluginsValues.class,**/PluginValues.class,**/PluginConf.class maven.war.classes.excludes=${common.classes} -maven.ejb.excludes=${common.classes},**/PluginConf.class +maven.ejb.excludes=${common.classes} --> Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml 2006-04-19 12:01:53 UTC (rev 3794) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/project.xml 2006-04-19 12:32:22 UTC (rev 3795) @@ -33,6 +33,7 @@ <jar>status-common.jar</jar> <properties> <ejb.manifest.classpath>true</ejb.manifest.classpath> +<!-- <war.manifest.classpath>true</war.manifest.classpath> --> <war.bundle>true</war.bundle> </properties> </dependency> |
From: <jbo...@li...> - 2006-04-19 12:01:56
|
Author: KrisVerlaenen Date: 2006-04-19 08:01:53 -0400 (Wed, 19 Apr 2006) New Revision: 3794 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java Log: Fixed some errors with dsl completion Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 10:32:21 UTC (rev 3793) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 12:01:53 UTC (rev 3794) @@ -60,7 +60,14 @@ if (query.matcher(backText).matches()) { list.addAll(adapter.listConditionItems()); } else if (consequence.matcher(backText).matches()) { - list.addAll(adapter.listConsequenceItems()); + List dslConsequences = adapter.listConsequenceItems(); + Iterator iterator = dslConsequences.iterator(); + while (iterator.hasNext()) { + String consequence = (String) iterator.next(); + list.add(new RuleCompletionProposal(prefix.length(), consequence)); + // TODO prefix should be from beginning of line, not just last word ? + filterProposalsOnPrefix(prefix, list); + } if (!adapter.hasConsequences()) { list.add(new RuleCompletionProposal(prefix.length(), "modify", "modify();", 7)); list.add(new RuleCompletionProposal(prefix.length(), "retract", "retract();", 8)); @@ -92,7 +99,14 @@ // } } } else if (condition.matcher(backText).matches()) { - list.addAll(adapter.listConditionItems()); + List dslConditions = adapter.listConditionItems(); + Iterator iterator = dslConditions.iterator(); + while (iterator.hasNext()) { + String condition = (String) iterator.next(); + list.add(new RuleCompletionProposal(prefix.length(), condition)); + // TODO prefix should be from beginning of line, not just last word ? + filterProposalsOnPrefix(prefix, list); + } Image image = DroolsPluginImages.getImage(DroolsPluginImages.DROOLS); if (!adapter.hasConditions()) { RuleCompletionProposal prop = new RuleCompletionProposal(prefix.length(), "exists", "exists "); @@ -116,7 +130,7 @@ DrlParser parser = new DrlParser(); PackageDescr descr = DroolsBuilder.parsePackage(content, parser, dslReader); List imports = descr.getImports(); - Iterator iterator = imports.iterator(); + iterator = imports.iterator(); while (iterator.hasNext()) { String name = (String) iterator.next(); int index = name.lastIndexOf("."); |
From: <jbo...@li...> - 2006-04-19 10:32:39
|
Author: mic...@jb... Date: 2006-04-19 06:32:21 -0400 (Wed, 19 Apr 2006) New Revision: 3793 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml Log: Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml 2006-04-19 10:28:11 UTC (rev 3792) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml 2006-04-19 10:32:21 UTC (rev 3793) @@ -2,37 +2,74 @@ <section> <title>Domain Specific Languages</title> - <para>As mentioned previously, Domain Specific Languages (or DSLs) are a way of extending the rule language to your problem domain. - They are wired in to the rule language for you, and can make use of all the underlying rule langauge and engine features.</para> + <para>As mentioned previously, Domain Specific Languages (or DSLs) are a way + of extending the rule language to your problem domain. They are wired in to + the rule language for you, and can make use of all the underlying rule + langauge and engine features.</para> - <section> <title>When to use a DSL</title> - <para>DSLs can serve as a layer of seperation between rule authoring (and rule authors) and the domain objects that the engine operates on. - DSLs can also act as "templates" of conditions or actions that are used over and over in your rules, perhaps only with parameters changing each time. - If your rules need to be read and validated by less technical folk, (such as Business Analysts) the DSLs are definately for you. - </para> + + <para>DSLs can serve as a layer of seperation between rule authoring (and + rule authors) and the domain objects that the engine operates on. DSLs can + also act as "templates" of conditions or actions that are used over and + over in your rules, perhaps only with parameters changing each time. If + your rules need to be read and validated by less technical folk, (such as + Business Analysts) the DSLs are definately for you. If the conditions or + consequences of your rules follow similar patterns which you can express + in a template. You wish to hide away your implementation details, and + focus on the business rule. You want to provide a controlled means of + editing rules based on pre-defined templates.</para> </section> - <section> <title>Creating a DSL</title> - <para></para> + <para>A DSL's configuration like most things is stored in a plain text + file. If you use the IDE, you get a nice graphical editor, but the format + of the file is quite simple, and is basically a properties file.</para> + <example> + <title>Example DSL mapping</title> + + <programlisting>[when]This is {something}=Something(something=={something})</programlisting> + </example> </section> <section> <title>Using a DSL in your rules</title> + + <para>A good way to get started if you are new to Rules (and DSLs) is just + write the rules as you normally would against your object model. You can + unit test as you go (like a good agile citizen!). Once you feel + comfortable, you can look at extracting a domain language to express what + you are doing in the rules. Note that once you have started using the + "expander" keyword, you will get errors if the parser does not recognise + expressions you have in there - you need to move everything to the DSL. As + a way around this, you can prefix each line with ">" and it will tell + the parser to take that line literally, and not try and expand it (this is + handy also if you are debugging why something isn't working).</para> + + <para>As you work through building up your DSL, you will find that the DSL + configuration stabilises pretty quickly, and that as you add new rules and + edit rules you are reusing the same DSL expressions over and over. The aim + is to make things as fluent as possible.</para> + + <para>To use the DSL when you want to compile and run the rules, you will + need to pass the DSL configuration source along with the rule source. + <programlisting>PackageBuilder builder = new PackageBuilder(); +builder.addPackageFromDrl( source, dsl ); +//source is a reader for the rule source, dsl is a reader for the DSL configuration +</programlisting> You will also need to specify the expander by name in the + rule source file: <programlisting>expander your-expander.dsl +</programlisting> Typically you keep the DSL in the same directory as the + rule, but this is not required if you are using the above API (you only + need to pass a reader). Otherwise everything is just the same.</para> </section> <section> <title>How it works</title> <para></para> - </section> - - - </section> \ No newline at end of file |
From: <jbo...@li...> - 2006-04-19 10:28:24
|
Author: mla...@jb... Date: 2006-04-19 06:28:11 -0400 (Wed, 19 Apr 2006) New Revision: 3792 Modified: labs/jbossweb/trunk/src/share/native/build/buildprep.sh Log: Add win zip target Modified: labs/jbossweb/trunk/src/share/native/build/buildprep.sh =================================================================== --- labs/jbossweb/trunk/src/share/native/build/buildprep.sh 2006-04-19 10:21:42 UTC (rev 3791) +++ labs/jbossweb/trunk/src/share/native/build/buildprep.sh 2006-04-19 10:28:11 UTC (rev 3792) @@ -5,6 +5,13 @@ # Distributable under LGPL license. # See terms of license at gnu.org. # + +crlf=false; + +if test "$1" = "--crlf" ; then + crlf=true +fi + NATIVETAG=HEAD # Replace NATIVEEXT with tagged version number, like 1.1.0 @@ -17,7 +24,11 @@ NATIVEDIST=tomcat-native-${NATIVEEXT} rm -rf ${NATIVEDIST} -svn export -r $NATIVETAG ${NATIVESVN}/jni/native ${NATIVEDIST} +if $crlf ; then + svn export -r $NATIVETAG --native-eol CRLF ${NATIVESVN}/jni/native ${NATIVEDIST} +else + svn export -r $NATIVETAG ${NATIVESVN}/jni/native ${NATIVEDIST} +fi APRVER="1.2.7" SSLVER="0.9.8a" @@ -27,22 +38,40 @@ mkdir srclib cd srclib -wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/apr/apr-${APRVER}.tar.gz -tar zxf apr-${APRVER}.tar.gz +# Download APR +if $crlf ; then + wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/apr/apr-${APRVER}-win32-src.zip + unzip -q -o apr-${APRVER}-win32-src.zip + rm -f apr-${APRVER}-win32-src.zip +else + wget http://ftp.heanet.ie/mirrors/www.apache.org/dist/apr/apr-${APRVER}.tar.gz + tar zxf apr-${APRVER}.tar.gz + rm -f apr-${APRVER}.tar.gz +fi +# Download OpenSSL wget http://www.openssl.org/source/openssl-${SSLVER}.tar.gz tar zxf openssl-${SSLVER}.tar.gz -#Adjust the location of APR sources +rm -f openssl-${SSLVER}.tar.gz + cd .. -./buildconf --with-apr=./srclib/apr-${APRVER} +if test "$crlf" = "false" ; then + # Create Configure + ./buildconf --with-apr=./srclib/apr-${APRVER} +fi + cd .. cp ./buildworld.sh ${NATIVEDIST}/ +cp ./NMAKEcommon.inc ${NATIVEDIST}/build/ +cp ../NMAKEmakefile ${NATIVEDIST}/ +cp ../srclib/apr/NMAKEmakefile ${NATIVEDIST}/srclib/apr-${APRVER}/ +cp ../srclib/openssl/*.bat ${NATIVEDIST}/srclib/openssl-${SSLVER}/ # Create distribution -tar cfz ${NATIVEDIST}.tar.gz ${NATIVEDIST} +if $crlf ; then + zip -9 -r -q -o ${NATIVEDIST}.zip ${NATIVEDIST} +else + tar cfz ${NATIVEDIST}.tar.gz ${NATIVEDIST} +fi -# Convert lineends to DOS -# perl apr/build/lineends.pl --cr ${NATIVEDIST} -# zip -9 -r ${NATIVEDIST}.zip ${NATIVEDIST} - rm -rf ${NATIVEDIST} |
From: <jbo...@li...> - 2006-04-19 10:21:47
|
Author: arvinder Date: 2006-04-19 06:21:42 -0400 (Wed, 19 Apr 2006) New Revision: 3791 Modified: labs/jbossesb/trunk/Readme.txt Log: Test commit Modified: labs/jbossesb/trunk/Readme.txt =================================================================== --- labs/jbossesb/trunk/Readme.txt 2006-04-19 10:17:19 UTC (rev 3790) +++ labs/jbossesb/trunk/Readme.txt 2006-04-19 10:21:42 UTC (rev 3791) @@ -3,3 +3,4 @@ We are currently at the design and proof-of-concept phase. Check out the JBossESB labs page or developer forum for more details. +Test comment |
Author: wrzep Date: 2006-04-19 06:17:19 -0400 (Wed, 19 Apr 2006) New Revision: 3790 Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java Removed: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTags.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTools.java Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresServiceImpl.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/PluginConf.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java Log: JBLAB-599 Pawel Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/Status.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -45,7 +45,7 @@ import org.jboss.forge.status.tools.Plugins; import org.jboss.forge.status.tools.PluginsValues; import org.jboss.forge.status.tools.ScoresManager; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; @@ -94,13 +94,13 @@ // Get columns to display on the main page Node mainPageRoot = XmlTools.getFirstNodeWithName(statusRoot, - StatusTags.MAIN_PAGE_COLUMNS_TAG); + Tags.MAIN_PAGE_COLUMNS_TAG); mainPageColumns = new Columns(mainPageRoot, pluginsValues, projects); // Get matrix to display on the project page Node projectPageRoot = XmlTools.getFirstNodeWithName(statusRoot, - StatusTags.PROJECT_PAGE_COLUMNS_TAG); + Tags.PROJECT_PAGE_COLUMNS_TAG); matrixTemplate = new MatrixTemplate(projectPageRoot, pluginsValues, projects); @@ -125,7 +125,7 @@ for (int i = 0; i < pluginNodes.getLength(); i++) { Node pluginNode = pluginNodes.item(i); - if (pluginNode.getNodeName() != StatusTags.PLUGIN_ELEMENT) { + if (pluginNode.getNodeName() != Tags.PLUGIN_ELEMENT) { continue; } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusDescriptor.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -25,7 +25,7 @@ import java.util.Map; import java.io.IOException; -import org.jboss.forge.status.tools.StatusTools; +import org.jboss.forge.status.tools.Tools; import org.jboss.portal.common.context.DelegateContext; import org.jboss.shotoku.ContentManager; @@ -53,10 +53,10 @@ public StatusDescriptor(String portalName, ContentManager cm) { try { - String statusPath = StatusTools.getXmlCmPath(portalName); + String statusPath = Tools.getXmlCmPath(portalName); Node statusRoot = getRoot(cm , statusPath); - String pluginsPath = StatusTools.getXmlStatusPluginsCmPath(portalName); + String pluginsPath = Tools.getXmlStatusPluginsCmPath(portalName); Node pluginsRoot = getRoot(cm, pluginsPath); status = new Status(portalName, statusRoot, pluginsRoot); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusNodeWatcher.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -25,7 +25,7 @@ import org.jboss.forge.common.service.NodeWatcher; import org.jboss.forge.common.service.ResourceWatcher; -import org.jboss.forge.status.tools.StatusTools; +import org.jboss.forge.status.tools.Tools; import org.jboss.shotoku.ContentManager; @@ -48,15 +48,15 @@ rw = new ResourceWatcher(cm); /* Watch plugins confuguration files */ - rw.watchResource(StatusTools.getXmlCmPath(portalName)); - rw.watchResource(StatusTools.getXmlStatusPluginsCmPath(portalName)); + rw.watchResource(Tools.getXmlCmPath(portalName)); + rw.watchResource(Tools.getXmlStatusPluginsCmPath(portalName)); /* Watch projects.xml file*/ - rw.watchResource(StatusTools.getProjectsXmlPath(portalName)); + rw.watchResource(Tools.getProjectsXmlPath(portalName)); /* Watch all project.xml files * We assume that they contain entries used by plugins */ - Set<String> projectXmlPathsSet = StatusTools.getProjectXmlPathsSet(portalName); + Set<String> projectXmlPathsSet = Tools.getProjectXmlPathsSet(portalName); for (String projectXmlPath : projectXmlPathsSet) { rw.watchResource(projectXmlPath); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/StatusPortlet.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -28,7 +28,7 @@ import javax.portlet.PortletRequestDispatcher; import org.jboss.forge.common.ForgeHelper; -import org.jboss.forge.status.tools.StatusTools; +import org.jboss.forge.status.tools.Tools; import org.jboss.portal.common.context.DelegateContext; import org.jboss.portal.core.servlet.jsp.PortalJsp; @@ -55,24 +55,24 @@ String action = request.getParameter("action"); String id = request.getParameter("id"); - StatusDescriptor desc = StatusTools.getDesc(portalName); + StatusDescriptor desc = Tools.getDesc(portalName); // Set the JSP to show and get the appropriate context String jspPath = null; DelegateContext context = null; if ((id != null) && (action.equals(PROJECT_DETAILS_ACTION))) { - jspPath = StatusTools.getPrjDetailsJspCmPath(); + jspPath = Tools.getPrjDetailsJspCmPath(); context = desc.getProjectContext(id); } if ((id != null) && (action.equals(COLUMN_DETAILS_ACTION))) { - jspPath = StatusTools.getColumnDetailsJspCmPath(); + jspPath = Tools.getColumnDetailsJspCmPath(); context = desc.getColumnContext(id); } if (id == null) { // Request for main Matrix page - jspPath = StatusTools.getJspCmPath(); + jspPath = Tools.getJspCmPath(); context = desc.getContext(); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/cc/CcStatusPlugin.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -28,7 +28,7 @@ import java.net.MalformedURLException; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; @@ -46,7 +46,7 @@ @Override protected String getKosmosServiceTag() { - return StatusTags.CC_SERVICE_PROPERTY; + return Tags.CC_SERVICE_PROPERTY; }; protected Logger log; @@ -98,7 +98,7 @@ private String getCcURL(String projectId) { - String ccURL = projects.getProjectProperty(projectId, StatusTags.CC_ADRESS_TAG); + String ccURL = projects.getProjectProperty(projectId, Tags.CC_ADRESS_TAG); return (ccURL == "" ? null : ccURL); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/codelines/CodeLinesPlugin.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -26,7 +26,7 @@ import java.util.HashMap; import org.jboss.forge.status.plugins.Plugin; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; /** * @author Pawel Wrzeszcz @@ -61,12 +61,12 @@ long cl = 0; - String url = getProperty(projectId, StatusTags.SVN_REPO_ADRESS_TAG); + String url = getProperty(projectId, Tags.SVN_REPO_ADRESS_TAG); if (url != null) { - String userName = getProperty(projectId, StatusTags.SVN_USERNAME_TAG); - String password = getProperty(projectId, StatusTags.SVN_PASSWD_TAG); + String userName = getProperty(projectId, Tags.SVN_USERNAME_TAG); + String password = getProperty(projectId, Tags.SVN_PASSWD_TAG); cl = getValue(url, userName, password); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/jira/JiraStatusPlugin.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -28,7 +28,7 @@ import java.net.MalformedURLException; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; @@ -45,7 +45,7 @@ private static final String JIRA_LINK_NAME = "JIRA location"; protected String getKosmosServiceTag() { - return StatusTags.JIRA_SERVICE_PROPERTY; + return Tags.JIRA_SERVICE_PROPERTY; }; protected Logger log; @@ -96,7 +96,7 @@ private String getJiraURL(String projectId) { - String jiraURL = projects.getProjectProperty(projectId, StatusTags.JIRA_ADRESS_TAG); + String jiraURL = projects.getProjectProperty(projectId, Tags.JIRA_ADRESS_TAG); return (jiraURL == "" ? null : jiraURL); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/plugins/svn/SvnStatusPlugin.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -28,7 +28,7 @@ import java.net.MalformedURLException; import org.jboss.forge.status.plugins.KosmosStatusPlugin; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.logging.Logger; import com.caucho.hessian.client.HessianProxyFactory; @@ -45,7 +45,7 @@ private static final String SVN_LINK_NAME = "Svn repository location"; protected String getKosmosServiceTag() { - return StatusTags.SVN_SERVICE_PROPERTY; + return Tags.SVN_SERVICE_PROPERTY; }; protected Logger log; @@ -96,7 +96,7 @@ } private String getRepoURL(String projectId) { - String repoURL = projects.getProjectProperty(projectId, StatusTags.SVN_REPO_ADRESS_TAG); + String repoURL = projects.getProjectProperty(projectId, Tags.SVN_REPO_ADRESS_TAG); return (repoURL == "" ? null : repoURL); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresServiceImpl.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresServiceImpl.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/service/ScoresServiceImpl.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -46,7 +46,7 @@ import org.jboss.forge.status.tools.PluginValues; import org.jboss.forge.status.tools.Plugins; import org.jboss.forge.status.tools.PluginsValues; -import org.jboss.forge.status.tools.StatusTools; +import org.jboss.forge.status.tools.Tools; import org.jboss.logging.Logger; @@ -62,7 +62,7 @@ * @author Pawel Wrzeszcz (paw...@gm...) */ -@Service(objectName=StatusTools.STATUS_SERVICE_NAME) +@Service(objectName=Tools.STATUS_SERVICE_NAME) @Management(ScoresService.class) @Local(ScoresServiceLocal.class) @LocalBinding(jndiBinding="Status/ScoresService") @@ -90,7 +90,7 @@ // Get directory where we store historical scores Directory dir = getDir(cm.getRootDirectory(), - StatusTools.getShotokuStatusPath(portalName)); + Tools.getShotokuStatusPath(portalName)); if (dir == null) { return false; @@ -161,7 +161,7 @@ log.info("3"); Directory dir = getDir(cm.getRootDirectory(), - StatusTools.getShotokuStatusPath(portalName)); + Tools.getShotokuStatusPath(portalName)); if (dir != null) { log.info("4"); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/CellTemplate.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -27,7 +27,7 @@ import org.jboss.forge.common.XmlTools; import org.jboss.forge.status.tools.PluginsValues; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -49,10 +49,10 @@ public CellTemplate(Node cellNode, PluginsValues pluginsValues) { name = XmlTools.getChildNodeValue(cellNode, - StatusTags.CELL_NAME_ELEMENT); + Tags.CELL_NAME_ELEMENT); Node metricsNode = XmlTools.getFirstNodeWithName(cellNode, - StatusTags.METRICS_ELEMENT); + Tags.METRICS_ELEMENT); metricTemplates = parseMetricTemplates(metricsNode, pluginsValues); } @@ -74,7 +74,7 @@ Node metricNode = rowsList.item(i); - if (metricNode.getNodeName().equals(StatusTags.METRIC_ELEMENT)) { + if (metricNode.getNodeName().equals(Tags.METRIC_ELEMENT)) { MetricTemplate metricTemplate = new MetricTemplate(metricNode, pluginsValues); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/Columns.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -38,7 +38,7 @@ import org.jboss.forge.status.tools.PluginsValues; import org.jboss.forge.status.tools.ProjectsByNameComparator; import org.jboss.forge.status.tools.ProjectsByScoreComparator; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; @@ -76,7 +76,7 @@ // Get the columns columns = new ArrayList<Column>(); Node columnsRoot = XmlTools.getFirstNodeWithName(pageRoot, - StatusTags.COLUMNS_ELEMENT); + Tags.COLUMNS_ELEMENT); if (columnsRoot != null) { addColumns(columnsRoot, pluginsValues); @@ -84,7 +84,7 @@ // Get id of plugin determining projects order orderPluginId = XmlTools.getChildNodeValue(pageRoot, - StatusTags.ORDER_PLUGIN_ELEMENT); + Tags.ORDER_PLUGIN_ELEMENT); } /** @@ -110,13 +110,13 @@ Node columnNode = columnsList.item(i); if ((columnNode.getNodeType() == Node.ELEMENT_NODE) && - (columnNode.getNodeName().equals(StatusTags.COLUMN_ELEMENT))) { + (columnNode.getNodeName().equals(Tags.COLUMN_ELEMENT))) { String name = XmlTools.getChildNodeValue(columnNode, - StatusTags.COLUMN_NAME_ELEMENT); + Tags.COLUMN_NAME_ELEMENT); String pluginId = XmlTools.getChildNodeValue(columnNode, - StatusTags.COLUMN_PLUGIN_ELEMENT); + Tags.COLUMN_PLUGIN_ELEMENT); PluginValues pluginValues = pluginsValues.getPluginValues(pluginId); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MatrixTemplate.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -28,7 +28,7 @@ import org.jboss.forge.common.XmlTools; import org.jboss.forge.common.projects.Projects; import org.jboss.forge.status.tools.PluginsValues; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -57,7 +57,7 @@ this.projects = projects; Node rowsRoot = XmlTools.getFirstNodeWithName(projectPageRoot, - StatusTags.ROWS_ELEMENT); + Tags.ROWS_ELEMENT); rowTemplates = parseMatrixTemplate(rowsRoot, pluginsValues); } @@ -79,7 +79,7 @@ Node rowNode = rowsList.item(i); - if (rowNode.getNodeName().equals(StatusTags.ROW_ELEMENT)) { + if (rowNode.getNodeName().equals(Tags.ROW_ELEMENT)) { RowTemplate rowTemplate = new RowTemplate(rowNode, rowNumber, pluginsValues); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/MetricTemplate.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -24,7 +24,7 @@ import org.jboss.forge.status.tools.PluginValues; import org.jboss.forge.status.tools.PluginsValues; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.forge.common.XmlTools; import org.jboss.portal.common.context.DelegateContext; @@ -46,10 +46,10 @@ public MetricTemplate(Node cellNode, PluginsValues pluginsValues) { name = XmlTools.getChildNodeValue(cellNode, - StatusTags.METRIC_NAME_ELEMENT); + Tags.METRIC_NAME_ELEMENT); String pluginId = XmlTools.getChildNodeValue(cellNode, - StatusTags.METRIC_PLUGIN_ELEMENT); + Tags.METRIC_PLUGIN_ELEMENT); pluginValues = pluginsValues.getPluginValues(pluginId); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/templates/RowTemplate.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -27,7 +27,7 @@ import org.jboss.forge.common.XmlTools; import org.jboss.forge.status.tools.PluginsValues; -import org.jboss.forge.status.tools.StatusTags; +import org.jboss.forge.status.tools.Tags; import org.jboss.portal.common.context.DelegateContext; import org.w3c.dom.Node; @@ -56,11 +56,11 @@ public RowTemplate(Node rowNode, int rowNumber, PluginsValues pluginsValues) { - name = XmlTools.getChildNodeValue(rowNode,StatusTags.ROW_NAME_ELEMENT); + name = XmlTools.getChildNodeValue(rowNode,Tags.ROW_NAME_ELEMENT); this.rowNumber = rowNumber; Node cellsNode = XmlTools.getFirstNodeWithName(rowNode, - StatusTags.CELLS_ELEMENT); + Tags.CELLS_ELEMENT); cellTemplates = parseRowTemplate(cellsNode, pluginsValues); } @@ -82,7 +82,7 @@ Node cellNode = rowsList.item(i); - if (cellNode.getNodeName().equals(StatusTags.CELL_ELEMENT)) { + if (cellNode.getNodeName().equals(Tags.CELL_ELEMENT)) { CellTemplate cellTemplate = new CellTemplate(cellNode, pluginsValues); Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/PluginConf.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/PluginConf.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/PluginConf.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -46,13 +46,13 @@ throws InvalidPluginsConfigurationException { // Parse plugin configuration - parseField(pluginNode, StatusTags.PLUGIN_ID_ELEMENT); - parseField(pluginNode, StatusTags.PLUGIN_CLASS_ELEMENT); + parseField(pluginNode, Tags.PLUGIN_ID_ELEMENT); + parseField(pluginNode, Tags.PLUGIN_CLASS_ELEMENT); // Parse plugin properties Node pluginPropertiesNode = XmlTools.getFirstNodeWithName(pluginNode, - StatusTags.PLUGIN_PROPERTIES_ELEMENT); + Tags.PLUGIN_PROPERTIES_ELEMENT); addPluginProperties(pluginPropertiesNode); } Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Plugins.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -90,10 +90,10 @@ // Get plugin info from pluginNode String pluginClassString = pluginConf.getFieldValue( - StatusTags.PLUGIN_CLASS_ELEMENT); + Tags.PLUGIN_CLASS_ELEMENT); String pluginId = pluginConf.getFieldValue( - StatusTags.PLUGIN_ID_ELEMENT); + Tags.PLUGIN_ID_ELEMENT); if ((pluginClassString == null) || (pluginId == null)) return null; Modified: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/ScoresManager.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -62,7 +62,7 @@ ScoresService service = (ScoresService) MBeanProxyExt.create( ScoresService.class, - StatusTools.STATUS_SERVICE_NAME, + Tools.STATUS_SERVICE_NAME, server); /* PluginValues x = service.get(portalName, date); @@ -92,7 +92,7 @@ ScoresService service = (ScoresService) MBeanProxyExt.create( ScoresService.class, - StatusTools.STATUS_SERVICE_NAME, + Tools.STATUS_SERVICE_NAME, server); return service.save(projects, pluginsConf, portalName); Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTags.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTags.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -1,83 +0,0 @@ -/* - * JBoss, Home of Professional Open Source - * Copyright 2005, JBoss Inc., and individual contributors as indicated - * by the @authors tag. See the copyright.txt in the distribution for a - * full listing of individual contributors. - * - * This is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as - * published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this software; if not, write to the Free - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA, or see the FSF site: http://www.fsf.org. - */ - -package org.jboss.forge.status.tools; - -/** -* @author Pawel Wrzeszcz -* Status Matrix xml tags. -*/ -public class StatusTags { - - /* status.xml file tags */ - - /* main page */ - public static final String MAIN_PAGE_COLUMNS_TAG = "main-page"; - - public final static String COLUMN_ELEMENT = "column"; - public final static String COLUMNS_ELEMENT = "columns"; - public static final String COLUMN_NAME_ELEMENT = "name"; - public static final String COLUMN_PLUGIN_ELEMENT = "plugin"; - - public final static String ORDER_PLUGIN_ELEMENT = "order-plugin"; - - /* project page */ - public static final String PROJECT_PAGE_COLUMNS_TAG = "project-page"; - - public static final String ROWS_ELEMENT = "rows"; - public static final String ROW_ELEMENT = "row"; - public static final String ROW_NAME_ELEMENT = "name"; - - public static final String CELLS_ELEMENT = "cells"; - public static final String CELL_ELEMENT = "cell"; - public static final String CELL_NAME_ELEMENT = "name"; - - public static final String METRICS_ELEMENT = "metrics"; - public static final String METRIC_ELEMENT = "metric"; - public static final String METRIC_NAME_ELEMENT = "name"; - public static final String METRIC_PLUGIN_ELEMENT = "plugin"; - - - /* plugins.xml tags */ - public final static String PLUGIN_ELEMENT = "plugin"; - - public final static String PLUGIN_ID_ELEMENT = "id"; - public final static String PLUGIN_CLASS_ELEMENT = "class"; - public final static String PLUGIN_PROPERTIES_ELEMENT = "properties"; - - /* project.xml files tags */ - public static final String JIRA_SERVICE_PROPERTY = "jira-service"; - public static final String JIRA_ADRESS_TAG = "jira-adress"; - public static final String SVN_SERVICE_PROPERTY = "svn-service"; - - public static final String CC_SERVICE_PROPERTY = "cc-service"; - public static final String CC_ADRESS_TAG = "cc-adress"; - - public static final String SVN_REPO_ADRESS_TAG = "svn-repo"; - public static final String SVN_USERNAME_TAG = "svn-username"; - public static final String SVN_PASSWD_TAG = "svn-passwd"; - - /** - * This class cannot be instatiated. - */ - private StatusTags() {}; -} \ No newline at end of file Deleted: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTools.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTools.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/StatusTools.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -1,124 +0,0 @@ -package org.jboss.forge.status.tools; - -import java.util.HashSet; -import java.util.Set; - -import org.jboss.forge.common.ForgeHelper; -import org.jboss.forge.common.projects.Projects; -import org.jboss.forge.common.projects.ProjectsHelper; -import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; -import org.jboss.forge.common.projects.permissions.PermissionsChecker; -import org.jboss.forge.status.StatusDescriptor; -import org.jboss.forge.status.StatusNodeWatcher; - -import org.jboss.shotoku.ContentManager; -import org.jboss.shotoku.aop.Inject; - -/** - * Common constants and functions. - * @author Pawel Wrzeszcz - */ -public class StatusTools { - - /** <code>STATUS_XML<code> - file defining the list of watched feeds */ - private final static String STATUS_XML = "status.xml"; - private final static String STATUS_PLUGINS_XML = "plugins.xml"; - - /** <code>STATUS_DIR</code> - directory in which file <code>STATUS_XML<code> is stored. */ - private final static String STATUS_DIR = "status"; - - private final static String STATUS_JSP = "status.jsp"; - private final static String STATUS_JSP_DIR = "status"; - private final static String PROJECT_DETAILS_JSP = "project_details.jsp"; - private final static String COLUMN_DETAILS_JSP = "column_details.jsp"; - - /** Shotoku directory to store historical scores */ - private static final String SHOTOKU_STATUS_DIR = "status"; - - public static final String STATUS_SERVICE_NAME = "status:service=scores"; - //TODO move constans to one place - - @Inject - private static ContentManager cm; - - public static synchronized StatusDescriptor getDesc(final String portalName) { - String cacheKey = StatusDescriptor.class.getName(); - - StatusDescriptor desc = (StatusDescriptor) ForgeHelper - .getForgeManagement().getFromCache(portalName, cacheKey); - - if (desc == null) - desc = (StatusDescriptor) ForgeHelper.getForgeManagement() - .addNodeWatcher(portalName, - cacheKey, - new StatusNodeWatcher(cm)); - - return desc; - } - - /** - * Path to the xml file with the Status Matrix properties. - */ - public static String getXmlCmPath(String portalName) { - return portalName + "/" + STATUS_DIR + "/" + STATUS_XML; - } - - /** - * Path to the xml file defining Plugins used in the Matrix. - */ - public static String getXmlStatusPluginsCmPath(String portalName) { - return portalName + "/" + STATUS_DIR + "/" + STATUS_PLUGINS_XML; - } - - /** - * Path to the projects.xml file. - */ - public static String getProjectsXmlPath(String portalName) { - return portalName + "/" + ProjectsHelper.PROJECTS_DESC; - } - - /** - * Set containing paths to project.xml files for all projects. - */ - public static Set<String> getProjectXmlPathsSet(String portalName) { - - Set<String> pathsSet = new HashSet<String>(); - - Projects projects = ProjectsHelper.getProjects(portalName); - Set<String> projectIdsSet = projects.getProjectIds( - (PermissionsChecker) new NullPermissionsChecker(), null); - - for (String projectId : projectIdsSet) { - - String projectXmlPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR - + "/" + projectId + "/" + ProjectsHelper.PROJECT_DESC; - pathsSet.add(projectXmlPath); - } - return pathsSet; - } - - /** - * Path to the jsp file responsible file displaying the Status Matrix. - */ - public static String getJspCmPath() { - return STATUS_JSP_DIR + "/" + STATUS_JSP; - } - - /** - * Path to the jsp file responsible for displaying project details. - */ - public static String getPrjDetailsJspCmPath() { - return STATUS_JSP_DIR + "/" + PROJECT_DETAILS_JSP; - } - - /** - * Path to the jsp file responsible displaying column details. - */ - public static String getColumnDetailsJspCmPath() { - return STATUS_JSP_DIR + "/" + COLUMN_DETAILS_JSP; - } - - public static String getShotokuStatusPath(String portalName) { - return ForgeHelper.DYNAMIC_CONTENT_DIR + "/" + SHOTOKU_STATUS_DIR; - } -} Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tags.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -0,0 +1,83 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ + +package org.jboss.forge.status.tools; + +/** +* @author Pawel Wrzeszcz +* Status Matrix xml tags. +*/ +public class Tags { + + /* status.xml file tags */ + + /* main page */ + public static final String MAIN_PAGE_COLUMNS_TAG = "main-page"; + + public final static String COLUMN_ELEMENT = "column"; + public final static String COLUMNS_ELEMENT = "columns"; + public static final String COLUMN_NAME_ELEMENT = "name"; + public static final String COLUMN_PLUGIN_ELEMENT = "plugin"; + + public final static String ORDER_PLUGIN_ELEMENT = "order-plugin"; + + /* project page */ + public static final String PROJECT_PAGE_COLUMNS_TAG = "project-page"; + + public static final String ROWS_ELEMENT = "rows"; + public static final String ROW_ELEMENT = "row"; + public static final String ROW_NAME_ELEMENT = "name"; + + public static final String CELLS_ELEMENT = "cells"; + public static final String CELL_ELEMENT = "cell"; + public static final String CELL_NAME_ELEMENT = "name"; + + public static final String METRICS_ELEMENT = "metrics"; + public static final String METRIC_ELEMENT = "metric"; + public static final String METRIC_NAME_ELEMENT = "name"; + public static final String METRIC_PLUGIN_ELEMENT = "plugin"; + + + /* plugins.xml tags */ + public final static String PLUGIN_ELEMENT = "plugin"; + + public final static String PLUGIN_ID_ELEMENT = "id"; + public final static String PLUGIN_CLASS_ELEMENT = "class"; + public final static String PLUGIN_PROPERTIES_ELEMENT = "properties"; + + /* project.xml files tags */ + public static final String JIRA_SERVICE_PROPERTY = "jira-service"; + public static final String JIRA_ADRESS_TAG = "jira-adress"; + public static final String SVN_SERVICE_PROPERTY = "svn-service"; + + public static final String CC_SERVICE_PROPERTY = "cc-service"; + public static final String CC_ADRESS_TAG = "cc-adress"; + + public static final String SVN_REPO_ADRESS_TAG = "svn-repo"; + public static final String SVN_USERNAME_TAG = "svn-username"; + public static final String SVN_PASSWD_TAG = "svn-passwd"; + + /** + * This class cannot be instatiated. + */ + private Tags() {}; +} \ No newline at end of file Added: labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java 2006-04-19 09:02:41 UTC (rev 3789) +++ labs/jbosslabs/trunk/portal-extensions/forge-status/src/java/org/jboss/forge/status/tools/Tools.java 2006-04-19 10:17:19 UTC (rev 3790) @@ -0,0 +1,124 @@ +package org.jboss.forge.status.tools; + +import java.util.HashSet; +import java.util.Set; + +import org.jboss.forge.common.ForgeHelper; +import org.jboss.forge.common.projects.Projects; +import org.jboss.forge.common.projects.ProjectsHelper; +import org.jboss.forge.common.projects.permissions.NullPermissionsChecker; +import org.jboss.forge.common.projects.permissions.PermissionsChecker; +import org.jboss.forge.status.StatusDescriptor; +import org.jboss.forge.status.StatusNodeWatcher; + +import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.aop.Inject; + +/** + * Common constants and functions. + * @author Pawel Wrzeszcz + */ +public class Tools { + + /** <code>STATUS_XML<code> - file defining the list of watched feeds */ + private final static String STATUS_XML = "status.xml"; + private final static String STATUS_PLUGINS_XML = "plugins.xml"; + + /** <code>STATUS_DIR</code> - directory in which file <code>STATUS_XML<code> is stored. */ + private final static String STATUS_DIR = "status"; + + private final static String STATUS_JSP = "status.jsp"; + private final static String STATUS_JSP_DIR = "status"; + private final static String PROJECT_DETAILS_JSP = "project_details.jsp"; + private final static String COLUMN_DETAILS_JSP = "column_details.jsp"; + + /** Shotoku directory to store historical scores */ + private static final String SHOTOKU_STATUS_DIR = "status"; + + public static final String STATUS_SERVICE_NAME = "status:service=scores"; + //TODO move constans to one place + + @Inject + private static ContentManager cm; + + public static synchronized StatusDescriptor getDesc(final String portalName) { + String cacheKey = StatusDescriptor.class.getName(); + + StatusDescriptor desc = (StatusDescriptor) ForgeHelper + .getForgeManagement().getFromCache(portalName, cacheKey); + + if (desc == null) + desc = (StatusDescriptor) ForgeHelper.getForgeManagement() + .addNodeWatcher(portalName, + cacheKey, + new StatusNodeWatcher(cm)); + + return desc; + } + + /** + * Path to the xml file with the Status Matrix properties. + */ + public static String getXmlCmPath(String portalName) { + return portalName + "/" + STATUS_DIR + "/" + STATUS_XML; + } + + /** + * Path to the xml file defining Plugins used in the Matrix. + */ + public static String getXmlStatusPluginsCmPath(String portalName) { + return portalName + "/" + STATUS_DIR + "/" + STATUS_PLUGINS_XML; + } + + /** + * Path to the projects.xml file. + */ + public static String getProjectsXmlPath(String portalName) { + return portalName + "/" + ProjectsHelper.PROJECTS_DESC; + } + + /** + * Set containing paths to project.xml files for all projects. + */ + public static Set<String> getProjectXmlPathsSet(String portalName) { + + Set<String> pathsSet = new HashSet<String>(); + + Projects projects = ProjectsHelper.getProjects(portalName); + Set<String> projectIdsSet = projects.getProjectIds( + (PermissionsChecker) new NullPermissionsChecker(), null); + + for (String projectId : projectIdsSet) { + + String projectXmlPath = portalName + "/" + ProjectsHelper.MEMBERS_DIR + + "/" + projectId + "/" + ProjectsHelper.PROJECT_DESC; + pathsSet.add(projectXmlPath); + } + return pathsSet; + } + + /** + * Path to the jsp file responsible file displaying the Status Matrix. + */ + public static String getJspCmPath() { + return STATUS_JSP_DIR + "/" + STATUS_JSP; + } + + /** + * Path to the jsp file responsible for displaying project details. + */ + public static String getPrjDetailsJspCmPath() { + return STATUS_JSP_DIR + "/" + PROJECT_DETAILS_JSP; + } + + /** + * Path to the jsp file responsible displaying column details. + */ + public static String getColumnDetailsJspCmPath() { + return STATUS_JSP_DIR + "/" + COLUMN_DETAILS_JSP; + } + + public static String getShotokuStatusPath(String portalName) { + return ForgeHelper.DYNAMIC_CONTENT_DIR + "/" + SHOTOKU_STATUS_DIR; + } +} |
From: <jbo...@li...> - 2006-04-19 09:02:50
|
Author: mar...@jb... Date: 2006-04-19 05:02:41 -0400 (Wed, 19 Apr 2006) New Revision: 3789 Added: labs/jbossesb/trunk/Copyright.txt labs/jbossesb/trunk/Developer.txt labs/jbossesb/trunk/lib/ labs/jbossesb/trunk/lib/ext/ Log: Added: labs/jbossesb/trunk/Copyright.txt =================================================================== --- labs/jbossesb/trunk/Copyright.txt 2006-04-19 08:53:05 UTC (rev 3788) +++ labs/jbossesb/trunk/Copyright.txt 2006-04-19 09:02:41 UTC (rev 3789) @@ -0,0 +1,19 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2006, JBoss Inc., and others contributors as indicated + * by the @authors tag. All rights reserved. + * See the copyright.txt in the distribution for a + * full listing of individual contributors. + * This copyrighted material is made available to anyone wishing to use, + * modify, copy, or redistribute it subject to the terms and conditions + * of the GNU Lesser General Public License, v. 2.1. + * This program is distributed in the hope that it will be useful, but WITHOUT A + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * You should have received a copy of the GNU Lesser General Public License, + * v.2.1 along with this distribution; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * (C) 2005-2006, + */ \ No newline at end of file Added: labs/jbossesb/trunk/Developer.txt =================================================================== --- labs/jbossesb/trunk/Developer.txt 2006-04-19 08:53:05 UTC (rev 3788) +++ labs/jbossesb/trunk/Developer.txt 2006-04-19 09:02:41 UTC (rev 3789) @@ -0,0 +1,11 @@ +The structure of the distribution is as follows: + +lib: contains the built jar +lib/ext: contains any jars needed to build/run the distribution +ESBCore: the core SOA infrastructure +JBI: the JBI implementation which layers on ESBCore +javadocs: created during the build +build: created during the build + +Any classes which occur within an 'internal' package are not meant for users. Changes to these +classes can occur without notice and deprecation markers. |
From: <jbo...@li...> - 2006-04-19 08:53:14
|
Author: mar...@jb... Date: 2006-04-19 04:53:05 -0400 (Wed, 19 Apr 2006) New Revision: 3788 Added: labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/ labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/ labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/container/ labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/container/Placeholder.java Log: Added: labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/container/Placeholder.java =================================================================== --- labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/container/Placeholder.java 2006-04-19 04:47:13 UTC (rev 3787) +++ labs/jbossesb/trunk/ESBCore/classes/org/jboss/soa/esbcore/deploy/bootstrap/container/Placeholder.java 2006-04-19 08:53:05 UTC (rev 3788) @@ -0,0 +1,5 @@ +package org.jboss.soa.esbcore.deploy.bootstrap.container; + +public interface Placeholder { + +} |
From: <jbo...@li...> - 2006-04-19 04:47:18
|
Author: mar...@jb... Date: 2006-04-19 00:47:13 -0400 (Wed, 19 Apr 2006) New Revision: 3787 Added: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/And.java labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/GroupElement.java Log: -Now removes single branch nodes -Does initial nested and/or removal, repeated again in LogicTransformer Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/And.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/And.java 2006-04-19 04:13:57 UTC (rev 3786) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/And.java 2006-04-19 04:47:13 UTC (rev 3787) @@ -18,5 +18,5 @@ public class And extends GroupElement { - + } \ No newline at end of file Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/GroupElement.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/GroupElement.java 2006-04-19 04:13:57 UTC (rev 3786) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/GroupElement.java 2006-04-19 04:47:13 UTC (rev 3787) @@ -21,11 +21,53 @@ import java.util.Iterator; import java.util.List; +import org.drools.RuntimeDroolsException; + public abstract class GroupElement extends ConditionalElement { private List children = new ArrayList(); + /** + * This removes single branch 'and' and 'or' + * It also does basic nested removal, where an 'and' is + * nested inside an 'and' and when an 'or' is nested inside an 'or' + * + * LogicTransformer does further, more complicated, transformations + * @param child + */ public void addChild(Object child) { - this.children.add( child ); + if ( child instanceof GroupElement && ( child instanceof And || child instanceof Or ) ) { + GroupElement group = ( GroupElement ) child; + + // Removal single branch group elements + // If the child is a GroupElement iterate down until we either + // find a GroupElement that has more than one children, or its not a GroupElement + if ( group.getChildren().size() == 1 ) { + child = group.getChildren().get( 0 ); + } + } + + if ( child instanceof GroupElement && ( child instanceof And || child instanceof Or ) ) { + GroupElement group = ( GroupElement ) child; + + // Remove nested Ands/Ors + if ( group.getClass() == this.getClass() ) { + + GroupElement newGroup = null; + if ( group instanceof And) { + newGroup = new And(); + } else { + newGroup = new Or(); + } + + for ( Iterator it = group.getChildren().iterator(); it.hasNext(); ) { + this.children.add( it.next() ); + } + } else { + this.children.add( child ); + } + } else { + this.children.add( child ); + } } public List getChildren() { Added: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java 2006-04-19 04:13:57 UTC (rev 3786) +++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/rule/GroupElementTest.java 2006-04-19 04:47:13 UTC (rev 3787) @@ -0,0 +1,94 @@ +package org.drools.rule; + +import junit.framework.TestCase; + +public class GroupElementTest extends TestCase { + public void testAddNestedAnd() { + And and1 = new And(); + Column column1 = new Column(0, null); + and1.addChild( column1 ); + + Column column2 = new Column(0, null); + and1.addChild( column2 ); + + assertEquals( 2, and1.getChildren().size() ); + assertSame( column1, and1.getChildren().get( 0 ) ); + assertSame( column2, and1.getChildren().get( 1 ) ); + + And and2 = new And(); + and2.addChild( and1 ); + assertEquals( 2, and2.getChildren().size() ); + assertSame( column1, and2.getChildren().get( 0 ) ); + assertSame( column2, and2.getChildren().get( 1 ) ); + } + + public void testAddNestedOr() { + Or or1 = new Or(); + Column column1 = new Column(0, null); + or1.addChild( column1 ); + + Column column2 = new Column(0, null); + or1.addChild( column2 ); + + assertEquals( 2, or1.getChildren().size() ); + assertSame( column1, or1.getChildren().get( 0 ) ); + assertSame( column2, or1.getChildren().get( 1 ) ); + + Or or2 = new Or(); + or2.addChild( or1 ); + assertEquals( 2, or2.getChildren().size() ); + assertSame( column1, or2.getChildren().get( 0 ) ); + assertSame( column2, or2.getChildren().get( 1 ) ); + } + + public void testAddSingleBranchAnd() { + And and1 = new And(); + Column column = new Column(0, null); + and1.addChild( column ); + assertEquals( 1, and1.getChildren().size() ); + assertSame( column, and1.getChildren().get( 0 ) ); + + Or or1= new Or(); + or1.addChild( and1 ); + assertEquals( 1, or1.getChildren().size() ); + assertSame( column, or1.getChildren().get( 0 ) ); + } + + public void testAddSingleBranchOr() { + Or or1 = new Or(); + Column column = new Column(0, null); + or1.addChild( column ); + assertEquals( 1, or1.getChildren().size() ); + assertSame( column, or1.getChildren().get( 0 ) ); + + And and1= new And(); + and1.addChild( or1 ); + assertEquals( 1, and1.getChildren().size() ); + assertSame( column, and1.getChildren().get( 0 ) ); + } + + public void testX() { + Or or1 = new Or(); + Column column1 = new Column(0, null); + or1.addChild( column1 ); + + Column column2 = new Column(0, null); + or1.addChild( column2 ); + + And and1 = new And(); + and1.addChild( or1 ); + assertEquals( 1, and1.getChildren().size() ); + assertSame( or1, and1.getChildren().get( 0 ) ); + + assertSame( column1, or1.getChildren().get( 0 ) ); + assertSame( column2, or1.getChildren().get( 1 ) ); + + Or or2 = new Or(); + or2.addChild( and1 ); + + assertEquals( 2, or1.getChildren().size() ); + assertSame( column1, or1.getChildren().get( 0 ) ); + assertSame( column2, or2.getChildren().get( 1 ) ); + + } +} |
From: <jbo...@li...> - 2006-04-19 04:10:13
|
Author: woolfel Date: 2006-04-19 00:10:08 -0400 (Wed, 19 Apr 2006) New Revision: 3784 Added: labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/RuleSetBenchmark.java Log: adding a simple unit test to measure how long it takes to load a large rule file peter Added: labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/RuleSetBenchmark.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/RuleSetBenchmark.java 2006-04-19 03:38:47 UTC (rev 3783) +++ labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/RuleSetBenchmark.java 2006-04-19 04:10:08 UTC (rev 3784) @@ -0,0 +1,67 @@ +package com.sample.benchmark; + +import junit.framework.TestCase; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; + +import org.drools.PackageIntegrationException; +import org.drools.RuleBase; +import org.drools.RuleIntegrationException; +import org.drools.WorkingMemory; +import org.drools.compiler.DrlParser; +import org.drools.compiler.DroolsParserException; +import org.drools.compiler.PackageBuilder; +import org.drools.lang.descr.PackageDescr; +import org.drools.reteoo.RuleBaseImpl; +import org.drools.rule.InvalidPatternException; +import org.drools.rule.Package; + +/** + * @author Peter Lin + * + */ +public class RuleSetBenchmark extends TestCase { + public RuleSetBenchmark() { + super(); + } + + public void setUp() { + + } + + public void tearDown() { + + } + + private static RuleBase readRule() throws IOException, DroolsParserException, RuleIntegrationException, PackageIntegrationException, InvalidPatternException { + //read in the source + Reader reader = new InputStreamReader( RuleSetBenchmark.class.getResourceAsStream( "1000_rules.drl" ) ); + DrlParser parser = new DrlParser(); + PackageDescr packageDescr = parser.parse( reader ); + + //pre build the package + PackageBuilder builder = new PackageBuilder(); + builder.addPackage( packageDescr ); + Package pkg = builder.getPackage(); + + //add the package to a rulebase + RuleBaseImpl ruleBase = new RuleBaseImpl(); + ruleBase.addPackage( pkg ); + return ruleBase; + } + + public void testOneThousand() { + try { + long loadStart = System.currentTimeMillis(); + RuleBase ruleBase = readRule(); + long loadEnd = System.currentTimeMillis(); + System.out.println("time to load 1000 rules " + + (loadEnd - loadStart) + "ms"); + WorkingMemory workingMemory = ruleBase.newWorkingMemory(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} |
From: <jbo...@li...> - 2006-04-19 03:38:52
|
Author: woolfel Date: 2006-04-18 23:38:47 -0400 (Tue, 18 Apr 2006) New Revision: 3783 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-IDE/Section-QuickStart.xml Log: added a section about large rule files and how to set maxPermSize. peter Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-IDE/Section-QuickStart.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-IDE/Section-QuickStart.xml 2006-04-19 03:26:19 UTC (rev 3782) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-IDE/Section-QuickStart.xml 2006-04-19 03:38:47 UTC (rev 3783) @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE section PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.0//EN" "http://www.oasis-open.org/docbook/xml/simple/1.0/sdocbook.dtd"> <section> @@ -537,4 +537,13 @@ Just click on the right tab below in the DRL Editor, followed by a click on "Generate Rete View".</para> </section> + <section> + <title>Large drl files</title> + <para>Depending on the JDK you use, it may be necessary to increase the permanent + generation max size. Both SUN and IBM jdk have a permanent generation, whereas + BEA JRockit does not.</para> + <para>To increase the permanent generation, start eclipse with -XX:MaxPermSize=###m</para> + <para>Example: c:\eclipse\eclipse.exe -XX:MaxPermSize=128m</para> + <para>Rulesets of 4,000 rules or greater should set the permanent generation to atleast 128Mb.</para> + </section> </section> \ No newline at end of file |
From: <jbo...@li...> - 2006-04-19 03:26:26
|
Author: mic...@jb... Date: 2006-04-18 23:26:19 -0400 (Tue, 18 Apr 2006) New Revision: 3782 Added: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml Log: Added: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml 2006-04-19 02:44:14 UTC (rev 3781) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-DSL.xml 2006-04-19 03:26:19 UTC (rev 3782) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<section> + <title>Domain Specific Languages</title> + + <para>As mentioned previously, Domain Specific Languages (or DSLs) are a way of extending the rule language to your problem domain. + They are wired in to the rule language for you, and can make use of all the underlying rule langauge and engine features.</para> + + + <section> + <title>When to use a DSL</title> + <para>DSLs can serve as a layer of seperation between rule authoring (and rule authors) and the domain objects that the engine operates on. + DSLs can also act as "templates" of conditions or actions that are used over and over in your rules, perhaps only with parameters changing each time. + If your rules need to be read and validated by less technical folk, (such as Business Analysts) the DSLs are definately for you. + </para> + </section> + + + <section> + <title>Creating a DSL</title> + + <para></para> + + </section> + + <section> + <title>Using a DSL in your rules</title> + </section> + + <section> + <title>How it works</title> + + <para></para> + + </section> + + + +</section> \ No newline at end of file |
From: <jbo...@li...> - 2006-04-19 02:41:54
|
Author: woolfel Date: 2006-04-18 22:41:48 -0400 (Tue, 18 Apr 2006) New Revision: 3780 Added: labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/ labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/GenerateRuleSet.java labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/models/ labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/models/Account.java Log: added a simple ruleset generator and test class used in the rules. peter Added: labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/GenerateRuleSet.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/GenerateRuleSet.java 2006-04-19 02:19:52 UTC (rev 3779) +++ labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/GenerateRuleSet.java 2006-04-19 02:41:48 UTC (rev 3780) @@ -0,0 +1,57 @@ +package com.sample.benchmark; + +import java.io.FileWriter; + +public class GenerateRuleSet { + + /** + * + */ + public GenerateRuleSet() { + super(); + } + + public static void main(String[] args) { + // the number of rules + int count = 100; + String objectName = "Account"; + String outputFile = count + "_rules.drl"; + if (args == null || args.length < 1) { + // print out a message of the options + System.out.println("No parameters were set. Please provide a rule count"); + System.out.println("and filename."); + System.out.println(""); + System.out.println("example: GenerateRuleSet 1000 1000rules.drl"); + } else { + if (args[0] != null) { + count = Integer.parseInt(args[0]); + outputFile = args[1]; + } + String linebreak = System.getProperty("line.separator"); + String tab = " "; + try { + FileWriter writer = new FileWriter(outputFile); + StringBuffer buf = new StringBuffer(); + // delcare the package + buf.append("package org.drools.samples" + linebreak); + buf.append("import com.sample.benchmark.models.Account;" + linebreak + linebreak); + // now loop + for (int idx=0; idx < count; idx++) { + buf.append("rule rule" + idx + "" + linebreak); + buf.append(" when" + linebreak); + buf.append(" $acc : Account(status == \"standard\", title == \"mr\")" + + linebreak); + buf.append(" then" + linebreak); + buf.append(" System.out.println(\"rule" + idx + " fired\");" + linebreak); + buf.append("end" + linebreak + linebreak); + } + writer.write(buf.toString()); + writer.close(); + System.out.println("Generated " + count + " rules to " + outputFile); + } catch (Exception e) { + + } + } + + } +} Added: labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/models/Account.java =================================================================== --- labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/models/Account.java 2006-04-19 02:19:52 UTC (rev 3779) +++ labs/jbossrules/trunk/drools-examples/src/java/com/sample/benchmark/models/Account.java 2006-04-19 02:41:48 UTC (rev 3780) @@ -0,0 +1,241 @@ +package com.sample.benchmark.models; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeEvent; +import java.io.Serializable; +import java.util.ArrayList; + +/** + * @author Peter Lin + * + * A simple test bean that represents a generic account. It could be + * a bank account, shopping card account, or any type of membership + * account with a nationwide company. + */ +public class Account implements Serializable { + + protected String first = null; + protected String middle = null; + protected String last = null; + /** + * mr, mrs, ms, junior, etc + */ + protected String title = null; + protected String accountId = null; + protected String accountType = null; + protected String status = null; + protected String username = null; + /** + * this would represent the region of the office the account + * was opened at. + */ + protected String regionCode = null; + /** + * the code for the office where the account was opened. + */ + protected String officeCode = null; + protected String areaCode = null; + protected String exchange = null; + protected String number = null; + protected String ext = null; + + protected ArrayList listeners = new ArrayList(); + + /** + * + */ + public Account() { + super(); + } + + public void setTitle(String val){ + if (!val.equals(this.title)){ + String old = this.title; + this.title = val; + notifyListener("title",old,this.title); + } + } + + public String getTitle(){ + return this.title; + } + + public void setFirst(String val){ + if (!val.equals(this.first)){ + String old = this.first; + this.first = val; + notifyListener("first",old,this.first); + } + } + + public String getFirst(){ + return this.first; + } + + public void setLast(String val){ + if (!val.equals(this.last)){ + String old = this.last; + this.last = val; + notifyListener("last",old,this.last); + } + } + + public String getLast(){ + return this.last; + } + + public void setMiddle(String val){ + if (!val.equals(this.middle)){ + String old = this.middle; + this.middle = val; + notifyListener("middle",old,this.middle); + } + } + + public String getMiddle(){ + return this.middle; + } + + public void setOfficeCode(String val){ + if (!val.equals(this.officeCode)){ + String old = this.officeCode; + this.officeCode = val; + notifyListener("officeCode",old,this.officeCode); + } + } + + public String getOfficeCode(){ + return this.officeCode; + } + + public void setRegionCode(String val){ + if (!val.equals(this.regionCode)){ + String old = this.regionCode; + this.regionCode = val; + notifyListener("regionCode",old,this.regionCode); + } + } + + public String getRegionCode(){ + return this.regionCode; + } + + public void setStatus(String val){ + if (!val.equals(this.status)){ + String old = this.status; + this.status = val; + notifyListener("status",old,this.status); + } + } + + public String getStatus(){ + return this.status; + } + + public void setAccountId(String val){ + if (!val.equals(this.accountId)){ + String old = this.accountId; + this.accountId = val; + notifyListener("accountId",old,this.accountId); + } + } + + public String getAccountId(){ + return this.accountId; + } + + public void setAccountType(String val){ + if (!val.equals(this.accountType)){ + String old = this.accountType; + this.accountType = val; + notifyListener("accountType",old,this.accountType); + } + } + + public String getAccountType(){ + return this.accountType; + } + + public void setUsername(String val){ + if (!val.equals(this.username)){ + String old = this.username; + this.username = val; + notifyListener("username",old,this.username); + } + } + + public String getUsername(){ + return this.username; + } + + public String getAreaCode() { + return this.areaCode; + } + + public void setAreaCode(String val) { + if (!val.equals(this.areaCode)){ + String old = this.areaCode; + this.areaCode = val; + notifyListener("areaCode",old,this.areaCode); + } + } + + public String getExchange() { + return this.exchange; + } + + public void setExchange(String val) { + if (!val.equals(this.exchange)){ + String old = this.exchange; + this.exchange = val; + notifyListener("exchange",old,this.exchange); + } + } + + public String getNumber() { + return this.number; + } + + public void setNumber(String val) { + if (!val.equals(this.number)){ + String old = this.number; + this.number = val; + notifyListener("number",old,this.number); + } + } + + public String getExt() { + return this.ext; + } + + public void setExt(String val) { + if (!val.equals(this.ext)){ + String old = this.ext; + this.ext = val; + notifyListener("ext",old,this.ext); + } + } + + public void addPropertyChangeListener(PropertyChangeListener listener){ + this.listeners.add(listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener){ + this.listeners.remove(listener); + } + + protected void notifyListener(String field, Object oldValue, Object newValue){ + if (listeners == null || listeners.size() == 0) { + return; + } else { + PropertyChangeEvent event = new PropertyChangeEvent(this, field, + oldValue, newValue); + + for (int i = 0; i < listeners.size(); i++) { + ((java.beans.PropertyChangeListener) listeners.get(i)) + .propertyChange(event); + } + } + + } +} |
From: <jbo...@li...> - 2006-04-19 02:20:03
|
Author: mic...@jb... Date: 2006-04-18 22:19:52 -0400 (Tue, 18 Apr 2006) New Revision: 3779 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Query.xml Log: more documentation goodness Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Query.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Query.xml 2006-04-19 01:22:48 UTC (rev 3778) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Query.xml 2006-04-19 02:19:52 UTC (rev 3779) @@ -7,16 +7,21 @@ <mediaobject> <imageobject> - <imagedata align="center" fileref="query.svg" format="SVG" role="" - /> + <imagedata align="center" fileref="query.svg" format="SVG" role="" /> </imageobject> <imageobject> - <imagedata align="center" fileref="query.png" format="PNG" role="" - /> + <imagedata align="center" fileref="query.png" format="PNG" role="" /> </imageobject> </mediaobject> </figure> - <para>uuuere</para> + <para>A query contains the structure of the LHS of a rule only (you don't + specify "when" or "then"). It is simply a way to query the working memory + for facts that match the conditions stated. </para> + + <para>You use WorkingMemory.getQueryResults("name") by using the query name. + This will return a list of Tuple instances. Each Tuple instance has one or + more FactHandles. To get to the original Fact object, use + WorkingMemory.getObject(factHandle).</para> </section> \ No newline at end of file |
From: <jbo...@li...> - 2006-04-19 01:22:52
|
Author: KrisVerlaenen Date: 2006-04-18 21:22:48 -0400 (Tue, 18 Apr 2006) New Revision: 3778 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java Log: only do class proposals if no dsl Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 00:49:46 UTC (rev 3777) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 01:22:48 UTC (rev 3778) @@ -110,41 +110,42 @@ prop = new RuleCompletionProposal(prefix.length(), "eval", "eval()", 5); prop.setImage(image); list.add(prop); + + String content = viewer.getDocument().get(); + Reader dslReader = DSLAdapter.getDSLContent(content, ((FileEditorInput) getEditor().getEditorInput()).getFile()); + DrlParser parser = new DrlParser(); + PackageDescr descr = DroolsBuilder.parsePackage(content, parser, dslReader); + List imports = descr.getImports(); + Iterator iterator = imports.iterator(); + while (iterator.hasNext()) { + String name = (String) iterator.next(); + int index = name.lastIndexOf("."); + if (index != -1) { + String className = name.substring(index + 1); + prop = new RuleCompletionProposal(prefix.length(), className, className + "()", className.length() + 1); + prop.setPriority(-1); + prop.setImage(DroolsPluginImages.getImage(DroolsPluginImages.CLASS)); + list.add(prop); + } + } +// if (true) { +// String className = ""; +// ClassTypeResolver resolver = new ClassTypeResolver(imports); +// Class conditionClass = resolver.resolveType(className); +// ClassFieldInspector inspector = new ClassFieldInspector(conditionClass); +// Map fields = inspector.getFieldNames(); +// Iterator iterator2 = fields.keySet().iterator(); +// while (iterator2.hasNext()) { +// String varName = (String) iterator2.next(); +// list.add(new RuleCompletionProposal(prefix.length(), varName, varName + " ")); +// } +// } + } RuleCompletionProposal prop = new RuleCompletionProposal(prefix.length(), "then", "then\n\t"); prop.setImage(image); list.add(prop); - String content = viewer.getDocument().get(); - Reader dslReader = DSLAdapter.getDSLContent(content, ((FileEditorInput) getEditor().getEditorInput()).getFile()); - DrlParser parser = new DrlParser(); - PackageDescr descr = DroolsBuilder.parsePackage(content, parser, dslReader); - List imports = descr.getImports(); - Iterator iterator = imports.iterator(); - while (iterator.hasNext()) { - String name = (String) iterator.next(); - int index = name.lastIndexOf("."); - if (index != -1) { - String className = name.substring(index + 1); - prop = new RuleCompletionProposal(prefix.length(), className, className + "()", className.length() + 1); - prop.setPriority(-1); - prop.setImage(DroolsPluginImages.getImage(DroolsPluginImages.CLASS)); - list.add(prop); - } - } -// if (true) { -// String className = ""; -// ClassTypeResolver resolver = new ClassTypeResolver(imports); -// Class conditionClass = resolver.resolveType(className); -// ClassFieldInspector inspector = new ClassFieldInspector(conditionClass); -// Map fields = inspector.getFieldNames(); -// Iterator iterator2 = fields.keySet().iterator(); -// while (iterator2.hasNext()) { -// String varName = (String) iterator2.next(); -// list.add(new RuleCompletionProposal(prefix.length(), varName, varName + " ")); -// } -// } - filterProposalsOnPrefix(prefix, list); } else { //we are in rule header |
From: <jbo...@li...> - 2006-04-19 00:50:07
|
Author: unibrew Date: 2006-04-18 20:49:46 -0400 (Tue, 18 Apr 2006) New Revision: 3777 Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums-config.xml labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/profile/viewprofile_body.xhtml labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml Log: [JBFORUMS-38] Updating UserView - quite finished Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums-config.xml =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums-config.xml 2006-04-19 00:05:03 UTC (rev 3776) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums-config.xml 2006-04-19 00:49:46 UTC (rev 3777) @@ -68,8 +68,8 @@ <value>/views/topics/posting_body.jsf</value> </map-entry> <map-entry> - <key>user</key> - <value>/views/user/viewuser_body.jsf</value> + <key>profile</key> + <value>/views/profile/viewprofile_body.jsf</value> </map-entry> <map-entry> <key>message</key> @@ -165,4 +165,9 @@ <managed-bean-class>org.jboss.portlet.forums.ui.view.ViewJumpbox</managed-bean-class> <managed-bean-scope>request</managed-bean-scope> </managed-bean> + <managed-bean> + <managed-bean-name>profile</managed-bean-name> + <managed-bean-class>org.jboss.portlet.forums.ui.view.ViewProfile</managed-bean-class> + <managed-bean-scope>request</managed-bean-scope> + </managed-bean> </faces-config> \ No newline at end of file Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/profile/viewprofile_body.xhtml =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/profile/viewprofile_body.xhtml 2006-04-19 00:05:03 UTC (rev 3776) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/profile/viewprofile_body.xhtml 2006-04-19 00:49:46 UTC (rev 3777) @@ -30,112 +30,225 @@ xmlns:forums="http://www.jboss.com/products/jbossportal/forums" class="bb"> <ui:include src="/views/common/common.xhtml"/> - -<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center"> - <tr> - <%-- <td align="left"><span class="nav"><a href="${n:out("U_INDEX")}" class="nav">${n:out("L_INDEX")}</a></span></td>--%> - <td align="left" valign="middle" width="100%"><span class="nav"> <a href="${n:out("U_VIEW_MAIN_PAGE")}" class="nav">${n:out("MAIN_PAGE_NAME")}</a> - <!---> <a href="${n:out("U_VIEW_CATEGORY")}" class="nav">${n:out("CATEGORY_NAME")}</a> - -> <a href="${n:out("U_VIEW_FORUM")}" class="nav">${n:out("FORUM_NAME")}</a>--></span></td> - </tr> -</table> - -<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center"> - <tr> - <th class="thHead" colspan="2" height="25" nowrap="nowrap">${n:i18n("L_VIEWING_PROFILE")}</th> - </tr> -<%-- <tr> + + <table width="100%" cellspacing="2" cellpadding="2" border="0" + align="center"> + <tr> + <td align="left" valign="middle" width="100%"> + <span class="nav"> + &nbsp;&nbsp;&nbsp; + <h:outputLink value="#{forums:outputLink(shared.links['category'],true)}" + styleClass="nav"> + <h:outputText value="#{shared.mainPageName}"/> + </h:outputLink> + </span> + </td> + </tr> + </table> + + <table class="forumline" width="100%" cellspacing="1" cellpadding="3" + border="0" align="center"> + <tr> + <th class="thHead" colspan="2" height="25" nowrap="nowrap">${resource.L_VIEWING_PROFILE}</th> + </tr> + <!-- <tr> TODO: MISSING AVATAR FEATURE <td class="catLeft" width="40%" height="28" align="center"><b><span class="gen">${n:i18n("L_AVATAR")}</span></b> </td> <td class="catRight" width="60%"><b><span class="gen">${n:i18n("L_ABOUT_USER")}</span></b></td> - </tr>--%> - <tr> - <!--<td class="row1" height="6" valign="top" align="center">${n:out("AVATAR_IMG")}<br/><span + </tr>--> + <tr> + <!--<td class="row1" height="6" valign="top" align="center">${n:out("AVATAR_IMG")}<br/><span class="postdetails">${n:out("POSTER_RANK")}</span></td>--> - <td class="row1" rowspan="3" valign="top"> - <table width="100%" border="0" cellspacing="1" cellpadding="3"> - <tr> - <td valign="middle" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_JOINED")}: </span> - </td> - <td width="100%"><b><span class="gen">${n:out("JOINED")}</span></b></td> - </tr> - <tr> - <td valign="top" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_TOTAL_POSTS")}: </span> - </td> - <td valign="top"><b><span class="gen">${n:out("POSTS")}</span></b><%--<br/><span + <td class="row1" rowspan="3" valign="top"> + <table width="100%" border="0" cellspacing="1" cellpadding="3"> + <tr> + <td valign="middle" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_JOINED}:&nbsp;</span> + </td> + <td width="100%"> + <b><span class="gen">${profile.poster.user.registrationDate}</span></b> + </td> + </tr> + <tr> + <td valign="top" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_TOTAL_POSTS}:&nbsp;</span> + </td> + <td valign="top"> + <b><span class="gen">${profile.poster.postCount}</span></b> + <!--<br/><span class="genmed">[${n:out("POST_PERCENT_STATS")} / ${n:out("POST_DAY_STATS")}]</span> <br/><span - class="genmed"><a href="${n:out("U_SEARCH_USER")}" class="genmed">${n:i18n("L_SEARCH_USER_POSTS")}</a></span>--%> - </td> - </tr> - <tr> - <td valign="middle" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_LOCATION")}: </span> - </td> - <td><b><span class="gen">${n:out("LOCATION")}</span></b></td> - </tr> - <tr> - <td valign="middle" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_WEBSITE")}: </span> - </td> - <td><span class="gen"><b>${n:out("WWW")}</b></span></td> - </tr> - <tr> - <td valign="middle" align="right" nowrap="nowrap"><span - class="gen">${n:i18n("L_OCCUPATION")}: </span></td> - <td><b><span class="gen">${n:out("OCCUPATION")}</span></b></td> - </tr> - <tr> - <td valign="top" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_INTERESTS")}:</span></td> - <td><b><span class="gen">${n:out("INTERESTS")}</span></b></td> - </tr> - </table> - </td> - </tr> - <tr> - <td class="catLeft" align="center" height="28"><b><span - class="gen">${n:i18n("L_CONTACT")}: ${n:out("USERNAME")} </span></b></td> - </tr> - <tr> - <td class="row1" valign="top"> - <table width="100%" border="0" cellspacing="1" cellpadding="3"> - <tr> - <td valign="middle" align="right" nowrap="nowrap"><span class="gen">${n:i18n("L_EMAIL_ADDRESS")}:</span> - </td> - <td class="row1" valign="middle" width="100%"><b><span class="gen">${n:out("EMAIL_IMG")}</span></b></td> - </tr> - <tr> - <td valign="middle" nowrap="nowrap" align="right"><span class="gen">${n:i18n("L_SKYPE")}:</span></td> - <td class="row1" valign="middle"<span class="gen">${n:out("SKYPE_IMG")}</span></td> - </tr> - <tr> - <td valign="middle" nowrap="nowrap" align="right"><span class="gen">${n:i18n("L_MESSENGER")}:</span></td> - <td class="row1" valign="middle"><span class="gen">${n:out("MSN_IMG")}</span></td> - </tr> - <tr> - <td valign="middle" nowrap="nowrap" align="right"><span class="gen">${n:i18n("L_YAHOO")}:</span></td> - <td class="row1" valign="middle"><span class="gen">${n:out("YIM_IMG")}</span></td> - </tr> - <tr> - <td valign="middle" nowrap="nowrap" align="right"><span class="gen">${n:i18n("L_AIM")}:</span></td> - <td class="row1" valign="middle"><span class="gen">${n:out("AIM_IMG")}</span></td> - </tr> - <tr> - <td valign="middle" nowrap="nowrap" align="right"><span class="gen">${n:i18n("L_ICQ_NUMBER")}:</span></td> - <td class="row1"><script language="JavaScript" type="text/javascript"><!-- + class="genmed"><a href="${n:out("U_SEARCH_USER")}" class="genmed">${n:i18n("L_SEARCH_USER_POSTS")}</a></span>--> + </td> + </tr> + <tr> + <td valign="middle" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_LOCATION}:&nbsp;</span> + </td> + <td> + <b><span class="gen">#{forums:userProperty(profile.poster.user.properties,"INFO_USER_LOCATION")}</span></b> + </td> + </tr> + <tr> + <td valign="middle" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_WEBSITE}:&nbsp;</span> + </td> + <td> + <span class="gen"> + <b> + <h:outputLink value="${forums:userProperty(profile.poster.user.properties,'INFO_USER_HOMEPAGE')}" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconWWWURL')}" + alt="${resource.Visit_website}"/> + </f:verbatim> + </h:outputLink> + </b> + </span> + </td> + </tr> + <tr> + <td valign="middle" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_OCCUPATION}:&nbsp;</span> + </td> + <td> + <b><span class="gen">#{forums:userProperty(profile.poster.user.properties,"INFO_USER_OCCUPATION")}</span></b> + </td> + </tr> + <tr> + <td valign="top" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_INTERESTS}:</span> + </td> + <td> + <b><span class="gen">#{forums:userProperty(profile.poster.user.properties,"INFO_USER_INTERESTS")}</span></b> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="catLeft" align="center" height="28"> + <b> + <span class="gen"> + ${resource.L_CONTACT}: + ${profile.poster.user.givenName} + </span> + </b> + </td> + </tr> + <tr> + <td class="row1" valign="top"> + <table width="100%" border="0" cellspacing="1" cellpadding="3"> + <tr> + <td valign="middle" align="right" nowrap="nowrap"> + <span class="gen">${resource.L_EMAIL_ADDRESS}:</span> + </td> + <td class="row1" valign="middle" width="100%"> + <b> + <span class="gen"> + <h:outputLink value="mailto:${profile.poster.user.fakeEmail}" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconEmailURL')}" + alt="${resource.Send_email}"/> + </f:verbatim> + </h:outputLink> + </span> + </b> + </td> + </tr> + <tr> + <td valign="middle" nowrap="nowrap" align="right"> + <span class="gen">${resource.L_SKYPE}:</span> + </td> + <td class="row1" valign="middle"> + <span class="gen"> + <h:outputLink value="skype:#{forums:userProperty(profile.poster.user.properties,'INFO_USER_IM_SKYPE')}?add" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconSkypeURL')}" + alt="${resource.L_SKYPE}"/> + </f:verbatim> + </h:outputLink> + </span> + </td> + </tr> + <tr> + <td valign="middle" nowrap="nowrap" align="right"> + <span class="gen">${resource.L_MESSENGER}:</span> + </td> + <td class="row1" valign="middle"> + <span class="gen"> + #{forums:userProperty(profile.poster.user.properties,"INFO_USER_IM_MSNM")} + </span> + </td> + </tr> + <tr> + <td valign="middle" nowrap="nowrap" align="right"> + <span class="gen">${resource.L_YAHOO}:</span> + </td> + <td class="row1" valign="middle"> + <span class="gen"> + <h:outputLink value="http://edit.yahoo.com/config/send_webmesg?.target=#{forums:userProperty(profile.poster.user.properties,'INFO_USER_IM_YIM')}&.src=pg" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconYIMURL')}" + alt="${resource.YIM}"/> + </f:verbatim> + </h:outputLink> + </span> + </td> + </tr> + <tr> + <td valign="middle" nowrap="nowrap" align="right"> + <span class="gen">${resource.L_AIM}:</span> + </td> + <td class="row1" valign="middle"> + <span class="gen"> + <h:outputLink value="aim:goim?screenname=#{forums:userProperty(profile.poster.user.properties,'INFO_USER_IM_AIM')}&message=Hello+Are+you+there?" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconAIMURL')}" + alt="${resource.AIM}"/> + </f:verbatim> + </h:outputLink> + </span> + </td> + </tr> + <tr> + <td valign="middle" nowrap="nowrap" align="right"> + <span class="gen">${resource.L_ICQ_NUMBER}:</span> + </td> + <td class="row1"> + <script language="JavaScript" type="text/javascript"><!-- if ( navigator.userAgent.toLowerCase().indexOf('mozilla') != -1 && navigator.userAgent.indexOf('5.') == -1 && navigator.userAgent.indexOf('6.') == -1 ) document.write(' ${n:out("ICQ_IMG")}'); else document.write('<table cellspacing="0" cellpadding="0" border="0"><tr><td nowrap="nowrap"><div style="position:relative;height:18px"><div style="position:absolute">${n:out("ICQ_IMG")}</div><div style="position:absolute;left:3px;top:-1px">${n:out("ICQ_STATUS_IMG")}</div></div></td></tr></table>'); - //--></script><noscript>${n:out("ICQ_IMG")}</noscript></td> - </tr> - </table> - </td> - </tr> -</table> - + //--></script> + <h:outputLink value="http://www.icq.com/scripts/search.dll?to=#{forums:userProperty(profile.poster.user.properties,'INFO_USER_IM_ICQ')}" style="text-decoration: none;"> + <f:verbatim> + <img border="0" + src="#{forums:themeURL('resourceIconICQURL')}" + alt="${resource.ICQ}"/> + </f:verbatim> + </h:outputLink> + </td> + </tr> + </table> + </td> + </tr> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> - <td align="right"><span class="nav"><br/>${n:out("JUMPBOX")}</span></td> + <td align="right"> + <span class="nav"> + <br/> + <ui:include src="/views/jumpbox.xhtml"/> + </span> + </td> </tr> </table> Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml 2006-04-19 00:05:03 UTC (rev 3776) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml 2006-04-19 00:49:46 UTC (rev 3777) @@ -349,7 +349,7 @@ </h:outputLink> </c:if> <c:if test="${forums:userProperty(postrow.poster.user.properties,'INFO_USER_IM_ICQ') ne null}"> - <h:outputLink value="http://wwp.icq.com/scripts/search.dll?to=#{forums:userProperty(postrow.poster.user.properties,'INFO_USER_IM_ICQ')}" style="text-decoration: none;"> + <h:outputLink value="http://www.icq.com/scripts/search.dll?to=#{forums:userProperty(postrow.poster.user.properties,'INFO_USER_IM_ICQ')}" style="text-decoration: none;"> <f:verbatim> <img border="0" src="#{forums:themeURL('resourceIconICQURL')}" |
From: <jbo...@li...> - 2006-04-19 00:05:08
|
Author: KrisVerlaenen Date: 2006-04-18 20:05:03 -0400 (Tue, 18 Apr 2006) New Revision: 3776 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/DroolsPluginImages.java labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java Log: added classes in import to code completion inside conditions Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/DroolsPluginImages.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/DroolsPluginImages.java 2006-04-19 00:00:40 UTC (rev 3775) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/DroolsPluginImages.java 2006-04-19 00:05:03 UTC (rev 3776) @@ -44,6 +44,7 @@ public static final String EXECUTE_ACTIVATION = "ExecuteActivation"; public static final String CLASS = "Class"; public static final String PACKAGE = "Package"; + public static final String DROOLS = "Drools"; private static ImageRegistry imageRegistry; private static final String PATH_SUFFIX = "/icons/"; @@ -66,6 +67,7 @@ declareRegistryImage(EXECUTE_ACTIVATION, "bluediamond.GIF"); declareRegistryImage(CLASS, "class_obj.gif"); declareRegistryImage(PACKAGE, "package_obj.gif"); + declareRegistryImage(DROOLS, "drools.gif"); } /** Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 00:00:40 UTC (rev 3775) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProcessor.java 2006-04-19 00:05:03 UTC (rev 3776) @@ -1,14 +1,24 @@ package org.drools.ide.editors.completion; +import java.io.Reader; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.regex.Pattern; +import org.drools.compiler.DrlParser; import org.drools.ide.DroolsIDEPlugin; +import org.drools.ide.DroolsPluginImages; +import org.drools.ide.builder.DroolsBuilder; import org.drools.ide.editors.DRLRuleEditor; import org.drools.ide.editors.DSLAdapter; +import org.drools.lang.descr.PackageDescr; +import org.drools.semantics.java.ClassTypeResolver; +import org.drools.util.asm.ClassFieldInspector; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.ITextViewer; +import org.eclipse.swt.graphics.Image; import org.eclipse.ui.part.FileEditorInput; /** @@ -52,9 +62,9 @@ } else if (consequence.matcher(backText).matches()) { list.addAll(adapter.listConsequenceItems()); if (!adapter.hasConsequences()) { - list.add(new RuleCompletionProposal(prefix.length(), "modify", "modify( );")); - list.add(new RuleCompletionProposal(prefix.length(), "retract", "retract( );")); - list.add(new RuleCompletionProposal(prefix.length(), "assert", "assert( );")); + list.add(new RuleCompletionProposal(prefix.length(), "modify", "modify();", 7)); + list.add(new RuleCompletionProposal(prefix.length(), "retract", "retract();", 8)); + list.add(new RuleCompletionProposal(prefix.length(), "assert", "assert();", 7)); filterProposalsOnPrefix(prefix, list); // IEditorInput input = getEditor().getEditorInput(); @@ -83,23 +93,67 @@ } } else if (condition.matcher(backText).matches()) { list.addAll(adapter.listConditionItems()); + Image image = DroolsPluginImages.getImage(DroolsPluginImages.DROOLS); if (!adapter.hasConditions()) { - list.add(new RuleCompletionProposal(prefix.length(), "exists")); - list.add(new RuleCompletionProposal(prefix.length(), "not")); - list.add(new RuleCompletionProposal(prefix.length(), "and")); - list.add(new RuleCompletionProposal(prefix.length(), "or")); - list.add(new RuleCompletionProposal(prefix.length(), "eval", "eval( )")); + RuleCompletionProposal prop = new RuleCompletionProposal(prefix.length(), "exists", "exists "); + prop.setImage(image); + list.add(prop); + prop = new RuleCompletionProposal(prefix.length(), "not", "not "); + prop.setImage(image); + list.add(prop); + prop = new RuleCompletionProposal(prefix.length(), "and", "and "); + prop.setImage(image); + list.add(prop); + prop = new RuleCompletionProposal(prefix.length(), "or", "or "); + prop.setImage(image); + list.add(prop); + prop = new RuleCompletionProposal(prefix.length(), "eval", "eval()", 5); + prop.setImage(image); + list.add(prop); } - list.add(new RuleCompletionProposal(prefix.length(), "then", "then\n\t")); + RuleCompletionProposal prop = new RuleCompletionProposal(prefix.length(), "then", "then\n\t"); + prop.setImage(image); + list.add(prop); + + String content = viewer.getDocument().get(); + Reader dslReader = DSLAdapter.getDSLContent(content, ((FileEditorInput) getEditor().getEditorInput()).getFile()); + DrlParser parser = new DrlParser(); + PackageDescr descr = DroolsBuilder.parsePackage(content, parser, dslReader); + List imports = descr.getImports(); + Iterator iterator = imports.iterator(); + while (iterator.hasNext()) { + String name = (String) iterator.next(); + int index = name.lastIndexOf("."); + if (index != -1) { + String className = name.substring(index + 1); + prop = new RuleCompletionProposal(prefix.length(), className, className + "()", className.length() + 1); + prop.setPriority(-1); + prop.setImage(DroolsPluginImages.getImage(DroolsPluginImages.CLASS)); + list.add(prop); + } + } +// if (true) { +// String className = ""; +// ClassTypeResolver resolver = new ClassTypeResolver(imports); +// Class conditionClass = resolver.resolveType(className); +// ClassFieldInspector inspector = new ClassFieldInspector(conditionClass); +// Map fields = inspector.getFieldNames(); +// Iterator iterator2 = fields.keySet().iterator(); +// while (iterator2.hasNext()) { +// String varName = (String) iterator2.next(); +// list.add(new RuleCompletionProposal(prefix.length(), varName, varName + " ")); +// } +// } + filterProposalsOnPrefix(prefix, list); } else { //we are in rule header - list.add(new RuleCompletionProposal(prefix.length(), "salience")); - list.add(new RuleCompletionProposal(prefix.length(), "no-loop")); - list.add(new RuleCompletionProposal(prefix.length(), "agenda-group")); - list.add(new RuleCompletionProposal(prefix.length(), "duration")); - list.add(new RuleCompletionProposal(prefix.length(), "auto-focus")); - list.add(new RuleCompletionProposal(prefix.length(), "when", "when\n\t")); + list.add(new RuleCompletionProposal(prefix.length(), "salience", "salience ")); + list.add(new RuleCompletionProposal(prefix.length(), "no-loop", "no-loop ")); + list.add(new RuleCompletionProposal(prefix.length(), "agenda-group", "agenda-group ")); + list.add(new RuleCompletionProposal(prefix.length(), "duration", "duration ")); + list.add(new RuleCompletionProposal(prefix.length(), "auto-focus", "auto-focus ")); + list.add(new RuleCompletionProposal(prefix.length(), "when", "when\n\t ")); filterProposalsOnPrefix(prefix, list); } return list; |
From: <jbo...@li...> - 2006-04-19 00:00:43
|
Author: KrisVerlaenen Date: 2006-04-18 20:00:40 -0400 (Tue, 18 Apr 2006) New Revision: 3775 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProposal.java Log: Proposals now also have a priority that can be used when sorting proposals Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProposal.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProposal.java 2006-04-18 23:57:56 UTC (rev 3774) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/editors/completion/RuleCompletionProposal.java 2006-04-19 00:00:40 UTC (rev 3775) @@ -17,6 +17,7 @@ private int replacementLength; private int cursorPosition; private Image image; + private int priority; /** This is used when the stuff that is displayed, is the stuff that is used. */ public RuleCompletionProposal(int replacementLength, String content) { @@ -60,14 +61,29 @@ this.image = image; } + public int getPriority() { + return priority; + } + + public void setPriority(int priority) { + this.priority = priority; + } + public String toString() { return content; } public static class RuleCompletionProposalComparator implements Comparator { public int compare(Object arg0, Object arg1) { - return ((RuleCompletionProposal) arg0).getDisplay() - .compareTo(((RuleCompletionProposal) arg1).getDisplay()); + RuleCompletionProposal prop0 = (RuleCompletionProposal) arg0; + RuleCompletionProposal prop1 = (RuleCompletionProposal) arg1; + if (prop0.getPriority() == prop1.getPriority()) { + return prop0.getDisplay().compareTo(prop1.getDisplay()); + } else if (prop0.getPriority() > prop1.getPriority()) { + return -1; + } else { + return 1; + } } } } |
From: <jbo...@li...> - 2006-04-18 23:57:59
|
Author: KrisVerlaenen Date: 2006-04-18 19:57:56 -0400 (Tue, 18 Apr 2006) New Revision: 3774 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java Log: Builder now shows Function errors too Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-04-18 21:00:06 UTC (rev 3773) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-04-18 23:57:56 UTC (rev 3774) @@ -11,6 +11,7 @@ import org.drools.compiler.DrlParser; import org.drools.compiler.DroolsError; import org.drools.compiler.DroolsParserException; +import org.drools.compiler.FunctionError; import org.drools.compiler.GlobalError; import org.drools.compiler.PackageBuilder; import org.drools.compiler.ParserError; @@ -215,6 +216,18 @@ ParserError parserError = (ParserError) error; // TODO try to retrieve character start-end markers.add(new DroolsBuildMarker(parserError.getMessage(), parserError.getRow())); + } else if (error instanceof FunctionError) { + FunctionError functionError = (FunctionError) error; + // TODO add line to function error + // TODO try to retrieve character start-end + if (functionError.getObject() instanceof CompilationProblem[]) { + CompilationProblem[] problems = (CompilationProblem[]) functionError.getObject(); + for (int j = 0; j < problems.length; j++) { + markers.add(new DroolsBuildMarker(problems[j].getMessage(), -1)); + } + } else { + markers.add(new DroolsBuildMarker(functionError.getFunctionDescr().getName() + ":" + functionError.getMessage(), -1)); + } } else { markers.add(new DroolsBuildMarker("Unknown DroolsError " + error.getClass() + ": " + error)); } @@ -236,7 +249,7 @@ } /** Actually parse the rules into the AST */ - private static PackageDescr parsePackage(String content, + public static PackageDescr parsePackage(String content, DrlParser parser, Reader dslReader) throws DroolsParserException { if (dslReader != null) |