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-07-10 14:47:04
|
Author: adamw Date: 2006-07-10 10:46:53 -0400 (Mon, 10 Jul 2006) New Revision: 4965 Modified: labs/jbosslabs/trunk/portal-extensions/forge-blog/forge-blog.iml labs/jbosslabs/trunk/portal-extensions/forge-common/forge-common.iml labs/jbosslabs/trunk/portal-extensions/forge-contributor/forge-contributor.iml labs/jbosslabs/trunk/portal-extensions/forge-feeds/forge-feeds.iml labs/jbosslabs/trunk/portal-extensions/forge-file-access/forge-file-access.iml labs/jbosslabs/trunk/portal-extensions/forge-freezone/forge-freezone.iml labs/jbosslabs/trunk/portal-extensions/forge-mapper/forge-mapper.iml labs/jbosslabs/trunk/portal-extensions/forge-navigation/forge-navigation.iml labs/jbosslabs/trunk/portal-extensions/forge-service/forge-service.iml labs/jbosslabs/trunk/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java labs/jbosslabs/trunk/portal-extensions/polls/forge-polls.iml labs/jbosslabs/trunk/portal-extensions/portal-default/forge-portal-default.iml Log: http://jira.jboss.org/jira/browse/JBSHOTOKU-87 Modified: labs/jbosslabs/trunk/portal-extensions/forge-blog/forge-blog.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-blog/forge-blog.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-blog/forge-blog.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -11,9 +11,9 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="jboss" level="application" /> <orderEntry type="module" module-name="forge-common" /> + <orderEntry type="library" name="feeds" level="application" /> <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="library" name="feeds" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/forge-common.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-common/forge-common.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-common/forge-common.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -9,10 +9,9 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="commons" level="application" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-contributor/forge-contributor.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-contributor/forge-contributor.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-contributor/forge-contributor.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -11,9 +11,8 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="module" module-name="forge-common" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> - <orderEntry type="library" name="jsf" level="application" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-feeds/forge-feeds.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-feeds/forge-feeds.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-feeds/forge-feeds.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -11,11 +11,9 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="jboss" level="application" /> <orderEntry type="module" module-name="forge-common" /> - <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="library" name="feeds" level="application" /> - <orderEntry type="library" name="velocity" level="application" /> - <orderEntry type="library" name="commons" level="application" /> + <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-feeds" /> <orderEntryProperties /> </component> Modified: labs/jbosslabs/trunk/portal-extensions/forge-file-access/forge-file-access.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-file-access/forge-file-access.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-file-access/forge-file-access.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -9,11 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="forge-common" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-file-access" /> + <orderEntry type="library" name="jboss" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-freezone/forge-freezone.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-freezone/forge-freezone.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-freezone/forge-freezone.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -9,10 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="forge-common" /> <orderEntry type="library" name="jboss" level="application" /> + <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-mapper/forge-mapper.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-mapper/forge-mapper.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-mapper/forge-mapper.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -10,10 +10,9 @@ <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="forge-common" /> - <orderEntry type="library" name="xdoclet" level="application" /> + <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-navigation/forge-navigation.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-navigation/forge-navigation.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-navigation/forge-navigation.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -10,10 +10,9 @@ <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="module" module-name="forge-common" /> + <orderEntry type="library" name="jboss" level="application" /> <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-service/forge-service.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-service/forge-service.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-service/forge-service.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -11,8 +11,8 @@ <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="library" name="jboss" level="application" /> <orderEntry type="module" module-name="forge-common" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/forge-service/src/java/org/jboss/forge/service/ForgeService.java 2006-07-10 14:46:53 UTC (rev 4965) @@ -204,11 +204,6 @@ log.info("Forge service started."); } - public void stop() { - super.stop(); - log.info("Forge service stopped."); - } - public void destroy() { } Modified: labs/jbosslabs/trunk/portal-extensions/polls/forge-polls.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/polls/forge-polls.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/polls/forge-polls.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -10,10 +10,9 @@ <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="module" module-name="forge-common" /> + <orderEntry type="library" name="jboss" level="application" /> <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="library" name="commons" level="application" /> - <orderEntry type="library" name="jboss" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/jbosslabs/trunk/portal-extensions/portal-default/forge-portal-default.iml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/portal-default/forge-portal-default.iml 2006-07-10 14:45:33 UTC (rev 4964) +++ labs/jbosslabs/trunk/portal-extensions/portal-default/forge-portal-default.iml 2006-07-10 14:46:53 UTC (rev 4965) @@ -7,10 +7,10 @@ <content url="file://$MODULE_DIR$" /> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="module" module-name="shotoku-aop" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="forge-common" /> <orderEntry type="library" name="jboss" level="application" /> + <orderEntry type="module" module-name="shotoku-base" /> + <orderEntry type="module" module-name="shotoku-aop" /> <orderEntryProperties /> </component> </module> |
From: <jbo...@li...> - 2006-07-10 14:45:42
|
Author: adamw Date: 2006-07-10 10:45:33 -0400 (Mon, 10 Jul 2006) New Revision: 4964 Modified: labs/shotoku/trunk/shotoku-base/shotoku-base.iml labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java labs/shotoku/trunk/shotoku-feeds/shotoku-feeds.iml labs/shotoku/trunk/shotoku-file-access/shotoku-file-access.iml labs/shotoku/trunk/shotoku-files/shotoku-files.iml labs/shotoku/trunk/shotoku-jcr/shotoku-jcr.iml labs/shotoku/trunk/shotoku-portal/shotoku-portal.iml labs/shotoku/trunk/shotoku-svn/shotoku-svn.iml labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnRepository.java labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java labs/shotoku/trunk/shotoku-tags/shotoku-tags.iml labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java labs/shotoku/trunk/shotoku-test/shotoku-test.iml labs/shotoku/trunk/shotoku-web/shotoku-web.iml labs/shotoku/trunk/shotoku.iml Log: http://jira.jboss.org/jira/browse/JBSHOTOKU-87 Modified: labs/shotoku/trunk/shotoku-base/shotoku-base.iml =================================================================== --- labs/shotoku/trunk/shotoku-base/shotoku-base.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-base/shotoku-base.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -5,14 +5,11 @@ <output url="file://$MODULE_DIR$/target" /> <exclude-output /> <content url="file://$MODULE_DIR$"> - <sourceFolder url="file://$MODULE_DIR$/src/etc" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/java" isTestSource="false" /> </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="velocity" level="application" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java =================================================================== --- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/AdministratedServiceImpl.java 2006-07-10 14:45:33 UTC (rev 4964) @@ -8,7 +8,7 @@ * @author Adam Warski (ad...@as...) */ public abstract class AdministratedServiceImpl implements AdministratedService { - private static final Logger log = Logger.getLogger(AdministratedServiceImpl.class); + private static final Logger log = Logger.getLogger(AdministratedService.class); private long lastUpdate; private long timerInterval; @@ -54,6 +54,7 @@ public void stop() { log.info("Stopping " + getServiceName() + "..."); setServiceRunnable(false); + log.info(getServiceName() + " stopped."); } public void destroy() { Modified: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java =================================================================== --- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java 2006-07-10 14:45:33 UTC (rev 4964) @@ -47,7 +47,7 @@ @Management(ShotokuService.class) public class ShotokuServiceImpl extends AdministratedServiceImpl implements ShotokuService, ShotokuServiceLocal { - Logger log = Logger.getLogger(ShotokuServiceImpl.class); + Logger log = Logger.getLogger(AdministratedService.class); /* * Service-handling functions. @@ -111,11 +111,6 @@ log.info("Shotoku service started."); } - public void stop() { - super.stop(); - log.info("Shotoku service stopped."); - } - public void destroy() { } Modified: labs/shotoku/trunk/shotoku-feeds/shotoku-feeds.iml =================================================================== --- labs/shotoku/trunk/shotoku-feeds/shotoku-feeds.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-feeds/shotoku-feeds.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,15 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="module" module-name="shotoku" /> - <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> + <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="library" name="feeds" level="application" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> - <orderEntry type="library" name="velocity" level="application" /> - <orderEntry type="library" name="junit" level="application" /> - <orderEntry type="module" module-name="shotoku-tags" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-file-access/shotoku-file-access.iml =================================================================== --- labs/shotoku/trunk/shotoku-file-access/shotoku-file-access.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-file-access/shotoku-file-access.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,8 +9,8 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="library" name="jboss" level="application" /> <orderEntryProperties /> </component> Modified: labs/shotoku/trunk/shotoku-files/shotoku-files.iml =================================================================== --- labs/shotoku/trunk/shotoku-files/shotoku-files.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-files/shotoku-files.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,8 +9,8 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="library" name="commons" level="application" /> <orderEntry type="library" name="jboss" level="application" /> <orderEntryProperties /> </component> Modified: labs/shotoku/trunk/shotoku-jcr/shotoku-jcr.iml =================================================================== --- labs/shotoku/trunk/shotoku-jcr/shotoku-jcr.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-jcr/shotoku-jcr.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,11 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="jcr" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> + <orderEntry type="library" name="jcr" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-portal/shotoku-portal.iml =================================================================== --- labs/shotoku/trunk/shotoku-portal/shotoku-portal.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-portal/shotoku-portal.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,9 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="portal-cms" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> + <orderEntry type="library" name="portal" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-svn/shotoku-svn.iml =================================================================== --- labs/shotoku/trunk/shotoku-svn/shotoku-svn.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-svn/shotoku-svn.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,10 +9,10 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> - <orderEntry type="library" name="tmate" level="application" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> + <orderEntry type="library" name="svn" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnRepository.java =================================================================== --- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnRepository.java 2006-07-10 14:45:33 UTC (rev 4964) @@ -135,6 +135,17 @@ } /** + * Gets the number of the last revision to which the WC was updated to. + */ + public long getLastRevision() { + return lastRevision; + } + + public String getId() { + return id; + } + + /** * Tries to perform a cleanup on the local working copy. Called in case * of exceptions that occure while performing other operations. */ Modified: labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java =================================================================== --- labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-svn/src/java/org/jboss/shotoku/svn/service/SvnServiceImpl.java 2006-07-10 14:45:33 UTC (rev 4964) @@ -56,7 +56,7 @@ @Depends(Constants.SHOTOKU_SERVICE_NAME) public class SvnServiceImpl extends AdministratedServiceImpl implements SvnService, SvnServiceLocal { - private static final Logger log = Logger.getLogger(SvnServiceImpl.class); + private static final Logger log = Logger.getLogger(AdministratedService.class); private ConcurrentMap<String, SvnRepository> repositories; @@ -115,6 +115,7 @@ try { update(); } catch (Throwable t) { + log.debug("SVN update threw an exception.", t); // Making sure that an exception won't stop the thread. } @@ -128,11 +129,6 @@ log.info("Subversion Service started with update interval: "+ getTimerInterval()); } - public void stop() { - super.stop(); - log.info("Subversion Service signaled to stop."); - } - public void destroy() { } @@ -141,13 +137,22 @@ */ public void update() { + log.debug("Starting SVN update."); for (SvnRepository repo : repositories.values()) { try { + log.debug("Updating repository: " + repo.getId() + + "; revision number before update: " + + repo.getLastRevision() + "."); repo.update(); + log.debug("Finished updating repository: " + repo.getId() + + "; revision number after update: " + + repo.getLastRevision() + "."); } catch (Exception e) { - log.error("Exception while updating a repository.", e); + log.error("Exception while updating repository: " + + repo.getId() + ".", e); } } + log.debug("Ending SVN update."); } public String getServiceId() { @@ -161,7 +166,8 @@ public String getServiceDescription() { StringBuffer sb = new StringBuffer("These repositories are currently handled: "); for (String id : repositories.keySet()) { - sb.append(id).append(" "); + sb.append(id).append(" ("). + append(repositories.get(id).getLastRevision()).append("); "); } return sb.append(".").toString(); Modified: labs/shotoku/trunk/shotoku-tags/shotoku-tags.iml =================================================================== --- labs/shotoku/trunk/shotoku-tags/shotoku-tags.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-tags/shotoku-tags.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -12,7 +12,6 @@ <orderEntry type="module" module-name="shotoku-aop" /> <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="library" name="commons" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java =================================================================== --- labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-tags/src/java/org/jboss/shotoku/tags/service/TagServiceImpl.java 2006-07-10 14:45:33 UTC (rev 4964) @@ -62,7 +62,7 @@ @Depends(Constants.SHOTOKU_SERVICE_NAME) public class TagServiceImpl extends AdministratedServiceImpl implements TagService, TagServiceLocal { - private static final Logger log = Logger.getLogger(TagService.class); + private static final Logger log = Logger.getLogger(AdministratedService.class); /* * Service lifecycle management. @@ -118,11 +118,6 @@ + getTimerInterval()); } - public void stop() { - super.stop(); - log.info("Tag service signaled to stop."); - } - public void destroy() { } Modified: labs/shotoku/trunk/shotoku-test/shotoku-test.iml =================================================================== --- labs/shotoku/trunk/shotoku-test/shotoku-test.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-test/shotoku-test.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,15 +9,9 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="module" module-name="shotoku-aop" /> - <orderEntry type="library" name="junit" level="application" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="shotoku-files" /> - <orderEntry type="module" module-name="shotoku-jcr" /> - <orderEntry type="module" module-name="shotoku-svn" /> - <orderEntry type="library" name="etc" level="project" /> - <orderEntry type="library" name="jcr" level="application" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku-web/shotoku-web.iml =================================================================== --- labs/shotoku/trunk/shotoku-web/shotoku-web.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku-web/shotoku-web.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -9,9 +9,9 @@ </content> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="jsf" level="application" /> + <orderEntry type="module" module-name="shotoku-aop" /> + <orderEntry type="module" module-name="shotoku-base" /> <orderEntry type="library" name="jboss" level="application" /> - <orderEntry type="module" module-name="shotoku-base" /> <orderEntryProperties /> </component> </module> Modified: labs/shotoku/trunk/shotoku.iml =================================================================== --- labs/shotoku/trunk/shotoku.iml 2006-07-10 02:18:06 UTC (rev 4963) +++ labs/shotoku/trunk/shotoku.iml 2006-07-10 14:45:33 UTC (rev 4964) @@ -2,16 +2,9 @@ <module version="4" relativePaths="true" type="JAVA_MODULE"> <component name="ModuleRootManager" /> <component name="NewModuleRootManager"> - <output url="file://$MODULE_DIR$/target" /> + <output url="file://$MODULE_DIR$" /> <exclude-output /> - <content url="file://$MODULE_DIR$"> - <excludeFolder url="file://$MODULE_DIR$/shotoku-aop" /> - <excludeFolder url="file://$MODULE_DIR$/shotoku-base" /> - <excludeFolder url="file://$MODULE_DIR$/shotoku-files" /> - <excludeFolder url="file://$MODULE_DIR$/shotoku-jcr" /> - <excludeFolder url="file://$MODULE_DIR$/shotoku-svn" /> - <excludeFolder url="file://$MODULE_DIR$/shotoku-test" /> - </content> + <content url="file://$MODULE_DIR$" /> <orderEntry type="inheritedJdk" /> <orderEntry type="sourceFolder" forTests="false" /> <orderEntryProperties /> |
From: <jbo...@li...> - 2006-07-10 02:18:12
|
Author: mar...@jb... Date: 2006-07-09 22:18:06 -0400 (Sun, 09 Jul 2006) New Revision: 4963 Added: labs/jbossrules/branches/3.0.x/ Log: made a copy Copied: labs/jbossrules/branches/3.0.x (from rev 4962, labs/jbossrules/trunk) |
From: <jbo...@li...> - 2006-07-10 02:16:35
|
Author: mar...@jb... Date: 2006-07-09 22:16:31 -0400 (Sun, 09 Jul 2006) New Revision: 4962 Added: labs/jbossrules/tags/3.0.2-GA/ Log: made a copy Copied: labs/jbossrules/tags/3.0.2-GA (from rev 4961, labs/jbossrules/trunk) |
From: <jbo...@li...> - 2006-07-10 01:47:24
|
Author: mar...@jb... Date: 2006-07-09 21:47:20 -0400 (Sun, 09 Jul 2006) New Revision: 4961 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml labs/jbossrules/trunk/documentation/manual/en/master.xml Log: -Updated docs for PackageBuilderConfiguration and langauge level -updated manual version to 3.0.2 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-10 01:36:04 UTC (rev 4960) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-10 01:47:20 UTC (rev 4961) @@ -84,7 +84,7 @@ package namespace for the current PackageBuilder instance.</para> <example> - <title></title> + <title>Building a Package from multiple sources</title> <programlisting>PackageBuilder builder = new PackageBuilder(); builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "package1.drl" ) ) ); @@ -100,12 +100,32 @@ is Eclipse JDT Core at source level "1.4" with the parent class loader set to "Thread.currentThread().getContextClassLoader()".</para> - <para>The following show how to specify the JANINO compiler</para> + <para>The following show how to specify the JANINO compiler + programmatically:</para> - <programlisting>PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); + <example> + <title>Configuring the PackageBuilder to use JANINO</title> + + <programlisting>PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); conf.setCompiler( PackageBuilderConfiguration.JANINO ); PackageBuilder builder = new PackageBuilder( conf );</programlisting> + </example> + <para>This could also be done with a property file setting + "drools.compiler=JANINO".</para> + + <example> + <title>Configuring the PackageBuilder to build with JDk 1.5 + compatability</title> + + <programlisting>PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); +conf.setJavaLanguageLevel( "1.5" ); +PackageBuilder builder = new PackageBuilder( conf );</programlisting> + </example> + + <para>This could also be done with a property file setting + "drools.compiler.languagelevel=1.5".</para> + <figure> <title>PackageBuilderConfiguration</title> Modified: labs/jbossrules/trunk/documentation/manual/en/master.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/master.xml 2006-07-10 01:36:04 UTC (rev 4960) +++ labs/jbossrules/trunk/documentation/manual/en/master.xml 2006-07-10 01:47:20 UTC (rev 4961) @@ -5,7 +5,7 @@ <subtitle>Drools Documentation</subtitle> - <releaseinfo>3.0</releaseinfo> + <releaseinfo>3.0.2</releaseinfo> <author> <firstname>Mark</firstname> @@ -24,7 +24,7 @@ <surname>Lin</surname> </author> - + <author> <firstname>Michael</firstname> @@ -60,10 +60,10 @@ <xi:include href="Chapter-Rule_Engine/Section-Rules.xml" /> - <xi:include href="Chapter-Rule_Engine/Section-Rete_Algorithm.xml" /> - + <xi:include href="Chapter-Rule_Engine/Section-Rete_Algorithm.xml" /> + <xi:include href="Chapter-Rule_Engine/Section-Leaps_Algorithm.xml" /> - + <xi:include href="Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml" /> <!--xi:include href="Chapter-Rule_Engine/Section-Rule_Base.xml" /> @@ -104,9 +104,9 @@ <xi:include href="Chapter-Rule_Language/Section-Query.xml" /> - <xi:include href="Chapter-Rule_Language/Section-DSL.xml" /> + <xi:include href="Chapter-Rule_Language/Section-DSL.xml" /> - <xi:include href="Chapter-Rule_Language/Section-XML.xml" /> + <xi:include href="Chapter-Rule_Language/Section-XML.xml" /> <!--xi:include href="Chapter-Rule_Language/Section-Column.xml" /> @@ -115,11 +115,12 @@ <xi:include href="Chapter-Rule_Language/Section-Conditional_Elements.xml" /--> </chapter> - <chapter> - <title>Decision Tables</title> - <xi:include href="Chapter-Decision_Tables/Section-Spreadsheet.xml" /> - </chapter> + <chapter> + <title>Decision Tables</title> + <xi:include href="Chapter-Decision_Tables/Section-Spreadsheet.xml" /> + </chapter> + <chapter> <title>The Rule Workbench (IDE)</title> @@ -128,42 +129,44 @@ <chapter> <title>The Java Rule Engine API</title> - + <xi:include href="Chapter-JSR94/Section-Introduction.xml" /> <!-- Removed till it can be completed --> + <!-- include href="Chapter-JSR94/Section-Specification.xml" /--> - + <xi:include href="Chapter-JSR94/Section-How_To_Use.xml" /> - + <xi:include href="Chapter-JSR94/Section-References.xml" /> - </chapter> - <chapter> - <title>Performance tuning</title> - <xi:include href="Chapter-Performance_Tuning/Section-Performance.xml" /> - </chapter> + <chapter> + <title>Performance tuning</title> + <xi:include href="Chapter-Performance_Tuning/Section-Performance.xml" /> + </chapter> + <chapter> <title>Examples</title> <xi:include href="Chapter-Examples/Section-Examples.xml" /> </chapter> - <chapter> - <title>Deployment and Testing</title> - <xi:include href="Chapter-Deployment/Section-Deployment.xml" /> - <xi:include href="Chapter-Deployment/Section-Testing.xml" /> - </chapter> - <chapter> + <title>Deployment and Testing</title> + + <xi:include href="Chapter-Deployment/Section-Deployment.xml" /> + + <xi:include href="Chapter-Deployment/Section-Testing.xml" /> + </chapter> + + <chapter> <title>Papers</title> <xi:include href="Chapter-Papers/Section-Manners.xml" /> - </chapter> + </chapter> + </part> - - </part> <index /> -</book> +</book> \ No newline at end of file |
From: <jbo...@li...> - 2006-07-10 01:36:07
|
Author: mar...@jb... Date: 2006-07-09 21:36:04 -0400 (Sun, 09 Jul 2006) New Revision: 4960 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml Log: -Updated docs for PackageBuilderConfiguration and langauge level Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-10 01:29:53 UTC (rev 4959) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-10 01:36:04 UTC (rev 4960) @@ -83,16 +83,25 @@ the classpath. Note that all added package sources must be of the same package namespace for the current PackageBuilder instance.</para> - <programlisting>PackageBuilder builder = new PackageBuilder(); + <example> + <title></title> + + <programlisting>PackageBuilder builder = new PackageBuilder(); builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "package1.drl" ) ) ); builder.addPackageFromXml( new InputStreamReader( getClass().getResourceAsStream( "package2.drl" ) ) ); Package pkg = builder.getPackage();</programlisting> + </example> - <para>PackagBuilder is configurable, using PackageBuilderConfiguration. - Currently it allows you to specify an alternative parent ClassLoader and - also which compiler to us - the default is Eclipse JDT. The following show - how to specify the JANINO compiler</para> + <para>PackagBuilder is configurable, using PackageBuilderConfiguration. It + has default values that can be overriden programmatically via setters or + on first use via property settings. Currently it allows alternative + compilers (Janino, Eclipse JDT) to be specified, different jdk source + levels ("1.4" and "1.5") and a parent class loader. The default compiler + is Eclipse JDT Core at source level "1.4" with the parent class loader set + to "Thread.currentThread().getContextClassLoader()".</para> + <para>The following show how to specify the JANINO compiler</para> + <programlisting>PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); conf.setCompiler( PackageBuilderConfiguration.JANINO ); PackageBuilder builder = new PackageBuilder( conf );</programlisting> |
From: <jbo...@li...> - 2006-07-10 01:29:58
|
Author: mar...@jb... Date: 2006-07-09 21:29:53 -0400 (Sun, 09 Jul 2006) New Revision: 4959 Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java Log: JBRULES-363 Java 5 language support -Changed it from drools.compiler.langlevel to languagelevel - I prefer whole words :) Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-09 18:23:10 UTC (rev 4958) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-10 01:29:53 UTC (rev 4959) @@ -128,7 +128,7 @@ static String getDefaultLanguageLevel() { try { - String languageLevel = System.getProperty( "drools.compiler.lnglevel", + String languageLevel = System.getProperty( "drools.compiler.languagelevel", DEFAULT_LANGUAGE_LEVEL ); if ( Arrays.binarySearch( LANGUAGE_LEVELS, |
From: <jbo...@li...> - 2006-07-09 18:23:14
|
Author: mfrandsen Date: 2006-07-09 14:23:10 -0400 (Sun, 09 Jul 2006) New Revision: 4958 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml Log: executeObjects() -> executeRules() and some more little changes. Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml 2006-07-09 15:34:37 UTC (rev 4957) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml 2006-07-09 18:23:10 UTC (rev 4958) @@ -20,7 +20,7 @@ <title>Automatic RuleServiceProvider Registration</title> <programlisting>// RuleServiceProviderImpl is registered to "http://drools.org/" via a static initialization block -Class.forName("org.jcp.jsr94.jess.RuleServiceProviderImpl"); +Class.forName("org.drools.jsr94.rules.RuleServiceProviderImpl"); // Get the rule service provider from the provider manager. RuleServiceProvider ruleServiceProvider = RuleServiceProviderManager.getRuleServiceProvider("http://drools.org/");</programlisting> @@ -28,10 +28,10 @@ RuleAdministration APIs. The RuleAdministration provides an administration API for the management of RuleExecutionSets, making it possible to register a RuleExecutionSet that can then be retrieved via the - RuleRuntime. </para> + RuleRuntime.</para> <para>First you need to create a RuleExecutionSet before it can be - registered; RuleAdministration provides factory methods to return an empty + registered; RuleAdministrator provides factory methods to return an empty LocalRuleExecutionSetProvider or RuleExecutionSetProvider. The LocalRuleExecutionSetProvider should be used to load a RuleExecutionSets from local sources that are not serializable, like Streams. The @@ -39,8 +39,8 @@ serializable sources, like DOM Elements or Packages. Both the "ruleAdministrator.getLocalRuleExecutionSetProvider( null );" and the "ruleAdministrator.getRuleExecutionSetProvider( null );" take null as a - parameter, as the properties map for these methods is not currently used. - </para> + parameter, as the properties map for these methods is not currently + used.</para> <example> <title>Registering a LocalRuleExecutionSet with the RuleAdministration @@ -92,9 +92,9 @@ </programlisting> </example> - <para>When registering a RuleExecution set you must specify the name, to - be used for its retrieval. There is also a field to pass properties, this - is currently unused so just pass null.</para> + <para>When registering a RuleExecutionSet you must specify the name, to be + used for its retrieval. There is also a field to pass properties, this is + currently unused so just pass null.</para> <example> <title>Register the RuleExecutionSet</title> @@ -108,13 +108,13 @@ <section> <title>Using Stateful and Stateless RuleSessions</title> - <para>The Runtime, obtained from the RuleExecutionSetProvider, is used to + <para>The Runtime, obtained from the RuleServiceProvider, is used to create stateful and stateless rule engine sessions.</para> <example> <title>Getting the RuleRuntime</title> - <programlisting>RuleRuntime ruleRuntime = ruleExecutionSetProvider.getRuleRuntime();</programlisting> + <programlisting>RuleRuntime ruleRuntime = ruleServiceProvider.getRuleRuntime();</programlisting> </example> <para>To create a rule session you must use one of the two RuleRuntime @@ -129,11 +129,11 @@ <example> <title>Stateful Rule</title> - <programlisting>(StateFulRuleSession) session = ruleRuntime.createRuleSession( uri, + <programlisting>(StatefulRuleSession) session = ruleRuntime.createRuleSession( uri, null, RuleRuntime.STATEFUL_SESSION_TYPE ); session.addObject( new PurchaseOrder( "lots of cheese" ) ); -session.executeObjects();</programlisting> +session.executeRules();</programlisting> </example> <para>The StatelessRuleSession has a very simple API; you can only call |
From: <jbo...@li...> - 2006-07-09 15:34:42
|
Author: mfrandsen Date: 2006-07-09 11:34:37 -0400 (Sun, 09 Jul 2006) New Revision: 4957 Modified: labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/RuleServiceProviderImpl.java Log: RuleServiceProviderImpl needs to be serializable to be bound to jndi of an application server Modified: labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/RuleServiceProviderImpl.java =================================================================== --- labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/RuleServiceProviderImpl.java 2006-07-09 15:33:47 UTC (rev 4956) +++ labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/RuleServiceProviderImpl.java 2006-07-09 15:34:37 UTC (rev 4957) @@ -44,7 +44,7 @@ * * @author <a href="mailto:tho...@so...">thomas diesler </a> */ -public class RuleServiceProviderImpl extends RuleServiceProvider { +public class RuleServiceProviderImpl extends RuleServiceProvider implements java.io.Serializable { public static final String RULE_SERVICE_PROVIDER = "http://drools.org/"; /** An instance of <code>RuleRuntimeImpl</code>. */ |
From: <jbo...@li...> - 2006-07-09 15:33:52
|
Author: mfrandsen Date: 2006-07-09 11:33:47 -0400 (Sun, 09 Jul 2006) New Revision: 4956 Modified: labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/admin/RuleAdministratorImpl.java Log: RuleAdministratorImpl needs to be serializable to be bound to jndi of an application server Modified: labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/admin/RuleAdministratorImpl.java =================================================================== --- labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/admin/RuleAdministratorImpl.java 2006-07-08 23:03:53 UTC (rev 4955) +++ labs/jbossrules/trunk/drools-jsr94/src/main/java/org/drools/jsr94/rules/admin/RuleAdministratorImpl.java 2006-07-09 15:33:47 UTC (rev 4956) @@ -48,7 +48,7 @@ */ public class RuleAdministratorImpl implements - RuleAdministrator { + RuleAdministrator, java.io.Serializable { private RuleExecutionSetRepository repository; /** Default constructor. */ |
From: <jbo...@li...> - 2006-07-08 23:04:03
|
Author: mar...@jb... Date: 2006-07-08 19:03:53 -0400 (Sat, 08 Jul 2006) New Revision: 4955 Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/asm/ClassFieldInspectorTest.java Log: JBRULES-365 bug in the compiler when creating Field Extractors for upper-case letter accessors -It now builds up a map of correct case for the fields and attempts to use this first. Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java 2006-07-08 17:05:01 UTC (rev 4954) +++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/util/asm/ClassFieldInspector.java 2006-07-08 23:03:53 UTC (rev 4955) @@ -127,6 +127,7 @@ private Class clazz; private ClassFieldInspector inspector; + private Map fields = new HashMap(); ClassFieldVisitor(final Class cls, final ClassFieldInspector inspector) { @@ -159,65 +160,50 @@ return null; } - public void visit(final int arg0, - final int arg1, - final String arg2, - final String arg3, - final String[] arg4, - final String arg5) { + public void visitInnerClass(String name, + String outerName, + String innerName, + int access) { } - public void visitInnerClass(final String arg0, - final String arg1, - final String arg2, - final int arg3) { + public void visitAttribute(Attribute attr) { } - public void visitField(final int access, - final String arg1, - final String arg2, - final Object arg3, - final Attribute arg4) { - } - - public void visitAttribute(final Attribute arg0) { - } - public void visitEnd() { } - public void visit(final int arg0, - final int arg1, - final String arg2, - final String arg3, - final String arg4, - final String[] arg5) { - + public void visit(int version, + int access, + String name, + String signature, + String superName, + String[] interfaces) { } - public void visitSource(final String arg0, - final String arg1) { + public void visitSource(String source, + String debug) { } - public void visitOuterClass(final String arg0, - final String arg1, - final String arg2) { + public void visitOuterClass(String owner, + String name, + String desc) { } - public AnnotationVisitor visitAnnotation(final String arg0, - final boolean arg1) { + public AnnotationVisitor visitAnnotation(String desc, + boolean visible) { return new ClassFieldAnnotationVisitor(); } - public FieldVisitor visitField(final int arg0, - final String arg1, - final String arg2, - final String arg3, - final Object arg4) { - + public FieldVisitor visitField(final int access, + final String name, + final String desc, + final String signature, + final Object value) { + this.fields.put( name.toLowerCase(), + name ); return null; } @@ -276,10 +262,15 @@ private String calcFieldName(String name, final int offset) { - name = name.substring( offset ); - final char first = Character.toLowerCase( name.charAt( 0 ) ); - name = first + name.substring( 1 ); - return name; + if ( offset > 0 ) { + name = name.substring( offset ); + } + String result = ( String ) this.fields.get( name.toLowerCase() ); + if ( result == null ) { + final char first = Character.toLowerCase( name.charAt( 0 ) ); + result = first + name.substring( 1 ); + } + return result; } } Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/asm/ClassFieldInspectorTest.java =================================================================== --- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/asm/ClassFieldInspectorTest.java 2006-07-08 17:05:01 UTC (rev 4954) +++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/util/asm/ClassFieldInspectorTest.java 2006-07-08 23:03:53 UTC (rev 4955) @@ -28,7 +28,7 @@ public void testIt() throws Exception { final ClassFieldInspector ext = new ClassFieldInspector( Person.class ); - assertEquals( 6, + assertEquals( 7, ext.getPropertyGetters().size() ); assertEquals( "getAge", ((Method) ext.getPropertyGetters().get( 0 )).getName() ); @@ -39,7 +39,7 @@ final Map names = ext.getFieldNames(); assertNotNull( names ); - assertEquals( 6, + assertEquals( 7, names.size() ); assertEquals( 0, ((Integer) names.get( "age" )).intValue() ); @@ -163,6 +163,15 @@ ext.getFieldTypes().get( "foo" ) ); } + + public void testWierdCapsForField() throws Exception { + final ClassFieldInspector ext = new ClassFieldInspector( Person.class ); + final Map methods = ext.getGetterMethods(); + assertEquals( "getURI", + ((Method) methods.get( "URI" )).getName() ); + assertEquals( 7, + methods.size() ); + } static class NonGetter { @@ -187,6 +196,7 @@ private boolean happy; private String name; private int age; + private String URI; public int getAge() { return this.age; @@ -226,6 +236,15 @@ public String getAlsoBad(final String s) { return "ignored"; } + + //this should show up, as its a getter, but all CAPS + public String getURI() { + return this.URI; + } + + public void setURI(String URI) { + this.URI = URI; + } } static class SubPerson { |
From: <jbo...@li...> - 2006-07-08 17:05:05
|
Author: mar...@jb... Date: 2006-07-08 13:05:01 -0400 (Sat, 08 Jul 2006) New Revision: 4954 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/PackageBuilderConfiguration.png Log: -updated image as there was an API change Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/PackageBuilderConfiguration.png =================================================================== (Binary files differ) |
From: <jbo...@li...> - 2006-07-08 16:08:03
|
Author: mar...@jb... Date: 2006-07-08 12:07:57 -0400 (Sat, 08 Jul 2006) New Revision: 4953 Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java Log: JBRULES-363 Java 5 language support -Rejigged the default settings, so it works more like the compiler setting. Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-08 13:06:06 UTC (rev 4952) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-08 16:07:57 UTC (rev 4953) @@ -34,22 +34,22 @@ * system property "drools.compiler.lnglevel". Valid values are 1.4, 1.5 and 1.6. */ public class PackageBuilderConfiguration { - public static final int ECLIPSE = 0; - public static final int JANINO = 1; + public static final int ECLIPSE = 0; + public static final int JANINO = 1; - /** This will be only setup once. It tries to look for a system property */ - private static final int CONFIGURED_COMPILER = getDefaultCompiler(); - - private int compiler = PackageBuilderConfiguration.CONFIGURED_COMPILER; - - private ClassLoader classLoader; + public static final String[] LANGUAGE_LEVELS = new String[]{"1.4", "1.5", "1.6"}; + public static final String DEFAULT_LANGUAGE_LEVEL = "1.4"; - public static final String DEFAULT_LANGUAGE_LEVEL = "1.4"; + /** These will be only setup once. It tries to look for a system property */ + private static final int CONFIGURED_COMPILER = getDefaultCompiler(); + private static final String CONFIGURED_LANGUAGE_LEVEL = getDefaultLanguageLevel(); - public static final String[] LANGUAGE_LEVELS = new String[] {"1.4","1.5","1.6"}; - - private String languageLevel = null; + private int compiler = PackageBuilderConfiguration.CONFIGURED_COMPILER; + private ClassLoader classLoader; + + private String languageLevel = PackageBuilderConfiguration.CONFIGURED_LANGUAGE_LEVEL; + public PackageBuilderConfiguration() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if ( classLoader == null ) { @@ -61,18 +61,18 @@ public int getCompiler() { return this.compiler; } - + public String getJavaLanguageLevel() { - if (languageLevel != null) - return languageLevel; - languageLevel = System.getProperty( "drools.compiler.lnglevel", DEFAULT_LANGUAGE_LEVEL ); - if (Arrays.binarySearch( LANGUAGE_LEVELS, languageLevel ) < 0) - throw new RuntimeDroolsException( "value '" + languageLevel + "' is not a valid language level" ); - return languageLevel; + if ( languageLevel != null ) return languageLevel; + languageLevel = System.getProperty( "drools.compiler.lnglevel", + DEFAULT_LANGUAGE_LEVEL ); + if ( Arrays.binarySearch( LANGUAGE_LEVELS, + languageLevel ) < 0 ) throw new RuntimeDroolsException( "value '" + languageLevel + "' is not a valid language level" ); + return languageLevel; } - + public void setJavaLanguageLevel(String level) { - languageLevel = level; + languageLevel = level; } /** @@ -111,7 +111,7 @@ static int getDefaultCompiler() { try { final String prop = System.getProperty( "drools.compiler", - "ECLIPSE" ); + "ECLIPSE" ); if ( prop.equals( "ECLIPSE".intern() ) ) { return PackageBuilderConfiguration.ECLIPSE; } else if ( prop.equals( "JANINO" ) ) { @@ -125,4 +125,25 @@ return PackageBuilderConfiguration.ECLIPSE; } } + + static String getDefaultLanguageLevel() { + try { + String languageLevel = System.getProperty( "drools.compiler.lnglevel", + DEFAULT_LANGUAGE_LEVEL ); + + if ( Arrays.binarySearch( LANGUAGE_LEVELS, + languageLevel ) < 0 ) { + throw new RuntimeDroolsException( "value '" + languageLevel + "' is not a valid language level" ); + } + + return languageLevel; + } catch ( Exception e) { + e.printStackTrace(); + return "1.4"; + } +// } catch ( final SecurityException e ) { +// System.err.println( "Drools config: unable to read the drools.compiler.lnglevel property. Using default." ); +// return "1.4"; +// } + } } \ No newline at end of file |
From: <jbo...@li...> - 2006-07-08 13:06:12
|
Author: mar...@jb... Date: 2006-07-08 09:06:06 -0400 (Sat, 08 Jul 2006) New Revision: 4952 Modified: labs/jbossrules/trunk/build.xml labs/jbossrules/trunk/drools-compiler/pom.xml labs/jbossrules/trunk/drools-core/pom.xml labs/jbossrules/trunk/drools-decisiontables/pom.xml labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF labs/jbossrules/trunk/drools-jsr94/pom.xml labs/jbossrules/trunk/pom.xml Log: -Updating all modules to 3.0.2 Modified: labs/jbossrules/trunk/build.xml =================================================================== --- labs/jbossrules/trunk/build.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/build.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -1,5 +1,5 @@ <project name="Drools" basedir="." xmlns:artifact="urn:maven-artifact-ant" default="help"> - <property name="version" value="3.0.1"/> + <property name="version" value="3.0.2"/> <target name="help"> <echo level="info" message="Drools Build Help" /> Modified: labs/jbossrules/trunk/drools-compiler/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-compiler/pom.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/drools-compiler/pom.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -2,7 +2,7 @@ <parent> <artifactId>drools</artifactId> <groupId>org.drools</groupId> - <version>3.0.1</version> + <version>3.0.2</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -10,7 +10,7 @@ <artifactId>drools-compiler</artifactId> <name>Drools :: Compiler</name> - <version>3.0.1</version> + <version>3.0.2</version> <repositories> <repository> Modified: labs/jbossrules/trunk/drools-core/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-core/pom.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/drools-core/pom.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -2,7 +2,7 @@ <parent> <artifactId>drools</artifactId> <groupId>org.drools</groupId> - <version>3.0.1</version> + <version>3.0.2</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -10,7 +10,7 @@ <artifactId>drools-core</artifactId> <name>Drools :: Rete-OO Core</name> - <version>3.0.1</version> + <version>3.0.2</version> <repositories> <repository> Modified: labs/jbossrules/trunk/drools-decisiontables/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-decisiontables/pom.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/drools-decisiontables/pom.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -2,7 +2,7 @@ <parent> <artifactId>drools</artifactId> <groupId>org.drools</groupId> - <version>3.0.1</version> + <version>3.0.2</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -10,7 +10,7 @@ <artifactId>drools-decisiontables</artifactId> <name>Drools :: Decision Tables</name> - <version>3.0.1</version> + <version>3.0.2</version> <repositories> <repository> Modified: labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF =================================================================== --- labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/drools-ide/META-INF/MANIFEST.MF 2006-07-08 13:06:06 UTC (rev 4952) @@ -2,7 +2,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: Drools IDE Plug-in Bundle-SymbolicName: org.drools.ide;singleton:=true -Bundle-Version: 3.0.1 +Bundle-Version: 3.0.2 Bundle-Activator: org.drools.ide.DroolsIDEPlugin Bundle-Vendor: krisv,mic Bundle-Localization: plugin Modified: labs/jbossrules/trunk/drools-jsr94/pom.xml =================================================================== --- labs/jbossrules/trunk/drools-jsr94/pom.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/drools-jsr94/pom.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -2,7 +2,7 @@ <parent> <artifactId>drools</artifactId> <groupId>org.drools</groupId> - <version>3.0.1</version> + <version>3.0.2</version> </parent> <modelVersion>4.0.0</modelVersion> @@ -10,7 +10,7 @@ <artifactId>drools-jsr94</artifactId> <name>Drools :: JSR-94 API Module</name> - <version>3.0.1</version> + <version>3.0.2</version> <repositories> <repository> Modified: labs/jbossrules/trunk/pom.xml =================================================================== --- labs/jbossrules/trunk/pom.xml 2006-07-08 13:02:20 UTC (rev 4951) +++ labs/jbossrules/trunk/pom.xml 2006-07-08 13:06:06 UTC (rev 4952) @@ -4,7 +4,7 @@ <artifactId>drools</artifactId> <packaging>pom</packaging> <name>Drools</name> - <version>3.0.1</version> + <version>3.0.2</version> <issueManagement> <system>jira</system> |
From: <jbo...@li...> - 2006-07-08 13:02:25
|
Author: mar...@jb... Date: 2006-07-08 09:02:20 -0400 (Sat, 08 Jul 2006) New Revision: 4951 Modified: labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java Log: JBRULES-363 Java 5 language support 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-07-08 13:02:09 UTC (rev 4950) +++ labs/jbossrules/trunk/drools-ide/src/main/java/org/drools/ide/builder/DroolsBuilder.java 2006-07-08 13:02:20 UTC (rev 4951) @@ -14,6 +14,7 @@ import org.drools.compiler.FunctionError; import org.drools.compiler.GlobalError; import org.drools.compiler.PackageBuilder; +import org.drools.compiler.PackageBuilderConfiguration; import org.drools.compiler.ParserError; import org.drools.compiler.RuleError; import org.drools.ide.DroolsIDEPlugin; @@ -133,6 +134,13 @@ return true; } + private static PackageBuilderConfiguration builder_configuration = new PackageBuilderConfiguration(); + + public static void setupPackageBuilder(IJavaProject project) { + String level = project.getOption(JavaCore.COMPILER_COMPLIANCE, true); + builder_configuration.setJavaLanguageLevel(level); + } + public static DroolsBuildMarker[] parseFile(IFile file, String content) { List markers = new ArrayList(); DrlParser parser = new DrlParser(); @@ -143,8 +151,10 @@ if (file.getProject().getNature("org.eclipse.jdt.core.javanature") != null) { IJavaProject project = JavaCore.create(file.getProject()); newLoader = ProjectClassLoader.getProjectClassLoader(project); + setupPackageBuilder(project); } try { + builder_configuration.setClassLoader(newLoader); Thread.currentThread().setContextClassLoader(newLoader); //First we parse the source @@ -155,7 +165,7 @@ if (!parser.hasErrors()) { //now we compile the AST to binary, and process any downstream errors. - PackageBuilder builder = new PackageBuilder(); + PackageBuilder builder = new PackageBuilder(builder_configuration); builder.addPackage(packageDescr); //downstream errors markOtherErrors( markers, |
Author: mar...@jb... Date: 2006-07-08 09:02:09 -0400 (Sat, 08 Jul 2006) New Revision: 4950 Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/java5_rule.drl Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java Log: JBRULES-363 Java 5 language support Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-07-08 00:31:45 UTC (rev 4949) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilder.java 2006-07-08 13:02:09 UTC (rev 4950) @@ -28,12 +28,14 @@ import java.util.Set; import org.apache.commons.jci.compilers.CompilationResult; +import org.apache.commons.jci.compilers.EclipseJavaCompiler; +import org.apache.commons.jci.compilers.EclipseJavaCompilerSettings; import org.apache.commons.jci.compilers.JavaCompiler; import org.apache.commons.jci.compilers.JavaCompilerFactory; import org.apache.commons.jci.problems.CompilationProblem; import org.apache.commons.jci.readers.MemoryResourceReader; import org.apache.commons.jci.readers.ResourceReader; -import org.apache.commons.jci.stores.ResourceStore; +import org.drools.RuntimeDroolsException; import org.drools.base.ClassFieldExtractorCache; import org.drools.lang.descr.FunctionDescr; import org.drools.lang.descr.PackageDescr; @@ -99,8 +101,8 @@ configuration = new PackageBuilderConfiguration(); } - this.compiler = getCompiler( configuration.getCompiler() ); this.configuration = configuration; + loadCompiler(); this.src = new MemoryResourceReader(); this.results = new ArrayList(); this.errorHandlers = new HashMap(); @@ -298,9 +300,10 @@ "java", this.src ); ruleDescr.SetClassName( ucFirst( ruleClassName ) ); - - final RuleBuilder builder = new RuleBuilder( getTypeResolver(), classFieldExtractorCache ); + final RuleBuilder builder = new RuleBuilder( getTypeResolver(), + classFieldExtractorCache ); + builder.build( this.pkg, ruleDescr ); @@ -351,8 +354,8 @@ * It will not actually call the compiler */ private void addRuleSemantics(final RuleBuilder builder, - final Rule rule, - final RuleDescr ruleDescr) { + final Rule rule, + final RuleDescr ruleDescr) { // The compilation result is for th entire rule, so difficult to associate with any descr addClassCompileTask( this.pkg.getName() + "." + ruleDescr.getClassName(), builder.getRuleClass(), @@ -425,13 +428,13 @@ Collection errors = this.errorHandlers.values(); for ( Iterator iter = errors.iterator(); iter.hasNext(); ) { ErrorHandler handler = (ErrorHandler) iter.next(); - if ( !(handler instanceof RuleInvokerErrorHandler) ) { + if ( !(handler instanceof RuleInvokerErrorHandler) ) { this.results.add( handler.getError() ); } else { //we don't really want to report invoker errors. //mostly as they can happen when there is a syntax error in the RHS //and otherwise, it is a programmatic error in drools itself. - System.err.println( "!!!! An error occurred compiling the invoker: " + handler.getError() ); + System.err.println( "!!!! An error occurred compiling the invoker: " + handler.getError() ); } } } @@ -498,13 +501,21 @@ return newName; } - private JavaCompiler getCompiler(final int compiler) { - switch ( compiler ) { - case PackageBuilderConfiguration.JANINO : - return JavaCompilerFactory.getInstance().createCompiler( "janino" ); + private void loadCompiler() { + switch ( configuration.getCompiler() ) { + case PackageBuilderConfiguration.JANINO : { + if ( !"1.4".intern().equals( configuration.getJavaLanguageLevel() ) ) throw new RuntimeDroolsException( "Incompatible Java language level with selected compiler" ); + compiler = JavaCompilerFactory.getInstance().createCompiler( "janino" ); + } case PackageBuilderConfiguration.ECLIPSE : - default : - return JavaCompilerFactory.getInstance().createCompiler( "eclipse" ); + default : { + EclipseJavaCompilerSettings eclipseSettings = new EclipseJavaCompilerSettings(); + eclipseSettings.getMap().put( "org.eclipse.jdt.core.compiler.codegen.targetPlatform", + configuration.getJavaLanguageLevel() ); + eclipseSettings.getMap().put( "org.eclipse.jdt.core.compiler.source", + configuration.getJavaLanguageLevel() ); + compiler = new EclipseJavaCompiler( eclipseSettings ); + } } } @@ -620,4 +631,6 @@ } + private static JavaCompiler cachedJavaCompiler = null; + } \ No newline at end of file Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-08 00:31:45 UTC (rev 4949) +++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/compiler/PackageBuilderConfiguration.java 2006-07-08 13:02:09 UTC (rev 4950) @@ -16,6 +16,8 @@ * limitations under the License. */ +import java.util.Arrays; + import org.drools.RuntimeDroolsException; /** @@ -27,6 +29,9 @@ * * You can also use the system property "drools.compiler" to set the desired compiler. * The valid values are "ECLIPSE" and "JANINO" only. + * + * The default Java language level is 1.4 but it can be configured using the + * system property "drools.compiler.lnglevel". Valid values are 1.4, 1.5 and 1.6. */ public class PackageBuilderConfiguration { public static final int ECLIPSE = 0; @@ -38,6 +43,12 @@ private int compiler = PackageBuilderConfiguration.CONFIGURED_COMPILER; private ClassLoader classLoader; + + public static final String DEFAULT_LANGUAGE_LEVEL = "1.4"; + + public static final String[] LANGUAGE_LEVELS = new String[] {"1.4","1.5","1.6"}; + + private String languageLevel = null; public PackageBuilderConfiguration() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); @@ -50,6 +61,19 @@ public int getCompiler() { return this.compiler; } + + public String getJavaLanguageLevel() { + if (languageLevel != null) + return languageLevel; + languageLevel = System.getProperty( "drools.compiler.lnglevel", DEFAULT_LANGUAGE_LEVEL ); + if (Arrays.binarySearch( LANGUAGE_LEVELS, languageLevel ) < 0) + throw new RuntimeDroolsException( "value '" + languageLevel + "' is not a valid language level" ); + return languageLevel; + } + + public void setJavaLanguageLevel(String level) { + languageLevel = level; + } /** * Set the compiler to be used when building the rules semantic code blocks. Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java 2006-07-08 00:31:45 UTC (rev 4949) +++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/compiler/Java5Test.java 2006-07-08 13:02:09 UTC (rev 4950) @@ -0,0 +1,33 @@ +package org.drools.compiler; + +import java.io.InputStreamReader; + +import org.drools.DroolsTestCase; + +public class Java5Test extends DroolsTestCase { + + public void testJava5Rule() throws Exception { + String javaVersion = System.getProperty( "java.specification.version" ); + //do not execute tests under JDK 1.4 + //otherwise the compiled version cannot be interpreted + if (javaVersion.equals( "1.4" )) { + System.out.println("Skipping Java 1.5 tests - current JDK not compatible"); + return; + } + PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); + conf.setCompiler( PackageBuilderConfiguration.ECLIPSE ); + conf.setJavaLanguageLevel( "1.5" ); + final PackageBuilder builder = new PackageBuilder(conf); + builder.addPackageFromDrl( new InputStreamReader( this.getClass().getResourceAsStream( "java5_rule.drl" ) ) ); + assertFalse( builder.hasErrors() ); + } + + public void testJava14Defaults() throws Exception { + PackageBuilderConfiguration conf = new PackageBuilderConfiguration(); + conf.setCompiler( PackageBuilderConfiguration.JANINO ); + final PackageBuilder builder = new PackageBuilder(conf); + builder.addPackageFromDrl( new InputStreamReader( this.getClass().getResourceAsStream( "java5_rule.drl" ) ) ); + assertTrue( builder.hasErrors() ); + } + +} \ No newline at end of file Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/java5_rule.drl =================================================================== --- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/java5_rule.drl 2006-07-08 00:31:45 UTC (rev 4949) +++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/compiler/java5_rule.drl 2006-07-08 13:02:09 UTC (rev 4950) @@ -0,0 +1,13 @@ +package org.drools.test; + +import org.drools.Cheese; + +rule "like cheddar" + when + Cheese( $type:type ) + then + System.out.println("I like " + $type); + for (byte bt:$type.getBytes()) { + System.out.println("byte=" + bt); + } +end \ No newline at end of file |
From: <jbo...@li...> - 2006-07-08 00:31:51
|
Author: unibrew Date: 2006-07-07 20:31:45 -0400 (Fri, 07 Jul 2006) New Revision: 4949 Modified: labs/jbosslabs/trunk/portal-extensions/forge-prj-info/project.xml labs/jbosslabs/trunk/portal-extensions/forge-prj-info/src/java/org/jboss/forge/projects/info/Info.java Log: [JBLAB-709] Updating error message. Modified: labs/jbosslabs/trunk/portal-extensions/forge-prj-info/project.xml =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-prj-info/project.xml 2006-07-07 19:33:21 UTC (rev 4948) +++ labs/jbosslabs/trunk/portal-extensions/forge-prj-info/project.xml 2006-07-08 00:31:45 UTC (rev 4949) @@ -22,8 +22,26 @@ <artifactId>forge-common</artifactId> <version>1.0</version> </dependency> + <dependency> + <groupId>taglibs</groupId> + <artifactId>jstl</artifactId> + <version>1.0</version> + <jar>jstl.jar</jar> + <properties> + <war.bundle>true</war.bundle> + </properties> + </dependency> <dependency> + <groupId>taglibs</groupId> + <artifactId>standard</artifactId> + <version>1.0</version> + <jar>standard.jar</jar> + <properties> + <war.bundle>true</war.bundle> + </properties> + </dependency> + <dependency> <groupId>aslibs</groupId> <artifactId>javax.servlet</artifactId> <version>1.0</version> Modified: labs/jbosslabs/trunk/portal-extensions/forge-prj-info/src/java/org/jboss/forge/projects/info/Info.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-prj-info/src/java/org/jboss/forge/projects/info/Info.java 2006-07-07 19:33:21 UTC (rev 4948) +++ labs/jbosslabs/trunk/portal-extensions/forge-prj-info/src/java/org/jboss/forge/projects/info/Info.java 2006-07-08 00:31:45 UTC (rev 4949) @@ -23,29 +23,42 @@ import java.io.IOException; +import java.io.InputStream; + import javax.portlet.PortletException; import javax.portlet.PortletRequestDispatcher; import org.jboss.forge.common.ForgeHelper; +import org.jboss.forge.common.projects.ProjectDescriptor; import org.jboss.forge.common.projects.Projects; import org.jboss.forge.common.projects.ProjectsHelper; import org.jboss.forge.common.projects.permissions.PermissionsChecker; import org.jboss.forge.common.projects.permissions.RenderRequestPermissionsChecker; +import org.jboss.logging.Logger; import org.jboss.portal.common.context.DelegateContext; import org.jboss.portal.core.servlet.jsp.PortalJsp; import org.jboss.portlet.JBossPortlet; import org.jboss.portlet.JBossRenderRequest; import org.jboss.portlet.JBossRenderResponse; +import org.jboss.shotoku.ContentManager; +import org.jboss.shotoku.Node; +import org.jboss.shotoku.aop.Inject; +import org.jboss.shotoku.exceptions.ResourceDoesNotExist; /** * A portlet for displaying information about a project. - * + * * @author adamw */ public class Info extends JBossPortlet { private final static String INFO_JSP = "prj-info/info.jsp"; private final static String INFO_ERROR_JSP = "prj-info/info_error.jsp"; + private static final Logger log = Logger.getLogger(Info.class); + + @Inject + private ContentManager cm; + public void doView(JBossRenderRequest request, JBossRenderResponse response) throws IOException, PortletException { response.setContentType("text/html"); @@ -67,6 +80,21 @@ ForgeHelper .createRepoAccessPath(portalName, INFO_ERROR_JSP)); } else { + // Name of the file in freezone containing project's description + String descriptionFreezoneFilePath = context.get("description"); + if (descriptionFreezoneFilePath!=null && descriptionFreezoneFilePath.trim().length()>0) { + String absolutePathToInfo = "/"+portalName+"/"+ + ProjectsHelper.MEMBERS_DIR+"/"+projectId+"/"+ + ProjectsHelper.FREEZONE_DIR+"/"+descriptionFreezoneFilePath.trim(); + try { + Node node = cm.getNode(absolutePathToInfo); + String content = node.getContent(); + context.put("infoPageContent",content); + } catch (ResourceDoesNotExist e) { + log.warn("Resource given in description tag of "+projectId+ + "'s project.xml descriptor is not available."); + } + } request.setAttribute(PortalJsp.CTX_REQUEST, context); rd = getPortletContext().getRequestDispatcher( ForgeHelper.createRepoAccessPath(portalName, INFO_JSP)); |
From: <jbo...@li...> - 2006-07-07 19:33:28
|
Author: adamw Date: 2006-07-07 15:33:21 -0400 (Fri, 07 Jul 2006) New Revision: 4948 Modified: labs/shotoku/trunk/shotoku-svn/lib/javasvn.jar Log: New version of tmate (2). Modified: labs/shotoku/trunk/shotoku-svn/lib/javasvn.jar =================================================================== (Binary files differ) |
From: <jbo...@li...> - 2006-07-07 19:32:55
|
Author: adamw Date: 2006-07-07 15:32:45 -0400 (Fri, 07 Jul 2006) New Revision: 4947 Modified: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn.jar Log: New version of tmate. Modified: labs/jbosslabs/trunk/portal-extensions/binaries/maven-repo-addons/tmate/jars/javasvn.jar =================================================================== (Binary files differ) |
From: <jbo...@li...> - 2006-07-07 17:50:43
|
Author: soh...@jb... Date: 2006-07-07 13:50:33 -0400 (Fri, 07 Jul 2006) New Revision: 4946 Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/Constants.java labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/JSFUtil.java labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/DeletePost.java labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/EditPost.java labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/PostAction.java labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/ReplyTopic.java labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/classes/ResourceJSF.properties labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/web.xml labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml Log: Added check to make sure a topic is not changed (no reply, edit post, delete post) if its locked Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/Constants.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/Constants.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/Constants.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -69,6 +69,8 @@ public static final String SUMMARY_REPLIES_KEY = "summarytopicreplies"; public static final String TOPICS_FORUM_KEY = "topicsperforum"; public static final String POSTS_TOPIC_KEY = "postspertopic"; + public static final String TOPIC_LOCKED_ERR_KEY = "topiclockederr"; + public static final String BUNDLE_NAME = "ResourceJSF"; /** * DOCUMENT_ME Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/JSFUtil.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/JSFUtil.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/JSFUtil.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -22,8 +22,10 @@ package org.jboss.portlet.forums.ui; //core java classes +import java.util.Locale; import java.util.Map; import java.util.Iterator; +import java.util.ResourceBundle; //logging related @@ -227,4 +229,24 @@ return msg; } + + /** + * + * + */ + public static String getBundleMessage(String bundleName,String messageKey) + { + String bundleMessage = null; + + //Getting ResourceBundle with current Locale + FacesContext ctx = FacesContext.getCurrentInstance(); + UIViewRoot uiRoot = ctx.getViewRoot(); + Locale locale = uiRoot.getLocale(); + ClassLoader ldr = Thread.currentThread().getContextClassLoader(); + ResourceBundle bundle = ResourceBundle.getBundle(bundleName,locale,ldr); + + bundleMessage = bundle.getString(messageKey); + + return bundleMessage; + } } Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/DeletePost.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/DeletePost.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/DeletePost.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -68,6 +68,15 @@ Post post = BaseController.getForumsModule().findPostById(new Integer(postId)); Topic topic = post.getTopic(); Forum forum = topic.getForum(); + + //make sure this topic is not locked + if(topic.getStatus()==Constants.TOPIC_LOCKED) + { + //should not allow posting a reply since the topic is locked + throw new Exception(JSFUtil.getBundleMessage(Constants.BUNDLE_NAME,Constants.TOPIC_LOCKED_ERR_KEY)); + } + + boolean isFirstPost = false; boolean isLastPost = false; if(topic.getFirstPost().getId().intValue()==post.getId().intValue()) Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/EditPost.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/EditPost.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/EditPost.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -154,6 +154,15 @@ //setup the business objects to be updated Post post = BaseController.getForumsModule().findPostById(new Integer(this.postId)); Topic topic = post.getTopic(); + + //make sure this topic is not locked + if(topic.getStatus()==Constants.TOPIC_LOCKED) + { + //should not allow posting a reply since the topic is locked + throw new Exception(JSFUtil.getBundleMessage(Constants.BUNDLE_NAME,Constants.TOPIC_LOCKED_ERR_KEY)); + } + + boolean isFirstPost = false; if(topic.getFirstPost().getId().intValue()==post.getId().intValue()) { Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/PostAction.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/PostAction.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/PostAction.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -548,6 +548,7 @@ */ public String cancel() { + this.cleanup(); return Constants.CANCEL; } Modified: labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/ReplyTopic.java =================================================================== --- labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/ReplyTopic.java 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/main/org/jboss/portlet/forums/ui/action/ReplyTopic.java 2006-07-07 17:50:33 UTC (rev 4946) @@ -173,6 +173,12 @@ Topic topic = BaseController.getForumsModule().findTopicById(new Integer(topicId)); Poster poster = PortalUtil.getPoster(); + //make sure this topic is not locked + if(topic.getStatus()==Constants.TOPIC_LOCKED) + { + //should not allow posting a reply since the topic is locked + throw new Exception(JSFUtil.getBundleMessage(Constants.BUNDLE_NAME,Constants.TOPIC_LOCKED_ERR_KEY)); + } //actually post a reply to this topic in the forum Post post = BaseController.getForumsModule().createPost(topic, @@ -184,8 +190,7 @@ ); poster.incrementPostCount(); - - + //setup the navigation state navState = Constants.SUCCESS; @@ -223,11 +228,18 @@ public String executeInstantReply() { String navState = null; + + //setup the instantReply message String message = this.getMessage(); this.start(); this.setMessage(message); + + //make the actual post this.execute(); + + //setup proper navigation navState = "instantReply"; + return navState; } } Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/classes/ResourceJSF.properties =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/classes/ResourceJSF.properties 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/classes/ResourceJSF.properties 2006-07-07 17:50:33 UTC (rev 4946) @@ -2350,3 +2350,5 @@ Message_wrote=wrote Category_delete=Delete Category + +topiclockederr=This topic is locked. Modifying any posts or replying to this topic is not allowed Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/forums.taglib.xml 2006-07-07 17:50:33 UTC (rev 4946) @@ -79,14 +79,15 @@ <function-signature>float getVotePercent(org.jboss.portlet.forums.model.Poll,org.jboss.portlet.forums.model.PollOption)</function-signature> </function> - <!-- - Method for processing posts' messages. - --> - <function> + <!-- + Method for processing posts's messages. + --> + <function> <function-name>formatMessage</function-name> <function-class>org.jboss.portlet.forums.ui.PortalUtil</function-class> <function-signature>java.lang.String formatMessage(java.lang.String,boolean)</function-signature> </function> + <!-- function to get theme URL location --> Modified: labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/web.xml =================================================================== --- labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/web.xml 2006-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/WEB-INF/web.xml 2006-07-07 17:50:33 UTC (rev 4946) @@ -8,7 +8,10 @@ <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" -version="2.4"> +version="2.4"> + <!--listener> + <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class> + </listener--> <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> 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-07-07 17:41:07 UTC (rev 4945) +++ labs/jbossforums/trunk/forums/src/resources/portal-forums-war/views/topics/viewtopic_body.xhtml 2006-07-07 17:50:33 UTC (rev 4946) @@ -706,20 +706,19 @@ <input type="hidden" name="f" value="#{topic.topic.forum.id}"/> <input type="hidden" name="t" value="#{topic.topic.id}"/> <!-- add this reply and navigate to the page that will have this reply --> - <input type="hidden" name="page" value="#{topic.pageNavigator.pageAfterAdd}"/> - + <input type="hidden" name="page" value="#{topic.pageNavigator.pageAfterAdd}"/> <span class="genmed"> <b>${resource.Instant_reply}</b> <br/> <br/> - <h:inputTextarea id="message" value="#{replyTopic.message}" rows="10" cols="50" styleClass="post"></h:inputTextarea> + <h:inputTextarea id="message" value="#{replyTopic.message}" rows="10" cols="50" styleClass="post"></h:inputTextarea> <br/> <br/> - <h:commandButton action="#{replyTopic.startInstantReplyPreview}" value="${resource.Preview}" - styleClass="liteoption" onclick="return checkForm();"/> - &nbsp; - <h:commandButton action="#{replyTopic.executeInstantReply}" value="${resource.Submit}" - styleClass="mainoption" onclick="return checkForm();"/> + <h:commandButton action="#{replyTopic.startInstantReplyPreview}" value="${resource.Preview}" + styleClass="liteoption" onclick="return checkForm();"/> + &nbsp; + <h:commandButton action="#{replyTopic.executeInstantReply}" value="${resource.Submit}" + styleClass="mainoption" onclick="return checkForm();"/> </span> </h:form> </td> |
From: <jbo...@li...> - 2006-07-07 17:41:46
|
Author: mar...@jb... Date: 2006-07-07 13:41:07 -0400 (Fri, 07 Jul 2006) New Revision: 4945 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Introduction.xml labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-References.xml labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Specification.xml labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml labs/jbossrules/trunk/documentation/manual/en/master.xml Log: JBRULES-364 documentation improvements Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-How_To_Use.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -2,96 +2,193 @@ <section> <title>How To Use</title> - <para>This section explains not yet in detail the use of the Java Rule - Engine API with the implementation for JBoss Rules.</para> + <para>There are two parts to working with JSR94. The first part is the + administrative api that deals with building and register RuleExecutionSets, + the second part is runtime session execution of those + RuleExecutionSets.</para> <section> - <title>J2SE Environment</title> + <title>Building and Registering RuleExecutionSets</title> - <para>This section shows you, how to use JBoss Rules over the Java Rule - Engine API in your java applications.</para> - </section> + <para>The RuleServiceProviderManager manages the registration and + retrieval of RuleServiceProviders. The Drools RuleServiceProvider + implementation is automatically registered via a static block when the + class is loaded using Class.forName; in much the same way as JDBC + drivers.</para> - <section> - <title>J2EE Environment</title> + <para><example> + <title>Automatic RuleServiceProvider Registration</title> - <para>If you are using JBoss Rules in a container managed environment, you - might want to use it as a service. This section presents, how to use the - rule engine with the JNDI (Java Naming and Directory Interface) or using - it inside of an enterprise application such as web archive (WAR), java - archive (JAR) or enterprise archive (EAR), which is deployed into the - server.</para> - </section> + <programlisting>// RuleServiceProviderImpl is registered to "http://drools.org/" via a static initialization block +Class.forName("org.jcp.jsr94.jess.RuleServiceProviderImpl"); - <section> - <title>Domain Specific Languages (DSL)</title> +// Get the rule service provider from the provider manager. +RuleServiceProvider ruleServiceProvider = RuleServiceProviderManager.getRuleServiceProvider("http://drools.org/");</programlisting> + </example>The RuleServiceProvider provides access to the RuleRuntime and + RuleAdministration APIs. The RuleAdministration provides an administration + API for the management of RuleExecutionSets, making it possible to + register a RuleExecutionSet that can then be retrieved via the + RuleRuntime. </para> - <para>It is possible to use Domain Specific Languages together with the - Java Rule Engine API. The DSL is shipped to the Rule Engine with the Map - of properties, when you are creating a RuleExecutionSet. Just insert the - content of your dsl file as a String with the key "dsl" into the Map. The - excerpt shows how it works:</para> + <para>First you need to create a RuleExecutionSet before it can be + registered; RuleAdministration provides factory methods to return an empty + LocalRuleExecutionSetProvider or RuleExecutionSetProvider. The + LocalRuleExecutionSetProvider should be used to load a RuleExecutionSets + from local sources that are not serializable, like Streams. The + RuleExecutionSetProvider can be used to load RuleExecutionSets from + serializable sources, like DOM Elements or Packages. Both the + "ruleAdministrator.getLocalRuleExecutionSetProvider( null );" and the + "ruleAdministrator.getRuleExecutionSetProvider( null );" take null as a + parameter, as the properties map for these methods is not currently used. + </para> - <programlisting>Reader reader = new FileReader( "jsr94.dsl" ); -StringBuffer text = new StringBuffer(); -char[] buf = new char[1024]; int len = 0; -//Writes the file content in the StringBuffer -while ( ( len = reader.read( buf ) ) >= 0 ) -{ - text.append( buf, 0, len ); -} -HashMap properties = new java.util.HashMap( ); -properties.put( "name" , "JSR94_Example" ); -properties.put( "description", "no description" ); -//Put the dsl as a String, use the key "dsl" -properties.put( "dsl", text.toString( ) ); -reader = new FileReader( "jsr94.drl" ); -RuleServiceProviderManager.registerRuleServiceProvider( "http://drools.org", Class.forName( "org.drools.jsr94.rules.RuleServiceProviderImpl" ) ); -RuleServiceProvider ruleServiceProvider = RuleServiceProviderManager.getRuleServiceProvider( "http://drools.org" ); -RuleExecutionSet ruleExecutionSet = ruleSetProvider.createRuleExecutionSet( reader, properties ); -RuleAdministrator ruleAdministrator = ruleServiceProvider.getRuleAdministrator( ); -ruleAdministrator.registerRuleExecutionSet( "JSR94_Example", ruleExecutionSet, properties );</programlisting> + <example> + <title>Registering a LocalRuleExecutionSet with the RuleAdministration + API</title> - <para>Do not forget to declare the expander -in this case "jsr94.dsl"- in - your rule file (drl).</para> + <programlisting>// Get the RuleAdministration +RuleAdministration ruleAdministrator = ruleServiceProvider.getRuleAdministrator(); +LocalRuleExecutionSetProvider ruleExecutionSetProvider = ruleAdministrator.getLocalRuleExecutionSetProvider( null ); + +// Create a Reader for the drl +URL drlUrl = new URL("http://mydomain.org/sources/myrules.drl"); +Reader drlReader = new InputStreamReader( drlUrl.openStream() ); + +// Create the RuleExecutionSet for the drl +RuleExecutionSet ruleExecutionSet = ruleExecutionSetProvider.createRuleExecutionSet( drlReader, null ); +</programlisting> + </example> + + <para>"ruleExecutionSetProvider.createRuleExecutionSet( reader, null )" in + the above example takes a null parameter for the propties map; however it + can actually be used to provide configuration for the incoming source. + When null is passed the default is used to load the input as a drl. + Allowed keys for a map are "source" and "dsl". "source" takes "drl" or + "xml" as its value; set "source" to "drl" to load a drl or to "xml" to + load an xml source; xml will ignore any "dsl" key/value settings. The + "dsl" key can take a Reader or a String (the contents of the dsl) as a + value.</para> + + <example> + <title>Specifying a DSL when registering a LocalRuleExecutionSet</title> + + <programlisting>// Get the RuleAdministration +RuleAdministration ruleAdministrator = ruleServiceProvider.getRuleAdministrator(); +LocalRuleExecutionSetProvider ruleExecutionSetProvider = ruleAdministrator.getLocalRuleExecutionSetProvider( null ); + +// Create a Reader for the drl +URL drlUrl = new URL("http://mydomain.org/sources/myrules.drl"); +Reader drlReader = new InputStreamReader( drlUrl.openStream() ); + +// Create a Reader for the dsl and a put in the properties map +URL dslUrl = new URL("http://mydomain.org/sources/myrules.dsl"); +Reader dslReader = new InputStreamReader( dslUrl.openStream() ); +Map properties = new HashMap(); +properties.put( "source", "drl" ); +properties.put( "dsl", dslReader ); + +// Create the RuleExecutionSet for the drl and dsl +RuleExecutionSet ruleExecutionSet = ruleExecutionSetProvider.createRuleExecutionSet( reader, properties ); +</programlisting> + </example> + + <para>When registering a RuleExecution set you must specify the name, to + be used for its retrieval. There is also a field to pass properties, this + is currently unused so just pass null.</para> + + <example> + <title>Register the RuleExecutionSet</title> + + <programlisting>// Register the RuleExecutionSet with the RuleAdministrator +String uri = ruleExectionSet.getName(); +ruleAdministrator.registerRuleExecutionSet(uri, ruleExecutionSet, null);</programlisting> + </example> </section> <section> - <title>Globals</title> + <title>Using Stateful and Stateless RuleSessions</title> - <para>You do not need to dispense with globals using Drools through the - Java Rule Enige API. They are as usual defined in your rule file (drl). - You need to ship them with the Map of properties to the Rule Engine - creating a stateful or stateless RuleSession. It works like the Domain - Specific Language for creating a RuleExecutionSet. The key you put in the - Map will be the identifier in the drl file. In the following example the - results are collected in an java.util.Vector which is used as - global:</para> + <para>The Runtime, obtained from the RuleExecutionSetProvider, is used to + create stateful and stateless rule engine sessions.</para> - <programlisting>java.util.Vector globalVector = new java.util.Vector( ); + <example> + <title>Getting the RuleRuntime</title> + + <programlisting>RuleRuntime ruleRuntime = ruleExecutionSetProvider.getRuleRuntime();</programlisting> + </example> + + <para>To create a rule session you must use one of the two RuleRuntime + public constants - "RuleRuntime.STATEFUL_SESSION_TYPE" and + "RuleRuntime.STATELESS_SESSION_TYPE" along with the uri to the + RuleExecutionSet you wish to instantiate a RuleSession for. The properties + map can be null, or it can be used to specify globals, as shown in the + next section. The createRuleSession(....) method returns a RuleSession + instance which must then be cast to StateFulRuleSession or + StatelessRuleSession.</para> + + <example> + <title>Stateful Rule</title> + + <programlisting>(StateFulRuleSession) session = ruleRuntime.createRuleSession( uri, + null, + RuleRuntime.STATEFUL_SESSION_TYPE ); +session.addObject( new PurchaseOrder( "lots of cheese" ) ); +session.executeObjects();</programlisting> + </example> + + <para>The StatelessRuleSession has a very simple API; you can only call + executeRules(List list) passing a list of objects, and an optional filter, + the resulting objects are then returned.</para> + + <example> + <title>Stateless</title> + + <programlisting>(StatelessRuleSession) session = ruleRuntime.createRuleSession( uri, + null, + RuleRuntime.STATELESS_SESSION_TYPE ); +List list = new ArrayList(); +list.add( new PurchaseOrder( "even more cheese" ) ); + +List results = new ArrayList(); +results = session.executeRules( list );</programlisting> + </example> + + <section> + <title>Globals</title> + + <para>It is possible to support globals with JSR94, in a none portable + manner, by using the propperties map passed to the RuleSession factory + method. Globals must be defined in the drl or xml file first, otherwise + an Exception will be thrown. the key represents the identifier declared + in the drl or xml and the value is the instance you wish to be used in + the execution. In the following example the results are collected in an + java.util.List which is used as global:</para> + + <programlisting>java.util.List globalList = new java.util.ArrayList( ); java.util.Map map = new java.util.HashMap( ); -map.put( "vector", globalVector ); +map.put( "list", globalList ); //Open a stateless Session StatelessRuleSession srs = (StatelessRuleSession) runtime.createRuleSession( "SistersRules", map, RuleRuntime.STATELESS_SESSION_TYPE ); ... // Persons added to List // call executeRules( ) giving a List of Objects as parameter -// There are rules which will put Objects in the Vector -// fetch the vector from the map -v = (java.util.Vector)map.get("vector");</programlisting> +// There are rules which will put Objects in the List +// fetch the list from the map +List list = (java.util.List) map.get("list");</programlisting> - <para>Do not forget to declare the global "vector" in your DRL:</para> + <para>Do not forget to declare the global "list" in your DRL:</para> - <programlisting>package SistersRules; + <programlisting>package SistersRules; import org.drools.jsr94.rules.Person; -global java.util.Vector vector +global java.util.List list rule FindSisters when $person1 : Person ( $name1:name ) $person2 : Person ( $name2:name ) eval( $person1.hasSister($person2) ) then -vector.add($person1.getName() + " and " + $person2.getName() +" are sisters"); +list.add($person1.getName() + " and " + $person2.getName() +" are sisters"); assert( $person1.getName() + " and " + $person2.getName() +" are sisters"); end</programlisting> + </section> </section> </section> \ No newline at end of file Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Introduction.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Introduction.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Introduction.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -1,40 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<section> - <title>Introduction</title> - - <para>JBoss Rules comes with an own implementation for the Java Rule Engine - API (known as JSR94). The API allows you to change easier from your current - rule engine to JBoss Rules. If your code is making use of Java Rule Engine - API, you just need to change the implementation class, which you need to - give to the RuleServiceProviderManager, to use JBoss Rules as your rule - engine.</para> - - <para>Well, thus easy it is not, because there is not standarized Rule - Language, yet. You will have to translate existing rules to the Drools Rule - Language which is supported by JBoss Rules. W3C is planning a <ulink - url="http://www.w3.org/TR/2006/WD-rif-ucr-20060323/">Rule Interchange - Format (RIF)</ulink> and <ulink url="http://ruleml.org/">RuleML</ulink> is - as well an interesting candidate for a Standard Rule Language. Till there is - Standard Rule Language, which will be supported by JBoss Rules, you are - invited to contribute your transformer, which is transforming rule language - X to the Drools Rule Language. The transformer might be a script, class, - stylesheet or everything what is doing the job.</para> - - <para>The following sections deal with the use of the Java Rule Engine API. - There is a part which explains the specification and one how the Java Rule - Engine API can be used in example. If you know the specification, just skip - the specification section. There are some interesting links inside of the - references section giving you all the information about the Java Rule Engine - API you might need.</para> - - <para>Before you start complaining about that you need to write more code - and that there is less functionality than if you make use of the native - Drools API, it is mentioned now, that a standard represents everytime the - lcd (least common denominator) of the specification drivers. That - functionality which is common around all the rule engines.</para> - - <para>At the time of writing this documentation the JSR 94 implementation is - not supporting rules in XML and Domain Specific Languages. This will change - in one of the next releases. Please be appreciative of this fact and keep an - eye on the actual release notes.</para> -</section> +<?xml version="1.0" encoding="UTF-8"?> +<section> + <title>Introduction</title> + + <para>Drools provides an implementation of the Java Rule Engine API (known + as JSR94), which allows for support of multiple rule engines from a single + API. JSR94 does not deal in anyway with the rule language itself. W3C is + working on the <ulink + url="http://www.w3.org/TR/2006/WD-rif-ucr-20060323/">Rule Interchange Format + (RIF)</ulink> and the OMG has started to work on a standard based on <ulink + url="http://ruleml.org/">RuleML</ulink>, recently Haley Systems has also + proposed a rule alnguage standard called RML.</para> + + <para>It should be remembered that the JSR94 standard represents the "least + common denominator" in features across rule engines - this means there is + less functionality in the JSR94 api than in the standard Drools api. So by + using JSR94 you are restricting yourself in taking advantage of using the + full capabilities of the Drools Rule Engine. It is necessary to expose + further functionality, like globals and support for drl, dsl and xml via + properties maps due to the very basic feature set of JSR94 - this introduces + non portable functionality. Further to this, as JSR94 does not provide a + rule language, you are only solving a small fraction of the complexity of + switching rule engines with very little gain. So while we support JSR94, for + those that insist on using it, we strongly recommend you program against the + Drools API.</para> +</section> \ No newline at end of file Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-References.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-References.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-References.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -1,72 +1,68 @@ -<?xml version="1.0" encoding="UTF-8"?> -<section> - <title>References</title> - - <para>If you need more information on JSR 94, please refer to the following - references <orderedlist> - <listitem> - <para>Official JCP Specification for Java Rule Engine API (JSR - 94)</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.jcp.org/en/jsr/detail?id=94">http://www.jcp.org/en/jsr/detail?id=94</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>The Java Rule Engine API documentation</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.javarules.org/api_doc/api/index.html">http://www.javarules.org/api_doc/api/index.html</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>The Logic From The Bottom Line: An Introduction to The Drools - Project. By N. Alex Rupp, published on TheServiceSide.com in - 2004</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.theserverside.com/articles/article.tss?l=Drools">http://www.theserverside.com/articles/article.tss?l=Drools</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Getting Started With the Java Rule Engine API (JSR 94): Toward - Rule-Based Applications. By Dr. Qusay H. Mahmoud, published on Sun - Developer Network in 2005</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html">http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>Jess and the javax.rules API. By Ernest Friedman-Hill, published - on TheServerSide.com in 2003</para> - - <itemizedlist> - <listitem> - <para><ulink - url="http://www.theserverside.com/articles/article.tss?l=Jess">http://www.theserverside.com/articles/article.tss?l=Jess</ulink></para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para></para> - </listitem> - </orderedlist></para> -</section> +<?xml version="1.0" encoding="UTF-8"?> +<section> + <title>References</title> + + <para>If you need more information on JSR 94, please refer to the following + references <orderedlist> + <listitem> + <para>Official JCP Specification for Java Rule Engine API (JSR + 94)</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.jcp.org/en/jsr/detail?id=94">http://www.jcp.org/en/jsr/detail?id=94</ulink></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>The Java Rule Engine API documentation</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.javarules.org/api_doc/api/index.html">http://www.javarules.org/api_doc/api/index.html</ulink></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>The Logic From The Bottom Line: An Introduction to The Drools + Project. By N. Alex Rupp, published on TheServiceSide.com in + 2004</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.theserverside.com/articles/article.tss?l=Drools">http://www.theserverside.com/articles/article.tss?l=Drools</ulink></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Getting Started With the Java Rule Engine API (JSR 94): Toward + Rule-Based Applications. By Dr. Qusay H. Mahmoud, published on Sun + Developer Network in 2005</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html">http://java.sun.com/developer/technicalArticles/J2SE/JavaRule.html</ulink></para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> + <para>Jess and the javax.rules API. By Ernest Friedman-Hill, published + on TheServerSide.com in 2003</para> + + <itemizedlist> + <listitem> + <para><ulink + url="http://www.theserverside.com/articles/article.tss?l=Jess">http://www.theserverside.com/articles/article.tss?l=Jess</ulink></para> + </listitem> + </itemizedlist> + </listitem> + </orderedlist></para> +</section> \ No newline at end of file Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Specification.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Specification.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-JSR94/Section-Specification.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -1,328 +1,327 @@ -<?xml version="1.0" encoding="UTF-8"?> -<section> - <title>Specification</title> - - <para>This sections introduces the specification with the included packages - javax.rules and javax.rules.admin. If you have read this section, you should - know, which classes are included and what their purpose is.</para> - - <para>The Java Rule Engine API is divided in two packages. You use - "javax.rules" mainly for executing the rule engine and "javax.rules.admin" - for administration. </para> - - <section> - <title>javax.rules</title> - - <para>The next sections are dealing with the interfaces, classes and - exceptions which are included in the javax.rules package.</para> - - <section> - <title>Interfaces</title> - - <itemizedlist> - <listitem> - <para><interfacename>Handle</interfacename></para> - - <para>The Handle is needed to get an Object back from the - <classname>WorkingMemory</classname> , which was added there in a - <classname>StatefulRuleSession</classname> . With the - <classname>Handle</classname> you can modify or remove an - <classname>Object</classname> from the - <classname>WorkingMemory</classname> . To modify an Object call - <methodname>updateObject()</methodname> from the - <classname>StatefulRuleSession</classname> . To remove it, call - <methodname>removeObject()</methodname> with the - <classname>Handle</classname> as the Parameter. Inside of the - implementation of the Java Rule Engine API will be called the - <methodname>modifyObject()</methodname> and - <methodname>retractObject()</methodname> methods of the encapsulated - Drools API.</para> - </listitem> - - <listitem> - <para><interfacename>ObjectFilter</interfacename></para> - - <para>This interface is used to filter objects. If you give it to a - RuleSession, it will filter the output.</para> - </listitem> - - <listitem> - <para><interfacename>RuleExecutionSetMetadata</interfacename></para> - - <para>The RuleExecutionSetMetadata are keeping name, description and - URI of a RuleExecutionSet. Do not wonder, in the current - implementation name and description are the same.</para> - </listitem> - - <listitem> - <para><interfacename>RuleRuntime</interfacename></para> - - <para>The RuleRuntime is the key to a RuleSession. The RuleRuntime - you get from the RuleServiceProvider.</para> - - <para>If you got a RuleRuntime call createRuleSession() to open a - RuleSession.</para> - - <para>Through the RuleRuntime you can retrieve a list of URIs of all - RuleExecutionSets, which were registered by a RuleAdministrator. You - need the URI as a String to open a RuleSession to the rule engine. - The rule engine will use the rules of the RuleExecutionSet inside of - the RuleSession.</para> - - <para>Important: The Map is used for Globals. Globals were formerly - called ApplicationData (in Drools 2.x). The key needs to be the - identifier of the Global and the Value the object you want to use as - a Global.</para> - </listitem> - - <listitem> - <para><interfacename>RuleSession</interfacename></para> - - <para>The RuleSession is the object you are working with, if you - want to contact the rule engine.</para> - - <para>If you are getting a RuleSession from the RuleRuntime, then it - will be either a StatefulRuleSession or a - StatelessRuleSession.</para> - - <para>Please call in both cases the release()-method that all - resources will be freed.</para> - </listitem> - - <listitem> - <para><interfacename>StatefulRuleSession </interfacename></para> - - <para>A stateful Rule Session you are using, if you need to run the - rule engine more than once. You get the chance to assert objects, - execute rules, assert objects again etc..</para> - - <para>You will get a Handle for every object which you are asserting - to the Rule Session. Do not lose it, you will need it, to retract or - modify objects in the Working Memory. You are having no direct - contact to Drools´ Working Memory which is used inside the - implementation, for this you got the RuleSession.</para> - </listitem> - - <listitem> - <para><interfacename>StatelessRuleSession </interfacename></para> - - <para>A stateless RuleSession means, that you are having only one - contact to the rule engine. You are giving a list of objects to the - rule engine and the rule engine asserts them all and starts - execution immediately. The result is a list of objects. The content - of the result list depends on your rules. If your rules are not - modifying or retracting any objects from the Working Memory, you - should get all objects, you added back.</para> - - <para>There is a possibility using an ObjectFilter which will filter - the resulting list of objects before you get it.</para> - </listitem> - </itemizedlist> - </section> - - <section> - <title>Classes</title> - - <itemizedlist> - <listitem> - <para><classname>RuleServiceProvider</classname></para> - - <para>The RuleServiceProvider gives you the RuleAdministrator or a - RuleRuntime, which you need to open a new Rule Session. To get the - RuleServiceProvider call - RuleServiceProviderManager.getRuleServiceProvider().</para> - - <para>In J2EE environment you can bind the RuleServiceProvider to - the JNDI and make a lookup to get it in all your - applications.</para> - </listitem> - - <listitem> - <para><classname> RuleServiceProviderManager </classname></para> - - <para>The RuleServiceProvider is often compared with the - DriverManager, which you use in JDBC. It works like setting up the - Driver for a DataBase.</para> - - <para>To load the Drools Rule Service Provider use:</para> - - <para><code>Class ruleServiceProviderClass = - Class.forName("org.drools.jsr94.rules.RuleServiceProviderImpl");</code></para> - - <para>If you did not register it, yet, do it now:</para> - - <para><code>RuleServiceProviderManager.registerRuleServiceProvider( - "http://jboss.com/products/rules", ruleServiceProviderClass); - </code></para> - - <para>Now you can get your RuleServiceProvider calling:</para> - - <para><code>RuleServiceProviderManager.getRuleServiceProvider("http://jboss.com/products/rules")</code>;</para> - - <para>If you do not need the RuleServiceProvider any more, - deregister it:</para> - - <para><code>RuleServiceProviderManager.deregisterRuleServiceProvider( - "http://jboss.com/products/rules"); </code></para> - </listitem> - </itemizedlist> - </section> - - <section> - <title>Exceptions</title> - - <itemizedlist> - <listitem> - <para><classname>ConfigurationException</classname></para> - - <para>This exception is thrown when a user configuration error has - been made.</para> - </listitem> - - <listitem> - <para><classname>InvalidHandleException</classname></para> - - <para>This exception is thrown when a client passes an invalid - Handle to the rule engine.</para> - </listitem> - - <listitem> - <para><classname> InvalidRuleSessionException </classname></para> - - <para>The InvalidRuleSessionException should be thrown when a method - is invoked on a RuleSession and the internal state of the - RuleSession is invalid. This may have occured because a - StatefulRuleSession has been serialized and external resources can - no longer be accessed. This exception is also used to signal that a - RuleSession is in an invalid state (such as an attempt to use it - after the release method has been called) (Taken from JCP API - Documentation).</para> - </listitem> - - <listitem> - <para><classname>RuleException</classname></para> - - <para>Base class for all Exception classes in the javax.rules - package (Taken from JCP API Documentation).</para> - </listitem> - - <listitem> - <para><classname>RuleExecutionException</classname></para> - - <para>This exception is not thrown in the Drools 3 JSR 94 - implementation</para> - </listitem> - - <listitem> - <para><classname> RuleExecutionSetNotFoundException - </classname></para> - - <para>This exception is thrown if a client requests a - RuleExecutionSet from the RuleRuntime and the URI or - RuleExecutionSet cannot be found (Taken from JCP API - Documentation).</para> - </listitem> - - <listitem> - <para><classname> RuleSessionCreateException </classname></para> - - <para>This exception is thrown when a client requests a RuleSession - from the RuleRuntime and an error occurs that prevents a RuleSession - from being returned (Taken from JCP API Documentation).</para> - </listitem> - - <listitem> - <para><classname> RuleSessionTypeUnsupportedException - </classname></para> - - <para>This exception is thrown when a client requests a RuleSession - and the vendor does not support the given type (defined in the - RuleRuntime) or the RuleExecutionSet itself does not support the - requested mode (Taken from JCP API Documentation).</para> - </listitem> - </itemizedlist> - </section> - </section> - - <section> - <title>javax.rules.admin</title> - - <para>In this section all the interfaces and exceptions from the - javax.rules.admin package are explained.</para> - - <section> - <title>Interfaces</title> - - <itemizedlist> - <listitem> - <para><interfacename>LocalRuleExecutionSetProvider</interfacename></para> - - <para></para> - </listitem> - - <listitem> - <para><interfacename>Rule</interfacename></para> - - <para></para> - </listitem> - - <listitem> - <para><interfacename>RuleAdministrator</interfacename></para> - - <para></para> - </listitem> - - <listitem> - <para><interfacename>RuleExecutionSet</interfacename></para> - - <para></para> - </listitem> - - <listitem> - <para><interfacename>RuleExecutionSetProvider</interfacename></para> - - <para></para> - </listitem> - </itemizedlist> - </section> - - <section> - <title>Exceptions</title> - - <itemizedlist> - <listitem> - <para><classname>RuleAdministrationException</classname></para> - - <para>Base class for all administration RuleException classes in the - javax.rules.admin package (Taken from JCP API Documentation).</para> - </listitem> - - <listitem> - <para><classname> RuleExecutionSetCreateException - </classname></para> - - <para>This exception is thrown if an error occurs while creating a - rule execution set (Taken from JCP API Documentation).</para> - </listitem> - - <listitem> - <para><classname> RuleExecutionSetDeregistrationException - </classname></para> - - <para>This exception is thrown if an exception occurs while - unregistering a rule execution set from a URI (Taken from JCP API - Documentation).</para> - </listitem> - - <listitem> - <para><classname> RuleExecutionSetRegisterException - </classname></para> - - <para>This exception is thrown if an exception occurs while - registering a rule execution set to a URI (Taken from JCP API - Documentation).</para> - </listitem> - </itemizedlist> - </section> - </section> -</section> +<?xml version="1.0" encoding="UTF-8"?> +<section> + <title>Specification</title> + + <para>This sections introduces the specification with the included packages + javax.rules and javax.rules.admin. If you have read this section, you should + know, which classes are included and what their purpose is.</para> + + <para>The Java Rule Engine API is divided in two packages. You use + "javax.rules" mainly for executing the rule engine and "javax.rules.admin" + for administration.</para> + + <section> + <title>javax.rules</title> + + <para>The next sections are dealing with the interfaces, classes and + exceptions which are included in the javax.rules package.</para> + + <section> + <title>Interfaces</title> + + <itemizedlist> + <listitem> + <para><interfacename>Handle</interfacename></para> + + <para>The Handle is used to retrieve an Object back from the + <classname>WorkingMemory</classname> , which was added there in a + <classname>StatefulRuleSession</classname> . With the + <classname>Handle</classname> you can modify or remove an + <classname>Object</classname> from the + <classname>WorkingMemory</classname> . To modify an Object call + <methodname>updateObject()</methodname> from the + <classname>StatefulRuleSession</classname> . To remove it, call + <methodname>removeObject()</methodname> with the + <classname>Handle</classname> as the Parameter. Inside of the + implementation of the Java Rule Engine API will be called the + <methodname>modifyObject()</methodname> and + <methodname>retractObject()</methodname> methods of the encapsulated + Drools API.</para> + </listitem> + + <listitem> + <para><interfacename>ObjectFilter</interfacename></para> + + <para>This interface is used to filter objects for + RuleSession.</para> + </listitem> + + <listitem> + <para><interfacename>RuleExecutionSetMetadata</interfacename></para> + + <para>The RuleExecutionSetMetadata is used to store name, + description and URI for a RuleExecutionSet.</para> + </listitem> + + <listitem> + <para><interfacename>RuleRuntime</interfacename></para> + + <para>The RuleRuntime is the key to a RuleSession. The RuleRuntime + obtained from the RuleServiceProvider.</para> + + <para>If you retrieve a RuleRuntime call createRuleSession() to open + a RuleSession.</para> + + <para>Through the RuleRuntime you can retrieve a list of URIs of all + RuleExecutionSets, which were registered by a RuleAdministrator. You + need the URI as a String to open a RuleSession to the rule engine. + The rule engine will use the rules of the RuleExecutionSet inside of + the RuleSession.</para> + + <para>Important: The Map is used for Globals. Globals were formerly + called ApplicationData (in Drools 2.x). The key needs to be the + identifier of the Global and the Value the object you want to use as + a Global.</para> + </listitem> + + <listitem> + <para><interfacename>RuleSession</interfacename></para> + + <para>The RuleSession is the object you are working with, if you + want to contact the rule engine.</para> + + <para>If you are getting a RuleSession from the RuleRuntime, then it + will be either a StatefulRuleSession or a + StatelessRuleSession.</para> + + <para>Please call in both cases the release()-method that all + resources will be freed.</para> + </listitem> + + <listitem> + <para><interfacename>StatefulRuleSession </interfacename></para> + + <para>A stateful Rule Session you are using, if you need to run the + rule engine more than once. You get the chance to assert objects, + execute rules, assert objects again etc..</para> + + <para>You will get a Handle for every object which you are asserting + to the Rule Session. Do not lose it, you will need it, to retract or + modify objects in the Working Memory. You are having no direct + contact to Drools´ Working Memory which is used inside the + implementation, for this you got the RuleSession.</para> + </listitem> + + <listitem> + <para><interfacename>StatelessRuleSession </interfacename></para> + + <para>A stateless RuleSession means, that you are having only one + contact to the rule engine. You are giving a list of objects to the + rule engine and the rule engine asserts them all and starts + execution immediately. The result is a list of objects. The content + of the result list depends on your rules. If your rules are not + modifying or retracting any objects from the Working Memory, you + should get all objects, you added back.</para> + + <para>There is a possibility using an ObjectFilter which will filter + the resulting list of objects before you get it.</para> + </listitem> + </itemizedlist> + </section> + + <section> + <title>Classes</title> + + <itemizedlist> + <listitem> + <para><classname>RuleServiceProvider</classname></para> + + <para>The RuleServiceProvider gives you the RuleAdministrator or a + RuleRuntime, which you need to open a new Rule Session. To get the + RuleServiceProvider call + RuleServiceProviderManager.getRuleServiceProvider().</para> + + <para>In J2EE environment you can bind the RuleServiceProvider to + the JNDI and make a lookup to get it in all your + applications.</para> + </listitem> + + <listitem> + <para><classname> RuleServiceProviderManager </classname></para> + + <para>The RuleServiceProvider is often compared with the + DriverManager, which you use in JDBC. It works like setting up the + Driver for a DataBase.</para> + + <para>To load the Drools Rule Service Provider use:</para> + + <para><code>Class ruleServiceProviderClass = + Class.forName("org.drools.jsr94.rules.RuleServiceProviderImpl");</code></para> + + <para>If you did not register it, yet, do it now:</para> + + <para><code>RuleServiceProviderManager.registerRuleServiceProvider( + "http://jboss.com/products/rules", ruleServiceProviderClass); + </code></para> + + <para>Now you can get your RuleServiceProvider calling:</para> + + <para><code>RuleServiceProviderManager.getRuleServiceProvider("http://jboss.com/products/rules")</code>;</para> + + <para>If you do not need the RuleServiceProvider any more, + deregister it:</para> + + <para><code>RuleServiceProviderManager.deregisterRuleServiceProvider( + "http://jboss.com/products/rules"); </code></para> + </listitem> + </itemizedlist> + </section> + + <section> + <title>Exceptions</title> + + <itemizedlist> + <listitem> + <para><classname>ConfigurationException</classname></para> + + <para>This exception is thrown when a user configuration error has + been made.</para> + </listitem> + + <listitem> + <para><classname>InvalidHandleException</classname></para> + + <para>This exception is thrown when a client passes an invalid + Handle to the rule engine.</para> + </listitem> + + <listitem> + <para><classname> InvalidRuleSessionException </classname></para> + + <para>The InvalidRuleSessionException should be thrown when a method + is invoked on a RuleSession and the internal state of the + RuleSession is invalid. This may have occured because a + StatefulRuleSession has been serialized and external resources can + no longer be accessed. This exception is also used to signal that a + RuleSession is in an invalid state (such as an attempt to use it + after the release method has been called) (Taken from JCP API + Documentation).</para> + </listitem> + + <listitem> + <para><classname>RuleException</classname></para> + + <para>Base class for all Exception classes in the javax.rules + package (Taken from JCP API Documentation).</para> + </listitem> + + <listitem> + <para><classname>RuleExecutionException</classname></para> + + <para>This exception is not thrown in the Drools 3 JSR 94 + implementation</para> + </listitem> + + <listitem> + <para><classname> RuleExecutionSetNotFoundException + </classname></para> + + <para>This exception is thrown if a client requests a + RuleExecutionSet from the RuleRuntime and the URI or + RuleExecutionSet cannot be found (Taken from JCP API + Documentation).</para> + </listitem> + + <listitem> + <para><classname> RuleSessionCreateException </classname></para> + + <para>This exception is thrown when a client requests a RuleSession + from the RuleRuntime and an error occurs that prevents a RuleSession + from being returned (Taken from JCP API Documentation).</para> + </listitem> + + <listitem> + <para><classname> RuleSessionTypeUnsupportedException + </classname></para> + + <para>This exception is thrown when a client requests a RuleSession + and the vendor does not support the given type (defined in the + RuleRuntime) or the RuleExecutionSet itself does not support the + requested mode (Taken from JCP API Documentation).</para> + </listitem> + </itemizedlist> + </section> + </section> + + <section> + <title>javax.rules.admin</title> + + <para>In this section all the interfaces and exceptions from the + javax.rules.admin package are explained.</para> + + <section> + <title>Interfaces</title> + + <itemizedlist> + <listitem> + <para><interfacename>LocalRuleExecutionSetProvider</interfacename></para> + + <para></para> + </listitem> + + <listitem> + <para><interfacename>Rule</interfacename></para> + + <para></para> + </listitem> + + <listitem> + <para><interfacename>RuleAdministrator</interfacename></para> + + <para></para> + </listitem> + + <listitem> + <para><interfacename>RuleExecutionSet</interfacename></para> + + <para></para> + </listitem> + + <listitem> + <para><interfacename>RuleExecutionSetProvider</interfacename></para> + + <para></para> + </listitem> + </itemizedlist> + </section> + + <section> + <title>Exceptions</title> + + <itemizedlist> + <listitem> + <para><classname>RuleAdministrationException</classname></para> + + <para>Base class for all administration RuleException classes in the + javax.rules.admin package (Taken from JCP API Documentation).</para> + </listitem> + + <listitem> + <para><classname> RuleExecutionSetCreateException + </classname></para> + + <para>This exception is thrown if an error occurs while creating a + rule execution set (Taken from JCP API Documentation).</para> + </listitem> + + <listitem> + <para><classname> RuleExecutionSetDeregistrationException + </classname></para> + + <para>This exception is thrown if an exception occurs while + unregistering a rule execution set from a URI (Taken from JCP API + Documentation).</para> + </listitem> + + <listitem> + <para><classname> RuleExecutionSetRegisterException + </classname></para> + + <para>This exception is thrown if an exception occurs while + registering a rule execution set to a URI (Taken from JCP API + Documentation).</para> + </listitem> + </itemizedlist> + </section> + </section> +</section> \ No newline at end of file Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Engine/Section-The_Drools_Rule_Engine.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -34,10 +34,12 @@ <para>A RuleBase is a runtime component which consists of one or more Package's. Packages can be added and removed from the RuleBase at any time. A Rule Base can instantiate one or more WorkingMemories at any time; - a weak reference is maintained, unless its told otherwise. The Working - Memory consists of a number of sub components. XXXX Object assertion may - result in the creation of one or more Activations, the agenda is - resonpsible for scheduling the execution of these Activations</para> + a weak reference is maintained, unless it's told otherwise. The Working + Memory consists of a number of sub components inculding Working Memory + Event Support, Truth Maintenance System, Agenda and Agenda Event Support. + Object assertion may result in the creation of one or more Activations, + the agenda is resonpsible for scheduling the execution of these + Activations.</para> <figure> <title>Runtime Components</title> @@ -272,7 +274,7 @@ means ALL of the work is done during assertion; however, no rules are executedl you call "fireAllRules()" after you have finished asserting your facts. This is a common misunderstanding by people who think the - work happens when you call "fireAllRules()". </para> + work happens when you call "fireAllRules()".</para> <para>When an Object is asserted it returns a FactHandle. This FactHandle is the token used to represent your asserted Object inside @@ -283,14 +285,14 @@ FactHandle stiltonHandle = workingMemory.assertObject( stilton );</programlisting> <para>As mentioned in the Rule Base section a Working Memory may operate - in two assertions modes equality and identity - identity is default. - </para> + in two assertions modes equality and identity - identity is + default.</para> <para>Identity means the Working Memory uses an IdentityHashMap to store all asserted Objects. New instance assertions always result in the return of a new FactHandle, if an instance is asserted twice then it returns the previous fact handle – i.e. it ignores the second assertion - for the same fact. </para> + for the same fact.</para> <para>Equality means the Working Memory uses a HashMap to store all asserted Objects. New instance assertions will only return a new @@ -466,7 +468,7 @@ facts, and placed onto the Agenda. The Agenda controls the execution order of these Activations using a Conflict Resolution strategy.</para> - <para>The engine operates in a "2 phase" mode which is recursive: </para> + <para>The engine operates in a "2 phase" mode which is recursive:</para> <orderedlist> <listitem> @@ -481,7 +483,7 @@ <para>Agenda Evaluation - attempts to select a rule to fire, if a rule is not found it exits otherwise it attempts to fire the rule switching the phase back to Working Memory Actions and the process begins again - until the Agenda is empty. </para> + until the Agenda is empty.</para> </listitem> </orderedlist> Modified: labs/jbossrules/trunk/documentation/manual/en/master.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/master.xml 2006-07-07 14:44:59 UTC (rev 4944) +++ labs/jbossrules/trunk/documentation/manual/en/master.xml 2006-07-07 17:41:07 UTC (rev 4945) @@ -131,7 +131,8 @@ <xi:include href="Chapter-JSR94/Section-Introduction.xml" /> - <xi:include href="Chapter-JSR94/Section-Specification.xml" /> + <!-- Removed till it can be completed --> + <!-- include href="Chapter-JSR94/Section-Specification.xml" /--> <xi:include href="Chapter-JSR94/Section-How_To_Use.xml" /> |
From: <jbo...@li...> - 2006-07-07 17:12:49
|
Author: tho...@jb... Date: 2006-07-07 13:12:40 -0400 (Fri, 07 Jul 2006) New Revision: 585 Modified: trunk/.classpath trunk/src/main/java/javax/xml/ws/Endpoint.java trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java trunk/src/main/java/org/jboss/ws/server/HttpServer.java Log: Endpoint API Modified: trunk/.classpath =================================================================== --- trunk/.classpath 2006-07-07 16:08:23 UTC (rev 584) +++ trunk/.classpath 2006-07-07 17:12:40 UTC (rev 585) @@ -1,28 +1,28 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main/java"/> - <classpathentry excluding="org/jboss/test/ws/interop/" kind="src" path="src/test/java"/> - <classpathentry kind="lib" path="thirdparty/activation.jar"/> - <classpathentry sourcepath="D:/cvs/JBossRemoting/src/main" kind="lib" path="thirdparty/jboss-remoting.jar"/> - <classpathentry kind="lib" path="thirdparty/mailapi.jar"/> - <classpathentry kind="lib" path="thirdparty/qdox.jar"/> - <classpathentry kind="lib" path="thirdparty/servlet-api.jar"/> - <classpathentry kind="lib" path="thirdparty/wsdl4j.jar"/> - <classpathentry kind="lib" path="thirdparty/xercesImpl.jar"/> - <classpathentry kind="lib" path="thirdparty/xml-apis.jar"/> - <classpathentry kind="lib" path="thirdparty/xmlsec.jar"/> - <classpathentry kind="lib" path="thirdparty/xmlunit1.0.jar"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ant-1.6.5"/> - <classpathentry kind="lib" path="thirdparty/xalan.jar"/> - <classpathentry kind="lib" path="thirdparty/junit.jar"/> - <classpathentry kind="lib" path="thirdparty/concurrent.jar"/> - <classpathentry kind="lib" path="thirdparty/javassist.jar"/> - <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/jboss-5.0.x"/> - <classpathentry kind="lib" path="thirdparty/jboss-xml-binding.jar"/> - <classpathentry kind="lib" path="thirdparty/policy-1.0.jar"/> - <classpathentry kind="lib" path="thirdparty/stax-api-1.0.jar"/> - <classpathentry kind="lib" path="thirdparty/wstx-lgpl-2.0.6.jar"/> - <classpathentry kind="lib" path="thirdparty/jaxb-api.jar"/> - <classpathentry kind="output" path="output-eclipse"/> + <classpathentry path="src/main/java" kind="src"/> + <classpathentry excluding="org/jboss/test/ws/interop/" path="src/test/java" kind="src"/> + <classpathentry path="thirdparty/activation.jar" kind="lib"/> + <classpathentry sourcepath="D:/cvs/JBossRemoting/src/main" path="thirdparty/jboss-remoting.jar" kind="lib"/> + <classpathentry path="thirdparty/mailapi.jar" kind="lib"/> + <classpathentry path="thirdparty/qdox.jar" kind="lib"/> + <classpathentry path="thirdparty/servlet-api.jar" kind="lib"/> + <classpathentry path="thirdparty/wsdl4j.jar" kind="lib"/> + <classpathentry path="thirdparty/xercesImpl.jar" kind="lib"/> + <classpathentry path="thirdparty/xml-apis.jar" kind="lib"/> + <classpathentry path="thirdparty/xmlsec.jar" kind="lib"/> + <classpathentry path="thirdparty/xmlunit1.0.jar" kind="lib"/> + <classpathentry path="org.eclipse.jdt.launching.JRE_CONTAINER" kind="con"/> + <classpathentry path="thirdparty/xalan.jar" kind="lib"/> + <classpathentry path="thirdparty/junit.jar" kind="lib"/> + <classpathentry path="thirdparty/concurrent.jar" kind="lib"/> + <classpathentry path="thirdparty/javassist.jar" kind="lib"/> + <classpathentry path="org.eclipse.jdt.USER_LIBRARY/jboss-5.0.x" kind="con"/> + <classpathentry path="thirdparty/jboss-xml-binding.jar" kind="lib"/> + <classpathentry path="thirdparty/policy-1.0.jar" kind="lib"/> + <classpathentry path="thirdparty/stax-api-1.0.jar" kind="lib"/> + <classpathentry path="thirdparty/wstx-lgpl-2.0.6.jar" kind="lib"/> + <classpathentry path="thirdparty/jaxb-api.jar" kind="lib"/> + <classpathentry path="thirdparty/ant.jar" kind="lib"/> + <classpathentry path="output-eclipse" kind="output"/> </classpath> Modified: trunk/src/main/java/javax/xml/ws/Endpoint.java =================================================================== --- trunk/src/main/java/javax/xml/ws/Endpoint.java 2006-07-07 16:08:23 UTC (rev 584) +++ trunk/src/main/java/javax/xml/ws/Endpoint.java 2006-07-07 17:12:40 UTC (rev 585) @@ -66,43 +66,91 @@ { } + /** + * Creates an endpoint with the specified implementor object. If there is a binding specified via a BindingType annotation then it + * MUST be used else a default of SOAP 1.1 / HTTP binding MUST be used. + * + * The newly created endpoint may be published by calling one of the javax.xml.ws.Endpoint#publish(String) + * and javax.xml.ws.Endpoint#publish(Object) methods. + */ public static Endpoint create(Object implementor) { return create(null, implementor); } + /** + * Creates an endpoint with the specified binding type and implementor object. + * + * The newly created endpoint may be published by calling one of the javax.xml.ws.Endpoint#publish(String) + * and javax.xml.ws.Endpoint#publish(Object) methods. + */ public static Endpoint create(String bindingId, Object implementor) { return Provider.provider().createEndpoint(bindingId, implementor); } + /** Returns the binding for this endpoint. */ public abstract Binding getBinding(); + /** Returns the implementation object for this endpoint. */ public abstract Object getImplementor(); - public abstract void publish(String s); + /** + * Publishes this endpoint at the given address. The necessary server infrastructure will be created and configured by the JAX-WS + * implementation using some default configuration. In order to get more control over the server configuration, + * please use the javax.xml.ws.Endpoint#publish(Object) method instead. + * + * @param A URI specifying the address to use. The address must be compatible with the binding specified at the time the endpoint was created. + */ + public abstract void publish(String address); + /** + * Creates and publishes an endpoint for the specified implementor object at the given address. + * + * The necessary server infrastructure will be created and configured by the JAX-WS implementation using some default configuration. + * In order to get more control over the server configuration, please use the javax.xml.ws.Endpoint#create(String,Object) + * and javax.xml.ws.Endpoint#publish(Object) method instead. + */ public static Endpoint publish(String address, Object implementor) { return Provider.provider().createAndPublishEndpoint(address, implementor); } - public abstract void publish(Object obj); + /** + * Publishes this endpoint at the provided server context. + * A server context encapsulates the server infrastructure and addressing information for a particular transport. + * For a call to this method to succeed, the server context passed as an argument to it must be compatible with the endpoint's binding. + * + * @param serverContext An object representing a server context to be used for publishing the endpoint. + */ + public abstract void publish(Object serverContext); + /** Stops publishing this endpoint. If the endpoint is not in a published state, this method has not effect. */ public abstract void stop(); + /** Returns true if the endpoint has been published. */ public abstract boolean isPublished(); + /** Returns a list of metadata documents for the service. */ public abstract List<Source> getMetadata(); + /** Sets the metadata for this endpoint. */ public abstract void setMetadata(List<Source> list); + /** Returns the executor for this Endpointinstance. The executor is used to dispatch an incoming request to the implementor object. */ public abstract Executor getExecutor(); + /** + * Sets the executor for this Endpoint instance. The executor is used to dispatch an incoming request to the implementor object. + * If this Endpoint is published using the publish(Object) method and the specified server context defines its own threading behavior, + * the executor may be ignored. + */ public abstract void setExecutor(Executor executor); + /** Returns the property bag for this Endpoint instance. */ public abstract Map<String, Object> getProperties(); + /** Sets the property bag for this Endpoint instance. */ public abstract void setProperties(Map<String, Object> map); } \ No newline at end of file Modified: trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java =================================================================== --- trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java 2006-07-07 16:08:23 UTC (rev 584) +++ trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java 2006-07-07 17:12:40 UTC (rev 585) @@ -23,113 +23,141 @@ // $Id$ -import java.net.URL; import java.util.List; import java.util.Map; import java.util.concurrent.Executor; -import javax.xml.namespace.QName; import javax.xml.transform.Source; import javax.xml.ws.Binding; import javax.xml.ws.Endpoint; -import javax.xml.ws.spi.Provider; -import javax.xml.ws.spi.ServiceDelegate; import org.jboss.util.NotImplementedException; +import org.jboss.ws.jaxws.client.BindingImpl; +import org.jboss.ws.server.HttpServer; /** - * Service provider for ServiceDelegate and Endpoint objects. + * A Web service endpoint implementation. * * @author Tho...@jb... - * @since 03-May-2006 + * @since 07-Jul-2006 */ public class EndpointImpl extends Endpoint { + private Object implementor; + private Binding binding = new BindingImpl(); + private Map<String, Object> properties; + private HttpServer httpServer; + private boolean isPublished; + private boolean isDestroyed; + public EndpointImpl(String bindingId, Object implementor) { + this.implementor = implementor; } @Override public Binding getBinding() { - // TODO Auto-generated method stub - return null; + return binding; } @Override public Object getImplementor() { - // TODO Auto-generated method stub - return null; + return implementor; } + /** + * Publishes this endpoint at the given address. The necessary server infrastructure will be created and configured by the JAX-WS + * implementation using some default configuration. In order to get more control over the server configuration, + * please use the javax.xml.ws.Endpoint#publish(Object) method instead. + * + * @param A URI specifying the address to use. The address must be compatible with the binding specified at the time the endpoint was created. + */ @Override - public void publish(String s) + public void publish(String address) { - // TODO Auto-generated method stub + if (isDestroyed) + throw new IllegalStateException("Endpoint already destroyed"); + httpServer = HttpServer.create(); + httpServer.setProperties(properties); + httpServer.start(); + httpServer.publish(this); + isPublished = true; } + /** + * Publishes this endpoint at the provided server context. + * A server context encapsulates the server infrastructure and addressing information for a particular transport. + * For a call to this method to succeed, the server context passed as an argument to it must be compatible with the endpoint's binding. + * + * @param serverContext An object representing a server context to be used for publishing the endpoint. + */ @Override - public void publish(Object obj) + public void publish(Object serverContext) { - // TODO Auto-generated method stub + if (isDestroyed) + throw new IllegalStateException("Endpoint already destroyed"); + if (serverContext instanceof HttpServer) + { + httpServer = (HttpServer)serverContext; + httpServer.publish(this); + isPublished = true; + } } @Override public void stop() { - // TODO Auto-generated method stub + if (httpServer == null || isPublished == false) + throw new IllegalStateException("Endpoint not published"); + httpServer.destroy(this); + isPublished = false; + isDestroyed = true; } @Override public boolean isPublished() { - // TODO Auto-generated method stub - return false; + return isPublished; } @Override public List<Source> getMetadata() { - // TODO Auto-generated method stub - return null; + throw new NotImplementedException(); } @Override public void setMetadata(List<Source> list) { - // TODO Auto-generated method stub - + throw new NotImplementedException(); } @Override public Executor getExecutor() { - // TODO Auto-generated method stub - return null; + throw new NotImplementedException(); } @Override public void setExecutor(Executor executor) { - // TODO Auto-generated method stub - + throw new NotImplementedException(); } @Override public Map<String, Object> getProperties() { - // TODO Auto-generated method stub - return null; + return properties; } @Override public void setProperties(Map<String, Object> map) { - // TODO Auto-generated method stub - + properties = map; } } \ No newline at end of file Modified: trunk/src/main/java/org/jboss/ws/server/HttpServer.java =================================================================== --- trunk/src/main/java/org/jboss/ws/server/HttpServer.java 2006-07-07 16:08:23 UTC (rev 584) +++ trunk/src/main/java/org/jboss/ws/server/HttpServer.java 2006-07-07 17:12:40 UTC (rev 585) @@ -43,7 +43,7 @@ public static String HTTP_SERVER_PROPERTY = HttpServer.class.getName(); public static String DEFAULT_HTTP_SERVER_PROPERTY = TomcatHttpServer.class.getName(); - private Map<String, Object> properties = new HashMap<String, Object>(); + private Map<String, Object> properties; // Hide constructor protected HttpServer () @@ -54,14 +54,9 @@ * Create an instance of an HTTP server. * The discovery algorithm is described in {@link FactoryFinder.find(String,String)} */ - public static HttpServer create(Map<String, Object> props) + public static HttpServer create() { HttpServer server = (HttpServer)FactoryFinder.find(HTTP_SERVER_PROPERTY, DEFAULT_HTTP_SERVER_PROPERTY); - if (props != null) - { - for (String key : props.keySet()) - server.setProperty(key, props.get(key)); - } return server; } @@ -71,24 +66,16 @@ /** Publish an JAXWS endpoint to the HTTP server */ public abstract void publish(Endpoint endpoint); - public void setProperty(String key, Object value) + /** Removes an JAXWS endpoint from the HTTP server */ + public abstract void destroy(Endpoint endpoint); + + public Map<String, Object> getProperties() { - properties.put(key, value); + return properties; } - public Object getProperty(String key) + public void setProperties(Map<String, Object> map) { - return properties.get(key); + properties = map; } - - public void removeProperty(String key) - { - properties.remove(key); - } - - public Iterator<String> getPropertyNames() - { - return properties.keySet().iterator(); - } - } |
Author: tho...@jb... Date: 2006-07-07 12:08:23 -0400 (Fri, 07 Jul 2006) New Revision: 584 Added: trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java trunk/src/main/java/org/jboss/ws/server/HttpServer.java Modified: trunk/build.xml trunk/src/main/java/javax/xml/ws/spi/Provider.java trunk/src/main/java/org/jboss/ws/jaxws/spi/ProviderImpl.java trunk/src/main/java/org/jboss/ws/tools/wspublish.java Log: Add Endpoint API Modified: trunk/build.xml =================================================================== --- trunk/build.xml 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/build.xml 2006-07-07 16:08:23 UTC (rev 584) @@ -210,7 +210,7 @@ <!-- Build jbossws-tomcat-integration.jar --> <jar jarfile="${build.lib.dir}/jbossws-tomcat-integration.jar" manifest="${build.etc.dir}/default.mf"> <fileset dir="${build.classes.dir}"> - <include name="org/jboss/ws/integration/other/**"/> + <include name="org/jboss/ws/integration/tomcat/**"/> </fileset> </jar> @@ -227,7 +227,7 @@ <include name="javax/**"/> <include name="org/jboss/ws/**"/> <exclude name="org/jboss/ws/integration/jboss/**"/> - <exclude name="org/jboss/ws/integration/other/**"/> + <exclude name="org/jboss/ws/integration/tomcat/**"/> <exclude name="org/jboss/ws/transport/jms/**"/> </fileset> <fileset dir="${build.resources.dir}/jbossws.sar"> @@ -331,7 +331,7 @@ <include name="javax/**"/> <include name="org/jboss/ws/**"/> <exclude name="org/jboss/ws/integration/jboss/**"/> - <exclude name="org/jboss/ws/integration/other/**"/> + <exclude name="org/jboss/ws/integration/tomcat/**"/> <exclude name="org/jboss/ws/transport/jms/**"/> </fileset> <fileset dir="${build.resources.dir}/jbossws.sar"> Modified: trunk/src/main/java/javax/xml/ws/spi/Provider.java =================================================================== --- trunk/src/main/java/javax/xml/ws/spi/Provider.java 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/src/main/java/javax/xml/ws/spi/Provider.java 2006-07-07 16:08:23 UTC (rev 584) @@ -69,7 +69,7 @@ public abstract ServiceDelegate createServiceDelegate(URL url, QName qname, Class class1); - public abstract Endpoint createEndpoint(String s, Object obj); + public abstract Endpoint createEndpoint(String bindingId, Object implementor); - public abstract Endpoint createAndPublishEndpoint(String s, Object obj); + public abstract Endpoint createAndPublishEndpoint(String bindingId, Object implementor); } \ No newline at end of file Added: trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java =================================================================== --- trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java 2006-07-07 16:08:23 UTC (rev 584) @@ -0,0 +1,135 @@ +/* + * 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.ws.jaxws.spi; + +// $Id$ + +import java.net.URL; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Executor; + +import javax.xml.namespace.QName; +import javax.xml.transform.Source; +import javax.xml.ws.Binding; +import javax.xml.ws.Endpoint; +import javax.xml.ws.spi.Provider; +import javax.xml.ws.spi.ServiceDelegate; + +import org.jboss.util.NotImplementedException; + +/** + * Service provider for ServiceDelegate and Endpoint objects. + * + * @author Tho...@jb... + * @since 03-May-2006 + */ +public class EndpointImpl extends Endpoint +{ + public EndpointImpl(String bindingId, Object implementor) + { + } + + @Override + public Binding getBinding() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public Object getImplementor() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void publish(String s) + { + // TODO Auto-generated method stub + + } + + @Override + public void publish(Object obj) + { + // TODO Auto-generated method stub + + } + + @Override + public void stop() + { + // TODO Auto-generated method stub + + } + + @Override + public boolean isPublished() + { + // TODO Auto-generated method stub + return false; + } + + @Override + public List<Source> getMetadata() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setMetadata(List<Source> list) + { + // TODO Auto-generated method stub + + } + + @Override + public Executor getExecutor() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setExecutor(Executor executor) + { + // TODO Auto-generated method stub + + } + + @Override + public Map<String, Object> getProperties() + { + // TODO Auto-generated method stub + return null; + } + + @Override + public void setProperties(Map<String, Object> map) + { + // TODO Auto-generated method stub + + } +} \ No newline at end of file Property changes on: trunk/src/main/java/org/jboss/ws/jaxws/spi/EndpointImpl.java ___________________________________________________________________ Name: svn:keywords + Id Revision Name: svn:eol-style + LF Modified: trunk/src/main/java/org/jboss/ws/jaxws/spi/ProviderImpl.java =================================================================== --- trunk/src/main/java/org/jboss/ws/jaxws/spi/ProviderImpl.java 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/src/main/java/org/jboss/ws/jaxws/spi/ProviderImpl.java 2006-07-07 16:08:23 UTC (rev 584) @@ -30,7 +30,7 @@ import javax.xml.ws.spi.Provider; import javax.xml.ws.spi.ServiceDelegate; -import org.jboss.util.NotImplementedException; +import org.jboss.ws.server.HttpServer; /** * Service provider for ServiceDelegate and Endpoint objects. @@ -48,14 +48,18 @@ } @Override - public Endpoint createEndpoint(String s, Object obj) + public Endpoint createEndpoint(String bindingId, Object implementor) { - throw new NotImplementedException(); + EndpointImpl endpoint = new EndpointImpl(bindingId, implementor); + return endpoint; } @Override - public Endpoint createAndPublishEndpoint(String s, Object obj) + public Endpoint createAndPublishEndpoint(String bindingId, Object implementor) { - throw new NotImplementedException(); + EndpointImpl endpoint = new EndpointImpl(bindingId, implementor); + HttpServer server = HttpServer.create(null); + server.publish(endpoint); + return endpoint; } } \ No newline at end of file Added: trunk/src/main/java/org/jboss/ws/server/HttpServer.java =================================================================== --- trunk/src/main/java/org/jboss/ws/server/HttpServer.java 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/src/main/java/org/jboss/ws/server/HttpServer.java 2006-07-07 16:08:23 UTC (rev 584) @@ -0,0 +1,94 @@ +/* + * 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.ws.server; + +// $Id$ + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +import javax.xml.ws.Endpoint; + +import org.jboss.ws.integration.tomcat.TomcatHttpServer; +import org.jboss.ws.jaxws.util.FactoryFinder; + +/** + * An abstract HTTP Server + * + * @author Tho...@jb... + * @since 07-Jul-2006 + */ +public abstract class HttpServer +{ + public static String HTTP_SERVER_PROPERTY = HttpServer.class.getName(); + public static String DEFAULT_HTTP_SERVER_PROPERTY = TomcatHttpServer.class.getName(); + + private Map<String, Object> properties = new HashMap<String, Object>(); + + // Hide constructor + protected HttpServer () + { + } + + /** + * Create an instance of an HTTP server. + * The discovery algorithm is described in {@link FactoryFinder.find(String,String)} + */ + public static HttpServer create(Map<String, Object> props) + { + HttpServer server = (HttpServer)FactoryFinder.find(HTTP_SERVER_PROPERTY, DEFAULT_HTTP_SERVER_PROPERTY); + if (props != null) + { + for (String key : props.keySet()) + server.setProperty(key, props.get(key)); + } + return server; + } + + /** Start an instance of this HTTP server */ + public abstract void start(); + + /** Publish an JAXWS endpoint to the HTTP server */ + public abstract void publish(Endpoint endpoint); + + public void setProperty(String key, Object value) + { + properties.put(key, value); + } + + public Object getProperty(String key) + { + return properties.get(key); + } + + public void removeProperty(String key) + { + properties.remove(key); + } + + public Iterator<String> getPropertyNames() + { + return properties.keySet().iterator(); + } + +} Property changes on: trunk/src/main/java/org/jboss/ws/server/HttpServer.java ___________________________________________________________________ Name: svn:keywords + Id Revision Name: svn:eol-style + LF Modified: trunk/src/main/java/org/jboss/ws/tools/wspublish.java =================================================================== --- trunk/src/main/java/org/jboss/ws/tools/wspublish.java 2006-07-07 15:55:12 UTC (rev 583) +++ trunk/src/main/java/org/jboss/ws/tools/wspublish.java 2006-07-07 16:08:23 UTC (rev 584) @@ -32,7 +32,8 @@ import org.jboss.logging.Logger; import org.jboss.util.file.JarUtils; -import org.jboss.ws.integration.other.GenericServiceEndpointPublisher; +import org.jboss.ws.deployment.ServiceEndpointPublisher; +import org.jboss.ws.integration.tomcat.GenericServiceEndpointPublisher; /** * Publish a standard portable J2EE web service endpoint @@ -68,7 +69,7 @@ JarUtils.unjar(in, tmpDir); in.close(); - GenericServiceEndpointPublisher publisher = new GenericServiceEndpointPublisher(); + ServiceEndpointPublisher publisher = new GenericServiceEndpointPublisher(); publisher.setServiceEndpointServlet(servletName); publisher.rewriteWebXML(tmpDir.toURL()); |
From: <jbo...@li...> - 2006-07-07 15:55:19
|
Author: tho...@jb... Date: 2006-07-07 11:55:12 -0400 (Fri, 07 Jul 2006) New Revision: 583 Removed: trunk/src/main/java/org/jboss/ws/integration/other/ Log: add tomcat integration layer |
From: <jbo...@li...> - 2006-07-07 15:54:28
|
Author: tho...@jb... Date: 2006-07-07 11:54:22 -0400 (Fri, 07 Jul 2006) New Revision: 582 Added: trunk/src/main/java/org/jboss/ws/integration/catalina/ trunk/src/main/java/org/jboss/ws/integration/catalina/TomcatHttpServer.java Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/ContextServlet.java trunk/src/main/java/org/jboss/ws/integration/catalina/CrossContextLoader.java trunk/src/main/java/org/jboss/ws/integration/catalina/DeploymentInfoAdaptor.java trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointPublisher.java trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointServlet.java trunk/src/main/java/org/jboss/ws/integration/catalina/KernelBootstrap.java trunk/src/main/java/org/jboss/ws/integration/catalina/ServerConfigImpl.java Log: add tomcat integration layer Copied: trunk/src/main/java/org/jboss/ws/integration/catalina (from rev 568, trunk/src/main/java/org/jboss/ws/integration/other) Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/ContextServlet.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/ContextServlet.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/ContextServlet.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: ContextServlet.java 293 2006-05-08 16:31:50Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/CrossContextLoader.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/CrossContextLoader.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/CrossContextLoader.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: ContextServlet.java 293 2006-05-08 16:31:50Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/DeploymentInfoAdaptor.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/DeploymentInfoAdaptor.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/DeploymentInfoAdaptor.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: WebServiceDeploymentAdaptor.java 317 2006-05-14 17:16:59Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointPublisher.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/GenericServiceEndpointPublisher.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointPublisher.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: WebServiceDeployer.java 312 2006-05-11 10:49:22Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointServlet.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/GenericServiceEndpointServlet.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/GenericServiceEndpointServlet.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: ServiceEndpointServlet.java 296 2006-05-08 19:45:49Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/KernelBootstrap.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/KernelBootstrap.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/KernelBootstrap.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; // $Id: ContextServlet.java 293 2006-05-08 16:31:50Z tho...@jb... $ Modified: trunk/src/main/java/org/jboss/ws/integration/catalina/ServerConfigImpl.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/ServerConfigImpl.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/ServerConfigImpl.java 2006-07-07 15:54:22 UTC (rev 582) @@ -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.ws.integration.other; +package org.jboss.ws.integration.tomcat; //$Id: ServiceEndpointManagerFactoryImpl.java 294 2006-05-08 16:33:42Z tho...@jb... $ Added: trunk/src/main/java/org/jboss/ws/integration/catalina/TomcatHttpServer.java =================================================================== --- trunk/src/main/java/org/jboss/ws/integration/other/TomcatHttpServer.java 2006-07-06 01:20:41 UTC (rev 568) +++ trunk/src/main/java/org/jboss/ws/integration/catalina/TomcatHttpServer.java 2006-07-07 15:54:22 UTC (rev 582) @@ -0,0 +1,51 @@ +/* + * JBoss, Home of Professional Open Source + * Copyright 2005, JBoss Inc., and individual contributors as indicated + * by the @authors tag. See the copyright.txt in the distribution for a + * full listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this software; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA + * 02110-1301 USA, or see the FSF site: http://www.fsf.org. + */ +package org.jboss.ws.integration.tomcat; + +//$Id$ + +import javax.xml.ws.Endpoint; + +import org.jboss.ws.server.HttpServer; + +/** + * A Tomcat HTTP Server + * + * @author Tho...@jb... + * @since 07-Jul-2006 + */ +public class TomcatHttpServer extends HttpServer +{ + /** Start an instance of this HTTP server */ + @Override + public void start() + { + // verify required properties + } + + /** Publish an JAXWS endpoint to the HTTP server */ + @Override + public void publish(Endpoint endpoint) + { + + } +} Property changes on: trunk/src/main/java/org/jboss/ws/integration/catalina/TomcatHttpServer.java ___________________________________________________________________ Name: svn:keywords + Id Revision Name: svn:eol-style + LF |