Overlord SVN: r156 - in sam/trunk: src/test/java/org/jboss/test/sam/samples/aggregation and 2 other directories.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-14 11:45:24 -0400 (Mon, 14 Jul 2008)
New Revision: 156
Modified:
sam/trunk/SAM.iws
sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java
Log:
Docs and comments
Modified: sam/trunk/SAM.iws
===================================================================
--- sam/trunk/SAM.iws 2008-07-14 15:45:07 UTC (rev 155)
+++ sam/trunk/SAM.iws 2008-07-14 15:45:24 UTC (rev 156)
@@ -21,17 +21,18 @@
<list default="true" name="Default" comment="">
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" />
- <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" />
- <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java" />
+ <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" />
+ <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/SAM.iws" afterPath="$PROJECT_DIR$/SAM.iws" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java" afterPath="" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" />
</list>
</component>
@@ -103,6 +104,21 @@
<disable_hints />
</component>
<component name="DebuggerManager">
+ <line_breakpoints>
+ <breakpoint url="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" line="641" class="org.javasim.SimulationProcess" package="org.javasim">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ </line_breakpoints>
<breakpoint_any>
<breakpoint>
<option name="NOTIFY_CAUGHT" value="true" />
@@ -174,89 +190,15 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="AggregationTestCase.java" pinned="false" current="false" current-in-tab="false">
+ <file leaf-file-name="AggregationTestCase.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="145" column="27" selection-start="4634" selection-end="4634" vertical-scroll-proportion="2.5054283">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="LightSwitchEventMessage.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="26" column="27" selection-start="1159" selection-end="1159" vertical-scroll-proportion="0.13751508">
+ <state line="125" column="45" selection-start="3958" selection-end="3958" vertical-scroll-proportion="2.153483">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="PatternTestCase.java" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="171" column="99" selection-start="5479" selection-end="5479" vertical-scroll-proportion="0.6830467">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="EventAdapter.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="101" column="50" selection-start="2690" selection-end="2690" vertical-scroll-proportion="0.95416164">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="SensorMessageFactory.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorMessageFactory.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="52" column="4" selection-start="1680" selection-end="1846" vertical-scroll-proportion="0.64173704">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="EsperRuntimeImpl.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EsperRuntimeImpl.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="109" column="0" selection-start="3486" selection-end="3486" vertical-scroll-proportion="0.09408926">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="EventSimulation.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="143" column="38" selection-start="5178" selection-end="5178" vertical-scroll-proportion="0.45476478">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="OrderEventMessage.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="26" column="19" selection-start="1155" selection-end="1155" vertical-scroll-proportion="0.13751508">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="EventProcessorFactory.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/EventProcessorFactory.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="41" column="34" selection-start="1429" selection-end="1429" vertical-scroll-proportion="0.4354644">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
</leaf>
</component>
<component name="FindManager">
@@ -270,8 +212,8 @@
<option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
</component>
<component name="HighlightingSettingsPerFile">
- <setting file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" root0="SKIP_INSPECTION" />
<setting file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSourceEntity.java" root0="SKIP_INSPECTION" />
+ <setting file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" root0="SKIP_INSPECTION" />
</component>
<component name="InspectionManager">
<option name="AUTOSCROLL_TO_SOURCE" value="false" />
@@ -841,201 +783,7 @@
<option name="myItemId" value="javasim" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
</PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="SAM.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="SAM.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/interrupt" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="SAM.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="SAM.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="SAM.ipr" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleGroupNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="javasim-trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -1049,7 +797,7 @@
<showLibraryContents />
<hideEmptyPackages ProjectPane="false" />
<abbreviatePackageNames />
- <showStructure Scope="false" ProjectPane="false" PackagesPane="false" Favorites="false" />
+ <showStructure PackagesPane="false" ProjectPane="false" Scope="false" Favorites="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -1104,14 +852,14 @@
</key>
</component>
<component name="RestoreUpdateTree" />
- <component name="RunManager" selected="JUnit.AggregationTestCase">
- <tempConfiguration default="false" name="AggregationTestCase" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
- <pattern value="org.jboss.test.sam.samples.aggregation.*" />
+ <component name="RunManager" selected="Remote.client">
+ <tempConfiguration default="false" name="SimulationTestCase" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+ <pattern value="org.jboss.test.sam.simulation.*" />
<module name="sam-trunk" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" value="org.jboss.test.sam.samples.aggregation" />
- <option name="MAIN_CLASS_NAME" value="org.jboss.test.sam.samples.aggregation.AggregationTestCase" />
+ <option name="PACKAGE_NAME" value="org.jboss.test.sam.simulation" />
+ <option name="MAIN_CLASS_NAME" value="org.jboss.test.sam.simulation.SimulationTestCase" />
<option name="METHOD_NAME" />
<option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" />
@@ -1121,24 +869,24 @@
<option name="TEST_SEARCH_SCOPE">
<value defaultName="wholeProject" />
</option>
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="60790" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="true" />
+ </RunnerSettings>
<RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Debug" />
<ConfigurationWrapper RunnerId="Run" />
<method>
<option name="Make" value="false" />
</method>
</tempConfiguration>
- <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
- <option name="MAIN_CLASS_NAME" />
- <option name="VM_PARAMETERS" />
- <option name="PROGRAM_PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="ENABLE_SWING_INSPECTOR" value="false" />
- <module name="" />
- <method>
- <option name="Make" value="true" />
- </method>
+ <configuration default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
<module name="" />
@@ -1171,12 +919,18 @@
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
</configuration>
- <configuration default="true" type="Remote" factoryName="Remote">
- <option name="USE_SOCKET_TRANSPORT" value="true" />
- <option name="SERVER_MODE" value="false" />
- <option name="SHMEM_ADDRESS" value="javadebug" />
- <option name="HOST" value="localhost" />
- <option name="PORT" value="5005" />
+ <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+ <option name="MAIN_CLASS_NAME" />
+ <option name="VM_PARAMETERS" />
+ <option name="PROGRAM_PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <module name="" />
+ <method>
+ <option name="Make" value="true" />
+ </method>
</configuration>
<configuration default="false" name="client" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
@@ -1418,13 +1172,6 @@
<option name="myLastEditedConfigurable" value="IDE Profiles" />
</component>
<component name="editorHistoryManager">
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/PrecisionHistogram.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="243" column="12" selection-start="6168" selection-end="6168" vertical-scroll-proportion="0.1570248">
- <folding />
- </state>
- </provider>
- </entry>
<entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Quantile.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="8" selection-start="2393" selection-end="2393" vertical-scroll-proportion="0.6635183">
@@ -1446,39 +1193,37 @@
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/EventProcessorFactory.java">
+ <entry file="file://$PROJECT_DIR$/src/test/resources/samples/esper-default-cfg.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="41" column="34" selection-start="1429" selection-end="1429" vertical-scroll-proportion="0.4354644">
+ <state line="7" column="0" selection-start="300" selection-end="300" vertical-scroll-proportion="0.1570248">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/resources/samples/esper-default-cfg.xml">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="7" column="0" selection-start="300" selection-end="300" vertical-scroll-proportion="0.1570248">
+ <state line="26" column="27" selection-start="1159" selection-end="1159" vertical-scroll-proportion="0.13751508">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="54" column="34" selection-start="2039" selection-end="2039" vertical-scroll-proportion="0.76269186">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="101" column="50" selection-start="2690" selection-end="2690" vertical-scroll-proportion="0.6875754">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EsperRuntimeImpl.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorMessageFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="109" column="0" selection-start="3486" selection-end="3486" vertical-scroll-proportion="0.09408926">
+ <state line="52" column="4" selection-start="1680" selection-end="1846" vertical-scroll-proportion="0.64173704">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EsperRuntimeImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="143" column="38" selection-start="5178" selection-end="5178" vertical-scroll-proportion="0.45476478">
+ <state line="109" column="0" selection-start="3486" selection-end="3486" vertical-scroll-proportion="0.02291918">
<folding />
</state>
</provider>
@@ -1490,43 +1235,48 @@
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/EventProcessorFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="101" column="50" selection-start="2690" selection-end="2690" vertical-scroll-proportion="0.95416164">
+ <state line="41" column="34" selection-start="1429" selection-end="1429" vertical-scroll-proportion="0.4354644">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorMessageFactory.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="52" column="4" selection-start="1680" selection-end="1846" vertical-scroll-proportion="0.64173704">
+ <state line="30" column="28" selection-start="1243" selection-end="1243" vertical-scroll-proportion="0.023341523">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="145" column="27" selection-start="4634" selection-end="4634" vertical-scroll-proportion="2.5054283">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="49" column="60" selection-start="1828" selection-end="1828" vertical-scroll-proportion="0.112183355">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="26" column="27" selection-start="1159" selection-end="1159" vertical-scroll-proportion="0.13751508">
+ <state line="224" column="36" selection-start="6832" selection-end="6832" vertical-scroll-proportion="0.08685163">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
+ <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="171" column="99" selection-start="5479" selection-end="5479" vertical-scroll-proportion="0.6830467">
+ <state line="640" column="52" selection-start="15820" selection-end="15820" vertical-scroll-proportion="0.42702052">
<folding />
</state>
</provider>
</entry>
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="125" column="45" selection-start="3958" selection-end="3958" vertical-scroll-proportion="2.153483">
+ <folding />
+ </state>
+ </provider>
+ </entry>
</component>
</project>
Modified: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java 2008-07-14 15:45:07 UTC (rev 155)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java 2008-07-14 15:45:24 UTC (rev 156)
@@ -33,7 +33,7 @@
import java.io.IOException;
/**
- * A simple aggregation sample that uses two statments:
+ * A simple aggregation sample that uses two statements:
* <ul>
* <li>One to aggregate high value orders (unbound)
* <li>Anotherone that forwards the aggregated results to a monitor (bound)
Modified: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-14 15:45:07 UTC (rev 155)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-14 15:45:24 UTC (rev 156)
@@ -28,7 +28,7 @@
import java.util.Properties;
/**
- * Use the simulation API to test pattern detection
+ * A simple pattern example.
*
* @author Heiko.Braun <heiko.braun(a)jboss.com>
*/
Modified: sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java 2008-07-14 15:45:07 UTC (rev 155)
+++ sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java 2008-07-14 15:45:24 UTC (rev 156)
@@ -86,5 +86,5 @@
EventMessage lastEventMessage = context.getAttachment(EventMessage.class);
assertNotNull(lastEventMessage);
assertEquals(12.00, lastEventMessage.getProperty("surveyValue"));
- }
+ }
}
15 years, 10 months
Overlord SVN: r155 - sam/trunk/src/main/java/org/jboss/sam/simulation.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-14 11:45:07 -0400 (Mon, 14 Jul 2008)
New Revision: 155
Modified:
sam/trunk/src/main/java/org/jboss/sam/simulation/EventSimulation.java
Log:
Signature change
Modified: sam/trunk/src/main/java/org/jboss/sam/simulation/EventSimulation.java
===================================================================
--- sam/trunk/src/main/java/org/jboss/sam/simulation/EventSimulation.java 2008-07-14 14:21:06 UTC (rev 154)
+++ sam/trunk/src/main/java/org/jboss/sam/simulation/EventSimulation.java 2008-07-14 15:45:07 UTC (rev 155)
@@ -31,7 +31,6 @@
import org.jboss.sam.internal.stream.InVMStreamInput;
import org.jboss.sam.internal.stream.InVMDispatcher;
import org.javasim.Scheduler;
-import org.javasim.util.ThreadUtil;
import java.net.URL;
import java.util.ArrayList;
@@ -223,7 +222,7 @@
try
{
// wait for main thread
- waitUntilMainSuspended();
+ waitForMainSuspended();
// [HB] System.out.println("Running " + this);
15 years, 10 months
Overlord SVN: r154 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src: test/org/jboss/tools/overlord/jbossesb/model/actions and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2008-07-14 10:21:06 -0400 (Mon, 14 Jul 2008)
New Revision: 154
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageActionTest.java
Log:
Changed property on SetMessageAction from 'expression' to 'stateExpression' to match SetStateAction. Also added properties on SendMessageAction to cope with using expressions to derive the target service category/name.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java 2008-07-14 14:19:10 UTC (rev 153)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SendMessageAction.java 2008-07-14 14:21:06 UTC (rev 154)
@@ -34,6 +34,8 @@
private static final String RESPONSE_SERVICE_CATEGORY = "responseServiceCategory";
private static final String SERVICE_NAME = "serviceName";
private static final String SERVICE_CATEGORY = "serviceCategory";
+ private static final String SERVICE_NAME_EXPRESSION = "serviceNameExpression";
+ private static final String SERVICE_CATEGORY_EXPRESSION = "serviceCategoryExpression";
private static final String MESSAGE_TYPE = "messageType";
private static final String OPERATION = "operation";
@@ -106,6 +108,11 @@
getPropertyValue(SERVICE_NAME) != null) {
// Sending a request
+ } else if (getPropertyValue(SERVICE_CATEGORY_EXPRESSION) != null &&
+ getPropertyValue(SERVICE_NAME_EXPRESSION) != null) {
+ // Sending a request to service derived from expression
+ // on the pojo state
+
} else if (getPropertyValue(CLIENT_EPR) != null) {
// Sending a response
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageAction.java 2008-07-14 14:19:10 UTC (rev 153)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageAction.java 2008-07-14 14:21:06 UTC (rev 154)
@@ -27,7 +27,7 @@
*/
public class SetMessageAction extends AbstractESBAction {
- public static final String EXPRESSION = "expression";
+ public static final String STATE_EXPRESSION = "stateExpression";
/**
* The constructor for the action.
@@ -48,7 +48,7 @@
*/
@Override
protected String[] getMandatoryProperties() {
- return(new String[]{EXPRESSION});
+ return(new String[]{STATE_EXPRESSION});
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageActionTest.java 2008-07-14 14:19:10 UTC (rev 153)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/SetMessageActionTest.java 2008-07-14 14:21:06 UTC (rev 154)
@@ -41,7 +41,7 @@
java.util.PropertyResourceBundle.getBundle(
"org.jboss.tools.overlord.jbossesb.model.Messages"),
"_NOT_SPECIFIED_PROPERTY",
- new String[]{SetMessageAction.EXPRESSION}));
+ new String[]{SetMessageAction.STATE_EXPRESSION}));
action.validate(l);
15 years, 10 months
Overlord SVN: r153 - cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2008-07-14 10:19:10 -0400 (Mon, 14 Jul 2008)
New Revision: 153
Modified:
cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
Log:
Updated to include sessions with first conversation based actions, as currently cannot infer back through graph to find this information.
Modified: cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-14 12:50:50 UTC (rev 152)
+++ cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-14 14:19:10 UTC (rev 153)
@@ -138,6 +138,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.WhileAction"
process="process" name="s2-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="paths">
<while decision-method="hasSuppliers"
service-category="ESBBroker.BrokerParticipant"
@@ -160,6 +161,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.PerformAction"
process="process" name="s3-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="RequestForQuote.main" />
<property name="responseServiceCategory" value="ESBBroker.BrokerParticipant" />
@@ -191,6 +193,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.WhenAction"
process="process" name="s4-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="paths">
<when expression="receivedAllQuotes"
service-category="ESBBroker.BrokerParticipant"
@@ -209,6 +212,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.SetMessageAction"
process="process" name="s4-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="headerProperty" value="quotes" />
<property name="stateExpression" value="quotes" />
</action>
@@ -245,7 +249,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.RetrieveSessionAction"
process="process" name="s5-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="serviceName" value="ESBBrokerProcess.main.5" />
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="identities" >
@@ -279,6 +283,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s6-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="operation" value="cancel" />
<property name="messageType" value="cancel" />
<property name="identities" >
@@ -299,7 +304,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.PerformAction"
process="process" name="s7-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.BrokerMain" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="CompleteTransaction.main" />
<property name="immediate" value="true" />
@@ -323,6 +328,7 @@
</listeners>
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction" name="temporarily">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.BrokerMain" />
</action>
</actions>
@@ -376,6 +382,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s9-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.Request4QuoteMain" />
<property name="operation" value="getQuote" />
<property name="messageType" value="quote" />
<property name="serviceDescriptionName" value="{http://www.jboss.org/overlord/loanBroker}Broker"/>
@@ -414,7 +421,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.CreateSessionAction"
process="process" name="s10-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.CompleteTransactionMain" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
</action>
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s10-2">
@@ -453,9 +460,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.RetrieveSessionAction"
process="process" name="s11-1">
- <property name="session" value="org.jboss.soa.esb.samples.broker.CompleteTransactionMain" />
- <property name="serviceName" value="CompleteTransaction.main.1" />
- <property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
<property name="identities" >
<identity type="primary" >
<token name="id" locator="//@id" />
@@ -470,7 +475,7 @@
<message type="creditValid" />
</case>
<case service-category="ESBBroker.BrokerParticipant"
- service-name="CompleteTransaction.main.GPB" >
+ service-name="CompleteTransaction.main.4" >
<message type="creditInvalid" />
</case>
</property>
@@ -487,6 +492,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s12-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
<property name="operation" value="checkCredit" />
<property name="messageType" value="creditValid" />
<property name="identities" >
@@ -499,7 +505,7 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.SetMessageAction"
process="process" name="s12-2">
- <property name="variable" value="confirmation" />
+ <property name="stateExpression" value="confirmation" />
</action>
<action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
process="process" name="s12-3">
@@ -527,6 +533,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s13-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
<property name="operation" value="confirm" />
<property name="messageType" value="bookingReference" />
<property name="identities" >
@@ -539,7 +546,7 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.SetMessageAction"
process="process" name="s13-2">
- <property name="variable" value="confirmation" />
+ <property name="stateExpression" value="confirmation" />
</action>
<action class="org.jboss.soa.overlord.jbossesb.actions.SendMessageAction"
@@ -565,6 +572,7 @@
<actions mep="OneWay">
<action class="org.jboss.soa.overlord.jbossesb.actions.ReceiveMessageAction"
process="process" name="s14-1">
+ <property name="session" value="org.jboss.soa.overlord.samples.jbossesb.loan.broker.CompleteTransactionMain" />
<property name="operation" value="checkCredit" />
<property name="messageType" value="creditInvalid" />
<property name="identities" >
15 years, 10 months
Overlord SVN: r151 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src: test/org/jboss/tools/overlord/jbossesb/model/actions and 1 other directory.
by overlord-commits@lists.jboss.org
Author: objectiser
Date: 2008-07-14 05:17:43 -0400 (Mon, 14 Jul 2008)
New Revision: 151
Modified:
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/IfActionTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/ParallelActionTest.java
cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/WhileActionTest.java
Log:
Validate 'immediate' property to ensure valid boolean value.
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/IfAction.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -28,8 +28,9 @@
*/
public class IfAction extends AbstractESBAction {
- private static final String SERVICE_NAME = "service-name";
- private static final String SERVICE_CATEGORY = "service-category";
+ public static final String SERVICE_NAME = "service-name";
+ public static final String SERVICE_CATEGORY = "service-category";
+ public static final String IMMEDIATE = "immediate";
private static final String ELSE = "else";
private static final String ELSEIF = "elseif";
private static final String IF = "if";
@@ -73,9 +74,12 @@
// Lookup service associated with category and name
ESBService service=getService().getModel().getService(category, name);
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
// Initialize link, even if service is null - this will be
// reported as a validation error later
- getLinks().add(new ESBLink(category, name, service, true));
+ getLinks().add(new ESBLink(category, name, service,
+ (immediate != null && immediate.equalsIgnoreCase("true"))));
}
}
}
@@ -106,6 +110,7 @@
boolean f_else=false;
boolean f_orderWrong=false;
boolean f_serviceDetailsMissing=false;
+ boolean f_immediateInvalid=false;
for (int i=0; nl != null && i < nl.getLength(); i++) {
@@ -123,6 +128,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
} else if (n.getNodeName().equals(ELSEIF)) {
if (f_if == false || f_else) {
@@ -133,6 +146,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
} else if (n.getNodeName().equals(ELSE)) {
if (f_if == false || f_else) {
@@ -145,6 +166,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
}
}
}
@@ -165,6 +194,14 @@
"_PATH_SERVICE_DETAILS_MISSING",
new String[]{}), null);
}
+
+ if (f_immediateInvalid) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IMMEDIATE}), null);
+ }
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/Messages.properties 2008-07-14 09:17:43 UTC (rev 151)
@@ -16,6 +16,7 @@
# * MA 02110-1301, USA.
# */
+_BOOLEAN=Boolean property '{0}' can only have a 'true' or 'false' value
_CANNOT_INITIATE_NON_ROOT=Cannot 'initiate' non-root service descriptor for category '{0}' and name '{1}'
_CANNOT_SESSION_BASED_ACTIONS_WITH_ROUTER=Cannot define MessageRouterAction with session based actions in service descriptor
_IF_ORDER_WRONG=IfAction must have an 'if' path, followed by zero or more 'elseif' paths and ending with an optional 'else' path
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ParallelAction.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -28,8 +28,9 @@
*/
public class ParallelAction extends AbstractESBAction {
- private static final String SERVICE_NAME = "service-name";
- private static final String SERVICE_CATEGORY = "service-category";
+ public static final String SERVICE_NAME = "service-name";
+ public static final String SERVICE_CATEGORY = "service-category";
+ public static final String IMMEDIATE = "immediate";
private static final String JOIN = "join";
private static final String PATH = "path";
private static final String PATHS = "paths";
@@ -70,9 +71,12 @@
// Lookup service associated with category and name
ESBService service=getService().getModel().getService(category, name);
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
// Initialize link, even if service is null - this will be
// reported as a validation error later
- getLinks().add(new ESBLink(category, name, service, true));
+ getLinks().add(new ESBLink(category, name, service,
+ (immediate != null && immediate.equalsIgnoreCase("true"))));
if (service != null) {
m_services.add(service);
@@ -122,6 +126,7 @@
boolean f_pathAfterJoin=false;
boolean f_multipleJoins=false;
boolean f_serviceDetailsMissing=false;
+ boolean f_immediateInvalid=false;
for (int i=0; nl != null && i < nl.getLength(); i++) {
@@ -139,6 +144,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
} else if (n.getNodeName().equals(JOIN)) {
if (f_joined) {
@@ -187,6 +200,14 @@
"_PATH_SERVICE_DETAILS_MISSING",
new String[]{}), null);
}
+
+ if (f_immediateInvalid) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IMMEDIATE}), null);
+ }
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/ScheduleStateAction.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -73,6 +73,28 @@
}
/**
+ * This method validates the ESB action and reports warnings or
+ * errors to the supplied model listener.
+ *
+ * @param l The model listener
+ */
+ @Override
+ public void validate(ModelListener l) {
+ super.validate(l);
+
+ String immediate=getPropertyValue(IMMEDIATE);
+
+ if (immediate != null && immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IMMEDIATE}), null);
+ }
+ }
+
+ /**
* This method converts the ESB action into an equivalent
* behavioural description for conformance checking.
*
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/java/org/jboss/tools/overlord/jbossesb/model/actions/WhileAction.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -28,9 +28,9 @@
*/
public class WhileAction extends AbstractESBAction {
- private static final String SERVICE_NAME = "service-name";
- private static final String SERVICE_CATEGORY = "service-category";
- private static final String IMMEDIATE = "immediate";
+ public static final String SERVICE_NAME = "service-name";
+ public static final String SERVICE_CATEGORY = "service-category";
+ public static final String IMMEDIATE = "immediate";
private static final String WHILE = "while";
private static final String EXIT = "exit";
private static final String PATHS = "paths";
@@ -157,6 +157,7 @@
boolean f_multipleExits=false;
boolean f_serviceDetailsMissing=false;
boolean f_pathAfterExit=false;
+ boolean f_immediateInvalid=false;
for (int i=0; nl != null && i < nl.getLength(); i++) {
@@ -179,6 +180,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
} else if (n.getNodeName().equals(EXIT)) {
if (f_exit) {
@@ -191,6 +200,14 @@
((org.w3c.dom.Element)n).hasAttribute(SERVICE_NAME) == false) {
f_serviceDetailsMissing = true;
}
+
+ String immediate=((org.w3c.dom.Element)n).getAttribute(IMMEDIATE);
+
+ if (((org.w3c.dom.Element)n).hasAttribute(IMMEDIATE) &&
+ immediate.equalsIgnoreCase("true") == false &&
+ immediate.equalsIgnoreCase("false") == false) {
+ f_immediateInvalid = true;
+ }
}
}
}
@@ -227,6 +244,14 @@
"_PATH_SERVICE_DETAILS_MISSING",
new String[]{}), null);
}
+
+ if (f_immediateInvalid) {
+ l.error(this, org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IMMEDIATE}), null);
+ }
}
/**
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/IfActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/IfActionTest.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/IfActionTest.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -294,6 +294,159 @@
}
}
+ public void testValidateImmediateIf() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><if service-category=\"cat1\" " +
+ "service-name=\"name1\" immediate=\"fred\" /><elseif service-category=\"cat2\" " +
+ "service-name=\"name2\" /><else service-category=\"cat3\" " +
+ "service-name=\"name3\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBService other3=new TestESBService();
+ other3.setCategory("cat3");
+ other3.setName("name3");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(other3);
+ model.addService(service);
+
+ service.setModel(model);
+
+ IfAction action=new IfAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IfAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
+ public void testValidateImmediateElseIf() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><if service-category=\"cat1\" " +
+ "service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+ "service-name=\"name2\" immediate=\"fred\" /><else service-category=\"cat3\" " +
+ "service-name=\"name3\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBService other3=new TestESBService();
+ other3.setCategory("cat3");
+ other3.setName("name3");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(other3);
+ model.addService(service);
+
+ service.setModel(model);
+
+ IfAction action=new IfAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IfAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
+ public void testValidateImmediateElse() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><if service-category=\"cat1\" " +
+ "service-name=\"name1\" /><elseif service-category=\"cat2\" " +
+ "service-name=\"name2\" /><else service-category=\"cat3\" " +
+ "service-name=\"name3\" immediate=\"fred\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBService other3=new TestESBService();
+ other3.setCategory("cat3");
+ other3.setName("name3");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(other3);
+ model.addService(service);
+
+ service.setModel(model);
+
+ IfAction action=new IfAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{IfAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
public void testConvert() {
TestESBService service=new TestESBService();
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/ParallelActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/ParallelActionTest.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/ParallelActionTest.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -296,6 +296,57 @@
}
}
+ public void testValidateImmediate() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><path service-category=\"cat1\" " +
+ "service-name=\"name1\" /><path service-category=\"cat2\" " +
+ "service-name=\"name2\" immediate=\"fred\" /><join service-category=\"cat3\" " +
+ "service-name=\"name3\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBService other3=new TestESBService();
+ other3.setCategory("cat3");
+ other3.setName("name3");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(other3);
+ model.addService(service);
+
+ service.setModel(model);
+
+ ParallelAction action=new ParallelAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{ParallelAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
public void testConvert() {
TestESBService service=new TestESBService();
Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/WhileActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/WhileActionTest.java 2008-07-13 15:11:13 UTC (rev 150)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.jbossesb/src/test/org/jboss/tools/overlord/jbossesb/model/actions/WhileActionTest.java 2008-07-14 09:17:43 UTC (rev 151)
@@ -329,6 +329,96 @@
}
}
+ public void testValidateImmediateWhile() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><while service-category=\"cat1\" " +
+ "service-name=\"name1\" immediate=\"fred\" /><exit service-category=\"cat2\" " +
+ "service-name=\"name2\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(service);
+
+ service.setModel(model);
+
+ WhileAction action=new WhileAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{WhileAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
+ public void testValidateImmediateExit() {
+ TestESBService service=new TestESBService();
+
+ java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+ props.put("paths", "<property><while service-category=\"cat1\" " +
+ "service-name=\"name1\" /><exit service-category=\"cat2\" " +
+ "service-name=\"name2\" immediate=\"fred\" /></property>");
+
+ org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, null, props);
+
+ TestESBService other1=new TestESBService();
+ other1.setCategory("cat1");
+ other1.setName("name1");
+
+ TestESBService other2=new TestESBService();
+ other2.setCategory("cat2");
+ other2.setName("name2");
+
+ TestESBLanguageModel model=new TestESBLanguageModel();
+ model.addService(other1);
+ model.addService(other2);
+ model.addService(service);
+
+ service.setModel(model);
+
+ WhileAction action=new WhileAction(service, elem);
+ action.initializeLinks();
+
+ service.getActions().add(action);
+
+ TestModelListener l=new TestModelListener();
+
+ l.addExpectedError(org.scribble.util.MessageUtil.format(
+ java.util.PropertyResourceBundle.getBundle(
+ "org.jboss.tools.overlord.jbossesb.model.actions.Messages"),
+ "_BOOLEAN",
+ new String[]{WhileAction.IMMEDIATE}));
+
+ action.validate(l);
+
+ if (l.isValid() == false) {
+ fail(l.invalidMessage());
+ }
+ }
+
public void testConvert() {
TestESBService service=new TestESBService();
15 years, 10 months
Overlord SVN: r150 - in cdl/trunk: runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions and 7 other directories.
by overlord-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2008-07-13 11:11:13 -0400 (Sun, 13 Jul 2008)
New Revision: 150
Modified:
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/Session.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
cdl/trunk/samples/jbossesb/README.txt
cdl/trunk/samples/jbossesb/broker/pom.xml
cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/BrokerMain.java
cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java
cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
cdl/trunk/samples/jbossesb/broker/src/main/resources/hibernate.cfg.xml
cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
cdl/trunk/samples/jbossesb/purchasing/src/main/java/com/acme/services/creditAgency/SetCreditCheckResponseMessageAction.java
Log:
* Update actions to make the quote request work.
* Invoke the schedule item of parent session, if sub-session finishes its all items.
* Update the session status to complete when it finishes all schedule items.
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/Session.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/Session.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/Session.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -160,7 +160,9 @@
if (joinState.getSpawnPath() <= 0) {
joinStates.remove(joinState);
SessionManager.removeObject(joinState);
-
+
+ logger.info("Deliver the Join State of: " + joinState);
+
ServiceInvoker invoker= new ServiceInvoker(category, name);
invoker.deliverAsync(message);
} else {
@@ -179,7 +181,7 @@
scheduleItems.add(si);
SessionManager.saveObject(si);
- logger.info("Finished scheduling "+si);
+ logger.info("Finished scheduling "+si +"' by thread of " + Thread.currentThread().getName());
}
}
@@ -202,7 +204,7 @@
scheduleItems.remove(si);
SessionManager.removeObject(si);
- logger.info("Finished unscheduling: " + si);
+ logger.info("Finished unscheduling: " + si +"' by thread of " + Thread.currentThread().getName());
}
}
@@ -369,5 +371,12 @@
this.joinStates = joinStates;
}
+ public String toString() {
+ StringBuffer sbuffer = new StringBuffer();
+ sbuffer.append("[ Session id: " + id);
+ sbuffer.append(" serviceName: " + serviceName);
+ sbuffer.append("]");
+ return sbuffer.toString();
+ }
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/conversation/SessionManager.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -172,12 +172,26 @@
return null;
}
- Identity theID = (Identity)results.get(0);
+ Identity theID = null;
+ for (int i=0; i< results.size(); i++) {
+ Identity identity = (Identity)results.get(i);
+ if (SessionStatus.Active.equals(identity.getSession().getStatus())) {
+ theID = identity;
+ break;
+ }
+ }
+
+ if (theID == null) {
+ return null;
+ }
+
Session session = (Session)hibernateSession.load(Session.class, theID.getSession().getId());
Class<?> pojoClass = ClassLoaderUtil.loadClass(session.getPojoClass());
Object pojo = hibernateSession.load(pojoClass, Long.valueOf(session.getPojoID()));
session.setBusinessObject(pojo);
-
+
+ logger.debug("Get Session of " + session + " by using identity of " + id);
+
return session;
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ConversationAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -38,6 +38,7 @@
import org.jboss.soa.overlord.conversation.ScheduleItem;
import org.jboss.soa.overlord.conversation.Session;
import org.jboss.soa.overlord.conversation.SessionManager;
+import org.jboss.soa.overlord.conversation.SessionStatus;
import org.jboss.soa.overlord.jbossesb.util.MessageUtil;
import org.jboss.soa.overlord.jbossesb.util.XMLUtils;
@@ -171,18 +172,32 @@
*/
public Message process(Message message) throws Exception {
String sessionKey=(String)message.getProperties().getProperty(MessageProperties.SESSION_KEY);
- logger.info("Session Key is [" + sessionKey + "] Body is: [" + message.getBody() + "]");
+ logger.info("Session Key is [" + sessionKey + "] Body is: [" + message.getBody().get() + "]");
org.hibernate.Session hibernateSession = HibernateUtil.currentSession();
Transaction transaction = hibernateSession.beginTransaction();
try {
Session session = getSession(message);
- if (session != null && isFirstConversationAction(message)) {
- logger.info("This is first conversation action to unschedule the item!");
+ if (session != null && isFirstOrLastConversationAction(message, true)) {
+ logger.debug("This is first conversation action to unschedule the item.");
unschedule(message);
}
handle(message);
+
+ session = getSession(message);
+ if (session != null && isFirstOrLastConversationAction(message, false)) {
+ logger.debug("This is the last conversation action.");
+ if (session.getScheduleItems().size() <= 0) {
+ session.setStatus(SessionStatus.Completed);
+ SessionManager.updateObject(session);
+ logger.info("Completed the session of " + session);
+ if (session.getParent() != null) {
+ invokeSubsessionExitService(message, session);
+ }
+ }
+ }
+
transaction.commit();
} catch (Exception e) {
transaction.rollback();
@@ -196,6 +211,23 @@
return message;
}
+
+ private void invokeSubsessionExitService(Message message, Session session)
+ throws Exception {
+ List<ScheduleItem> items = session.getParent().getScheduleItems();
+ if (items.size() <= 0) {
+ throw new Exception("Completed sub-session, but haven't found any schedule items to run.");
+ }
+ if (items.size() > 1) {
+ throw new Exception("Should be only one schedule item waiting for sub-session.");
+ }
+ //set parent session in current message.
+ message.getProperties().setProperty(MessageProperties.SESSION_KEY, String.valueOf(session.getParent().getId()));
+ ScheduleItem si = items.get(0);
+ addScheduleItemToDeliver(si.getCategory(), si.getName());
+ logger.info("Invoke scheduleItem of " + si + "in session " + session.getParent());
+ }
+
protected void sendAsyncMessage(Message message) throws Exception {
for(ScheduleItem si : scheduleItems) {
ServiceInvoker invoker = new ServiceInvoker(si.getCategory(), si.getName());
@@ -203,10 +235,17 @@
}
}
- private boolean isFirstConversationAction(Message message) throws ClassNotFoundException{
+ /**
+ *
+ * @param message
+ * @param isFirst : when isFirst is false, it will get the last conversation action.
+ * @return
+ * @throws ClassNotFoundException
+ */
+ protected boolean isFirstOrLastConversationAction(Message message, boolean isFirst) throws ClassNotFoundException{
String sessionKey=(String)message.getProperties().getProperty(MessageProperties.SESSION_KEY);
if (sessionKey != null) {
- ConfigTree theCT = getFirstConversationAction();
+ ConfigTree theCT = getFirstOrLastConversationAction(isFirst);
if (theCT != null) {
String actionName = config.getAttribute(ActionProperties.ACTION_NAME);
if (actionName.equals(theCT.getAttribute(ActionProperties.ACTION_NAME))) {
@@ -216,21 +255,25 @@
}
return false;
}
-
- private ConfigTree getFirstConversationAction() throws ClassNotFoundException {
+
+ private ConfigTree getFirstOrLastConversationAction(boolean isFirst) throws ClassNotFoundException {
ConfigTree[] cts = config.getParent().getChildren(ActionProperties.ACTION_NODE);
+ ConfigTree config = null;
for (ConfigTree ct : cts) {
String className = ct.getAttribute(ActionProperties.CLASS_NAME);
Class<?> action = ClassLoaderUtil.loadClass(className);
if (ConversationAction.class.isAssignableFrom(action)) {
- return ct;
+ config = ct;
+ if (isFirst) {
+ break;
+ }
}
}
- return null;
+ return config;
}
- private void unschedule(Message message) throws Exception {
+ protected void unschedule(Message message) throws Exception {
String serviceCategory=getConfig().getParent().getAttribute(ActionProperties.SERVICE_CATEGORY);
String serviceName=getConfig().getParent().getAttribute(ActionProperties.SERVICE_NAME);
Session session = getSession(message);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/IfAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -41,46 +41,46 @@
public Message handle(Message message) throws Exception{
Session session=getSession(message);
+ ConfigTree ifConfig = null;
+ ConfigTree elseConfig = null;
+
ConfigTree[] children=getConfig().getAllChildren();
- boolean f_register=false;
-
- for (int i=0; f_register == false && i < children.length; i++) {
- String category=children[i].getAttribute("service-category");
- String name=children[i].getAttribute("service-name");
- String immediate=children[i].getAttribute("immediate", "false");
- if (children[i].getName().equals("else")) {
- f_register = true;
+ for (ConfigTree ct : children) {
+ if ("if".equals(ct.getName())) {
+ ifConfig = ct;
+ } else if ("else".equals(ct.getName())){
+ elseConfig = ct;
} else {
- String method=children[i].getAttribute("decision-method");
-
- if (method != null) {
- try {
- Object res = MVEL.eval(getMvelMethodName(method), session.getBusinessObject());
- if (res instanceof Boolean) {
-
- f_register = ((Boolean)res).booleanValue();
-
- } else {
- logger.error("Result of method '"+method+
- "' on session '"+session+"' should be boolean," +
- " but got: "+res);
- }
-
- } catch(Exception e) {
- logger.error("Failed to invoke decision method '"+
- method+"' on session '"+session+"'", e);
- }
- }
+ throw new Exception("Unrecognized configuration Node in IfAction.");
}
-
- if (f_register) {
- session.schedule(category, name, message);
-
- if ("true".equals(immediate)) {
+ }
+
+ String decisionMethod = ifConfig.getAttribute("decision-method");
+ logger.debug("decision method is : " + decisionMethod);
+ if (decisionMethod != null) {
+ Object response = MVEL.eval(getMvelMethodName(decisionMethod), session.getBusinessObject());
+ if (response instanceof Boolean) {
+ Boolean flag = (Boolean) response;
+ logger.info("The result of decision method is: " + flag);
+ if (flag) {
+ String category = ifConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name = ifConfig.getAttribute(ActionProperties.SERVICE_NAME);
+ session.schedule(category, name, message);
addScheduleItemToDeliver(category, name);
+ logger.info("Scheduled items of " + category + "/" + name + ".");
+ } else if (elseConfig != null){
+ String category = elseConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name = elseConfig.getAttribute(ActionProperties.SERVICE_NAME);
+ session.schedule(category, name, message);
+ addScheduleItemToDeliver(category, name);
+ logger.info("Scheduled items of " + category + "/" + name + ".");
}
+ } else {
+ throw new Exception("method return value is not Boolean.");
}
+ } else {
+ throw new Exception("Haven't found the decision method in the configuration.");
}
return(message);
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/MessageRouterAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -49,7 +49,7 @@
ConfigTree[] children = getConfig().getAllChildren();
String messageType = getMessageType(message);
- logger.debug("The sent message type is [" + messageType + "]");
+ logger.info("The received message type is [" + messageType + "]");
for (ConfigTree ct : children) {
ConfigTree[] msgNodes = ct.getChildren("message");
@@ -75,7 +75,7 @@
if (routerFlag == false) {
throw new Exception ("Could not find any appropriate services to proceed!");
}
- return null;
+ return message;
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/ReceiveMessageAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -55,9 +55,14 @@
Session session=getSession(message, ids);
session.assimulateIdentities(ids);
- // TODO: May need to store state
+ logger.info("MESSAGE TYPE ["+mesgMType+"] RECEIVED.");
- logger.info("MESSAGE TYPE '"+mesgMType+"' RECEIVED");
+ if (isFirstOrLastConversationAction(message, true)) {
+ String category=getConfig().getParent().getAttribute(ActionProperties.SERVICE_CATEGORY);
+ String name=getConfig().getParent().getAttribute(ActionProperties.SERVICE_NAME);
+ session.unschedule(category, name);
+ logger.info("Finished unscheduling of " + category + "/" + name);
+ }
EPR replyTo = message.getHeader().getCall().getReplyTo();
// Store any response EPR
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SetVariableAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -57,8 +57,8 @@
session = session.getParent();
if (session.getPojoID() != 0) {
Class<?> pojoClass = ClassLoaderUtil.loadClass(session.getPojoClass());
- //Object pojo = SessionManager.getObject(session.getPojoID(), pojoClass);
- //session.setBusinessObject(pojo);
+ Object pojo = SessionManager.getObject(session.getPojoID(), pojoClass);
+ session.setBusinessObject(pojo);
}
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/SwitchAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -38,16 +38,17 @@
public Message handle(Message message) throws Exception{
Session session=getSession(message);
- boolean selected=false;
// Get the message type
String mesgMType=getMessageType(message);
-
+
+ boolean selected = false;
+
if (mesgMType != null) {
ConfigTree[] children=getConfig().getAllChildren();
- for (int i=0; selected == false && i < children.length; i++) {
-
+ for (int i=0; i < children.length; i++) {
+
if (children[i].getName().equals("case")) {
String category=children[i].getAttribute("service-category");
String name=children[i].getAttribute("service-name");
@@ -57,8 +58,7 @@
for (int j=0; j < mesgs.length; j++) {
if (mesgs[j].getName().equals("message")) {
String type=mesgs[j].getAttribute("type");
-
- if (type != null && type.equals(mesgMType)) {
+ if (mesgMType.equals(type)) {
selected = true;
}
}
@@ -68,6 +68,7 @@
session.schedule(category, name, message);
addScheduleItemToDeliver(category, name);
logger.info("Scheduled service of [" + category + "/" + name + "] immediately");
+ break;
}
}
}
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhenAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -49,8 +49,10 @@
String decision = ct.getAttribute("expression");
String category = ct.getAttribute(ActionProperties.SERVICE_CATEGORY);
String name = ct.getAttribute(ActionProperties.SERVICE_NAME);
+
if (decision != null) {
Object res = MVEL.eval(getMvelMethodName(decision), session.getBusinessObject());
+ logger.debug("The result of expression of " + decision + " is " + res);
if (res instanceof Boolean) {
Boolean ret = (Boolean)res;
if (ret.booleanValue()) {
Modified: cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java
===================================================================
--- cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/runtime/jbossesb/src/main/java/org/jboss/soa/overlord/jbossesb/actions/WhileAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -20,7 +20,6 @@
package org.jboss.soa.overlord.jbossesb.actions;
import org.apache.log4j.Logger;
-import org.jboss.soa.esb.client.ServiceInvoker;
import org.jboss.soa.esb.helpers.ConfigTree;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.overlord.conversation.Session;
@@ -57,7 +56,7 @@
//TODO: Need to think about the expression.
String decisionMethod = whileConfig.getAttribute("decision-method");
- logger.info("decision method is : " + decisionMethod);
+ logger.debug("decision method is : " + decisionMethod);
if (decisionMethod != null) {
Object response = MVEL.eval(getMvelMethodName(decisionMethod), session.getBusinessObject());
if (response instanceof Boolean) {
@@ -67,15 +66,14 @@
String category = whileConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
String name = whileConfig.getAttribute(ActionProperties.SERVICE_NAME);
session.schedule(category, name, message);
- ServiceInvoker serviceInvoker = new ServiceInvoker(category, name);
- serviceInvoker.deliverSync(message, 2000);
- logger.info("Schedule items of " + category + "/" + name + "in WhileAction");
+ addScheduleItemToDeliver(category, name);
+ logger.info("Scheduled items of " + category + "/" + name + ".");
} else {
String category = exitConfig.getAttribute(ActionProperties.SERVICE_CATEGORY);
String name = exitConfig.getAttribute(ActionProperties.SERVICE_NAME);
session.schedule(category, name, message);
addScheduleItemToDeliver(category, name);
- logger.info("Scheduled items of " + category + "/" + name + "in WhileAction of exit branch");
+ logger.info("Scheduled items of " + category + "/" + name + ".");
}
} else {
throw new Exception("method return value is not Boolean.");
Modified: cdl/trunk/samples/jbossesb/README.txt
===================================================================
--- cdl/trunk/samples/jbossesb/README.txt 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/README.txt 2008-07-13 15:11:13 UTC (rev 150)
@@ -3,7 +3,7 @@
Required to run the Purchasing example:
- ANT
- Maven
-- JBoss AS 4.2.1 or higher with the JBoss ESB SAR deployment (jbossesb.sar).
+- JBoss AS 4.2.2 or higher with the JBoss ESB SAR deployment (jbossesb.sar).
Settings required to edit before running:
Modified: cdl/trunk/samples/jbossesb/broker/pom.xml
===================================================================
--- cdl/trunk/samples/jbossesb/broker/pom.xml 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/broker/pom.xml 2008-07-13 15:11:13 UTC (rev 150)
@@ -95,7 +95,7 @@
<phase>install</phase>
<configuration>
<tasks>
- <property name="deploy.dir" value="/var/local/jboss-4.2.2.GA/server/default/deploy" />
+ <property name="deploy.dir" value="/var/local/jboss/server/default/deploy" />
<copy file="target/broker.esb" todir="${deploy.dir}" overwrite="true" />
</tasks>
</configuration>
Modified: cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/BrokerMain.java
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/BrokerMain.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/BrokerMain.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -31,6 +31,7 @@
import javax.persistence.OneToMany;
import javax.persistence.Table;
+import org.apache.log4j.Logger;
import org.jboss.soa.overlord.conversation.HibernateObject;
import org.jboss.soa.overlord.jbossesb.actions.Service;
@@ -41,6 +42,8 @@
private static final long serialVersionUID = 11114L;
+ private static Logger logger = Logger.getLogger(BrokerMain.class);
+
@Id @GeneratedValue
@Column(name="ID")
private long id;
@@ -93,7 +96,9 @@
}
public boolean receivedAllQuotes() {
- return (this.quotes.size() == this.suppliers.size());
+ boolean result = (getQuotes().size() == this.getSuppliers().size());
+ logger.info("The quote size is: " + quotes.size() + ": the suppliers size is: " + suppliers.size());
+ return result;
}
public Supplier getCurrentSupplier() {
@@ -106,6 +111,7 @@
supplier.setServiceCategory("ESBBroker.Suppliers");
supplier.setServiceName("supplier" + i + ".main");
supplier.setServiceDescription("{http://www.jboss.org/overlord/loanBroker}Supplier" + i);
+ supplier.setBroker(this);
suppliers.add(supplier);
}
}
@@ -144,6 +150,7 @@
public void setQuote(Quote quote) {
this.quotes.add(quote);
+ logger.info("add the quote value : " + quote);
}
}
Modified: cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/broker/src/main/java/org/jboss/soa/overlord/samples/jbossesb/loan/broker/Request4QuoteMain.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -29,8 +29,6 @@
import javax.persistence.OneToOne;
import javax.persistence.Table;
-import org.hibernate.annotations.Fetch;
-import org.hibernate.annotations.FetchMode;
import org.jboss.soa.overlord.conversation.HibernateObject;
/**
Modified: cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/broker/src/main/resources/META-INF/jboss-esb.xml 2008-07-13 15:11:13 UTC (rev 150)
@@ -162,6 +162,8 @@
process="process" name="s3-1">
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="RequestForQuote.main" />
+ <property name="responseServiceCategory" value="ESBBroker.BrokerParticipant" />
+ <property name="responseServiceName" value="ESBBrokerProcess.main.3" />
<property name="bindDetails" >
<bind from-expression="getCurrentSupplier()"
to-variable="supplier" />
@@ -171,12 +173,12 @@
<property name="variable" value="supplierIndex" />
<property name="stateExpression" value="nextSupplier()" />
</action>
- <action class="org.jboss.soa.overlord.jbossesb.actions.ScheduleStateAction"
+ <!--action class="org.jboss.soa.overlord.jbossesb.actions.ScheduleStateAction"
process="process" name="s3-3">
<property name="serviceCategory" value="ESBBroker.BrokerParticipant" />
<property name="serviceName" value="ESBBrokerProcess.main.1" />
<property name="immediate" value="true" />
- </action>
+ </action-->
</actions>
</service>
@@ -392,11 +394,6 @@
<action class="org.jboss.soa.overlord.jbossesb.actions.SetVariableAction"
process="process" name="s9-3">
- <property name="variable" value="quote.serviceDescription" />
- <property name="messageExpression" value="//@supplierDesc" />
- </action>
- <action class="org.jboss.soa.overlord.jbossesb.actions.SetVariableAction"
- process="process" name="s9-4">
<property name="variable" value="quote.value" />
<property name="messageExpression" value="/quote" />
</action>
Modified: cdl/trunk/samples/jbossesb/broker/src/main/resources/hibernate.cfg.xml
===================================================================
--- cdl/trunk/samples/jbossesb/broker/src/main/resources/hibernate.cfg.xml 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/broker/src/main/resources/hibernate.cfg.xml 2008-07-13 15:11:13 UTC (rev 150)
@@ -42,6 +42,9 @@
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
+ <property name="current_session_context_class">thread</property>
+ <property name="hibernate.connection.isolation">4</property>
+
<!-- Show and print nice SQL on stdout -->
<property name="show_sql">false</property>
<property name="format_sql">true</property>
Modified: cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java
===================================================================
--- cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/client/src/com/acme/services/buyer/BrokerClient.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -50,20 +50,22 @@
public void run() {
- String buyReq="<enquiry id=\"20\" ></enquiry>";
+ String quoteReq="<enquiry id=\"20\" ></enquiry>";
Message mesg = MessageFactory.getInstance().getMessage(MessageType.JBOSS_XML);
- mesg.getBody().add(buyReq);
+ mesg.getBody().add(quoteReq);
mesg.getProperties().setProperty("org.jboss.soa.esb.exceptionOnDeliverFailure", "true");
try {
- Message reply=brokerInvoker.deliverSync(mesg, 500000);
+ Message reply=brokerInvoker.deliverSync(mesg, 50000);
+
+ System.out.println("Reply: "+reply.getBody().get());
- if (reply != null) {
- System.out.println("Reply: "+reply.getBody().get());
- } else {
- System.err.println("NO REPLY");
- }
+ //String buyReq = "<buy id=\"20\"> </buy>";
+ //mesg.getBody().add(buyReq);
+
+ //reply = brokerInvoker.deliverSync(mesg, 50000);
+ //System.out.println("Reply: " + reply.getBody().get());
} catch (Exception e) {
logger.error(e);
Modified: cdl/trunk/samples/jbossesb/purchasing/src/main/java/com/acme/services/creditAgency/SetCreditCheckResponseMessageAction.java
===================================================================
--- cdl/trunk/samples/jbossesb/purchasing/src/main/java/com/acme/services/creditAgency/SetCreditCheckResponseMessageAction.java 2008-07-13 15:05:16 UTC (rev 149)
+++ cdl/trunk/samples/jbossesb/purchasing/src/main/java/com/acme/services/creditAgency/SetCreditCheckResponseMessageAction.java 2008-07-13 15:11:13 UTC (rev 150)
@@ -42,7 +42,7 @@
String idValue = node.getAttributes().getNamedItem("id").getNodeValue();
message.getBody().add("<CreditCheckResponse id=\"" + idValue +"\"></CreditCheckResponse>");
- logger.info("Updated credit message: "+message);
+ logger.info("Updated credit message: "+message.getBody().get() +"' by thread of " + Thread.currentThread().getName());
return(message);
}
15 years, 10 months
Overlord SVN: r149 - in sam/trunk: src/test/java/org/jboss/test/sam/samples/pattern and 1 other directory.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-13 11:05:16 -0400 (Sun, 13 Jul 2008)
New Revision: 149
Added:
sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java
Removed:
sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java
Modified:
sam/trunk/SAM.iws
sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
Log:
Cleanup test cases
Modified: sam/trunk/SAM.iws
===================================================================
--- sam/trunk/SAM.iws 2008-07-13 12:36:46 UTC (rev 148)
+++ sam/trunk/SAM.iws 2008-07-13 15:05:16 UTC (rev 149)
@@ -21,22 +21,17 @@
<list default="true" name="Default" comment="">
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java" />
<change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" />
<change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/SAM.iws" afterPath="$PROJECT_DIR$/SAM.iws" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/resources/samples/esper-default-cfg.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java" afterPath="" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" />
</list>
</component>
@@ -179,10 +174,10 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="AggregationTestCase.java" pinned="false" current="true" current-in-tab="true">
+ <file leaf-file-name="AggregationTestCase.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="42" column="70" selection-start="1620" selection-end="1620" vertical-scroll-proportion="-1.8419783">
+ <state line="145" column="27" selection-start="4634" selection-end="4634" vertical-scroll-proportion="2.5054283">
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -190,6 +185,24 @@
</provider>
</entry>
</file>
+ <file leaf-file-name="LightSwitchEventMessage.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="26" column="27" selection-start="1159" selection-end="1159" vertical-scroll-proportion="0.13751508">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="PatternTestCase.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="171" column="99" selection-start="5479" selection-end="5479" vertical-scroll-proportion="0.6830467">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
<file leaf-file-name="EventAdapter.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
<provider selected="true" editor-type-id="text-editor">
@@ -1334,7 +1347,7 @@
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="false" />
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
- <option name="LAST_COMMIT_MESSAGE" value="while(!terminate())" />
+ <option name="LAST_COMMIT_MESSAGE" value="Cleanup aggregation sample" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
@@ -1351,6 +1364,7 @@
<MESSAGE value="Added ratio constraint assertion" />
<MESSAGE value="javadocs" />
<MESSAGE value="while(!terminate())" />
+ <MESSAGE value="Cleanup aggregation sample" />
</component>
<component name="VssConfiguration">
<option name="CLIENT_PATH" value="" />
@@ -1404,13 +1418,6 @@
<option name="myLastEditedConfigurable" value="IDE Profiles" />
</component>
<component name="editorHistoryManager">
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="240" column="15" selection-start="6550" selection-end="6550" vertical-scroll-proportion="0.54829544">
- <folding />
- </state>
- </provider>
- </entry>
<entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/PrecisionHistogram.java">
<provider selected="true" editor-type-id="text-editor">
<state line="243" column="12" selection-start="6168" selection-end="6168" vertical-scroll-proportion="0.1570248">
@@ -1453,13 +1460,6 @@
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="66" column="24" selection-start="2151" selection-end="2151" vertical-scroll-proportion="0.93149036">
- <folding />
- </state>
- </provider>
- </entry>
<entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
<state line="54" column="34" selection-start="2039" selection-end="2039" vertical-scroll-proportion="0.76269186">
@@ -1506,13 +1506,27 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="42" column="70" selection-start="1620" selection-end="1620" vertical-scroll-proportion="-1.8419783">
+ <state line="145" column="27" selection-start="4634" selection-end="4634" vertical-scroll-proportion="2.5054283">
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="26" column="27" selection-start="1159" selection-end="1159" vertical-scroll-proportion="0.13751508">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="171" column="99" selection-start="5479" selection-end="5479" vertical-scroll-proportion="0.6830467">
+ <folding />
+ </state>
+ </provider>
+ </entry>
</component>
</project>
Deleted: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java 2008-07-13 12:36:46 UTC (rev 148)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java 2008-07-13 15:05:16 UTC (rev 149)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.sam.samples.pattern;
-
-/**
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public final class LightSwitch
-{
- boolean enabled;
-
- public LightSwitch(boolean enabled)
- {
- this.enabled = enabled;
- }
-
- public boolean getEnabled()
- {
- return enabled;
- }
-
-
- public String toString()
- {
- return "LightSwitch{enabled="+this.enabled+"}";
- }
-}
Copied: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java (from rev 143, sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitch.java)
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java (rev 0)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java 2008-07-13 15:05:16 UTC (rev 149)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.sam.samples.pattern;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public final class LightSwitchEventMessage
+{
+ boolean enabled;
+
+ public LightSwitchEventMessage(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ public boolean getEnabled()
+ {
+ return enabled;
+ }
+
+
+ public String toString()
+ {
+ return "LightSwitch{enabled="+this.enabled+"}";
+ }
+}
Property changes on: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/LightSwitchEventMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-13 12:36:46 UTC (rev 148)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-13 15:05:16 UTC (rev 149)
@@ -78,7 +78,7 @@
public Object createEventMessage(SimulationContext context)
{
context.getMeasurement("dispatched").increment();
- LightSwitch message = new LightSwitch(lastState);
+ LightSwitchEventMessage message = new LightSwitchEventMessage(lastState);
lastState = !lastState;
return message;
}
@@ -101,7 +101,7 @@
simulation.addSink(sink);
// forward single event messages
- simulation.bindStatement("select B.* from pattern [every (A=LightSwitch(enabled=true) -> B=LightSwitch(enabled=false))]", sink);
+ simulation.bindStatement("select B.* from pattern [every (A=LightSwitchEventMessage(enabled=true) -> B=LightSwitchEventMessage(enabled=false))]", sink);
// start simulation
simulation.singleRun();
@@ -131,18 +131,18 @@
public Object createEventMessage(SimulationContext context)
{
- LightSwitch message = null;
+ LightSwitchEventMessage message = null;
double d = context.getMeasurement("dispatched").getCurrent();
if(d!=3)
{
// create a regular light switch condition
- message = new LightSwitch(lastState);
+ message = new LightSwitchEventMessage(lastState);
}
else
{
// create an error condition: two times same enabled value
- message = new LightSwitch(!lastState);
+ message = new LightSwitchEventMessage(!lastState);
}
lastState = !lastState;
@@ -169,7 +169,7 @@
// forward single event messages
simulation.bindStatement("select A.enabled as firstEnabled, B.enabled as secondEnabled "+
- "from pattern [every (A=LightSwitch(enabled=false) -> B=LightSwitch(enabled=false))]", sink);
+ "from pattern [every (A=LightSwitchEventMessage(enabled=false) -> B=LightSwitchEventMessage(enabled=false))]", sink);
// start simulation
simulation.singleRun();
15 years, 10 months
Overlord SVN: r148 - sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-13 08:36:46 -0400 (Sun, 13 Jul 2008)
New Revision: 148
Modified:
sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
Log:
Cleanup aggregation sample
Modified: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java 2008-07-13 12:34:47 UTC (rev 147)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java 2008-07-13 12:36:46 UTC (rev 148)
@@ -144,12 +144,7 @@
// evaluate results
List<EventMessage> aggregatedMessages = context.getAttachment(List.class);
assertNotNull(aggregatedMessages);
-
- for(EventMessage e : aggregatedMessages)
- {
- System.out.println("# " + e.getProperty("product") + ", " + e.getProperty("amount"));
- }
-
+ assertTrue(aggregatedMessages.size()>=1);
}
private void printStatus()
15 years, 10 months
Overlord SVN: r147 - in sam/trunk: src/main/java/org/jboss/sam/internal/esper and 2 other directories.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-13 08:34:47 -0400 (Sun, 13 Jul 2008)
New Revision: 147
Added:
sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/
sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java
Modified:
sam/trunk/SAM.iws
sam/trunk/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java
Log:
Added simple aggregation example
Modified: sam/trunk/SAM.iws
===================================================================
--- sam/trunk/SAM.iws 2008-07-13 12:34:24 UTC (rev 146)
+++ sam/trunk/SAM.iws 2008-07-13 12:34:47 UTC (rev 147)
@@ -21,17 +21,21 @@
<list default="true" name="Default" comment="">
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/internal/SimulationProcessList.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Histogram.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java" />
+ <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/SimpleHistogram.java" />
- <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" afterPath="$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java" />
+ <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/pom.xml" />
- <change type="NEW" beforePath="" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSourceEntity.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSourceEntity.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/SAM.iws" afterPath="$PROJECT_DIR$/SAM.iws" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Variance.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pom.xml" afterPath="$PROJECT_DIR$/pom.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/test/resources/samples/esper-default-cfg.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java" afterPath="$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Mean.java" />
<change type="MODIFICATION" beforePath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" afterPath="/home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java" />
</list>
@@ -175,55 +179,66 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="EventSimulation.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
+ <file leaf-file-name="AggregationTestCase.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="108" column="16" selection-start="4352" selection-end="4352" vertical-scroll-proportion="0.1381346">
+ <state line="42" column="70" selection-start="1620" selection-end="1620" vertical-scroll-proportion="-1.8419783">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="EventAdapter.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="101" column="50" selection-start="2690" selection-end="2690" vertical-scroll-proportion="0.95416164">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="PrecisionHistogram.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/PrecisionHistogram.java">
+ <file leaf-file-name="SensorMessageFactory.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorMessageFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="243" column="12" selection-start="6168" selection-end="6168" vertical-scroll-proportion="0.1570248">
+ <state line="52" column="4" selection-start="1680" selection-end="1846" vertical-scroll-proportion="0.64173704">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="Quantile.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Quantile.java">
+ <file leaf-file-name="EsperRuntimeImpl.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EsperRuntimeImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="90" column="8" selection-start="2393" selection-end="2393" vertical-scroll-proportion="0.6635183">
+ <state line="109" column="0" selection-start="3486" selection-end="3486" vertical-scroll-proportion="0.09408926">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="SimulationTestCase.java" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
+ <file leaf-file-name="EventSimulation.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="64" column="23" selection-start="2340" selection-end="2340" vertical-scroll-proportion="0.25974026">
+ <state line="143" column="38" selection-start="5178" selection-end="5178" vertical-scroll-proportion="0.45476478">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="SensorEventMessage.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorEventMessage.java">
+ <file leaf-file-name="OrderEventMessage.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="21" column="37" selection-start="1040" selection-end="1069" vertical-scroll-proportion="0.022432113">
+ <state line="26" column="19" selection-start="1155" selection-end="1155" vertical-scroll-proportion="0.13751508">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="pom.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/pom.xml">
+ <file leaf-file-name="EventProcessorFactory.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/EventProcessorFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="140" column="16" selection-start="4601" selection-end="4601" vertical-scroll-proportion="0.58774036">
+ <state line="41" column="34" selection-start="1429" selection-end="1429" vertical-scroll-proportion="0.4354644">
<folding />
</state>
</provider>
@@ -481,6 +496,10 @@
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -638,6 +657,78 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/sam" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="SAM.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="sam-trunk" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="SAM.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="sam-trunk" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/src/main" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -1000,16 +1091,16 @@
</key>
</component>
<component name="RestoreUpdateTree" />
- <component name="RunManager" selected="JUnit.SimulationTestCase.testSimulationAPI">
- <tempConfiguration default="false" name="SimulationTestCase.testSimulationAPI" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
- <pattern value="org.jboss.test.sam.simulation.*" />
+ <component name="RunManager" selected="JUnit.AggregationTestCase">
+ <tempConfiguration default="false" name="AggregationTestCase" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
+ <pattern value="org.jboss.test.sam.samples.aggregation.*" />
<module name="sam-trunk" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" value="org.jboss.test.sam.simulation" />
- <option name="MAIN_CLASS_NAME" value="org.jboss.test.sam.simulation.SimulationTestCase" />
- <option name="METHOD_NAME" value="testSimulationAPI" />
- <option name="TEST_OBJECT" value="method" />
+ <option name="PACKAGE_NAME" value="org.jboss.test.sam.samples.aggregation" />
+ <option name="MAIN_CLASS_NAME" value="org.jboss.test.sam.samples.aggregation.AggregationTestCase" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
<option name="VM_PARAMETERS" />
<option name="PARAMETERS" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
@@ -1313,108 +1404,112 @@
<option name="myLastEditedConfigurable" value="IDE Profiles" />
</component>
<component name="editorHistoryManager">
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic/Main.java">
+ <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="42" column="15" selection-start="1513" selection-end="1513" vertical-scroll-proportion="0.55006033">
+ <state line="240" column="15" selection-start="6550" selection-end="6550" vertical-scroll-proportion="0.54829544">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic/MachineShop.java">
+ <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/PrecisionHistogram.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="40" column="32" selection-start="1403" selection-end="1403" vertical-scroll-proportion="0.02291918">
+ <state line="243" column="12" selection-start="6168" selection-end="6168" vertical-scroll-proportion="0.1570248">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic/Arrivals.java">
+ <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Quantile.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="29" column="13" selection-start="1211" selection-end="1211" vertical-scroll-proportion="0.1363088">
+ <state line="90" column="8" selection-start="2393" selection-end="2393" vertical-scroll-proportion="0.6635183">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic/Job.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorEventMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="56" column="16" selection-start="1749" selection-end="1749" vertical-scroll-proportion="0.64053077">
+ <state line="21" column="37" selection-start="1040" selection-end="1069" vertical-scroll-proportion="0.022432113">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/test/java/org/javasim/examples/basic/Machine.java">
+ <entry file="file://$PROJECT_DIR$/pom.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="29" column="13" selection-start="1211" selection-end="1211" vertical-scroll-proportion="0.02291918">
+ <state line="140" column="16" selection-start="4601" selection-end="4601" vertical-scroll-proportion="0.58774036">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSourceEntity.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/EventProcessorFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="58" column="58" selection-start="2128" selection-end="2128" vertical-scroll-proportion="0.0">
+ <state line="41" column="34" selection-start="1429" selection-end="1429" vertical-scroll-proportion="0.4354644">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/SimulationProcess.java">
+ <entry file="file://$PROJECT_DIR$/src/test/resources/samples/esper-default-cfg.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="476" column="33" selection-start="12195" selection-end="12195" vertical-scroll-proportion="0.74788904">
+ <state line="7" column="0" selection-start="300" selection-end="300" vertical-scroll-proportion="0.1570248">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/util/ThreadUtil.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="32" column="32" selection-start="1263" selection-end="1263" vertical-scroll-proportion="0.252111">
+ <state line="66" column="24" selection-start="2151" selection-end="2151" vertical-scroll-proportion="0.93149036">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/Scheduler.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="240" column="15" selection-start="6550" selection-end="6550" vertical-scroll-proportion="0.54829544">
- <folding />
+ <state line="54" column="34" selection-start="2039" selection-end="2039" vertical-scroll-proportion="0.76269186">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EsperRuntimeImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="108" column="16" selection-start="4352" selection-end="4352" vertical-scroll-proportion="0.1381346">
+ <state line="109" column="0" selection-start="3486" selection-end="3486" vertical-scroll-proportion="0.09408926">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/PrecisionHistogram.java">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/simulation/EventSimulation.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="243" column="12" selection-start="6168" selection-end="6168" vertical-scroll-proportion="0.1570248">
+ <state line="143" column="38" selection-start="5178" selection-end="5178" vertical-scroll-proportion="0.45476478">
<folding />
</state>
</provider>
</entry>
- <entry file="file:///home/hbraun/dev/prj/javasim/JavaSim/trunk/src/main/java/org/javasim/stats/Quantile.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="90" column="8" selection-start="2393" selection-end="2393" vertical-scroll-proportion="0.6635183">
+ <state line="26" column="19" selection-start="1155" selection-end="1155" vertical-scroll-proportion="0.13751508">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/pom.xml">
+ <entry file="file://$PROJECT_DIR$/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="140" column="16" selection-start="4601" selection-end="4601" vertical-scroll-proportion="0.58774036">
+ <state line="101" column="50" selection-start="2690" selection-end="2690" vertical-scroll-proportion="0.95416164">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorEventMessage.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SensorMessageFactory.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="21" column="37" selection-start="1040" selection-end="1069" vertical-scroll-proportion="0.022432113">
+ <state line="52" column="4" selection-start="1680" selection-end="1846" vertical-scroll-proportion="0.64173704">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java">
+ <entry file="file://$PROJECT_DIR$/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="64" column="23" selection-start="2340" selection-end="2340" vertical-scroll-proportion="0.25974026">
- <folding />
+ <state line="42" column="70" selection-start="1620" selection-end="1620" vertical-scroll-proportion="-1.8419783">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
Modified: sam/trunk/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java
===================================================================
--- sam/trunk/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java 2008-07-13 12:34:24 UTC (rev 146)
+++ sam/trunk/src/main/java/org/jboss/sam/internal/esper/EventAdapter.java 2008-07-13 12:34:47 UTC (rev 147)
@@ -100,5 +100,11 @@
{
return delegate;
}
+
+
+ public String toString()
+ {
+ return "EventAdapter {"+delegate.toString()+"}";
+ }
}
Added: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java (rev 0)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java 2008-07-13 12:34:47 UTC (rev 147)
@@ -0,0 +1,160 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.sam.samples.aggregation;
+
+import junit.framework.TestCase;
+import org.jboss.sam.EventMessage;
+import org.jboss.sam.simulation.*;
+import org.javasim.streams.UniformStream;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+import java.io.IOException;
+
+/**
+ * A simple aggregation sample that uses two statments:
+ * <ul>
+ * <li>One to aggregate high value orders (unbound)
+ * <li>Anotherone that forwards the aggregated results to a monitor (bound)
+ * </ul>
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class AggregationTestCase extends TestCase
+{
+ EventSimulation simulation;
+ SimulationContext context;
+
+ EventSourceEntity source;
+ EventSinkEntity sink;
+
+ protected void setUp() throws Exception
+ {
+ // config
+ Properties config = new Properties();
+ config.put(EventSimulation.TOTAL_SIM_TIME, 75.00);
+
+ // init
+ simulation = EventSimulation.bootstrap(config);
+
+ // shared between all entities
+ context = simulation.getContext();
+
+ // create an event source and sink
+ source = new EventSourceEntity("OrderEventSource", 0.10);
+ sink = new EventSinkEntity("HighValueMonitor");
+
+ }
+
+ protected void tearDown() throws Exception
+ {
+ simulation.done();
+ }
+
+ public void testEventAggregation()
+ {
+ // associate a source factory
+ source.setEventMessageFactory(
+ new EventMessageFactory()
+ {
+ boolean singleMatchEnforced;
+ UniformStream unitStream = new UniformStream(1,10);
+
+ public Object createEventMessage(SimulationContext context)
+ {
+ context.getMeasurement("dispatched").increment();
+
+ // we need at least a single match for the test case
+ long amount = singleMatchEnforced ? calcAmount() : 10;
+ if(!singleMatchEnforced) singleMatchEnforced = true;
+
+ OrderEventMessage order = new OrderEventMessage("Stereo", amount);
+ return order;
+ }
+
+ public long calcAmount()
+ {
+ try
+ {
+ double value = Math.floor(unitStream.getNumber());
+ return new Double(value).longValue();
+ }
+ catch (IOException e)
+ {
+ return 1;
+ }
+ }
+
+ }
+ );
+
+ // associate a sink handler
+ sink.setEventHandler(
+ new EventSinkHandler()
+ {
+ public void handle(EventMessage[] events, SimulationContext context)
+ {
+ if(null==context.getAttachment(List.class))
+ context.addAttachment(List.class, new ArrayList<EventMessage>());
+
+ context.getAttachment(List.class).addAll(Arrays.asList(events));
+ context.getMeasurement("processed").increment();
+ }
+ }
+ );
+
+ simulation.addSource(source);
+ simulation.addSink(sink);
+
+ // Aggregates high value orders with amount>5
+ simulation.createStatement("insert into HighValueOrders " +
+ "select * from org.jboss.test.sam.samples.aggregation.OrderEventMessage as o " +
+ "where o.amount>5");
+
+ // Forward any highvalue order to the HighValueMonitor
+ simulation.bindStatement("select * from HighValueOrders", sink);
+
+ // start simulation
+ simulation.singleRun();
+
+ // display status
+ printStatus();
+
+ // evaluate results
+ List<EventMessage> aggregatedMessages = context.getAttachment(List.class);
+ assertNotNull(aggregatedMessages);
+
+ for(EventMessage e : aggregatedMessages)
+ {
+ System.out.println("# " + e.getProperty("product") + ", " + e.getProperty("amount"));
+ }
+
+ }
+
+ private void printStatus()
+ {
+ System.out.println("Dispatched: "+context.getMeasurement("dispatched"));
+ System.out.println("Processed: "+context.getMeasurement("processed"));
+ }
+}
Property changes on: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/AggregationTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java (rev 0)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java 2008-07-13 12:34:47 UTC (rev 147)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.sam.samples.aggregation;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public final class OrderEventMessage
+{
+ private String product;
+ private long amount;
+
+ public OrderEventMessage(String product, long amount)
+ {
+ this.product = product;
+ this.amount = amount;
+ }
+
+ public String getProduct()
+ {
+ return product;
+ }
+
+ public void setProduct(String product)
+ {
+ this.product = product;
+ }
+
+ public long getAmount()
+ {
+ return amount;
+ }
+
+ public void setAmount(long amount)
+ {
+ this.amount = amount;
+ }
+}
Property changes on: sam/trunk/src/test/java/org/jboss/test/sam/samples/aggregation/OrderEventMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
15 years, 10 months
Overlord SVN: r146 - in sam/trunk/src/test/java/org/jboss/test/sam: simulation and 1 other directory.
by overlord-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-07-13 08:34:24 -0400 (Sun, 13 Jul 2008)
New Revision: 146
Modified:
sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java
Log:
Cleanup test cases
Modified: sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-13 12:34:02 UTC (rev 145)
+++ sam/trunk/src/test/java/org/jboss/test/sam/samples/pattern/PatternTestCase.java 2008-07-13 12:34:24 UTC (rev 146)
@@ -43,8 +43,6 @@
protected void setUp() throws Exception
{
- System.out.println("UnitTest thread: " + Thread.currentThread());
-
// config
Properties config = new Properties();
config.put(EventSimulation.TOTAL_SIM_TIME, 60.00);
@@ -66,8 +64,7 @@
protected void tearDown() throws Exception
{
- simulation.done();
- System.out.println("Done");
+ simulation.done();
}
public void testRegularLightSwitch()
Modified: sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java
===================================================================
--- sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java 2008-07-13 12:34:02 UTC (rev 145)
+++ sam/trunk/src/test/java/org/jboss/test/sam/simulation/SimulationTestCase.java 2008-07-13 12:34:24 UTC (rev 146)
@@ -22,7 +22,6 @@
package org.jboss.test.sam.simulation;
import junit.framework.TestCase;
-import junit.framework.TestResult;
import org.jboss.sam.EventMessage;
import org.jboss.sam.simulation.*;
15 years, 10 months