Mail Archive Home | gotm-commits List | November 2005 Index
| <-- Date Index --> | <-- Thread Index --> |
Date: Monday, November 7, 2005 @ 09:50:34
Author: rouvoy
Path: /cvsroot/gotm/gotm
Added:
src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal
src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal
src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal
src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal
src/java/org/objectweb/gotm/lib/message/AbstractEventConverter.java
src/java/org/objectweb/gotm/lib/message/EventConverter.java
src/java/org/objectweb/gotm/lib/message/PublishASyncPool.java
src/java/org/objectweb/gotm/lib/message/PublishASyncThread.java
src/java/org/objectweb/gotm/lib/message/PublishSimple.java
src/java/org/objectweb/gotm/lib/message/PublishState.java
src/java/org/objectweb/gotm/lib/message/PublishSyncThread.java
src/java/org/objectweb/gotm/lib/message/SubscribablePrimitive.java
src/java/org/objectweb/gotm/lib/message/SubscriberPool.java
src/java/org/objectweb/gotm/lib/message/SubscriberProvider.java
Modified: .cvsignore .settings/org.eclipse.core.resources.prefs
lib/thread-manager/ow_util_thread.jar
src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal
src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal
src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java
src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java
src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java
src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java
src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java
src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java
src/java/org/objectweb/gotm/lib/resource/ActionProvider.java
src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java
src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java
src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java
src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java
src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java
src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java
src/java/org/objectweb/gotm/lib/resource/ResourceManagerWithPool.java
src/java/org/objectweb/gotm/lib/resource/ResourceManagerWithThread.java
src/java/org/objectweb/gotm/lib/stat/EventCounter.java
src/java/org/objectweb/gotm/lib/stat/EventCounterImpl.java
src/java/org/objectweb/gotm/lib/transaction/TransactionStateImpl.java
Removed: src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal
src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal
src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal
src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal
src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java
src/java/org/objectweb/gotm/lib/event/EventConverter.java
src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java
src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java
src/java/org/objectweb/gotm/lib/event/PublishSimple.java
src/java/org/objectweb/gotm/lib/event/PublishState.java
src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java
src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java
src/java/org/objectweb/gotm/lib/event/SubscriberPool.java
src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java
* Renaming event framework to message framework,
* Updating monolog library,
-------------------------------------------------------------------------------+
.cvsignore
| 2
.settings/org.eclipse.core.resources.prefs
| 10
src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal
| 8
src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal
| 19 -
src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal
| 25 -
src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal
| 16 -
src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal
| 21 -
src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal
| 19 +
src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal
| 25 +
src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal
| 16 +
src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal
| 21 +
src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal
| 10
src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java
| 10
src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java
| 6
src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java
| 10
src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java
| 10
src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java
| 63 ----
src/java/org/objectweb/gotm/lib/event/EventConverter.java
| 53 ---
src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java
| 111 -------
src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java
| 74 -----
src/java/org/objectweb/gotm/lib/event/PublishSimple.java
| 81 -----
src/java/org/objectweb/gotm/lib/event/PublishState.java
| 59 ---
src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java
| 119 --------
src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java
| 85 -----
src/java/org/objectweb/gotm/lib/event/SubscriberPool.java
| 140 ---------
src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java
| 57 ---
src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java
| 12
src/java/org/objectweb/gotm/lib/message/AbstractEventConverter.java
| 63 ++++
src/java/org/objectweb/gotm/lib/message/EventConverter.java
| 53 +++
src/java/org/objectweb/gotm/lib/message/PublishASyncPool.java
| 111 +++++++
src/java/org/objectweb/gotm/lib/message/PublishASyncThread.java
| 74 +++++
src/java/org/objectweb/gotm/lib/message/PublishSimple.java
| 81 +++++
src/java/org/objectweb/gotm/lib/message/PublishState.java
| 59 +++
src/java/org/objectweb/gotm/lib/message/PublishSyncThread.java
| 119 ++++++++
src/java/org/objectweb/gotm/lib/message/SubscribablePrimitive.java
| 88 +++++
src/java/org/objectweb/gotm/lib/message/SubscriberPool.java
| 148 ++++++++++
src/java/org/objectweb/gotm/lib/message/SubscriberProvider.java
| 57 +++
src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java
| 12
src/java/org/objectweb/gotm/lib/resource/ActionProvider.java
| 8
src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java
| 8
src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java
| 8
src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java
| 12
src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java
| 12
src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java
| 54 +--
src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java
| 7
src/java/org/objectweb/gotm/lib/resource/ResourceManagerWithPool.java
| 8
src/java/org/objectweb/gotm/lib/resource/ResourceManagerWithThread.java
| 10
src/java/org/objectweb/gotm/lib/stat/EventCounter.java
| 8
src/java/org/objectweb/gotm/lib/stat/EventCounterImpl.java
| 18 -
src/java/org/objectweb/gotm/lib/transaction/TransactionStateImpl.java
| 8
50 files changed, 1054 insertions(+), 1054 deletions(-)
Index: gotm/.cvsignore
diff -u gotm/.cvsignore:1.5 gotm/.cvsignore:1.6
--- gotm/.cvsignore:1.5 Fri Jul 1 18:27:48 2005
+++ gotm/.cvsignore Mon Nov 7 09:50:33 2005
@@ -4,3 +4,5 @@
alias.xml
build.properties
alias.properties
+task.ent
+task.properties
Index: gotm/.settings/org.eclipse.core.resources.prefs
diff -u gotm/.settings/org.eclipse.core.resources.prefs:1.7
gotm/.settings/org.eclipse.core.resources.prefs:1.8
--- gotm/.settings/org.eclipse.core.resources.prefs:1.7 Tue Aug 16 15:36:18
2005
+++ gotm/.settings/org.eclipse.core.resources.prefs Mon Nov 7 09:50:33
2005
@@ -1,11 +1,11 @@
-#Mon Aug 15 18:00:51 CEST 2005
+#Fri Nov 04 15:03:51 CET 2005
eclipse.preferences.version=1
encoding//src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal=ISO-8859-1
-encoding//src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal=ISO-8859-1
-encoding//src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal=ISO-8859-1
-encoding//src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal=ISO-8859-1
-encoding//src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal=ISO-8859-1
encoding//src/fractal/org/objectweb/gotm/lib/logging/FcLogManagerHOWL.fractal=ISO-8859-1
+encoding//src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal=ISO-8859-1
+encoding//src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal=ISO-8859-1
+encoding//src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal=ISO-8859-1
+encoding//src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal=ISO-8859-1
encoding//src/fractal/org/objectweb/gotm/lib/protocol/Fc2PC.fractal=ISO-8859-1
encoding//src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal=ISO-8859-1
encoding//src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCNoLog.fractal=ISO-8859-1
Index: gotm/lib/thread-manager/ow_util_thread.jar
cvs rdiff: failed to read diff file header /tmp/cvs9iPpFX for
ow_util_thread.jar,v: end of file
Index:
gotm/src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal:1.2
gotm/src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal:1.3
---
gotm/src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal:1.2
Tue Sep 6 10:01:47 2005
+++
gotm/src/fractal/org/objectweb/gotm/lib/coordination/FcCommitEngine.fractal
Mon Nov 7 09:50:34 2005
@@ -18,13 +18,13 @@
<interface name="tx-state" role="client"
signature="org.objectweb.transaction.api.transaction.TransactionState"/>
<interface name="timeout-subscribe" role="client"
- signature="org.objectweb.transaction.api.event.SubscribeFeature"/>
+ signature="org.objectweb.transaction.api.message.SubscribeFeature"/>
<interface name="prepare-decision" role="client"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="commit-decision" role="client"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="abort-decision" role="client"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="init-log" role="client"
signature="org.objectweb.transaction.api.logging.LoggerFeature"/>
<interface name="commit-log" role="client"
Index:
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal:1.1
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal:removed
---
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal:1.1
Fri Aug 12 14:31:22 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusAbstract.fractal
Mon Nov 7 09:50:34 2005
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE definition PUBLIC
- "-//objectweb.org//DTD Fractal ADL 2.0//EN"
- "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
-
-<definition name="org.objectweb.gotm.lib.event.FcEventBusAbstract">
- <interface name="subscribe" role="server"
- signature="org.objectweb.transaction.api.event.SubscribeFeature"/>
- <interface name="sync-publish" role="server"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
- <interface name="async-publish" role="server"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
-
- <component name="FcSubscribers"
- definition="org.objectweb.gotm.lib.event.FcSubscriberPool"/>
-
- <binding client="this.subscribe"
- server="FcSubscribers.subscribe"/>
-</definition>
\ No newline at end of file
Index: gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal:1.1
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal:removed
--- gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal:1.1
Fri Aug 12 14:31:22 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusPool.fractal
Mon Nov 7 09:50:34 2005
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE definition PUBLIC
- "-//objectweb.org//DTD Fractal ADL 2.0//EN"
- "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
-
-<definition name="org.objectweb.gotm.lib.event.FcEventBusThread"
extends="org.objectweb.gotm.lib.event.FcEventBusAbstract">
- <component name="FcSyncPublish"
- definition="org.objectweb.gotm.lib.event.FcPublishSyncThread"/>
- <component name="FcASyncPublish"
- definition="org.objectweb.gotm.lib.event.FcPublishASyncPool"/>
- <component name="FcThreadPool"
- definition="org.objectweb.util.thread.comp.FcThreadManager(10,100)"/>
-
- <binding client="this.sync-publish"
- server="FcSyncPublish.publish"/>
- <binding client="FcSyncPublish.subscriber-provider"
- server="FcSubscribers.subscriber-provider"/>
-
- <binding client="this.async-publish"
- server="FcASyncPublish.publish"/>
- <binding client="FcASyncPublish.subscriber-provider"
- server="FcSubscribers.subscriber-provider"/>
- <binding client="FcASyncPublish.runnable-manager"
- server="FcThreadPool.runnable-manager"/>
-</definition>
\ No newline at end of file
Index: gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal:1.1
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal:removed
---
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal:1.1
Fri Aug 12 14:31:22 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusSimple.fractal
Mon Nov 7 09:50:34 2005
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE definition PUBLIC
- "-//objectweb.org//DTD Fractal ADL 2.0//EN"
- "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
-
-<definition name="org.objectweb.gotm.lib.event.FcEventBusSimple"
extends="org.objectweb.gotm.lib.event.FcEventBusAbstract">
- <component name="FcSyncPublish"
- definition="org.objectweb.gotm.lib.event.FcPublishSimple"/>
-
- <binding client="this.async-publish"
- server="FcSyncPublish.publish"/>
- <binding client="this.sync-publish"
- server="FcSyncPublish.publish"/>
- <binding client="FcSyncPublish.subscriber-provider"
- server="FcSubscribers.subscriber-provider"/>
-</definition>
Index: gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal:1.1
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal:removed
---
gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal:1.1
Fri Aug 12 14:31:22 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/event/FcEventBusThread.fractal
Mon Nov 7 09:50:34 2005
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE definition PUBLIC
- "-//objectweb.org//DTD Fractal ADL 2.0//EN"
- "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
-
-<definition name="org.objectweb.gotm.lib.event.FcEventBusThread"
extends="org.objectweb.gotm.lib.event.FcEventBusAbstract">
- <component name="FcSyncPublish"
- definition="org.objectweb.gotm.lib.event.FcPublishSyncThread"/>
- <component name="FcASyncPublish"
- definition="org.objectweb.gotm.lib.event.FcPublishASyncThread"/>
-
- <binding client="this.sync-publish"
- server="FcSyncPublish.publish"/>
- <binding client="FcSyncPublish.subscriber-provider"
- server="FcSubscribers.subscriber-provider"/>
-
- <binding client="this.async-publish"
- server="FcASyncPublish.publish"/>
- <binding client="FcASyncPublish.subscriber-provider"
- server="FcSubscribers.subscriber-provider"/>
-</definition>
\ No newline at end of file
Index:
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal
diff -u /dev/null
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusAbstract.fractal
Mon Nov 7 09:50:33 2005
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC
+ "-//objectweb.org//DTD Fractal ADL 2.0//EN"
+ "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.gotm.lib.message.FcEventBusAbstract">
+ <interface name="subscribe" role="server"
+ signature="org.objectweb.transaction.api.message.SubscribeFeature"/>
+ <interface name="sync-publish" role="server"
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
+ <interface name="async-publish" role="server"
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
+
+ <component name="FcSubscribers"
+ definition="org.objectweb.gotm.lib.message.FcSubscriberPool"/>
+
+ <binding client="this.subscribe"
+ server="FcSubscribers.subscribe"/>
+</definition>
\ No newline at end of file
Index: gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal
diff -u /dev/null
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusPool.fractal
Mon Nov 7 09:50:33 2005
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC
+ "-//objectweb.org//DTD Fractal ADL 2.0//EN"
+ "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.gotm.lib.message.FcEventBusThread"
extends="org.objectweb.gotm.lib.message.FcEventBusAbstract">
+ <component name="FcSyncPublish"
+ definition="org.objectweb.gotm.lib.message.FcPublishSyncThread"/>
+ <component name="FcASyncPublish"
+ definition="org.objectweb.gotm.lib.message.FcPublishASyncPool"/>
+ <component name="FcThreadPool"
+ definition="org.objectweb.util.thread.comp.FcThreadManager(10,100)"/>
+
+ <binding client="this.sync-publish"
+ server="FcSyncPublish.publish"/>
+ <binding client="FcSyncPublish.subscriber-provider"
+ server="FcSubscribers.subscriber-provider"/>
+
+ <binding client="this.async-publish"
+ server="FcASyncPublish.publish"/>
+ <binding client="FcASyncPublish.subscriber-provider"
+ server="FcSubscribers.subscriber-provider"/>
+ <binding client="FcASyncPublish.runnable-manager"
+ server="FcThreadPool.runnable-manager"/>
+</definition>
\ No newline at end of file
Index:
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal
diff -u /dev/null
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusSimple.fractal
Mon Nov 7 09:50:33 2005
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC
+ "-//objectweb.org//DTD Fractal ADL 2.0//EN"
+ "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.gotm.lib.message.FcEventBusSimple"
extends="org.objectweb.gotm.lib.message.FcEventBusAbstract">
+ <component name="FcSyncPublish"
+ definition="org.objectweb.gotm.lib.message.FcPublishSimple"/>
+
+ <binding client="this.async-publish"
+ server="FcSyncPublish.publish"/>
+ <binding client="this.sync-publish"
+ server="FcSyncPublish.publish"/>
+ <binding client="FcSyncPublish.subscriber-provider"
+ server="FcSubscribers.subscriber-provider"/>
+</definition>
Index:
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal
diff -u /dev/null
gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/message/FcEventBusThread.fractal
Mon Nov 7 09:50:33 2005
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE definition PUBLIC
+ "-//objectweb.org//DTD Fractal ADL 2.0//EN"
+ "classpath://org/objectweb/fractal/adl/xml/basic.dtd">
+
+<definition name="org.objectweb.gotm.lib.message.FcEventBusThread"
extends="org.objectweb.gotm.lib.message.FcEventBusAbstract">
+ <component name="FcSyncPublish"
+ definition="org.objectweb.gotm.lib.message.FcPublishSyncThread"/>
+ <component name="FcASyncPublish"
+ definition="org.objectweb.gotm.lib.message.FcPublishASyncThread"/>
+
+ <binding client="this.sync-publish"
+ server="FcSyncPublish.publish"/>
+ <binding client="FcSyncPublish.subscriber-provider"
+ server="FcSubscribers.subscriber-provider"/>
+
+ <binding client="this.async-publish"
+ server="FcASyncPublish.publish"/>
+ <binding client="FcASyncPublish.subscriber-provider"
+ server="FcSubscribers.subscriber-provider"/>
+</definition>
\ No newline at end of file
Index: gotm/src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal
diff -u
gotm/src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal:1.2
gotm/src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal:1.3
---
gotm/src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal:1.2
Tue Sep 6 10:01:46 2005
+++ gotm/src/fractal/org/objectweb/gotm/lib/protocol/Fc2PCAbstract.fractal
Mon Nov 7 09:50:32 2005
@@ -5,11 +5,11 @@
<definition name="org.objectweb.gotm.lib.protocol.Fc2PCAbstract">
<interface name="prepare-decision" role="server"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="commit-decision" role="server"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="abort-decision" role="server"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="init-log" role="server"
signature="org.objectweb.transaction.api.logging.LoggerFeature"/>
<interface name="commit-log" role="server"
@@ -28,9 +28,9 @@
signature="org.objectweb.transaction.api.logging.LoggerFeature"/>
<interface name="sync-publish" role="client"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="async-publish" role="client"
- signature="org.objectweb.transaction.api.event.PublishFeature"/>
+ signature="org.objectweb.transaction.api.message.PublishFeature"/>
<interface name="reference-provider" role="client"
signature="org.objectweb.gotm.lib.reference.ReferenceProvider"/>
Index:
gotm/src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java:1.11
gotm/src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java:1.12
---
gotm/src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java:1.11
Fri Oct 14 13:43:53 2005
+++
gotm/src/java/org/objectweb/gotm/lib/coordination/AbstractCoordinationFeature.java
Mon Nov 7 09:50:33 2005
@@ -23,14 +23,14 @@
Contributor(s): .
---------------------------------------------------------------------
- $Id: AbstractCoordinationFeature.java,v 1.11 2005/10/14 11:43:53 rouvoy Exp
$
+ $Id: AbstractCoordinationFeature.java,v 1.12 2005/11/07 08:50:33 rouvoy Exp
$
====================================================================*/
package org.objectweb.gotm.lib.coordination;
import org.objectweb.transaction.api.coordination.CoordinationFeature;
-import org.objectweb.transaction.api.event.PublishFeature;
import org.objectweb.transaction.api.logging.LoggerFeature;
+import org.objectweb.transaction.api.message.PublishFeature;
import org.objectweb.transaction.api.transaction.TransactionState;
import org.objectweb.fractal.lib.BindablePrimitive;
@@ -39,9 +39,9 @@
* Abstract implementation of a validation engine.
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 5 janv. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.11 $
- * @fractal.itf name="publish" role="client"
signature="org.objectweb.transaction.api.event.PublishFeature"
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.12 $
+ * @fractal.itf name="publish" role="client"
signature="org.objectweb.transaction.api.message.PublishFeature"
* @fractal.itf name="tx-state" role="client"
signature="org.objectweb.transaction.api.transaction.TransactionState"
* @fractal.itf name="begin-log" role="client"
signature="org.objectweb.transaction.api.logging.LoggerFeature"
contingency="optional"
* @fractal.itf name="end-log" role="client"
signature="org.objectweb.transaction.api.logging.LoggerFeature"
contingency="optional"
Index: gotm/src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java:1.9
gotm/src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java:1.10
--- gotm/src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java:1.9
Fri Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/coordination/CommitFeature.java
Mon Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
- $Id: CommitFeature.java,v 1.9 2005/10/14 11:43:53 rouvoy Exp $
+ $Id: CommitFeature.java,v 1.10 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.coordination;
@@ -32,7 +32,7 @@
import org.objectweb.gotm.lib.transaction.InvalidTransitionException;
import org.objectweb.transaction.api.coordination.CoordinationFeature;
-import org.objectweb.transaction.api.event.PublishFeature;
+import org.objectweb.transaction.api.message.PublishFeature;
import org.objectweb.transaction.api.transaction.TransactionState;
import org.objectweb.transaction.lib.resource.ResourceEventCommit;
import org.objectweb.transaction.lib.transaction.TransactionStatusCommitted;
@@ -42,7 +42,7 @@
/**
* One phase validation process.
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
* @fractal.itf name="abort" role="client"
signature="org.objectweb.transaction.api.coordination.CoordinationFeature"
*/
public class CommitFeature
Index:
gotm/src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java:1.3
gotm/src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java:1.4
---
gotm/src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java:1.3
Tue Sep 6 10:01:46 2005
+++
gotm/src/java/org/objectweb/gotm/lib/coordination/ProbeCommitProtocol.java
Mon Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ProbeCommitProtocol.java,v 1.3 2005/09/06 08:01:46 rouvoy Exp $
+$Id: ProbeCommitProtocol.java,v 1.4 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.coordination;
@@ -33,15 +33,15 @@
import org.objectweb.gotm.lib.factory.Configurable;
import org.objectweb.gotm.lib.probe.ProbeAbstract;
-import org.objectweb.transaction.api.event.Event;
+import org.objectweb.transaction.api.message.Event;
import org.objectweb.transaction.lib.transaction.TransactionStatusCommitted;
import org.objectweb.transaction.lib.transaction.TransactionStatusRolledBack;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 3 août 2005
- * @modified $Date: 2005/09/06 08:01:46 $
- * @version $Revision: 1.3 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.4 $
* @fractal.itf
*/
public class ProbeCommitProtocol
@@ -53,7 +53,7 @@
private static final String conf2pcpa =
"org.objectweb.gotm.lib.protocol.Fc2PCPA";
/* (non-Javadoc)
- * @see org.objectweb.gotm.lib.event.SubscribablePrimitive#getEvents()
+ * @see org.objectweb.gotm.lib.message.SubscribablePrimitive#getEvents()
*/
public Event[] events() {
return new Event[] {
Index: gotm/src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java:1.6
gotm/src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java:1.7
--- gotm/src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java:1.6
Fri Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/coordination/TimeoutImpl.java Mon
Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
- $Id: TimeoutImpl.java,v 1.6 2005/10/14 11:43:53 rouvoy Exp $
+ $Id: TimeoutImpl.java,v 1.7 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.coordination;
@@ -35,10 +35,10 @@
import javax.swing.Timer;
-import org.objectweb.gotm.lib.event.SubscribablePrimitive;
+import org.objectweb.gotm.lib.message.SubscribablePrimitive;
import org.objectweb.transaction.api.coordination.CoordinationFeature;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.SubscribeFeature;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.SubscribeFeature;
import org.objectweb.transaction.lib.transaction.TransactionStatusCommitted;
import
org.objectweb.transaction.lib.transaction.TransactionStatusNoTransaction;
import org.objectweb.transaction.lib.transaction.TransactionStatusRolledBack;
@@ -47,7 +47,7 @@
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.7 $
* @fractal.itf name="coord-process" role="client"
signature="org.objectweb.transaction.api.coordination.CoordinationFeature"
*/
public class TimeoutImpl
Index: gotm/src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java:1.2
gotm/src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java:removed
---
gotm/src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java:1.2
Mon May 23 13:20:55 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/AbstractEventConverter.java
Mon Nov 7 09:50:34 2005
@@ -1,63 +0,0 @@
-/*====================================================================
-
- GoTM: GoTM is an open Transaction Monitor
- Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
- Contact: gotm-team@xxxxxxxxxxxxx
-
- This library 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 any later version.
-
- This library 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 library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA
-
- Initial developer(s): Romain Rouvoy.
- Contributor(s): .
-
- ---------------------------------------------------------------------
- $Id: AbstractEventConverter.java,v 1.2 2005/05/23 11:20:55 rouvoy Exp $
- ====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.objectweb.fractal.lib.LoggablePrimitive;
-import org.objectweb.transaction.api.event.Event;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 1 févr. 2005
- * @modified $Date: 2005/05/23 11:20:55 $
- * @version $Revision: 1.2 $
- * @fractal.itf
- */
-public abstract class AbstractEventConverter
- extends LoggablePrimitive
- implements EventConverter {
-
- /** <code>values</code> that are handled by the converter. */
- private Map values = new HashMap();
-
- /**
- * @return Returns the values.
- */
- protected Map getValues() {
- return this.values;
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.gotm.lib.jta.EventConverter#toValue(org.objectweb.transaction.api.event.Event)
- */
- public int toValue(Event evt) {
- return ((Integer) getValues().get(evt)).intValue();
- }
-}
Index: gotm/src/java/org/objectweb/gotm/lib/event/EventConverter.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/EventConverter.java:1.1
gotm/src/java/org/objectweb/gotm/lib/event/EventConverter.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/EventConverter.java:1.1 Fri
Feb 4 18:44:33 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/EventConverter.java Mon
Nov 7 09:50:34 2005
@@ -1,53 +0,0 @@
-/*====================================================================
-
- ObjectWeb GoTM project - http://gotm.objectweb.org
- Contact: gotm@xxxxxxxxxxxxx
-
- This library 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 any later version.
-
- This library 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 library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA
-
- Initial developer(s): Romain Rouvoy.
- Contributor(s): ______________________________________.
-
- ---------------------------------------------------------------------
- $Id: EventConverter.java,v 1.1 2005/02/04 17:44:33 rouvoy Exp $
- ====================================================================*/
-
-package org.objectweb.gotm.lib.event;
-
-import org.objectweb.transaction.api.Feature;
-import org.objectweb.transaction.api.event.Event;
-
-/**
- * Implementation of an Event type converter.
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 22 déc. 2004
- * @modified $Date: 2005/02/04 17:44:33 $
- * @version $Revision: 1.1 $
- * @fractal.itf name="event-converter"
- */
-public interface EventConverter
- extends Feature
-{
- /** Fractal ADL Identifier for the <code>EventConverter</code>
interface. */
- public static final String EVENT_CONVERTER = "event-converter";
-
- /**
- * Converts Event type to int value.
- * @param evt the event to convert.
- * @return the value of the requested event.
- */
- public int toValue(Event evt) ;
-}
Index: gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java:1.4
gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java:1.4
Fri Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncPool.java Mon
Nov 7 09:50:34 2005
@@ -1,111 +0,0 @@
-/*====================================================================
-
- GoTM: GoTM is an open Transaction Monitor
- Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
- Contact: gotm-team@xxxxxxxxxxxxx
-
- This library 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 any later version.
-
- This library 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 library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA
-
- Initial developer(s): Romain Rouvoy.
- Contributor(s): .
-
- ---------------------------------------------------------------------
- $Id: PublishASyncPool.java,v 1.4 2005/10/14 11:43:53 rouvoy Exp $
- ====================================================================*/
-
-package org.objectweb.gotm.lib.event;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-import org.objectweb.util.thread.api.RunnableManager;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 5 janv. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.4 $
- * @fractal.itf name="runnable-manager" role="client"
signature="org.objectweb.util.thread.api.RunnableManager"
- * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.event.SubscriberProvider"
- */
-public class PublishASyncPool
-extends BindablePrimitive
-implements PublishFeature
-{
- /* (non-Javadoc)
- * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
- */
- protected String[] clientFc() {
- return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER,
RunnableManager.RUNNABLE_MANAGER};
- }
-
- /**
- * @return the runnable manager bound to the current component
- */
- protected final RunnableManager getRunnableManager() {
- return (RunnableManager)
singletonFc(RunnableManager.RUNNABLE_MANAGER);
- }
-
- /**
- * @return the subscriber provider.
- */
- protected SubscriberProvider getProvider() {
- return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.gotm.lib.topic.PublishFeature#notify(java.lang.String,
java.util.Map)
- */
- public void notify(Event topic, Map context) {
- if (getLogger().isLoggable(DEBUG))
- getLogger().log(DEBUG,"Notification of the "+topic+" topic.");
- for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();)
- getRunnableManager().submitRunnable(new
NotifyAction((PublishFeature)i.next(),topic,context));
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.transaction.api.event.PublishFeature#getEvents()
- */
- public Event[] events() {
- return getProvider().listTopics();
- }
-
- private final class NotifyAction implements Runnable {
- private Event topic ;
- private Map context ;
- private PublishFeature subscriber ;
- /**
- * @param subscriber
- * @param topic
- * @param context
- */
- public NotifyAction(PublishFeature subscriber, Event topic, Map
context) {
- this.topic = topic ;
- this.context = context ;
- this.subscriber = subscriber;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Runnable#run()
- */
- public void run() {
- this.subscriber.notify(this.topic,this.context);
- }
- }
-}
Index: gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java:1.3
gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java:1.3
Fri Aug 5 17:06:29 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/PublishASyncThread.java Mon
Nov 7 09:50:34 2005
@@ -1,74 +0,0 @@
-/*====================================================================
-
- GoTM: GoTM is an open Transaction Monitor
- Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
- Contact: gotm-team@xxxxxxxxxxxxx
-
- This library 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 any later version.
-
- This library 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 library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA
-
- Initial developer(s): Romain Rouvoy.
- Contributor(s): .
-
- ---------------------------------------------------------------------
- $Id: PublishASyncThread.java,v 1.3 2005/08/05 15:06:29 rouvoy Exp $
- ====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Vector;
-
-import org.objectweb.gotm.GoTMException;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 11 juil. 2005
- * @modified $Date: 2005/08/05 15:06:29 $
- * @version $Revision: 1.3 $
- * @fractal.itf
- */
-public class PublishASyncThread
- extends PublishSyncThread {
-
- /*
- * (non-Javadoc)
- *
- * @see
org.objectweb.transaction.api.event.PublishFeature#notify(org.objectweb.transaction.api.event.Event,
- * java.util.Map)
- */
- public void notify(Event topic, Map context) {
- if (getLogger().isLoggable(DEBUG))
- getLogger().log(DEBUG, "Notification of the " + topic + "
topic.");
- Vector actions = new Vector();
- for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();) {
- Thread action = new NotifyAction((PublishFeature) i.next(),
topic,
- context);
- actions.add(action);
- action.start();
- }
- for (Iterator i = actions.iterator(); i.hasNext();) {
- try {
- ((Thread) i.next()).join();
- } catch (InterruptedException e) {
- if (getLogger().isLoggable(ERROR))
- getLogger().log(ERROR, e);
- throw new GoTMException(e);
- }
- }
- }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/PublishSimple.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/PublishSimple.java:1.6
gotm/src/java/org/objectweb/gotm/lib/event/PublishSimple.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/PublishSimple.java:1.6 Fri
Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/PublishSimple.java Mon
Nov 7 09:50:34 2005
@@ -1,81 +0,0 @@
-/*====================================================================
-
- GoTM: GoTM is an open Transaction Monitor
- Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
- Contact: gotm-team@xxxxxxxxxxxxx
-
- This library 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 any later version.
-
- This library 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 library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- USA
-
- Initial developer(s): Romain Rouvoy.
- Contributor(s): .
-
- ---------------------------------------------------------------------
- $Id: PublishSimple.java,v 1.6 2005/10/14 11:43:53 rouvoy Exp $
- ====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 12 janv. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.6 $
- * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.event.SubscriberProvider"
- */
-public class PublishSimple
- extends BindablePrimitive
- implements PublishFeature {
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
- */
- protected String[] clientFc() {
- return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER};
- }
-
- /**
- * @return the subscriber provider.
- */
- protected final SubscriberProvider getProvider() {
- return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.objectweb.gotm.lib.topic.PublishFeature#notify(java.lang.String,
- * java.util.Map)
- */
- public void notify(Event topic, Map context) {
-// if (getLogger().isLoggable(DEBUG))
-// getLogger().log(DEBUG, "Notifying of topic " + topic + " to
"+getProvider().getTopic(topic).size()+" subscriber(s)");
- for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();)
- ((PublishFeature) i.next()).notify(topic, context);
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.transaction.api.event.PublishFeature#getEvents()
- */
- public Event[] events() {
- return getProvider().listTopics();
- }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/PublishState.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/PublishState.java:1.4
gotm/src/java/org/objectweb/gotm/lib/event/PublishState.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/PublishState.java:1.4 Fri
Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/PublishState.java Mon
Nov 7 09:50:34 2005
@@ -1,59 +0,0 @@
-/*====================================================================
-
-GoTM: GoTM is an open Transaction Monitor
-Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
-Contact: gotm-team@xxxxxxxxxxxxx
-
-This library 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 any later version.
-
-This library 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 library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
-
-Initial developer(s): Romain Rouvoy.
-Contributor(s): .
-
----------------------------------------------------------------------
-$Id: PublishState.java,v 1.4 2005/10/14 11:43:53 rouvoy Exp $
-====================================================================*/
-
-package org.objectweb.gotm.lib.event;
-
-import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.transaction.api.event.PublishFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 5 janv. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.4 $
- * @fractal.itf name="publish" role="client"
signature="org.objectweb.transaction.api.event.PublishFeature"
- */
-public abstract class PublishState
- extends BindablePrimitive
-{
- /* (non-Javadoc)
- * @see org.objectweb.gotm.lib.BindingComponent#clientFc()
- */
- protected String[] clientFc() {
- return new String[] {
- PublishFeature.PUBLISH_FEATURE
- };
- }
-
- /**
- * @return the publisher interface.
- */
- protected final PublishFeature getPublisher() {
- return (PublishFeature) singletonFc(PublishFeature.PUBLISH_FEATURE);
- }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java:1.5
gotm/src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java:1.5
Fri Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/PublishSyncThread.java Mon
Nov 7 09:50:34 2005
@@ -1,119 +0,0 @@
-/*====================================================================
-
-GoTM: GoTM is an open Transaction Monitor
-Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
-Contact: gotm-team@xxxxxxxxxxxxx
-
-This library 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 any later version.
-
-This library 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 library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
-
-Initial developer(s): Romain Rouvoy.
-Contributor(s): .
-
----------------------------------------------------------------------
-$Id: PublishSyncThread.java,v 1.5 2005/10/14 11:43:53 rouvoy Exp $
-====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.gotm.GoTMException;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 11 juil. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.5 $
- * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.event.SubscriberProvider"
- */
-public class PublishSyncThread
- extends BindablePrimitive
- implements PublishFeature {
- /* (non-Javadoc)
- * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
- */
- protected String[] clientFc() {
- return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER};
- }
-
- /**
- * @return the subscriber provider.
- */
- protected SubscriberProvider getProvider() {
- return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
- }
-
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.PublishFeature#notify(org.objectweb.transaction.api.event.Event,
java.util.Map)
- */
- public void notify(Event topic, Map context) {
-// if (getLogger().isLoggable(DEBUG))
-// getLogger().log(DEBUG,"Notification of the "+topic+" topic.");
- for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();) {
- Thread action = new NotifyAction((PublishFeature) i.next(),
topic,
- context);
- action.start();
- try {
- action.join();
- } catch (InterruptedException e) {
- if (getLogger().isLoggable(ERROR))
- getLogger().log(ERROR, e);
- throw new GoTMException(e);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.transaction.api.event.PublishFeature#getEvents()
- */
- public Event[] events() {
- return getProvider().listTopics();
- }
-
- /**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 11 juil. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.5 $
- * @fractal.itf
- */
- protected final class NotifyAction extends Thread {
- private Event topic ;
- private Map context ;
- private PublishFeature suscriber ;
- /**
- * @param suscriber
- * @param topic
- * @param context
- */
- public NotifyAction(PublishFeature suscriber, Event topic, Map
context) {
- this.topic = topic ;
- this.context = context ;
- this.suscriber = suscriber;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Runnable#run()
- */
- public void run() {
- this.suscriber.notify(this.topic,this.context);
- }
- }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java:1.8
gotm/src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java:1.8
Fri Oct 14 13:43:53 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/SubscribablePrimitive.java
Mon Nov 7 09:50:34 2005
@@ -1,85 +0,0 @@
-/*====================================================================
-
-GoTM: GoTM is an open Transaction Monitor
-Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
-Contact: gotm-team@xxxxxxxxxxxxx
-
-This library 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 any later version.
-
-This library 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 library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
-
-Initial developer(s): Romain Rouvoy.
-Contributor(s): .
-
----------------------------------------------------------------------
-$Id: SubscribablePrimitive.java,v 1.8 2005/10/14 11:43:53 rouvoy Exp $
-====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-
-import org.objectweb.fractal.api.control.LifeCycleController;
-import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-import org.objectweb.transaction.api.event.SubscribeFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 12 janv. 2005
- * @modified $Date: 2005/10/14 11:43:53 $
- * @version $Revision: 1.8 $
- * @fractal.itf name="subscribe" role="client"
signature="org.objectweb.transaction.api.event.SubscribeFeature"
- */
-public abstract class SubscribablePrimitive
- extends BindablePrimitive
- implements PublishFeature, LifeCycleController
- {
- /* (non-Javadoc)
- * @see org.objectweb.transaction.api.event.PublishFeature#getEvents()
- */
- public abstract Event[] events() ;
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
- */
- protected String[] clientFc() {
- return new String[] {
- SubscribeFeature.SUBSCRIBE_FEATURE
- };
- }
-
- protected SubscribeFeature getSubscriber() {
- return (SubscribeFeature)
singletonFc(SubscribeFeature.SUBSCRIBE_FEATURE);
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#loadFc()
- */
- public void startFc() {
-// if (getLogger().isLoggable(DEBUG)) getLogger().log(DEBUG,
"Subscribing to "+getEvents());
- getSubscriber().subscribe(this);
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#unloadFc()
- */
- public void stopFc() {
- getSubscriber().unsubscribe(this);
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#getLoadState()
- */
- public String getFcState() { return null; }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/SubscriberPool.java
diff -u gotm/src/java/org/objectweb/gotm/lib/event/SubscriberPool.java:1.4
gotm/src/java/org/objectweb/gotm/lib/event/SubscriberPool.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/SubscriberPool.java:1.4 Fri
Oct 21 15:15:30 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/SubscriberPool.java Mon
Nov 7 09:50:34 2005
@@ -1,140 +0,0 @@
-/*====================================================================
-
-GoTM: GoTM is an open Transaction Monitor
-Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
-Contact: gotm-team@xxxxxxxxxxxxx
-
-This library 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 any later version.
-
-This library 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 library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
-
-Initial developer(s): Romain Rouvoy.
-Contributor(s): .
-
----------------------------------------------------------------------
-$Id: SubscriberPool.java,v 1.4 2005/10/21 13:15:30 rouvoy Exp $
-====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.objectweb.fractal.api.control.LifeCycleController;
-import org.objectweb.fractal.lib.LoggablePrimitive;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-import org.objectweb.transaction.api.event.SubscribeFeature;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 11 juil. 2005
- * @modified $Date: 2005/10/21 13:15:30 $
- * @version $Revision: 1.4 $
- * @fractal.itf
- */
-public class SubscriberPool
- extends LoggablePrimitive
- implements SubscriberProvider, SubscribeFeature, LifeCycleController
{
- /**
- * Map containing all the available <code>topics</code>.
- */
- private final Map topics = new HashMap();
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#getCacheState()
- */
- public String getFcState() { return null; }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#initFc()
- */
- public void startFc() {
- // Ignored
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#clearFc()
- */
- public void stopFc() {
- this.topics.clear() ;
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.gotm.lib.event.SubscriberProvider#getTopic(org.objectweb.transaction.api.event.Event)
- */
- public Collection getTopic(Event topic) {
- Collection set = (Collection) this.topics.get(topic) ;
- if (set != null) return set;
- set = new ArrayList();
- this.topics.put(topic,set);
- return set;
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.gotm.lib.event.SubscriberProvider#listTopics()
- */
- public Event[] listTopics() {
- Set keySet = this.topics.keySet();
- return (Event[]) keySet.toArray(new Event[keySet.size()]);
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#subscribe(org.objectweb.transaction.api.event.Event,
org.objectweb.transaction.api.event.PublishFeature)
- */
- public void subscribe(Event topic, PublishFeature suscriber) {
- getTopic(topic).add(suscriber);
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.event.Event,
org.objectweb.transaction.api.event.PublishFeature)
- */
- public void unsubscribe(Event topic, PublishFeature suscriber) {
- getTopic(topic).remove(suscriber);
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#subscribe(org.objectweb.transaction.api.event.Event[],
org.objectweb.transaction.api.event.PublishFeature)
- */
- public void subscribe(Event[] topic, PublishFeature suscriber) {
- for(int i=0;i<topic.length;i++) {
- subscribe(topic[i],suscriber);
- }
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.event.Event[],
org.objectweb.transaction.api.event.PublishFeature)
- */
- public void unsubscribe(Event[] topic, PublishFeature suscriber) {
- for(int i=0;i<topic.length;i++) {
- unsubscribe(topic[i],suscriber);
- }
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#subscribe(org.objectweb.transaction.api.event.PublishFeature)
- */
- public void subscribe(PublishFeature suscriber) {
- subscribe(suscriber.events(), suscriber);
- }
-
- /* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.event.PublishFeature)
- */
- public void unsubscribe(PublishFeature suscriber) {
- unsubscribe(suscriber.events(), suscriber);
- }
-}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java:1.2
gotm/src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java:removed
--- gotm/src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java:1.2
Fri Aug 12 14:31:23 2005
+++ gotm/src/java/org/objectweb/gotm/lib/event/SubscriberProvider.java Mon
Nov 7 09:50:34 2005
@@ -1,57 +0,0 @@
-/*====================================================================
-
-GoTM: GoTM is an open Transaction Monitor
-Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
-Contact: gotm-team@xxxxxxxxxxxxx
-
-This library 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 any later version.
-
-This library 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 library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
-
-Initial developer(s): Romain Rouvoy.
-Contributor(s): .
-
----------------------------------------------------------------------
-$Id: SubscriberProvider.java,v 1.2 2005/08/12 12:31:23 rouvoy Exp $
-====================================================================*/
-package org.objectweb.gotm.lib.event;
-
-import java.util.Collection;
-
-import org.objectweb.transaction.api.Feature;
-import org.objectweb.transaction.api.event.Event;
-
-/**
- * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
- * @created 11 juil. 2005
- * @modified $Date: 2005/08/12 12:31:23 $
- * @version $Revision: 1.2 $
- * @fractal.itf name="subscriber-provider"
- */
-public interface SubscriberProvider
- extends Feature {
- /** Fractal ADL Identifier for the <code>SubscriberProvider</code>
interface. */
- public static final String SUBSCRIBER_PROVIDER = "subscriber-provider";
-
- /**
- * @param topic the identifier of the requested topic
- * @return the requested topic.
- */
- Collection getTopic(Event topic);
-
- /**
- * @return the list of available topics.
- */
- Event[] listTopics();
-}
\ No newline at end of file
Index:
gotm/src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java:1.2
gotm/src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java:1.3
---
gotm/src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java:1.2
Fri Oct 14 13:43:54 2005
+++
gotm/src/java/org/objectweb/gotm/lib/factory/TransactionFactoryObservable.java
Mon Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
- $Id: TransactionFactoryObservable.java,v 1.2 2005/10/14 11:43:54 rouvoy Exp
$
+ $Id: TransactionFactoryObservable.java,v 1.3 2005/11/07 08:50:33 rouvoy Exp
$
====================================================================*/
package org.objectweb.gotm.lib.factory;
@@ -31,16 +31,16 @@
import org.objectweb.fractal.api.Component;
import org.objectweb.fractal.api.NoSuchInterfaceException;
-import org.objectweb.transaction.api.event.PublishFeature;
-import org.objectweb.transaction.api.event.SubscribeFeature;
+import org.objectweb.transaction.api.message.PublishFeature;
+import org.objectweb.transaction.api.message.SubscribeFeature;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 29 août 2005
- * @modified $Date: 2005/10/14 11:43:54 $
- * @version $Revision: 1.2 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.3 $
* @fractal.itf name="publish" role="client"
- *
signature="org.objectweb.transaction.api.event.PublishFeature"
+ *
signature="org.objectweb.transaction.api.message.PublishFeature"
* cardinality="collection" contingency="optional"
*/
public class TransactionFactoryObservable
Index:
gotm/src/java/org/objectweb/gotm/lib/message/AbstractEventConverter.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/AbstractEventConverter.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/AbstractEventConverter.java
Mon Nov 7 09:50:32 2005
@@ -0,0 +1,63 @@
+/*====================================================================
+
+ GoTM: GoTM is an open Transaction Monitor
+ Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+ Contact: gotm-team@xxxxxxxxxxxxx
+
+ This library 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 any later version.
+
+ This library 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 library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA
+
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): .
+
+ ---------------------------------------------------------------------
+ $Id: AbstractEventConverter.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+ ====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.objectweb.fractal.lib.LoggablePrimitive;
+import org.objectweb.transaction.api.message.Event;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 1 févr. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf
+ */
+public abstract class AbstractEventConverter
+ extends LoggablePrimitive
+ implements EventConverter {
+
+ /** <code>values</code> that are handled by the converter. */
+ private Map values = new HashMap();
+
+ /**
+ * @return Returns the values.
+ */
+ protected Map getValues() {
+ return this.values;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.gotm.lib.jta.EventConverter#toValue(org.objectweb.transaction.api.message.Event)
+ */
+ public int toValue(Event evt) {
+ return ((Integer) getValues().get(evt)).intValue();
+ }
+}
Index: gotm/src/java/org/objectweb/gotm/lib/message/EventConverter.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/EventConverter.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/EventConverter.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,53 @@
+/*====================================================================
+
+ ObjectWeb GoTM project - http://gotm.objectweb.org
+ Contact: gotm@xxxxxxxxxxxxx
+
+ This library 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 any later version.
+
+ This library 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 library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA
+
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): ______________________________________.
+
+ ---------------------------------------------------------------------
+ $Id: EventConverter.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+ ====================================================================*/
+
+package org.objectweb.gotm.lib.message;
+
+import org.objectweb.transaction.api.Feature;
+import org.objectweb.transaction.api.message.Event;
+
+/**
+ * Implementation of an Event type converter.
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 22 déc. 2004
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="event-converter"
+ */
+public interface EventConverter
+ extends Feature
+{
+ /** Fractal ADL Identifier for the <code>EventConverter</code>
interface. */
+ public static final String EVENT_CONVERTER = "event-converter";
+
+ /**
+ * Converts Event type to int value.
+ * @param evt the event to convert.
+ * @return the value of the requested event.
+ */
+ public int toValue(Event evt) ;
+}
Index: gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncPool.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncPool.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncPool.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,111 @@
+/*====================================================================
+
+ GoTM: GoTM is an open Transaction Monitor
+ Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+ Contact: gotm-team@xxxxxxxxxxxxx
+
+ This library 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 any later version.
+
+ This library 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 library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA
+
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): .
+
+ ---------------------------------------------------------------------
+ $Id: PublishASyncPool.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+ ====================================================================*/
+
+package org.objectweb.gotm.lib.message;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.objectweb.fractal.lib.BindablePrimitive;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+import org.objectweb.util.thread.api.RunnableManager;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 5 janv. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="runnable-manager" role="client"
signature="org.objectweb.util.thread.api.RunnableManager"
+ * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.message.SubscriberProvider"
+ */
+public class PublishASyncPool
+extends BindablePrimitive
+implements PublishFeature
+{
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
+ */
+ protected String[] clientFc() {
+ return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER,
RunnableManager.RUNNABLE_MANAGER};
+ }
+
+ /**
+ * @return the runnable manager bound to the current component
+ */
+ protected final RunnableManager getRunnableManager() {
+ return (RunnableManager)
singletonFc(RunnableManager.RUNNABLE_MANAGER);
+ }
+
+ /**
+ * @return the subscriber provider.
+ */
+ protected SubscriberProvider getProvider() {
+ return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.gotm.lib.topic.PublishFeature#notify(java.lang.String,
java.util.Map)
+ */
+ public void notify(Event topic, Map context) {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG,"Notification of the "+topic+" topic.");
+ for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();)
+ getRunnableManager().submitRunnable(new
NotifyAction((PublishFeature)i.next(),topic,context));
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.transaction.api.message.PublishFeature#getEvents()
+ */
+ public Event[] events() {
+ return getProvider().listTopics();
+ }
+
+ private final class NotifyAction implements Runnable {
+ private Event topic ;
+ private Map context ;
+ private PublishFeature subscriber ;
+ /**
+ * @param subscriber
+ * @param topic
+ * @param context
+ */
+ public NotifyAction(PublishFeature subscriber, Event topic, Map
context) {
+ this.topic = topic ;
+ this.context = context ;
+ this.subscriber = subscriber;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ this.subscriber.notify(this.topic,this.context);
+ }
+ }
+}
Index: gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncThread.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncThread.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/PublishASyncThread.java
Mon Nov 7 09:50:32 2005
@@ -0,0 +1,74 @@
+/*====================================================================
+
+ GoTM: GoTM is an open Transaction Monitor
+ Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+ Contact: gotm-team@xxxxxxxxxxxxx
+
+ This library 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 any later version.
+
+ This library 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 library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA
+
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): .
+
+ ---------------------------------------------------------------------
+ $Id: PublishASyncThread.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+ ====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Vector;
+
+import org.objectweb.gotm.GoTMException;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 11 juil. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf
+ */
+public class PublishASyncThread
+ extends PublishSyncThread {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.objectweb.transaction.api.message.PublishFeature#notify(org.objectweb.transaction.api.message.Event,
+ * java.util.Map)
+ */
+ public void notify(Event topic, Map context) {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "Notification of the " + topic + "
topic.");
+ Vector actions = new Vector();
+ for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();) {
+ Thread action = new NotifyAction((PublishFeature) i.next(),
topic,
+ context);
+ actions.add(action);
+ action.start();
+ }
+ for (Iterator i = actions.iterator(); i.hasNext();) {
+ try {
+ ((Thread) i.next()).join();
+ } catch (InterruptedException e) {
+ if (getLogger().isLoggable(ERROR))
+ getLogger().log(ERROR, e);
+ throw new GoTMException(e);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/PublishSimple.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/PublishSimple.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/PublishSimple.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,81 @@
+/*====================================================================
+
+ GoTM: GoTM is an open Transaction Monitor
+ Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+ Contact: gotm-team@xxxxxxxxxxxxx
+
+ This library 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 any later version.
+
+ This library 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 library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ USA
+
+ Initial developer(s): Romain Rouvoy.
+ Contributor(s): .
+
+ ---------------------------------------------------------------------
+ $Id: PublishSimple.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+ ====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.objectweb.fractal.lib.BindablePrimitive;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 12 janv. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.message.SubscriberProvider"
+ */
+public class PublishSimple
+ extends BindablePrimitive
+ implements PublishFeature {
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
+ */
+ protected String[] clientFc() {
+ return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER};
+ }
+
+ /**
+ * @return the subscriber provider.
+ */
+ protected final SubscriberProvider getProvider() {
+ return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
org.objectweb.gotm.lib.topic.PublishFeature#notify(java.lang.String,
+ * java.util.Map)
+ */
+ public void notify(Event topic, Map context) {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "Notifying of topic " + topic + " to
"+getProvider().getTopic(topic).size()+" subscriber(s)");
+ for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();)
+ ((PublishFeature) i.next()).notify(topic, context);
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.transaction.api.message.PublishFeature#getEvents()
+ */
+ public Event[] events() {
+ return getProvider().listTopics();
+ }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/PublishState.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/PublishState.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/PublishState.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,59 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library 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 any later version.
+
+This library 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 library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: PublishState.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+====================================================================*/
+
+package org.objectweb.gotm.lib.message;
+
+import org.objectweb.fractal.lib.BindablePrimitive;
+import org.objectweb.transaction.api.message.PublishFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 5 janv. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="publish" role="client"
signature="org.objectweb.transaction.api.message.PublishFeature"
+ */
+public abstract class PublishState
+ extends BindablePrimitive
+{
+ /* (non-Javadoc)
+ * @see org.objectweb.gotm.lib.BindingComponent#clientFc()
+ */
+ protected String[] clientFc() {
+ return new String[] {
+ PublishFeature.PUBLISH_FEATURE
+ };
+ }
+
+ /**
+ * @return the publisher interface.
+ */
+ protected final PublishFeature getPublisher() {
+ return (PublishFeature) singletonFc(PublishFeature.PUBLISH_FEATURE);
+ }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/PublishSyncThread.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/PublishSyncThread.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/PublishSyncThread.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,119 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library 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 any later version.
+
+This library 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 library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: PublishSyncThread.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.objectweb.fractal.lib.BindablePrimitive;
+import org.objectweb.gotm.GoTMException;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 11 juil. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="subscriber-provider" role="client"
signature="org.objectweb.gotm.lib.message.SubscriberProvider"
+ */
+public class PublishSyncThread
+ extends BindablePrimitive
+ implements PublishFeature {
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
+ */
+ protected String[] clientFc() {
+ return new String[] {SubscriberProvider.SUBSCRIBER_PROVIDER};
+ }
+
+ /**
+ * @return the subscriber provider.
+ */
+ protected SubscriberProvider getProvider() {
+ return (SubscriberProvider)
singletonFc(SubscriberProvider.SUBSCRIBER_PROVIDER);
+ }
+
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.PublishFeature#notify(org.objectweb.transaction.api.message.Event,
java.util.Map)
+ */
+ public void notify(Event topic, Map context) {
+// if (getLogger().isLoggable(DEBUG))
+// getLogger().log(DEBUG,"Notification of the "+topic+" topic.");
+ for (Iterator i = getProvider().getTopic(topic).iterator();
i.hasNext();) {
+ Thread action = new NotifyAction((PublishFeature) i.next(),
topic,
+ context);
+ action.start();
+ try {
+ action.join();
+ } catch (InterruptedException e) {
+ if (getLogger().isLoggable(ERROR))
+ getLogger().log(ERROR, e);
+ throw new GoTMException(e);
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.transaction.api.message.PublishFeature#getEvents()
+ */
+ public Event[] events() {
+ return getProvider().listTopics();
+ }
+
+ /**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 11 juil. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf
+ */
+ protected final class NotifyAction extends Thread {
+ private Event topic ;
+ private Map context ;
+ private PublishFeature suscriber ;
+ /**
+ * @param suscriber
+ * @param topic
+ * @param context
+ */
+ public NotifyAction(PublishFeature suscriber, Event topic, Map
context) {
+ this.topic = topic ;
+ this.context = context ;
+ this.suscriber = suscriber;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ this.suscriber.notify(this.topic,this.context);
+ }
+ }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/SubscribablePrimitive.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/SubscribablePrimitive.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/SubscribablePrimitive.java
Mon Nov 7 09:50:32 2005
@@ -0,0 +1,88 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library 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 any later version.
+
+This library 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 library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: SubscribablePrimitive.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+
+import java.util.Arrays;
+
+import org.objectweb.fractal.api.control.CacheController;
+import org.objectweb.fractal.lib.BindablePrimitive;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+import org.objectweb.transaction.api.message.SubscribeFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 12 janv. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="subscribe" role="client"
signature="org.objectweb.transaction.api.message.SubscribeFeature"
+ */
+public abstract class SubscribablePrimitive
+ extends BindablePrimitive
+ implements PublishFeature, CacheController
+ {
+ /* (non-Javadoc)
+ * @see org.objectweb.transaction.api.message.PublishFeature#getEvents()
+ */
+ public abstract Event[] events() ;
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.lib.BindablePrimitive#clientFc()
+ */
+ protected String[] clientFc() {
+ return new String[] {
+ SubscribeFeature.SUBSCRIBE_FEATURE
+ };
+ }
+
+ protected SubscribeFeature getSubscriber() {
+ return (SubscribeFeature)
singletonFc(SubscribeFeature.SUBSCRIBE_FEATURE);
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#initFc()
+ */
+ public void initFc() {
+ if (getLogger().isLoggable(DEBUG)) getLogger().log(DEBUG,
"Subscribing to "+Arrays.asList(events()));
+ getSubscriber().subscribe(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#clearFc()
+ */
+ public void clearFc() {
+ if (getLogger().isLoggable(DEBUG)) getLogger().log(DEBUG,
"Unsubscribing to "+Arrays.asList(events()));
+ getSubscriber().unsubscribe(this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#getCacheState()
+ */
+ public String getCacheState() { return null; }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/SubscriberPool.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/SubscriberPool.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/SubscriberPool.java Mon
Nov 7 09:50:32 2005
@@ -0,0 +1,148 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library 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 any later version.
+
+This library 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 library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: SubscriberPool.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.objectweb.fractal.api.control.CacheController;
+import org.objectweb.fractal.lib.LoggablePrimitive;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+import org.objectweb.transaction.api.message.SubscribeFeature;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 11 juil. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf
+ */
+public class SubscriberPool
+ extends LoggablePrimitive
+ implements SubscriberProvider, SubscribeFeature, CacheController {
+ /**
+ * Map containing all the available <code>topics</code>.
+ */
+ private final Map topics = new HashMap();
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#getCacheState()
+ */
+ public String getCacheState() { return null; }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#initFc()
+ */
+ public void initFc() {
+ // Ignored
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.fractal.api.control.CacheController#clearFc()
+ */
+ public void clearFc() {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "Clearing the Subscribers enlisted");
+ this.topics.clear() ;
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.gotm.lib.message.SubscriberProvider#getTopic(org.objectweb.transaction.api.message.Event)
+ */
+ public Collection getTopic(Event topic) {
+ Collection set = (Collection) this.topics.get(topic) ;
+ if (set != null) return set;
+ set = new ArrayList();
+ this.topics.put(topic,set);
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "getTopic("+topic+") provides
"+set.size()+" elements");
+ return set;
+ }
+
+ /* (non-Javadoc)
+ * @see org.objectweb.gotm.lib.message.SubscriberProvider#listTopics()
+ */
+ public Event[] listTopics() {
+ Set keySet = this.topics.keySet();
+ return (Event[]) keySet.toArray(new Event[keySet.size()]);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#subscribe(org.objectweb.transaction.api.message.Event,
org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void subscribe(Event topic, PublishFeature subscriber) {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, subscriber+" subcribes to "+topic);
+ getTopic(topic).add(subscriber);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.message.Event,
org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void unsubscribe(Event topic, PublishFeature subscriber) {
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, subscriber+" unsubcribes from "+topic);
+ getTopic(topic).remove(subscriber);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#subscribe(org.objectweb.transaction.api.message.Event[],
org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void subscribe(Event[] topic, PublishFeature subscriber) {
+ for(int i=0;i<topic.length;i++) {
+ subscribe(topic[i],subscriber);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.message.Event[],
org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void unsubscribe(Event[] topic, PublishFeature suscriber) {
+ for(int i=0;i<topic.length;i++) {
+ unsubscribe(topic[i],suscriber);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#subscribe(org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void subscribe(PublishFeature suscriber) {
+ subscribe(suscriber.events(), suscriber);
+ }
+
+ /* (non-Javadoc)
+ * @see
org.objectweb.transaction.api.message.SubscribeFeature#unsubscribe(org.objectweb.transaction.api.message.PublishFeature)
+ */
+ public void unsubscribe(PublishFeature suscriber) {
+ unsubscribe(suscriber.events(), suscriber);
+ }
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/message/SubscriberProvider.java
diff -u /dev/null
gotm/src/java/org/objectweb/gotm/lib/message/SubscriberProvider.java:1.1
--- /dev/null Mon Nov 7 09:50:34 2005
+++ gotm/src/java/org/objectweb/gotm/lib/message/SubscriberProvider.java
Mon Nov 7 09:50:32 2005
@@ -0,0 +1,57 @@
+/*====================================================================
+
+GoTM: GoTM is an open Transaction Monitor
+Copyright (C) 2003-2005 INRIA - Jacquard & USTL - LIFL - GOAL
+Contact: gotm-team@xxxxxxxxxxxxx
+
+This library 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 any later version.
+
+This library 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 library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+USA
+
+Initial developer(s): Romain Rouvoy.
+Contributor(s): .
+
+---------------------------------------------------------------------
+$Id: SubscriberProvider.java,v 1.1 2005/11/07 08:50:32 rouvoy Exp $
+====================================================================*/
+package org.objectweb.gotm.lib.message;
+
+import java.util.Collection;
+
+import org.objectweb.transaction.api.Feature;
+import org.objectweb.transaction.api.message.Event;
+
+/**
+ * @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
+ * @created 11 juil. 2005
+ * @modified $Date: 2005/11/07 08:50:32 $
+ * @version $Revision: 1.1 $
+ * @fractal.itf name="subscriber-provider"
+ */
+public interface SubscriberProvider
+ extends Feature {
+ /** Fractal ADL Identifier for the <code>SubscriberProvider</code>
interface. */
+ public static final String SUBSCRIBER_PROVIDER = "subscriber-provider";
+
+ /**
+ * @param topic the identifier of the requested topic
+ * @return the requested topic.
+ */
+ Collection getTopic(Event topic);
+
+ /**
+ * @return the list of available topics.
+ */
+ Event[] listTopics();
+}
\ No newline at end of file
Index: gotm/src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java
diff -u gotm/src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java:1.3
gotm/src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java:1.4
--- gotm/src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java:1.3 Fri
Oct 14 13:43:54 2005
+++ gotm/src/java/org/objectweb/gotm/lib/probe/ProbeAbstract.java Mon
Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ProbeAbstract.java,v 1.3 2005/10/14 11:43:54 rouvoy Exp $
+$Id: ProbeAbstract.java,v 1.4 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.probe;
@@ -32,14 +32,14 @@
import org.objectweb.fractal.lib.BindablePrimitive;
import org.objectweb.gotm.lib.factory.Configurable;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 3 août 2005
- * @modified $Date: 2005/10/14 11:43:54 $
- * @version $Revision: 1.3 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.4 $
* @fractal.itf name="configurable" role="client"
signature="org.objectweb.gotm.lib.factory.Configurable"
*/
public abstract class ProbeAbstract
@@ -64,7 +64,7 @@
}
/* (non-Javadoc)
- * @see
org.objectweb.transaction.api.event.PublishFeature#notify(org.objectweb.transaction.api.event.Event,
java.util.Map)
+ * @see
org.objectweb.transaction.api.message.PublishFeature#notify(org.objectweb.transaction.api.message.Event,
java.util.Map)
*/
public void notify(Event topic, Map context) {
occurrences.addFirst(topic);
Index: gotm/src/java/org/objectweb/gotm/lib/resource/ActionProvider.java
diff -u gotm/src/java/org/objectweb/gotm/lib/resource/ActionProvider.java:1.4
gotm/src/java/org/objectweb/gotm/lib/resource/ActionProvider.java:1.5
--- gotm/src/java/org/objectweb/gotm/lib/resource/ActionProvider.java:1.4
Tue Aug 16 15:36:17 2005
+++ gotm/src/java/org/objectweb/gotm/lib/resource/ActionProvider.java Mon
Nov 7 09:50:33 2005
@@ -23,18 +23,18 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ActionProvider.java,v 1.4 2005/08/16 13:36:17 rouvoy Exp $
+$Id: ActionProvider.java,v 1.5 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
-import org.objectweb.transaction.api.event.Event;
+import org.objectweb.transaction.api.message.Event;
/**
* Interface providing all the actions handled by a kind of resource.
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 4 juil. 2005
- * @modified $Date: 2005/08/16 13:36:17 $
- * @version $Revision: 1.4 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.5 $
* @fractal.itf name="action-provider"
*/
public interface ActionProvider {
Index:
gotm/src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java:1.4
gotm/src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java:1.5
---
gotm/src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java:1.4
Tue Aug 16 15:36:18 2005
+++ gotm/src/java/org/objectweb/gotm/lib/resource/ActionProviderAbstract.java
Mon Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ActionProviderAbstract.java,v 1.4 2005/08/16 13:36:18 rouvoy Exp $
+$Id: ActionProviderAbstract.java,v 1.5 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
@@ -31,13 +31,13 @@
import java.util.Set;
import org.objectweb.fractal.lib.BindablePrimitive;
-import org.objectweb.transaction.api.event.Event;
+import org.objectweb.transaction.api.message.Event;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 4 juil. 2005
- * @modified $Date: 2005/08/16 13:36:18 $
- * @version $Revision: 1.4 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.5 $
* @fractal.itf
*/
public abstract class ActionProviderAbstract
Index:
gotm/src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java:1.2
gotm/src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java:1.3
---
gotm/src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java:1.2
Tue Aug 16 15:36:17 2005
+++
gotm/src/java/org/objectweb/gotm/lib/resource/NoActionAvailableException.java
Mon Nov 7 09:50:33 2005
@@ -23,18 +23,18 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: NoActionAvailableException.java,v 1.2 2005/08/16 13:36:17 rouvoy Exp $
+$Id: NoActionAvailableException.java,v 1.3 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
import org.objectweb.gotm.GoTMException;
-import org.objectweb.transaction.api.event.Event;
+import org.objectweb.transaction.api.message.Event;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 8 juil. 2005
- * @modified $Date: 2005/08/16 13:36:17 $
- * @version $Revision: 1.2 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.3 $
*/
public class NoActionAvailableException
extends GoTMException {
Index: gotm/src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java:1.3
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java:1.4
---
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java:1.3
Tue Aug 16 15:36:17 2005
+++ gotm/src/java/org/objectweb/gotm/lib/resource/ResourceDelistEvent.java
Mon Nov 7 09:50:33 2005
@@ -23,18 +23,18 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ResourceDelistEvent.java,v 1.3 2005/08/16 13:36:17 rouvoy Exp $
+$Id: ResourceDelistEvent.java,v 1.4 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.lib.event.EventAbstract;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.lib.message.EventAbstract;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 13 juil. 2005
- * @modified $Date: 2005/08/16 13:36:17 $
- * @version $Revision: 1.3 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.4 $
*/
public class ResourceDelistEvent
extends EventAbstract {
@@ -49,7 +49,7 @@
}
/* (non-Javadoc)
- * @see org.objectweb.transaction.lib.event.EventAbstract#getEvent()
+ * @see org.objectweb.transaction.lib.message.EventAbstract#getEvent()
*/
public Event event() {
return event;
Index: gotm/src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java:1.3
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java:1.4
---
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java:1.3
Tue Aug 16 15:36:17 2005
+++ gotm/src/java/org/objectweb/gotm/lib/resource/ResourceEnlistEvent.java
Mon Nov 7 09:50:33 2005
@@ -23,18 +23,18 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ResourceEnlistEvent.java,v 1.3 2005/08/16 13:36:17 rouvoy Exp $
+$Id: ResourceEnlistEvent.java,v 1.4 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.lib.event.EventAbstract;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.lib.message.EventAbstract;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 13 juil. 2005
- * @modified $Date: 2005/08/16 13:36:17 $
- * @version $Revision: 1.3 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.4 $
*/
public class ResourceEnlistEvent
extends EventAbstract {
@@ -49,7 +49,7 @@
}
/* (non-Javadoc)
- * @see org.objectweb.transaction.lib.event.EventAbstract#getEvent()
+ * @see org.objectweb.transaction.lib.message.EventAbstract#getEvent()
*/
public Event event() {
return event;
Index:
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java:1.6
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java:1.7
---
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java:1.6
Fri Oct 14 13:43:54 2005
+++
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerAbstract.java
Mon Nov 7 09:50:33 2005
@@ -23,7 +23,7 @@
Contributor(s): .
---------------------------------------------------------------------
-$Id: ResourceManagerAbstract.java,v 1.6 2005/10/14 11:43:54 rouvoy Exp $
+$Id: ResourceManagerAbstract.java,v 1.7 2005/11/07 08:50:33 rouvoy Exp $
====================================================================*/
package org.objectweb.gotm.lib.resource;
@@ -34,19 +34,19 @@
import java.util.Map;
import org.objectweb.fractal.api.control.CacheController;
-import org.objectweb.gotm.lib.event.SubscribablePrimitive;
+import org.objectweb.gotm.lib.message.SubscribablePrimitive;
import org.objectweb.gotm.lib.transaction.InvalidStateException;
-import org.objectweb.transaction.api.event.Event;
-import org.objectweb.transaction.api.event.PublishFeature;
-import org.objectweb.transaction.api.event.SubscribeFeature;
+import org.objectweb.transaction.api.message.Event;
+import org.objectweb.transaction.api.message.PublishFeature;
+import org.objectweb.transaction.api.message.SubscribeFeature;
import org.objectweb.transaction.api.transaction.TransactionState;
import
org.objectweb.transaction.lib.transaction.TransactionStatusTransactionActive;
/**
* @author <a href="mailto:Romain.Rouvoy@xxxxxxx">Romain Rouvoy</a>
* @created 4 juil. 2005
- * @modified $Date: 2005/10/14 11:43:54 $
- * @version $Revision: 1.6 $
+ * @modified $Date: 2005/11/07 08:50:33 $
+ * @version $Revision: 1.7 $
* @fractal.itf name="action-provider" role="client"
signature="org.objectweb.gotm.lib.resource.ActionProvider"
* @fractal.itf name="tx-state" role="client"
signature="org.objectweb.transaction.api.transaction.TransactionState"
*/
@@ -95,7 +95,7 @@
}
/* (non-Javadoc)
- * @see org.objectweb.gotm.lib.event.SubscribablePrimitive#getEvents()
+ * @see org.objectweb.gotm.lib.message.SubscribablePrimitive#getEvents()
*/
public Event[] events() {
return actionProvider().events();
@@ -107,7 +107,6 @@
* @see org.objectweb.fractal.api.control.CacheController#initFc()
*/
public void startFc() {
- super.startFc();
try {
this.enlist = actionProvider().action(ResourceEnlistEvent.event);
} catch (NoActionAvailableException e) {
@@ -121,23 +120,12 @@
}
/* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#getCacheState()
- */
- public String getCacheState() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.objectweb.fractal.api.control.CacheController#initFc()
- */
- public void initFc() {
- // empty
- }
-
- /* (non-Javadoc)
* @see org.objectweb.fractal.api.control.CacheController#clearFc()
*/
public void clearFc() {
+ super.clearFc();
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "Clearing the resources enlisted");
this.added.clear();
this.removed.clear();
}
@@ -145,12 +133,12 @@
/*
* (non-Javadoc)
*
- * @see
org.objectweb.gotm.lib.event.Resource#addResource(java.lang.Object)
+ * @see
org.objectweb.gotm.lib.message.Resource#addResource(java.lang.Object)
*/
public void addResource(final Object wrapped) {
- if
(txState().getStatus()==TransactionStatusTransactionActive.status) {
-// if (getLogger().isLoggable(DEBUG))
-// getLogger().log(DEBUG, "Enlisting a resource with action
"+enlist);
+ if
(txState().checkStatus(TransactionStatusTransactionActive.status)) {
+ if (getLogger().isLoggable(DEBUG) && enlist != null)
+ getLogger().log(DEBUG, "Enlisting a resource with action
"+enlist);
synchronized (this.added) {
this.added.add(wrapped);
}
@@ -165,9 +153,9 @@
* @see
org.objectweb.gotm.lib.resource.ResourceManager#delResource(java.lang.Object)
*/
public void delResource(final Object wrapped) {
- if
(txState().getStatus()==TransactionStatusTransactionActive.status) {
-// if (getLogger().isLoggable(DEBUG))
-// getLogger().log(DEBUG, "Delisting a resource with action
"+delist);
+ if
(txState().checkStatus(TransactionStatusTransactionActive.status)) {
+ if (getLogger().isLoggable(DEBUG) && delist != null)
+ getLogger().log(DEBUG, "Delisting a resource with action
"+delist);
synchronized (this.added) {
this.added.remove(wrapped);
}
@@ -187,12 +175,12 @@
}
/* (non-Javadoc)
- * @see org.objectweb.transaction.api.event.PublishFeature#notify(int,
java.util.Map)
+ * @see org.objectweb.transaction.api.message.PublishFeature#notify(int,
java.util.Map)
*/
public synchronized void notify(Event topic, Map context1) {
Action action = actionProvider().action(topic);
-// if (getLogger().isLoggable(DEBUG))
-// getLogger().log(DEBUG, "Executing topic "+topic+" on resources
("+this.added.size()+", "+this.removed.size()+") with action "+action);
+ if (getLogger().isLoggable(DEBUG))
+ getLogger().log(DEBUG, "Executing topic "+topic+" on resources
("+this.added.size()+", "+this.removed.size()+") with action "+action);
for (Iterator i = this.added.iterator() ; i.hasNext() ;)
execute(action, i.next(), context1);
for (Iterator i = this.removed.iterator() ; i.hasNext() ;)
Index: gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java
diff -u
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java:1.4
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java:1.5
---
gotm/src/java/org/objectweb/gotm/lib/resource/ResourceManagerImpl.java:1.4
Fri Aug 5 17