JBoss JBPM SVN: r4895 - jbpm4/trunk/modules/integration/report/src/main/resources.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-26 08:09:01 -0400 (Tue, 26 May 2009)
New Revision: 4895
Modified:
jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign
Log:
execitme quartiles on process definitions
Modified: jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign
===================================================================
--- jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign 2009-05-26 11:03:58 UTC (rev 4894)
+++ jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign 2009-05-26 12:09:01 UTC (rev 4895)
@@ -568,7 +568,7 @@
<property name="nativeDataType">12</property>
</structure>
</list-property>
- <property name="queryText">SELECT *
+ <property name="queryText">SELECT *
FROM JBPM4_HIST_PROCINST J
WHERE DURATION_ > 0</property>
</oda-data-set>
@@ -2515,6 +2515,7 @@
<Width>0.0</Width>
<Height>0.0</Height>
</Bounds>
+ <Anchor>West</Anchor>
<Insets>
<Top>3.0</Top>
<Left>3.0</Left>
@@ -2563,7 +2564,7 @@
</Font>
</Text>
<Orientation>Vertical</Orientation>
- <Direction>Top_Bottom</Direction>
+ <Direction>Left_Right</Direction>
<Separator>
<Style>Solid</Style>
<Thickness>1</Thickness>
@@ -2575,7 +2576,7 @@
</Color>
<Visible>true</Visible>
</Separator>
- <Position>Right</Position>
+ <Position>Below</Position>
<ItemType>Series</ItemType>
<Title>
<Caption>
@@ -2756,7 +2757,7 @@
<TitlePosition>Left</TitlePosition>
<SeriesDefinitions>
<Query>
- <Definition></Definition>
+ <Definition>row["PROCDEFID_"]</Definition>
</Query>
<SeriesPalette>
<Entries xsi:type="attribute:ColorDefinition">
@@ -3346,7 +3347,7 @@
<Visible>false</Visible>
</Label>
<DataDefinition>
- <Definition>row.__rownum</Definition>
+ <Definition>row["PROCDEFID_"]</Definition>
</DataDefinition>
<SeriesIdentifier></SeriesIdentifier>
<DataPoint>
@@ -3406,9 +3407,20 @@
<Bottom>0.0</Bottom>
<Right>3.0</Right>
</Insets>
- <Visible>false</Visible>
+ <Visible>true</Visible>
+ <Ellipsis>45</Ellipsis>
</Label>
<LabelPosition>Below</LabelPosition>
+ <Staggered>false</Staggered>
+ <Triggers>
+ <Condition>onmouseover</Condition>
+ <Action>
+ <Type>Highlight</Type>
+ <Value xsi:type="attribute:SeriesValue">
+ <Name></Name>
+ </Value>
+ </Action>
+ </Triggers>
<MajorGrid>
<LineAttributes>
<Style>Solid</Style>
@@ -3475,6 +3487,7 @@
<Orientation>Vertical</Orientation>
<UnitSpacing>50.0</UnitSpacing>
<Rotation/>
+ <ReverseCategory>false</ReverseCategory>
</model:ChartWithAxes>
]]></xml-property>
<property name="outputFormat">SVG</property>
15 years, 1 month
JBoss JBPM SVN: r4894 - in jbpm4/trunk/modules/integration: report and 3 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-26 07:03:58 -0400 (Tue, 26 May 2009)
New Revision: 4894
Added:
jbpm4/trunk/modules/integration/report/
jbpm4/trunk/modules/integration/report/src/
jbpm4/trunk/modules/integration/report/src/main/
jbpm4/trunk/modules/integration/report/src/main/resources/
jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign
Log:
Report templates
Added: jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign
===================================================================
--- jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign (rev 0)
+++ jbpm4/trunk/modules/integration/report/src/main/resources/process_activity.rptdesign 2009-05-26 11:03:58 UTC (rev 4894)
@@ -0,0 +1,3503 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.17" id="1">
+ <property name="createdBy">Eclipse BIRT Designer Version 2.3.2.r232_20090202 Build <2.3.2.v20090218-0730></property>
+ <property name="units">in</property>
+ <property name="iconFile">/templates/blank_report.gif</property>
+ <property name="bidiLayoutOrientation">ltr</property>
+ <data-sources>
+ <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="MySQL" id="7">
+ <property name="odaDriverClass">com.mysql.jdbc.Driver</property>
+ <property name="odaURL">jdbc:mysql://localhost:3306/jbpmdb</property>
+ <property name="odaUser">jbpm</property>
+ <encrypted-property name="odaPassword" encryptionID="base64">amJwbQ==</encrypted-property>
+ <property name="odaJndiName">java:/JbpmDS</property>
+ </oda-data-source>
+ </data-sources>
+ <data-sets>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="process_definitions" id="9">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">total_records</property>
+ <property name="dataType">integer</property>
+ <property name="aggregateFunction">COUNT</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">Expression</property>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">dpl</property>
+ <property name="displayName">dpl</property>
+ </structure>
+ <structure>
+ <property name="columnName">processId</property>
+ <property name="displayName">processId</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">dpl</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">processId</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">total_records</property>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">dpl</property>
+ <property name="nativeName">dpl</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">processId</property>
+ <property name="nativeName">processId</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT d.DBID_ as dpl, p.STRINGVAL_ as processId FROM JBPM4_DEPLOYMENT d, JBPM4_DEPLOYPROP p
+ WHERE p.KEY_='pdid'
+ AND d.DBID_=p.DEPLOYMENT_
+ GROUP BY dpl</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>dpl</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>20</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>dpl</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>dpl</design:label>
+ <design:formattingHints>
+ <design:displaySize>20</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>processId</design:name>
+ <design:position>2</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>processId</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>processId</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="running_instances" id="106">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">total_running_instances</property>
+ <property name="dataType">integer</property>
+ <property name="aggregateFunction">COUNT</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">Expression</property>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">instanceId</property>
+ <property name="displayName">instanceId</property>
+ </structure>
+ <structure>
+ <property name="columnName">PROCDEFID_</property>
+ <property name="displayName">PROCDEFID_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">instanceId</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">total_running_instances</property>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">instanceId</property>
+ <property name="nativeName">instanceId</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="nativeName">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT distinct(ID_) as instanceId, PROCDEFID_ FROM JBPM4_HIST_PROCINST J WHERE END_ IS NULL</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>instanceId</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>instanceId</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>instanceId</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>PROCDEFID_</design:name>
+ <design:position>2</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>PROCDEFID_</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>PROCDEFID_</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="all_instances" id="107">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">total_instances</property>
+ <property name="dataType">integer</property>
+ <property name="aggregateFunction">COUNT</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">Expression</property>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">instanceId</property>
+ <property name="displayName">instanceId</property>
+ </structure>
+ <structure>
+ <property name="columnName">PROCDEFID_</property>
+ <property name="displayName">PROCDEFID_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">instanceId</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">total_instances</property>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">instanceId</property>
+ <property name="nativeName">instanceId</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="nativeName">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT distinct(ID_) as instanceId, PROCDEFID_ FROM JBPM4_HIST_PROCINST J </property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="number_executions" id="126">
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">numExecutions</property>
+ <property name="displayName">numExecutions</property>
+ </structure>
+ <structure>
+ <property name="columnName">PROCDEFID_</property>
+ <property name="displayName">PROCDEFID_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">numExecutions</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">numExecutions</property>
+ <property name="nativeName">numExecutions</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="nativeName">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT count(PROCDEFID_) as numExecutions, PROCDEFID_
+ FROM JBPM4_HIST_PROCINST J
+ GROUP BY PROCDEFID_
+ ORDER BY numExecutions DESC
+ limit 10</property>
+ <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
+ <Version>1.0</Version>
+ <design:ResultSets derivedMetaData="true">
+ <design:resultSetDefinitions>
+ <design:resultSetColumns>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>numExecutions</design:name>
+ <design:position>1</design:position>
+ <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
+ <design:precision>21</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>NotNullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>numExecutions</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>numExecutions</design:label>
+ <design:formattingHints>
+ <design:displaySize>21</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ <design:resultColumnDefinitions>
+ <design:attributes>
+ <design:name>PROCDEFID_</design:name>
+ <design:position>2</design:position>
+ <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
+ <design:precision>255</design:precision>
+ <design:scale>0</design:scale>
+ <design:nullability>Nullable</design:nullability>
+ <design:uiHints>
+ <design:displayName>PROCDEFID_</design:displayName>
+ </design:uiHints>
+ </design:attributes>
+ <design:usageHints>
+ <design:label>PROCDEFID_</design:label>
+ <design:formattingHints>
+ <design:displaySize>255</design:displaySize>
+ </design:formattingHints>
+ </design:usageHints>
+ </design:resultColumnDefinitions>
+ </design:resultSetColumns>
+ </design:resultSetDefinitions>
+ </design:ResultSets>
+</model:DesignValues>]]></xml-property>
+ </oda-data-set>
+ <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="process_quartiles" id="137">
+ <list-property name="computedColumns">
+ <structure>
+ <property name="name">q3</property>
+ <property name="dataType">float</property>
+ <property name="aggregateFunction">QUARTILE</property>
+ <list-property name="arguments">
+ <structure>
+ <property name="name">Expression</property>
+ <expression name="value">row["DURATION_"]</expression>
+ </structure>
+ <structure>
+ <property name="name">quart</property>
+ <expression name="value">3</expression>
+ </structure>
+ </list-property>
+ </structure>
+ </list-property>
+ <list-property name="columnHints">
+ <structure>
+ <property name="columnName">ID_</property>
+ <property name="displayName">ID_</property>
+ </structure>
+ <structure>
+ <property name="columnName">DBVERSION_</property>
+ <property name="displayName">DBVERSION_</property>
+ </structure>
+ <structure>
+ <property name="columnName">PROCDEFID_</property>
+ <property name="displayName">PROCDEFID_</property>
+ </structure>
+ <structure>
+ <property name="columnName">KEY_</property>
+ <property name="displayName">KEY_</property>
+ </structure>
+ <structure>
+ <property name="columnName">START_</property>
+ <property name="displayName">START_</property>
+ </structure>
+ <structure>
+ <property name="columnName">END_</property>
+ <property name="displayName">END_</property>
+ </structure>
+ <structure>
+ <property name="columnName">DURATION_</property>
+ <property name="displayName">DURATION_</property>
+ </structure>
+ <structure>
+ <property name="columnName">STATE_</property>
+ <property name="displayName">STATE_</property>
+ </structure>
+ <structure>
+ <property name="columnName">ENDACTIVITY_</property>
+ <property name="displayName">ENDACTIVITY_</property>
+ </structure>
+ </list-property>
+ <structure name="cachedMetaData">
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">ID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">DBVERSION_</property>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">KEY_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">START_</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">6</property>
+ <property name="name">END_</property>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="position">7</property>
+ <property name="name">DURATION_</property>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="position">8</property>
+ <property name="name">STATE_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">9</property>
+ <property name="name">ENDACTIVITY_</property>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="position">10</property>
+ <property name="name">q3</property>
+ <property name="dataType">float</property>
+ </structure>
+ </list-property>
+ </structure>
+ <property name="dataSource">MySQL</property>
+ <list-property name="resultSet">
+ <structure>
+ <property name="position">1</property>
+ <property name="name">ID_</property>
+ <property name="nativeName">ID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">2</property>
+ <property name="name">DBVERSION_</property>
+ <property name="nativeName">DBVERSION_</property>
+ <property name="dataType">integer</property>
+ <property name="nativeDataType">4</property>
+ </structure>
+ <structure>
+ <property name="position">3</property>
+ <property name="name">PROCDEFID_</property>
+ <property name="nativeName">PROCDEFID_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">4</property>
+ <property name="name">KEY_</property>
+ <property name="nativeName">KEY_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">5</property>
+ <property name="name">START_</property>
+ <property name="nativeName">START_</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">6</property>
+ <property name="name">END_</property>
+ <property name="nativeName">END_</property>
+ <property name="dataType">date-time</property>
+ <property name="nativeDataType">93</property>
+ </structure>
+ <structure>
+ <property name="position">7</property>
+ <property name="name">DURATION_</property>
+ <property name="nativeName">DURATION_</property>
+ <property name="dataType">decimal</property>
+ <property name="nativeDataType">-5</property>
+ </structure>
+ <structure>
+ <property name="position">8</property>
+ <property name="name">STATE_</property>
+ <property name="nativeName">STATE_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ <structure>
+ <property name="position">9</property>
+ <property name="name">ENDACTIVITY_</property>
+ <property name="nativeName">ENDACTIVITY_</property>
+ <property name="dataType">string</property>
+ <property name="nativeDataType">12</property>
+ </structure>
+ </list-property>
+ <property name="queryText">SELECT *
+ FROM JBPM4_HIST_PROCINST J
+ WHERE DURATION_ > 0</property>
+ </oda-data-set>
+ </data-sets>
+ <styles>
+ <style name="report" id="4">
+ <property name="fontFamily">"Verdana"</property>
+ <property name="fontSize">10pt</property>
+ </style>
+ <style name="crosstab" id="5">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ <style name="crosstab-cell" id="6">
+ <property name="borderBottomColor">#CCCCCC</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1pt</property>
+ <property name="borderLeftColor">#CCCCCC</property>
+ <property name="borderLeftStyle">solid</property>
+ <property name="borderLeftWidth">1pt</property>
+ <property name="borderRightColor">#CCCCCC</property>
+ <property name="borderRightStyle">solid</property>
+ <property name="borderRightWidth">1pt</property>
+ <property name="borderTopColor">#CCCCCC</property>
+ <property name="borderTopStyle">solid</property>
+ <property name="borderTopWidth">1pt</property>
+ </style>
+ </styles>
+ <page-setup>
+ <simple-master-page name="Simple MasterPage" id="2">
+ <property name="type">a4</property>
+ <property name="topMargin">0.25in</property>
+ <property name="leftMargin">0.25in</property>
+ <property name="bottomMargin">0.25in</property>
+ <property name="rightMargin">0.25in</property>
+ </simple-master-page>
+ </page-setup>
+ <body>
+ <label id="8">
+ <property name="fontFamily">sans-serif</property>
+ <property name="fontSize">14pt</property>
+ <property name="fontWeight">normal</property>
+ <property name="color">#000000</property>
+ <property name="borderBottomColor">#000000</property>
+ <property name="borderBottomStyle">solid</property>
+ <property name="borderBottomWidth">1px</property>
+ <property name="marginTop">0pt</property>
+ <property name="marginBottom">10pt</property>
+ <property name="paddingTop">5pt</property>
+ <property name="paddingLeft">5pt</property>
+ <property name="paddingBottom">5pt</property>
+ <property name="paddingRight">5pt</property>
+ <text-property name="text">Process Activity Report</text-property>
+ </label>
+ <grid id="94">
+ <property name="marginLeft">10pt</property>
+ <property name="marginRight">10pt</property>
+ <property name="width">100%</property>
+ <column id="95">
+ <property name="width">2.4444444444444446in</property>
+ </column>
+ <column id="96"/>
+ <row id="97">
+ <cell id="98">
+ <label id="103">
+ <text-property name="text">Date Created:</text-property>
+ </label>
+ </cell>
+ <cell id="99">
+ <text-data id="105">
+ <expression name="valueExpr">new Date()</expression>
+ <property name="contentType">html</property>
+ </text-data>
+ </cell>
+ </row>
+ <row id="100">
+ <cell id="101">
+ <label id="104">
+ <text-property name="text">Total Process Definitions:</text-property>
+ </label>
+ </cell>
+ <cell id="102">
+ <data id="93">
+ <property name="dataSet">process_definitions</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">dpl</property>
+ <expression name="expression">dataSetRow["dpl"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">processId</property>
+ <expression name="expression">dataSetRow["processId"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">total_records</property>
+ <expression name="expression">dataSetRow["total_records"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ <property name="resultSetColumn">total_records</property>
+ </data>
+ </cell>
+ </row>
+ </grid>
+ <grid id="109">
+ <property name="marginTop">15pt</property>
+ <property name="marginLeft">10pt</property>
+ <property name="marginBottom">10pt</property>
+ <property name="marginRight">10pt</property>
+ <property name="width">100%</property>
+ <column id="110">
+ <property name="width">2.4444444444444446in</property>
+ </column>
+ <column id="111"/>
+ <row id="112">
+ <cell id="113">
+ <label id="114">
+ <text-property name="text">Total Instances:</text-property>
+ </label>
+ </cell>
+ <cell id="115">
+ <data id="125">
+ <property name="dataSet">all_instances</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">instanceId</property>
+ <expression name="expression">dataSetRow["instanceId"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">PROCDEFID_</property>
+ <expression name="expression">dataSetRow["PROCDEFID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">total_instances</property>
+ <expression name="expression">dataSetRow["total_instances"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="name">total instances</property>
+ <expression name="expression">dataSetRow["total_instances"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ <property name="resultSetColumn">total instances</property>
+ </data>
+ </cell>
+ </row>
+ <row id="117">
+ <cell id="118">
+ <label id="119">
+ <text-property name="text">Active Instances:</text-property>
+ </label>
+ </cell>
+ <cell id="120">
+ <data id="124">
+ <property name="dataSet">running_instances</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">instanceId</property>
+ <expression name="expression">dataSetRow["instanceId"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">PROCDEFID_</property>
+ <expression name="expression">dataSetRow["PROCDEFID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">total_running_instances</property>
+ <expression name="expression">dataSetRow["total_running_instances"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="name">running instances</property>
+ <expression name="expression">dataSetRow["total_running_instances"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ <property name="resultSetColumn">running instances</property>
+ </data>
+ </cell>
+ </row>
+ </grid>
+ <grid id="127">
+ <property name="width">100%</property>
+ <column id="128"/>
+ <column id="129"/>
+ <row id="130">
+ <cell id="131">
+ <table id="174">
+ <property name="marginTop">0pt</property>
+ <property name="width">100%</property>
+ <property name="dataSet">process_definitions</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">dpl</property>
+ <expression name="expression">dataSetRow["dpl"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">processId</property>
+ <expression name="expression">dataSetRow["processId"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">total_records</property>
+ <expression name="expression">dataSetRow["total_records"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ </list-property>
+ <column id="181"/>
+ <header>
+ <row id="175">
+ <cell id="176">
+ <extended-item extensionName="Chart" name="NewChart" id="136">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Type>Bar Chart</Type>
+ <SubType>Side-by-side</SubType>
+ <Description>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Description>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Most active process</Value>
+ <Font>
+ <Name>SansSerif</Name>
+ <Size>12.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Anchor>West</Anchor>
+ <Stretch>Horizontal</Stretch>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>false</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Horizontal</Orientation>
+ <Direction>Left_Right</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Separator>
+ <Position>Below</Position>
+ <ItemType>Categories</ItemType>
+ <Title>
+ <Caption>
+ <Value>ID</Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ <ShowValue>false</ShowValue>
+ <MaxPercent>1.0</MaxPercent>
+ <TitlePercent>0.5</TitlePercent>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>250.0</Width>
+ <Height>200.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Outline>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional</Dimension>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ <AncillarySampleData>
+ <DataSetRepresentation>Series 1</DataSetRepresentation>
+ </AncillarySampleData>
+ </SampleData>
+ <Interactivity>
+ <LegendBehavior>HighlightSerie</LegendBehavior>
+ </Interactivity>
+ <Axes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>X-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>0.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <AssociatedAxes>
+ <Type>Logarithmic</Type>
+ <Title>
+ <Caption>
+ <Value>Y-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>90.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Left</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition>row["PROCDEFID_"]</Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:BarSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["numExecutions"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier>Series 1</SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Series_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>true</Stacked>
+ <Translucent>false</Translucent>
+ <Riser>Rectangle</Riser>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>1.0</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Vertical</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Left</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <Min xsi:type="data:NumberDataElement">
+ <Value>1.0</Value>
+ </Min>
+ <Max xsi:type="data:NumberDataElement">
+ <Value>5.0</Value>
+ </Max>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AssociatedAxes>
+ <AncillaryAxes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>Z-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>1.0</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AncillaryAxes>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["PROCDEFID_"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>true</Enabled>
+ <GroupingInterval>1.0</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ <ShowOutside>false</ShowOutside>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <CategoryAxis>false</CategoryAxis>
+ <Percent>false</Percent>
+ </Axes>
+ <Orientation>Horizontal</Orientation>
+ <UnitSpacing>50.0</UnitSpacing>
+ <Rotation>
+ <Angles>
+ <XAngle>-20.0</XAngle>
+ <YAngle>45.0</YAngle>
+ <ZAngle>0.0</ZAngle>
+ <Type>None</Type>
+ </Angles>
+ </Rotation>
+ <ReverseCategory>false</ReverseCategory>
+</model:ChartWithAxes>
+]]></xml-property>
+ <property name="outputFormat">SVG</property>
+ <property name="marginTop">10pt</property>
+ <property name="marginLeft">10pt</property>
+ <property name="dataSet">number_executions</property>
+ <property name="height">200pt</property>
+ <property name="width">250pt</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">numExecutions</property>
+ <expression name="expression">dataSetRow["numExecutions"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">PROCDEFID_</property>
+ <expression name="expression">dataSetRow["PROCDEFID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ </list-property>
+ </extended-item>
+ </cell>
+ </row>
+ </header>
+ <detail>
+ <row id="177">
+ <cell id="178"/>
+ </row>
+ </detail>
+ </table>
+ </cell>
+ <cell id="132">
+ <table id="165">
+ <property name="width">100%</property>
+ <property name="dataSet">process_quartiles</property>
+ <list-property name="boundDataColumns">
+ <structure>
+ <property name="name">ID_</property>
+ <expression name="expression">dataSetRow["ID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">DBVERSION_</property>
+ <expression name="expression">dataSetRow["DBVERSION_"]</expression>
+ <property name="dataType">integer</property>
+ </structure>
+ <structure>
+ <property name="name">PROCDEFID_</property>
+ <expression name="expression">dataSetRow["PROCDEFID_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">KEY_</property>
+ <expression name="expression">dataSetRow["KEY_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">START_</property>
+ <expression name="expression">dataSetRow["START_"]</expression>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="name">END_</property>
+ <expression name="expression">dataSetRow["END_"]</expression>
+ <property name="dataType">date-time</property>
+ </structure>
+ <structure>
+ <property name="name">DURATION_</property>
+ <expression name="expression">dataSetRow["DURATION_"]</expression>
+ <property name="dataType">decimal</property>
+ </structure>
+ <structure>
+ <property name="name">STATE_</property>
+ <expression name="expression">dataSetRow["STATE_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">ENDACTIVITY_</property>
+ <expression name="expression">dataSetRow["ENDACTIVITY_"]</expression>
+ <property name="dataType">string</property>
+ </structure>
+ <structure>
+ <property name="name">q3</property>
+ <expression name="expression">dataSetRow["q3"]</expression>
+ <property name="dataType">float</property>
+ </structure>
+ </list-property>
+ <method name="onCreate"><![CDATA[reportContext.setPersistentGlobalVariable("3_quartile",this.getRowData().getColumnValue("q3"));]]></method>
+ <column id="172"/>
+ <header>
+ <row id="166">
+ <cell id="167">
+ <extended-item extensionName="Chart" name="NewChart1" id="173">
+ <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
+ <Type>Bar Chart</Type>
+ <SubType>Side-by-side</SubType>
+ <Block>
+ <Children xsi:type="layout:TitleBlock">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value>Process Completion Quartile</Value>
+ <Font>
+ <Name>SansSerif</Name>
+ <Size>12.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>true</Visible>
+ </Label>
+ </Children>
+ <Children xsi:type="layout:Plot">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>true</Visible>
+ <HorizontalSpacing>5</HorizontalSpacing>
+ <VerticalSpacing>5</VerticalSpacing>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>0.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>0.0</Right>
+ </Insets>
+ </ClientArea>
+ </Children>
+ <Children xsi:type="layout:Legend">
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>0.0</Width>
+ <Height>0.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Visible>false</Visible>
+ <ClientArea>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>0</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>2.0</Top>
+ <Left>2.0</Left>
+ <Bottom>2.0</Bottom>
+ <Right>2.0</Right>
+ </Insets>
+ </ClientArea>
+ <Text>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Text>
+ <Orientation>Vertical</Orientation>
+ <Direction>Top_Bottom</Direction>
+ <Separator>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Separator>
+ <Position>Right</Position>
+ <ItemType>Series</ItemType>
+ <Title>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Above</TitlePosition>
+ </Children>
+ <Bounds>
+ <Left>0.0</Left>
+ <Top>0.0</Top>
+ <Width>250.0</Width>
+ <Height>200.0</Height>
+ </Bounds>
+ <Insets>
+ <Top>3.0</Top>
+ <Left>3.0</Left>
+ <Bottom>3.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Row>-1</Row>
+ <Column>-1</Column>
+ <Rowspan>-1</Rowspan>
+ <Columnspan>-1</Columnspan>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </Outline>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Visible>true</Visible>
+ </Block>
+ <Dimension>Two_Dimensional</Dimension>
+ <Script>function beforeGeneration(chart, icsc)
+{
+importPackage(Packages.org.eclipse.birt.chart.model.component.impl);
+importPackage(Packages.org.eclipse.birt.chart.model.data.impl);
+importPackage(Packages.org.eclipse.birt.chart.model.attribute);
+importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);
+
+var chart = icsc.getChartInstance();
+var yAxis = chart.getAxes().get(0).getAssociatedAxes().get(0);
+var q3 = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("3_quartile");
+
+q3_ml = MarkerLineImpl.create(yAxis, NumberDataElementImpl.create(q3));
+q3_ml.getLabel().getCaption().setValue("Q3: " + q3);
+q3_ml.getLineAttributes().getColor().set(255,0,0);
+
+}</Script>
+ <Units>Points</Units>
+ <SeriesThickness>10.0</SeriesThickness>
+ <SampleData>
+ <BaseSampleData>
+ <DataSetRepresentation>A, B, C</DataSetRepresentation>
+ </BaseSampleData>
+ <OrthogonalSampleData>
+ <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
+ <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
+ </OrthogonalSampleData>
+ </SampleData>
+ <Interactivity/>
+ <Axes>
+ <Type>Text</Type>
+ <Title>
+ <Caption>
+ <Value>X-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Below</TitlePosition>
+ <AssociatedAxes>
+ <Type>Logarithmic</Type>
+ <Title>
+ <Caption>
+ <Value>Y-Axis Title</Value>
+ <Font>
+ <Size>14.0</Size>
+ <Bold>true</Bold>
+ <Alignment>
+ <horizontalAlignment>Center</horizontalAlignment>
+ <verticalAlignment>Center</verticalAlignment>
+ </Alignment>
+ <Rotation>90.0</Rotation>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Title>
+ <TitlePosition>Left</TitlePosition>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series xsi:type="type:BarSeries">
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row["DURATION_"]</Definition>
+ </DataDefinition>
+ <SeriesIdentifier>Series 1</SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ <Riser>Rectangle</Riser>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>1.0</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Vertical</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Left</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <Percent>false</Percent>
+ </AssociatedAxes>
+ <SeriesDefinitions>
+ <Query>
+ <Definition></Definition>
+ </Query>
+ <SeriesPalette>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>166</Green>
+ <Blue>218</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>242</Red>
+ <Green>88</Green>
+ <Blue>106</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>232</Red>
+ <Green>172</Green>
+ <Blue>57</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>64</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>170</Red>
+ <Green>85</Green>
+ <Blue>85</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>192</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>7</Red>
+ <Green>146</Green>
+ <Blue>94</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>192</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>64</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>80</Red>
+ <Green>240</Green>
+ <Blue>120</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>0</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>0</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>64</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>128</Red>
+ <Green>128</Green>
+ <Blue>128</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>64</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Entries>
+ <Entries xsi:type="attribute:ColorDefinition">
+ <Transparency>255</Transparency>
+ <Red>255</Red>
+ <Green>128</Green>
+ <Blue>0</Blue>
+ </Entries>
+ </SeriesPalette>
+ <Series>
+ <Visible>true</Visible>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <DataDefinition>
+ <Definition>row.__rownum</Definition>
+ </DataDefinition>
+ <SeriesIdentifier></SeriesIdentifier>
+ <DataPoint>
+ <Components>
+ <Type>Orthogonal_Value</Type>
+ </Components>
+ <Separator>, </Separator>
+ </DataPoint>
+ <LabelPosition>Outside</LabelPosition>
+ <Stacked>false</Stacked>
+ </Series>
+ <Grouping>
+ <Enabled>false</Enabled>
+ <GroupingInterval>1.0</GroupingInterval>
+ <GroupType>Text</GroupType>
+ <AggregateExpression>Sum</AggregateExpression>
+ </Grouping>
+ </SeriesDefinitions>
+ <Orientation>Horizontal</Orientation>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>192</Red>
+ <Green>192</Green>
+ <Blue>192</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </LineAttributes>
+ <Label>
+ <Caption>
+ <Value></Value>
+ <Font>
+ <Alignment/>
+ </Font>
+ </Caption>
+ <Background xsi:type="attribute:ColorDefinition">
+ <Transparency>0</Transparency>
+ <Red>255</Red>
+ <Green>255</Green>
+ <Blue>255</Blue>
+ </Background>
+ <Outline>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>0</Red>
+ <Green>0</Green>
+ <Blue>0</Blue>
+ </Color>
+ </Outline>
+ <Insets>
+ <Top>0.0</Top>
+ <Left>2.0</Left>
+ <Bottom>0.0</Bottom>
+ <Right>3.0</Right>
+ </Insets>
+ <Visible>false</Visible>
+ </Label>
+ <LabelPosition>Below</LabelPosition>
+ <MajorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>196</Red>
+ <Green>196</Green>
+ <Blue>196</Blue>
+ </Color>
+ <Visible>true</Visible>
+ </TickAttributes>
+ </MajorGrid>
+ <MinorGrid>
+ <LineAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </LineAttributes>
+ <TickStyle>Across</TickStyle>
+ <TickAttributes>
+ <Style>Solid</Style>
+ <Thickness>1</Thickness>
+ <Color>
+ <Transparency>255</Transparency>
+ <Red>225</Red>
+ <Green>225</Green>
+ <Blue>225</Blue>
+ </Color>
+ <Visible>false</Visible>
+ </TickAttributes>
+ </MinorGrid>
+ <Scale>
+ <MinorGridsPerUnit>5</MinorGridsPerUnit>
+ </Scale>
+ <Origin>
+ <Type>Min</Type>
+ <Value xsi:type="data:NumberDataElement">
+ <Value>0.0</Value>
+ </Value>
+ </Origin>
+ <PrimaryAxis>true</PrimaryAxis>
+ <CategoryAxis>true</CategoryAxis>
+ <Percent>false</Percent>
+ </Axes>
+ <Orientation>Vertical</Orientation>
+ <UnitSpacing>50.0</UnitSpacing>
+ <Rotation/>
+</model:ChartWithAxes>
+]]></xml-property>
+ <property name="outputFormat">SVG</property>
+ <property name="marginTop">10pt</property>
+ <property name="marginLeft">10pt</property>
+ <property name="height">200pt</property>
+ <property name="width">250pt</property>
+ </extended-item>
+ </cell>
+ </row>
+ </header>
+ <detail>
+ <row id="168">
+ <cell id="169"/>
+ </row>
+ </detail>
+ </table>
+ </cell>
+ </row>
+ <row id="133">
+ <cell id="134"/>
+ <cell id="135"/>
+ </row>
+ </grid>
+ </body>
+</report>
15 years, 1 month
JBoss JBPM SVN: r4893 - in jbpm4/branches/jimma/modules/migration: src/main/java/org/jbpm/jpdl/internal/convert and 3 other directories.
by do-not-reply@jboss.org
Author: jim.ma
Date: 2009-05-26 05:57:23 -0400 (Tue, 26 May 2009)
New Revision: 4893
Added:
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventActionConverter.java
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventConverter.java
jbpm4/branches/jimma/modules/migration/src/test/resources/process-event.xml
Modified:
jbpm4/branches/jimma/modules/migration/pom.xml
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/JpdlConverter.java
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/DecisionConverter.java
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/NodeConverter.java
jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/TaskNodeConverter.java
jbpm4/branches/jimma/modules/migration/src/test/java/org/jbpm/jpdl/internal/convert/JpdlConverterTest.java
Log:
Added event element converter
Modified: jbpm4/branches/jimma/modules/migration/pom.xml
===================================================================
--- jbpm4/branches/jimma/modules/migration/pom.xml 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/pom.xml 2009-05-26 09:57:23 UTC (rev 4893)
@@ -1,177 +1,199 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- ====================================================================== -->
-<!-- -->
-<!-- JBoss, the OpenSource J2EE webOS -->
-<!-- -->
-<!-- Distributable under LGPL license. -->
-<!-- See terms of license at http://www.gnu.org. -->
-<!-- -->
-<!-- ====================================================================== -->
+ <!--
+ ======================================================================
+ -->
+ <!--
+ -->
+ <!--
+ JBoss, the OpenSource J2EE webOS
+ -->
+ <!--
+ -->
+ <!--
+ Distributable under LGPL license.
+ -->
+ <!--
+ See terms of license at http://www.gnu.org.
+ -->
+ <!--
+ -->
+ <!--
+ ======================================================================
+ -->
-<!-- $Id: pom.xml 1790 2008-07-31 12:13:06Z tom.baeyens(a)jboss.com $ -->
+ <!-- $Id: pom.xml 1790 2008-07-31 12:13:06Z tom.baeyens(a)jboss.com $ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
+ <modelVersion>4.0.0</modelVersion>
- <name>jBPM 4 - Migration - Tool</name>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>migration</artifactId>
- <packaging>jar</packaging>
+ <name>jBPM 4 - Migration - Tool</name>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>migration</artifactId>
+ <packaging>jar</packaging>
- <!-- Parent -->
- <parent>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm</artifactId>
- <version>4.0.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
- <!-- Properties -->
- <properties>
- </properties>
+ <!-- Properties -->
+ <properties>
+ </properties>
- <!-- Dependencies -->
- <dependencies>
- <dependency>
- <groupId>org.jbpm.jbpm3</groupId>
- <artifactId>jbpm-jpdl</artifactId>
- <version>3.3.1-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.ant</groupId>
- <artifactId>ant</artifactId>
- </exclusion>
- <exclusion>
- <groupId>bsh</groupId>
- <artifactId>bsh</artifactId>
- </exclusion>
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm3</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>3.3.1-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ </exclusion>
+ <!--
+ exclusion> <groupId>bsh</groupId> <artifactId>bsh</artifactId>
+ </exclusion
+ -->
- <exclusion>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-core</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+ <exclusion>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
- <!-- 3rd Party -->
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <version>2.0</version>
- <exclusions>
- <exclusion>
- <groupId>javax.activation</groupId>
- <artifactId>activation</artifactId>
- </exclusion>
+ <!-- 3rd Party -->
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </exclusion>
- <exclusion>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jsr173_api</artifactId>
- </exclusion>
+ <exclusion>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jsr173_api</artifactId>
+ </exclusion>
- </exclusions>
+ </exclusions>
- </dependency>
+ </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <version>2.0.3</version>
- </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>2.0.3</version>
+ </dependency>
- <!-- JBPM4 -->
- <dependency>
- <groupId>org.jbpm.jbpm4</groupId>
- <artifactId>jbpm-jpdl</artifactId>
- <version>${version}</version>
- <scope>test</scope>
- </dependency>
+ <!-- JBPM4 -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.4</version>
- <scope>test</scope>
- </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-pvm</artifactId>
+ <version>${version}</version>
+ <scope>test</scope>
+ </dependency>
- </dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-jpdl</artifactId>
+ <version>${version}</version>
+ <scope>test</scope>
+ </dependency>
- <!-- Plugins -->
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>jaxb2-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <goals>
- <goal>xjc</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <includeSchemas>
- <includeSchema>**/*.xsd</includeSchema>
- </includeSchemas>
- <packageName>org.jbpm.jpdl4.model</packageName>
- </configuration>
- </plugin>
-
- <!--Add classpath to menifest -->
- <!--plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <finalName>jbpm-migration</finalName>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- </manifest>
- </archive>
- </configuration>
- </plugin-->
- </plugins>
- </build>
- <!-- Profiles -->
- <profiles>
- <!-- skip tests if this is an integration test run
- (only examples and test-db are part of the integration test runs) -->
- <profile>
- <id>integration.test</id>
- <activation>
- <property>
- <name>jboss.bind.address</name>
- </property>
- </activation>
- <properties>
- <skipTests>true</skipTests>
- </properties>
- </profile>
- </profiles>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
- <pluginRepositories>
- <pluginRepository>
- <id>codehaus</id>
- <name>codehaus</name>
- <url>http://repository.codehaus.org</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
+ </dependencies>
+ <!-- Plugins -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxb2-maven-plugin</artifactId>
+ <version>1.2</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>xjc</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <includeSchemas>
+ <includeSchema>**/*.xsd</includeSchema>
+ </includeSchemas>
+ <packageName>org.jbpm.jpdl4.model</packageName>
+ </configuration>
+ </plugin>
+ <!--Add classpath to menifest -->
+ <!--
+ plugin> <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId> <configuration>
+ <finalName>jbpm-migration</finalName> <archive> <manifest>
+ <addClasspath>true</addClasspath> </manifest> </archive>
+ </configuration> </plugin
+ -->
+
+ </plugins>
+ </build>
+
+ <!-- Profiles -->
+ <profiles>
+ <!--
+ skip tests if this is an integration test run (only examples and
+ test-db are part of the integration test runs)
+ -->
+ <profile>
+ <id>integration.test</id>
+ <activation>
+ <property>
+ <name>jboss.bind.address</name>
+ </property>
+ </activation>
+ <properties>
+ <skipTests>true</skipTests>
+ </properties>
+ </profile>
+ </profiles>
+
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>codehaus</id>
+ <name>codehaus</name>
+ <url>http://repository.codehaus.org
+ </url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+
+
</project>
Modified: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/JpdlConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/JpdlConverter.java 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/JpdlConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -35,6 +35,7 @@
import java.util.Map;
import java.util.Set;
+import org.jbpm.graph.def.Event;
import org.jbpm.graph.def.Node;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.node.EndState;
@@ -45,6 +46,7 @@
import org.jbpm.graph.node.TaskNode;
import org.jbpm.jpdl.internal.convert.util.DecisionConverter;
import org.jbpm.jpdl.internal.convert.util.EndStateConverter;
+import org.jbpm.jpdl.internal.convert.util.EventConverter;
import org.jbpm.jpdl.internal.convert.util.ForkConverter;
import org.jbpm.jpdl.internal.convert.util.JoinConverter;
import org.jbpm.jpdl.internal.convert.util.NodeConverter;
@@ -135,6 +137,17 @@
}
}
+
+ //Process Event
+ Map events = def.getEvents();
+ if (events != null) {
+ Set entries= events.entrySet();
+ for (Object entry : entries) {
+ Event event = ((Map.Entry<String, Event>)entry).getValue();
+ org.jbpm.jpdl4.model.On on = EventConverter.run(event);
+ process.getSwimlaneAndOnAndTimer().add(on);
+ }
+ }
return process;
}
Modified: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/DecisionConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/DecisionConverter.java 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/DecisionConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -33,8 +33,7 @@
//node.getDecisionConditions()
for (Transition trans : node.getLeavingTransitions()) {
result.getTransition().add(TransitionConverter.run(trans, Process.Decision.Transition.class));
- }
-
+ }
return result;
}
Added: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventActionConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventActionConverter.java (rev 0)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventActionConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -0,0 +1,49 @@
+package org.jbpm.jpdl.internal.convert.util;
+
+import java.util.Set;
+
+import javax.xml.bind.JAXBElement;
+
+import org.jbpm.context.def.VariableAccess;
+import org.jbpm.graph.action.Script;
+import org.jbpm.graph.def.Action;
+import org.jbpm.instantiation.Delegation;
+import org.jbpm.jpdl4.model.JavaType;
+import org.jbpm.jpdl4.model.ObjectFactory;
+import org.jbpm.jpdl4.model.ScriptType;
+
+public class EventActionConverter {
+ public static JAXBElement<?> run(Action action) {
+ JAXBElement<?> result = null;
+ if (action instanceof Script) {
+ ScriptType scriptType = new ScriptType();
+ Script script = (Script) action;
+ scriptType.setText(script.getExpression());
+ //scriptType.setExpr(script.getExpression());
+ if (script.getVariableAccesses() != null) {
+ for (VariableAccess variableAccess : (Set<VariableAccess>) script.getVariableAccesses()) {
+ if (variableAccess.isWritable()) {
+ scriptType.setVar(variableAccess.getVariableName());
+ }
+ //TODO:check if we should handle other variables
+ }
+
+ }
+ result = new ObjectFactory().createOnScript(scriptType);
+ } else {
+ if (action.getActionExpression() != null) {
+ //TODO: handle action expression
+ }
+ if (action.getActionDelegation() != null) {
+ Delegation delegation = action.getActionDelegation();
+ String className = delegation.getClassName();
+ JavaType javaType = new ObjectFactory().createJavaType();
+ javaType.setClazz(className);
+ javaType.setMethod("execute");
+ result = new ObjectFactory().createOnJava(javaType);
+ }
+ }
+ return result;
+ }
+
+}
Added: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventConverter.java (rev 0)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/EventConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -0,0 +1,35 @@
+package org.jbpm.jpdl.internal.convert.util;
+
+import java.util.List;
+
+import org.jbpm.graph.def.Action;
+import org.jbpm.graph.def.Event;
+import org.jbpm.jpdl4.model.On;
+
+public class EventConverter {
+ public static On run(Event event) {
+ On result = new On();
+ //process-start and process-end
+ result.setEvent(convertEnvetType(event.getEventType()));
+ List<Action> actions = (List<Action>)event.getActions();
+ for (Action action : actions) {
+ result.getEventListenerGroup().add(EventActionConverter.run(action));
+ }
+
+ //There is no corresponding element in jpdl3 map to event listener...
+ return result;
+
+ }
+
+ private static String convertEnvetType(String type) {
+ if (type.toLowerCase().equals("process-start")) {
+ return "start";
+ }
+ if (type.toLowerCase().equals("process-end")) {
+ return "end";
+ }
+
+ return null;
+ }
+
+}
Modified: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/NodeConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/NodeConverter.java 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/NodeConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -1,9 +1,14 @@
package org.jbpm.jpdl.internal.convert.util;
+import java.util.Set;
+
+import org.jbpm.context.def.VariableAccess;
+import org.jbpm.graph.action.Script;
import org.jbpm.graph.def.Action;
import org.jbpm.graph.def.Node;
import org.jbpm.instantiation.Delegation;
import org.jbpm.jpdl4.model.Process;
+import org.jbpm.jpdl4.model.ScriptType;
/*
<action-type element="action" class="org.jbpm.graph.def.Action" />
@@ -15,6 +20,23 @@
public static Object run(Node node) {
String nodeName = node.getName();
Action action = node.getAction();
+ if (action instanceof Script) {
+ Process.Script result = new Process.Script();
+ result.setName(action.getName());
+ Script script = (Script) action;
+ result.setText(script.getExpression());
+ //scriptType.setExpr(script.getExpression());
+ if (script.getVariableAccesses() != null) {
+ for (VariableAccess variableAccess : (Set<VariableAccess>) script.getVariableAccesses()) {
+ if (variableAccess.isWritable()) {
+ result.setVar(variableAccess.getVariableName());
+ break;
+ }
+ }
+ }
+ return result;
+
+ }
if (action instanceof Action) {
Process.Java result = new Process.Java();
result.setName(nodeName);
@@ -27,21 +49,8 @@
}
return result;
}
- //TODO:convert other action types
- if (action instanceof org.jbpm.scheduler.def.CreateTimerAction) {
-
- }
- if (action instanceof org.jbpm.scheduler.def.CancelTimerAction) {
-
- }
- /*if (action instanceof org.jbpm.scheduler.def.Script) {
-
- }
+ //TODO:convert other action types:create-timer,cancel-timer, mail
- if (action instanceof org.jbpm.scheduler.def.MailAction) {
-
- }*/
-
return null;
Modified: jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/TaskNodeConverter.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/TaskNodeConverter.java 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/src/main/java/org/jbpm/jpdl/internal/convert/util/TaskNodeConverter.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -68,6 +68,7 @@
newTask.setAssignmentHandler(object);
}
newTask.setName(task.getName());
+ //TODO:covert the controller and other stuff.
return newTask;
}
Modified: jbpm4/branches/jimma/modules/migration/src/test/java/org/jbpm/jpdl/internal/convert/JpdlConverterTest.java
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/test/java/org/jbpm/jpdl/internal/convert/JpdlConverterTest.java 2009-05-25 19:20:04 UTC (rev 4892)
+++ jbpm4/branches/jimma/modules/migration/src/test/java/org/jbpm/jpdl/internal/convert/JpdlConverterTest.java 2009-05-26 09:57:23 UTC (rev 4893)
@@ -34,22 +34,23 @@
public void runSimpleProcessFile() throws Exception {
testConvert("simple.xml");
}
-
@Test
public void runAssignmentProcessFile() throws Exception {
testConvert("assignment.xml");
}
-
@Test
public void runBusinessTrip() throws Exception {
testConvert("businesstrip.xml");
}
-
@Test
public void testDescision() throws Exception {
testConvert("testDecision.xml");
}
+ @Test
+ public void testEvent() throws Exception {
+ testConvert("process-event.xml");
+ }
@@ -67,7 +68,6 @@
//Validate it with Jpdl4Parser
String jpdl4xml = new String(bout.toByteArray());
-
List<Problem> problems = new JpdlParser().createParse().setString(jpdl4xml).execute().getProblems();
Assert.assertEquals(problems.toString(), 0, problems.size());
}
Added: jbpm4/branches/jimma/modules/migration/src/test/resources/process-event.xml
===================================================================
--- jbpm4/branches/jimma/modules/migration/src/test/resources/process-event.xml (rev 0)
+++ jbpm4/branches/jimma/modules/migration/src/test/resources/process-event.xml 2009-05-26 09:57:23 UTC (rev 4893)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<process-definition
+ xmlns="urn:jbpm.org:jpdl-3.2"
+ name="simple">
+ <start-state name="start">
+ <transition name="to_state" to="first">
+ <action name="action" class="com.sample.action.MessageActionHandler">
+ <message>Going to the first state!</message>
+ </action>
+ </transition>
+ </start-state>
+ <state name="first">
+ <transition name="to_end" to="end">
+ <action name="action" class="com.sample.action.MessageActionHandler">
+ <message>About to finish!</message>
+ </action>
+ </transition>
+ </state>
+ <end-state name="end"></end-state>
+
+ <event type="process-start">
+
+ <action name="ation1" expression="a=b+c"></action>
+ <action name="action2" class="org.jbpm.Logger"></action>
+ <script>run this script</script>
+ </event>
+
+
+</process-definition>
\ No newline at end of file
15 years, 1 month
JBoss JBPM SVN: r4892 - in jbpm4/trunk/modules: integration/graphView-plugin and 2 other directories.
by do-not-reply@jboss.org
Author: alex.guizar(a)jboss.com
Date: 2009-05-25 15:20:04 -0400 (Mon, 25 May 2009)
New Revision: 4892
Modified:
jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/notification/process.jpdl.xml
jbpm4/trunk/modules/integration/graphView-plugin/
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml
Log:
RESOLVED - JBPM-2254: task notify and reminder emails
document task notification and reminder elements, as well as mail activity which still was undocumented
Modified: jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/notification/process.jpdl.xml
===================================================================
--- jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/notification/process.jpdl.xml 2009-05-25 15:44:23 UTC (rev 4891)
+++ jbpm4/trunk/modules/examples/src/test/resources/org/jbpm/examples/task/notification/process.jpdl.xml 2009-05-25 19:20:04 UTC (rev 4892)
@@ -9,7 +9,7 @@
<task name="review"
assignee="#{order.owner}"
g="96,16,127,52">
- <notification/>
+ <notification/>
<transition to="wait"/>
</task>
Property changes on: jbpm4/trunk/modules/integration/graphView-plugin
___________________________________________________________________
Name: svn:ignore
+ target
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java 2009-05-25 15:44:23 UTC (rev 4891)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/util/XmlUtil.java 2009-05-25 19:20:04 UTC (rev 4892)
@@ -234,16 +234,7 @@
}
public static String getContentText(Element element) {
- StringBuffer buffer = new StringBuffer();
- NodeList activityList = element.getChildNodes();
- for (int i = 0; i < activityList.getLength(); i++) {
- Node activity = activityList.item(i);
- if (activity instanceof CharacterData) {
- CharacterData characterData = (CharacterData) activity;
- buffer.append(characterData.getData());
- }
- }
- return buffer.toString();
+ return element.getTextContent();
}
public static boolean isTextOnly(Element element) {
Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml 2009-05-25 15:44:23 UTC (rev 4891)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch05-Jpdl.xml 2009-05-25 19:20:04 UTC (rev 4892)
@@ -732,8 +732,7 @@
<section id="task">
<title><literal>task</literal></title>
- <para>Creates a task for a person in the task component.
- </para>
+ <para>Creates a task for a person in the task component.</para>
<!-- ~~~ TASK ASSIGNEE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
@@ -1137,7 +1136,7 @@
<section id="taskvariables">
<title><literal>task</literal> variables</title>
- <para>Tasks can see and update process variables. Later tasks will have
+ <para>Tasks can read and update process variables. Later tasks will have
the option to declare task-local process variables. Task variables
are an important part of the task forms. Task forms typically show
data that comes from the task and the process instance. Then
@@ -1159,6 +1158,54 @@
taskService.setVariables(taskDbid, variables);</programlisting>
</section>
+
+ <!-- ~~~ MAIL SUPPORT IN TASKS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+
+ <section id="mailintasks">
+ <title>e-mail support in tasks</title>
+ <para>It is possible to provide assignees with notifications when a task
+ is added to their list, as well as reminders at specific intervals.
+ Every email message is produced from a template. Templates may be specified
+ inline or in the <literal>process-engine-context</literal> section of the
+ configuration file.</para>
+ <table><title><literal>task</literal> elements</title>
+ <tgroup cols="3" rowsep="1" colsep="1">
+ <thead>
+ <row>
+ <entry>Element</entry>
+ <entry>Multiplicity</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>notification</entry>
+ <entry>0..1</entry>
+ <entry>Sends a notification message when a task is assigned.
+ If no template is referenced or supplied inline, mail support
+ falls back on the template named <emphasis>task-notification</emphasis>.
+ </entry>
+ </row>
+ <row>
+ <entry>reminder</entry>
+ <entry>0..1</entry>
+ <entry>Sends a reminder message at specific intervals.
+ If no template is referenced or supplied inline, mail support
+ falls back on the template named <emphasis>task-reminder</emphasis>.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>Here is a basic example that accepts the default templates.</para>
+ <programlisting><![CDATA[<task name="review"
+ assignee="#{order.owner}"
+ <notification/>
+ <reminder duedate="2 days" repeat="1 day"/>
+</task>]]></programlisting>
+ <para>Refer to the <link linkend="mailsupport">mail chapter</link> for full details
+ on mail support.</para>
+ </section>
</section>
<!-- ### SUB-PROCESS ################################################## -->
@@ -1216,7 +1263,7 @@
</tgroup>
</table>
- <table><title><literal>process</literal> elements:</title>
+ <table><title><literal>sub-process</literal> elements:</title>
<tgroup cols="3" rowsep="1" colsep="1">
<thead>
<row>
@@ -2032,6 +2079,107 @@
<literal>session.createSQLQuery(...)</literal> is used.
</para>
</section>
+
+ <!-- ### Mail ########################################################## -->
+
+ <section id="mail">
+ <title><literal>mail</literal></title>
+ <para>Through the <literal>mail</literal> activity, process authors are
+ able to specify the content of an email message to be sent to multiple
+ recipients at once. Every email message is produced from a template.
+ Templates may be specified inline or in the <literal>process-engine-context
+ </literal> section of the configuration file.</para>
+ <table><title><literal>mail</literal> attributes</title>
+ <tgroup cols="5" rowsep="1" colsep="1">
+ <thead>
+ <row>
+ <entry>Attribute</entry>
+ <entry>Type</entry>
+ <entry>Default</entry>
+ <entry>Required?</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>template</entry>
+ <entry>string</entry>
+ <entry></entry>
+ <entry>no</entry>
+ <entry>Reference to a <literal>mail-template</literal> element in the
+ configuration file. If absent, the template must be specified
+ inline using the child elements.</entry>
+ </row>
+ <row>
+ <entry>template</entry>
+ <entry>string</entry>
+ <entry></entry>
+ <entry>no</entry>
+ <entry>Reference to a <literal>mail-template</literal> element in the
+ configuration file. If absent, the template must be specified
+ inline using the nested elements.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <table><title><literal>mail</literal> elements</title>
+ <tgroup cols="3" rowsep="1" colsep="1">
+ <thead>
+ <row>
+ <entry>Element</entry>
+ <entry>Multiplicity</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>from</entry>
+ <entry>0..1</entry>
+ <entry>list of sender(s)</entry>
+ </row>
+ <row>
+ <entry>to</entry>
+ <entry>1</entry>
+ <entry>list of primary recipients</entry>
+ </row>
+ <row>
+ <entry>cc</entry>
+ <entry>0..1</entry>
+ <entry>list of carbon copy recipients</entry>
+ </row>
+ <row>
+ <entry>bcc</entry>
+ <entry>0..1</entry>
+ <entry>list of blind carbon copy recipients</entry>
+ </row>
+ <row>
+ <entry>subject</entry>
+ <entry>1</entry>
+ <entry>text content of this element becomes the message subject</entry>
+ </row>
+ <row>
+ <entry>text</entry>
+ <entry>0..1</entry>
+ <entry>text content of this element becomes the message text content</entry>
+ </row>
+ <row>
+ <entry>html</entry>
+ <entry>0..1</entry>
+ <entry>text content of this element becomes the message HTML content</entry>
+ </row>
+ <row>
+ <entry>attachments</entry>
+ <entry>0..1</entry>
+ <entry>attachments can be specified as URLs, classpath resources or
+ local files</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>Refer to the <link linkend="mailsupport">mail chapter</link> for full details
+ on mail support.</para>
+ </section>
+
</section>
<!-- ##################################################################### -->
15 years, 1 month
JBoss JBPM SVN: r4891 - in jbpm4/trunk: modules/distro and 1 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-25 11:44:23 -0400 (Mon, 25 May 2009)
New Revision: 4891
Modified:
jbpm4/trunk/modules/distro/pom.xml
jbpm4/trunk/modules/distro/src/main/files/jboss/build.xml
jbpm4/trunk/pom.xml
Log:
Distribute graphViewer plugin
Modified: jbpm4/trunk/modules/distro/pom.xml
===================================================================
--- jbpm4/trunk/modules/distro/pom.xml 2009-05-25 15:27:39 UTC (rev 4890)
+++ jbpm4/trunk/modules/distro/pom.xml 2009-05-25 15:44:23 UTC (rev 4891)
@@ -50,6 +50,10 @@
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-console-form-plugin</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-console-graphView-plugin</artifactId>
+ </dependency>
<dependency>
<groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-jboss4</artifactId>
Modified: jbpm4/trunk/modules/distro/src/main/files/jboss/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/jboss/build.xml 2009-05-25 15:27:39 UTC (rev 4890)
+++ jbpm4/trunk/modules/distro/src/main/files/jboss/build.xml 2009-05-25 15:44:23 UTC (rev 4891)
@@ -147,6 +147,7 @@
<fileset dir="${jbpm.home}/lib">
<include name="jbpm-console-integration.jar" />
<include name="jbpm-console-form-plugin.jar" />
+ <include name="jbpm-console-graphView-plugin.jar"/>
<include name="freemarker.jar" />
<include name="livetribe-jsr223.jar" />
<include name="juel*.jar" />
Modified: jbpm4/trunk/pom.xml
===================================================================
--- jbpm4/trunk/pom.xml 2009-05-25 15:27:39 UTC (rev 4890)
+++ jbpm4/trunk/pom.xml 2009-05-25 15:44:23 UTC (rev 4891)
@@ -145,8 +145,13 @@
<artifactId>jbpm-console-form-plugin</artifactId>
<version>${version}</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-console-graphView-plugin</artifactId>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
<artifactId>jbpm-jboss4</artifactId>
<version>${version}</version>
</dependency>
15 years, 1 month
JBoss JBPM SVN: r4890 - jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-25 11:27:39 -0400 (Mon, 25 May 2009)
New Revision: 4890
Removed:
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java
Log:
Remove legacy code
Deleted: jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java 2009-05-25 15:27:05 UTC (rev 4889)
+++ jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java 2009-05-25 15:27:39 UTC (rev 4890)
@@ -1,92 +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.jbpm.integration.console.graphView;
-
-import org.jboss.bpm.console.client.model.DiagramNodeInfo;
-import org.jboss.bpm.console.client.model.DiagramInfo;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-class DiagramInfoParser
-{
- /**
- * Will close the stream after successfull read
- * @param in
- * @return
- */
- public static DiagramInfo parse(InputStream in )
- {
- Document document = XmlUtil.parseXmlInputStream(in);
-
- Element processDiagramElement = document.getDocumentElement();
- final String widthString = processDiagramElement.getAttribute("width");
- final String heightString = processDiagramElement.getAttribute("height");
- final List<DiagramNodeInfo> diagramNodeInfoList = new ArrayList<DiagramNodeInfo>();
- final NodeList nodeNodeList = processDiagramElement.getElementsByTagName("node");
- final int nodeNodeListLength = nodeNodeList.getLength();
- for (int i = 0; i < nodeNodeListLength; i ++) {
- final Node nodeNode = nodeNodeList.item(i);
- if (nodeNode instanceof Node && nodeNode.getParentNode() == processDiagramElement) {
- final Element nodeElement = (Element) nodeNode;
- final String nodeName = nodeElement.getAttribute("name");
- final String nodeXString = nodeElement.getAttribute("x");
- final String nodeYString = nodeElement.getAttribute("y");
- final String nodeWidthString = nodeElement.getAttribute("width");
- final String nodeHeightString = nodeElement.getAttribute("height");
- final DiagramNodeInfo nodeInfo = new DiagramNodeInfo(
- nodeName,
- Integer.parseInt(nodeXString),
- Integer.parseInt(nodeYString),
- Integer.parseInt(nodeWidthString),
- Integer.parseInt(nodeHeightString)
- );
- diagramNodeInfoList.add(nodeInfo);
- }
- }
- DiagramInfo diagramInfo = new DiagramInfo(
- Integer.parseInt(heightString),
- Integer.parseInt(widthString),
- diagramNodeInfoList
- );
-
- try
- {
- in.close();
- } catch (IOException e)
- {
- throw new RuntimeException("Failed to close stream", e);
- }
-
- return diagramInfo;
- }
-}
\ No newline at end of file
15 years, 1 month
JBoss JBPM SVN: r4889 - in jbpm4/trunk/modules: examples and 20 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-25 11:27:05 -0400 (Mon, 25 May 2009)
New Revision: 4889
Added:
jbpm4/trunk/modules/integration/graphView-plugin/
jbpm4/trunk/modules/integration/graphView-plugin/.classpath
jbpm4/trunk/modules/integration/graphView-plugin/.project
jbpm4/trunk/modules/integration/graphView-plugin/form-plugin.iml
jbpm4/trunk/modules/integration/graphView-plugin/graphView-plugin.iml
jbpm4/trunk/modules/integration/graphView-plugin/pom.xml
jbpm4/trunk/modules/integration/graphView-plugin/src/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/GraphViewerPluginImpl.java
jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/XmlUtil.java
jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/services/
jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.GraphViewerPlugin
Modified:
jbpm4/trunk/modules/db/jbpm4-db.iml
jbpm4/trunk/modules/examples/jbpm4-examples.iml
jbpm4/trunk/modules/integration/console/integration-console.iml
jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ModelAdaptor.java
jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java
jbpm4/trunk/modules/integration/form-plugin/form-plugin.iml
jbpm4/trunk/modules/integration/jboss4/integration-jboss4.iml
jbpm4/trunk/modules/integration/pom.xml
jbpm4/trunk/modules/test-base/test-base.iml
jbpm4/trunk/modules/test-db/jbpm4-test-db.iml
jbpm4/trunk/modules/userguide/userguide.iml
Log:
grap viewer plugin for the console
Modified: jbpm4/trunk/modules/db/jbpm4-db.iml
===================================================================
--- jbpm4/trunk/modules/db/jbpm4-db.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/db/jbpm4-db.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,11 +9,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="jpdl" />
<orderEntry type="module" module-name="pvm" />
- <orderEntry type="module" module-name="api" />
<orderEntry type="module" module-name="toplevel" />
- <orderEntry type="module" module-name="test-base" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: junit:junit:jar:3.8.1:compile">
<CLASSES>
Modified: jbpm4/trunk/modules/examples/jbpm4-examples.iml
===================================================================
--- jbpm4/trunk/modules/examples/jbpm4-examples.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/examples/jbpm4-examples.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,11 +9,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="jpdl" exported="" />
<orderEntry type="module" module-name="pvm" exported="" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
- <orderEntry type="module" module-name="test-base" exported="" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.2.GA:compile">
<CLASSES>
Modified: jbpm4/trunk/modules/integration/console/integration-console.iml
===================================================================
--- jbpm4/trunk/modules/integration/console/integration-console.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/console/integration-console.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,10 +9,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
- <orderEntry type="module" module-name="gwt-parent" exported="" />
- <orderEntry type="module" module-name="test-base" exported="" />
+ <orderEntry type="module" module-name="gwt-parent" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: com.google.code.gson:gson:jar:1.2.2:provided">
<CLASSES>
Modified: jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ModelAdaptor.java
===================================================================
--- jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ModelAdaptor.java 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ModelAdaptor.java 2009-05-25 15:27:05 UTC (rev 4889)
@@ -25,7 +25,7 @@
import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.TaskRef;
-import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
+import org.jboss.bpm.console.client.model.TokenReference;
import org.jbpm.api.Execution;
import org.jbpm.api.ProcessDefinition;
import org.jbpm.api.model.OpenExecution;
Modified: jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java
===================================================================
--- jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/console/src/main/java/org/jbpm/integration/console/ProcessManagementImpl.java 2009-05-25 15:27:05 UTC (rev 4889)
@@ -157,8 +157,7 @@
{
if(processInstance.isEnded())
{
- System.out.println("*** JBPM-2055: Execution ("+processInstance.getId()+") is already ended. " +
- "Should not show up in query");
+ //JBPM-2055: Execution is already ended. Should not show up in query
continue;
}
@@ -184,13 +183,8 @@
ExecutionService execService = this.processEngine.getExecutionService();
ProcessInstanceQuery query = execService.createProcessInstanceQuery();
query.processInstanceId(instanceId);
- List<ProcessInstance> processInstances = query.list();
-
- if(processInstances.size()>1 || processInstances.isEmpty())
- throw new IllegalStateException("No precise match for instanceId " + instanceId +
- ". Num results "+processInstances);
-
- return ModelAdaptor.adoptExecution( (OpenExecution)processInstances.get(0));
+ ProcessInstance processInstance = query.uniqueResult();
+ return ModelAdaptor.adoptExecution( (OpenExecution)processInstance);
}
finally
{
Modified: jbpm4/trunk/modules/integration/form-plugin/form-plugin.iml
===================================================================
--- jbpm4/trunk/modules/integration/form-plugin/form-plugin.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/form-plugin/form-plugin.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,11 +9,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="jpdl" exported="" />
- <orderEntry type="module" module-name="test-base" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="gwt-parent" exported="" />
+ <orderEntry type="module" module-name="gwt-parent" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.2.GA:provided">
<CLASSES>
Added: jbpm4/trunk/modules/integration/graphView-plugin/.classpath
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/.classpath (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/.classpath 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: jbpm4/trunk/modules/integration/graphView-plugin/.project
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/.project (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/.project 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>integration-forms-plugin</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Added: jbpm4/trunk/modules/integration/graphView-plugin/form-plugin.iml
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/form-plugin.iml (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/form-plugin.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="gwt-parent" />
+ <orderEntry type="module" module-name="toplevel" />
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.2.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/jboss/jboss-j2ee/4.2.2.GA/jboss-j2ee-4.2.2.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: hsqldb:hsqldb:jar:1.8.0.7:test">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: com.google.code.gson:gson:jar:1.2.2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/com/google/code/gson/gson/1.2.2/gson-1.2.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: junit:junit:jar:3.8.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: juel:juel-engine:jar:2.1.0:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/juel/juel-engine/2.1.0/juel-engine-2.1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: antlr:antlr:jar:2.7.6:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: javassist:javassist:jar:3.4.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/javassist/javassist/3.4.GA/javassist-3.4.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.jboss.identity:idm-common:jar:1.0.0.Alpha2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/jboss/identity/idm-common/1.0.0.Alpha2/idm-common-1.0.0.Alpha2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: juel:juel:jar:2.1.0:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/juel/juel/2.1.0/juel-2.1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: juel:juel-impl:jar:2.1.0:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/juel/juel-impl/2.1.0/juel-impl-2.1.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.livetribe:livetribe-jsr223:jar:2.0.5:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/livetribe/livetribe-jsr223/2.0.5/livetribe-jsr223-2.0.5.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.jboss.identity:idm:jar:1.0.0.Alpha2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/jboss/identity/idm/1.0.0.Alpha2/idm-1.0.0.Alpha2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.jboss.identity:idm-spi:jar:1.0.0.Alpha2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/jboss/identity/idm-spi/1.0.0.Alpha2/idm-spi-1.0.0.Alpha2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.jboss.identity:idm-api:jar:1.0.0.Alpha2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/jboss/identity/idm-api/1.0.0.Alpha2/idm-api-1.0.0.Alpha2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.freemarker:freemarker:jar:2.3.15:compile">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/freemarker/freemarker/2.3.15/freemarker-2.3.15.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.apache.ant:ant:jar:1.7.0:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/apache/ant/ant/1.7.0/ant-1.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: javax.transaction:jta:jar:1.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/javax/transaction/jta/1.1/jta-1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/javax/transaction/jta/1.1/jta-1.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: commons-collections:commons-collections:jar:3.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/commons-collections/commons-collections/3.1/commons-collections-3.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: javax.activation:activation:jar:1.1.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/javax/activation/activation/1.1.1/activation-1.1.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.hibernate:hibernate-entitymanager:jar:3.4.0.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.slf4j:slf4j-jdk14:jar:1.5.2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/slf4j/slf4j-jdk14/1.5.2/slf4j-jdk14-1.5.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.hibernate:ejb3-persistence:jar:1.0.2.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.slf4j:slf4j-api:jar:1.5.2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/slf4j/slf4j-api/1.5.2/slf4j-api-1.5.2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: dom4j:dom4j:jar:1.6.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.hibernate:hibernate-commons-annotations:jar:3.1.0.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-commons-annotations/3.1.0.GA/hibernate-commons-annotations-3.1.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: xml-apis:xml-apis:jar:1.0.b2:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.hibernate:hibernate-core:jar:3.3.1.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: javax.mail:mail:jar:1.4.1:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/javax/mail/mail/1.4.1/mail-1.4.1.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: log4j:log4j:jar:1.2.14:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.apache.ant:ant-launcher:jar:1.7.0:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library" exported="">
+ <library name="M2 Dep: org.hibernate:hibernate-annotations:jar:3.4.0.GA:provided">
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/../../../../../../../../.m2/repository/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+</module>
+
Added: jbpm4/trunk/modules/integration/graphView-plugin/graphView-plugin.iml
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/graphView-plugin.iml (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/graphView-plugin.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="gwt-rpc" />
+ <orderEntry type="module" module-name="server-integration" />
+ <orderEntry type="module" module-name="api" />
+ <orderEntryProperties />
+ </component>
+</module>
+
Added: jbpm4/trunk/modules/integration/graphView-plugin/pom.xml
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/pom.xml (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/pom.xml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <name>jBPM 4 - Integration GraphView Plugin</name>
+ <description>JBoss jBPM - GWT console Graph Viewer Plugin</description>
+
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-console-graphView-plugin</artifactId>
+ <packaging>jar</packaging>
+
+ <parent>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-integration</artifactId>
+ <version>4.0.0-SNAPSHOT</version>
+ </parent>
+
+ <!-- Dependencies -->
+ <dependencies>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-api</artifactId>
+ <version>${version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-pvm</artifactId>
+ <version>${version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jbpm.jbpm4</groupId>
+ <artifactId>jbpm-spi</artifactId>
+ <scope>provided</scope>
+ <version>${version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.bpm</groupId>
+ <artifactId>gwt-console-server-integration</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>2.1</version>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+</project>
Added: jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/DiagramInfoParser.java 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,92 @@
+/*
+ * 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.jbpm.integration.console.graphView;
+
+import org.jboss.bpm.console.client.model.DiagramNodeInfo;
+import org.jboss.bpm.console.client.model.DiagramInfo;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+class DiagramInfoParser
+{
+ /**
+ * Will close the stream after successfull read
+ * @param in
+ * @return
+ */
+ public static DiagramInfo parse(InputStream in )
+ {
+ Document document = XmlUtil.parseXmlInputStream(in);
+
+ Element processDiagramElement = document.getDocumentElement();
+ final String widthString = processDiagramElement.getAttribute("width");
+ final String heightString = processDiagramElement.getAttribute("height");
+ final List<DiagramNodeInfo> diagramNodeInfoList = new ArrayList<DiagramNodeInfo>();
+ final NodeList nodeNodeList = processDiagramElement.getElementsByTagName("node");
+ final int nodeNodeListLength = nodeNodeList.getLength();
+ for (int i = 0; i < nodeNodeListLength; i ++) {
+ final Node nodeNode = nodeNodeList.item(i);
+ if (nodeNode instanceof Node && nodeNode.getParentNode() == processDiagramElement) {
+ final Element nodeElement = (Element) nodeNode;
+ final String nodeName = nodeElement.getAttribute("name");
+ final String nodeXString = nodeElement.getAttribute("x");
+ final String nodeYString = nodeElement.getAttribute("y");
+ final String nodeWidthString = nodeElement.getAttribute("width");
+ final String nodeHeightString = nodeElement.getAttribute("height");
+ final DiagramNodeInfo nodeInfo = new DiagramNodeInfo(
+ nodeName,
+ Integer.parseInt(nodeXString),
+ Integer.parseInt(nodeYString),
+ Integer.parseInt(nodeWidthString),
+ Integer.parseInt(nodeHeightString)
+ );
+ diagramNodeInfoList.add(nodeInfo);
+ }
+ }
+ DiagramInfo diagramInfo = new DiagramInfo(
+ Integer.parseInt(heightString),
+ Integer.parseInt(widthString),
+ diagramNodeInfoList
+ );
+
+ try
+ {
+ in.close();
+ } catch (IOException e)
+ {
+ throw new RuntimeException("Failed to close stream", e);
+ }
+
+ return diagramInfo;
+ }
+}
\ No newline at end of file
Added: jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/GraphViewerPluginImpl.java
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/GraphViewerPluginImpl.java (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/GraphViewerPluginImpl.java 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,149 @@
+/*
+ * 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.jbpm.integration.console.graphView;
+
+import org.jboss.bpm.console.server.plugin.GraphViewerPlugin;
+import org.jboss.bpm.console.client.model.DiagramInfo;
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+import org.jboss.bpm.console.client.model.DiagramNodeInfo;
+import org.jbpm.api.*;
+import org.jbpm.api.model.ActivityCoordinates;
+import org.jbpm.api.env.Environment;
+import org.jbpm.api.env.EnvironmentFactory;
+
+import javax.naming.InitialContext;
+import java.io.*;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class GraphViewerPluginImpl implements GraphViewerPlugin
+{
+
+ private ProcessEngine processEngine = null;
+
+ public GraphViewerPluginImpl()
+ {
+ initializeProcessEngine();
+ }
+
+ public byte[] getProcessImage(String processId)
+ {
+
+ Environment env = ((EnvironmentFactory)processEngine).openEnvironment();
+
+ try
+ {
+ RepositoryService repositoryService = this.processEngine.getRepositoryService();
+ ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
+ .processDefinitionId(processId)
+ .uniqueResult();
+
+ String imgRes = processDefinition.getImageResourceName();
+ InputStream in = repositoryService.getResourceAsStream(
+ processDefinition.getDeploymentDbid(), imgRes
+ );
+
+ if(null==in)
+ throw new RuntimeException("Failed to retrieve image resource: " +imgRes);
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ final int BUF_SIZE = 1 << 8; //1KiB buffer
+ byte[] buffer = new byte[BUF_SIZE];
+ int bytesRead = -1;
+ try
+ {
+ while((bytesRead = in.read(buffer)) > -1)
+ {
+ out.write(buffer, 0, bytesRead);
+ }
+ in.close();
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Failed to read image resource: "+imgRes, e);
+ }
+
+ byte[] imageBytes = out.toByteArray();
+
+ return imageBytes;
+
+ }
+ finally{
+ env.close();
+ }
+ }
+
+ public DiagramInfo getDiagramInfo(String processId)
+ {
+ throw new RuntimeException("Not implemented");
+ }
+
+ public ActiveNodeInfo getActiveNodeInfo(String instanceId)
+ {
+ Environment env = ((EnvironmentFactory)processEngine).openEnvironment();
+
+ try
+ {
+ ExecutionService execService = this.processEngine.getExecutionService();
+ ProcessInstanceQuery query = execService.createProcessInstanceQuery();
+ query.processInstanceId(instanceId);
+ ProcessInstance processInstance = query.uniqueResult();
+
+ String currentActivity = processInstance.getProcessInstance().getActivityName();
+
+ // get coordinates
+ RepositoryService repoService = this.processEngine.getRepositoryService();
+ ActivityCoordinates coords = repoService.getActivityCoordinates(
+ processInstance.getProcessDefinitionId(), currentActivity
+ );
+
+ return new ActiveNodeInfo(
+ coords.getWidth(), coords.getHeight(),
+ new DiagramNodeInfo(
+ currentActivity,
+ coords.getX(), coords.getY(),
+ coords.getWidth(), coords.getHeight()
+ )
+ );
+
+ }
+ finally
+ {
+ env.close();
+ }
+ }
+
+ protected void initializeProcessEngine()
+ {
+ try
+ {
+ InitialContext ctx = new InitialContext();
+ this.processEngine = (ProcessEngine)ctx.lookup("java:/ProcessEngine");
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to lookup process engine", e);
+ }
+ }
+
+}
Added: jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/XmlUtil.java
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/XmlUtil.java (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/src/main/java/org/jbpm/integration/console/graphView/XmlUtil.java 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1,181 @@
+/*
+ * 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.jbpm.integration.console.graphView;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.FactoryConfigurationError;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+
+public class XmlUtil {
+
+ private XmlUtil() {
+ // hide default constructor to prevent instantiation
+ }
+
+ public static Document parseXmlText(String xml) {
+ ByteArrayInputStream bais = new ByteArrayInputStream(xml.getBytes());
+ return parseXmlInputSource(new InputSource(bais));
+ }
+
+ public static Document parseXmlResource(InputStream inputStream) {
+ // decide which class loading mechanism to use for loading the jbpm
+ // configuration (see https://jira.jboss.org/jira/browse/JBPM-1148)
+ if (inputStream == null)
+ throw new IllegalArgumentException("Cannot load stream null");
+ InputSource inputSource = new InputSource(inputStream);
+ return parseXmlInputSource(inputSource);
+ }
+
+ public static Document parseXmlInputStream(InputStream inputStream) {
+ Document document = null;
+ try {
+ document = getDocumentBuilder().parse(inputStream);
+ } catch (Exception e) {
+ throw new RuntimeException("couldn't parse xml", e);
+ }
+ return document;
+ }
+
+ public static Document parseXmlInputSource(InputSource inputSource) {
+ Document document = null;
+ try {
+ document = getDocumentBuilder().parse(inputSource);
+ } catch (Exception e) {
+ throw new RuntimeException("couldn't parse xml", e);
+ }
+ return document;
+ }
+
+ public static DocumentBuilder getDocumentBuilder() throws FactoryConfigurationError, ParserConfigurationException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ return factory.newDocumentBuilder();
+ }
+
+ public static Iterator elementIterator(Element element, String tagName) {
+ return elements(element, tagName).iterator();
+ }
+
+ public static List elements(Element element, String tagName) {
+ NodeList nodeList = element.getElementsByTagName(tagName);
+ List elements = new ArrayList(nodeList.getLength());
+ for (int i=0; i<nodeList.getLength(); i++) {
+ Node child = nodeList.item(i);
+ if(child.getParentNode()==element) {
+ elements.add(child);
+ }
+ }
+ return elements;
+ }
+
+ public static Element element(Element element, String name) {
+ Element childElement = null;
+ NodeList nodeList = element.getElementsByTagName(name);
+ if (nodeList.getLength()>0) {
+ childElement = (Element) nodeList.item(0);
+ }
+ return childElement;
+ }
+
+ public static Iterator elementIterator(Element element) {
+ return elements(element).iterator();
+ }
+
+ public static List elements(Element element) {
+ List elements = new ArrayList();
+ NodeList nodeList = element.getChildNodes();
+ for (int i=0; i<nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+ if ( (node instanceof Element)
+ && (element==node.getParentNode())
+ ){
+ elements.add(node);
+ }
+ }
+ return elements;
+ }
+
+
+ public static Element element(Element element) {
+ Element onlyChild = null;
+ List elements = elements(element);
+ if (! elements.isEmpty()) {
+ onlyChild = (Element) elements.get(0);
+ }
+ return onlyChild;
+ }
+
+ public static String toString(Element element) {
+ if (element==null) return "null";
+
+ Source source = new DOMSource(element);
+
+ StringWriter stringWriter = new StringWriter();
+ PrintWriter printWriter = new PrintWriter(stringWriter);
+ Result result = new StreamResult(printWriter);
+
+ try {
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+ transformer.transform(source, result);
+ } catch (Exception e) {
+ throw new RuntimeException("couldn't write element '"+element.getTagName()+"' to string", e);
+ }
+
+ printWriter.close();
+
+ return stringWriter.toString();
+ }
+
+ public static String getContentText(Element element) {
+ StringBuffer buffer = new StringBuffer();
+ NodeList nodeList = element.getChildNodes();
+ for (int i=0; i<nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+ if (node instanceof CharacterData) {
+ CharacterData characterData = (CharacterData) node;
+ buffer.append(characterData.getData());
+ }
+ }
+ return buffer.toString();
+ }
+}
\ No newline at end of file
Added: jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.GraphViewerPlugin
===================================================================
--- jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.GraphViewerPlugin (rev 0)
+++ jbpm4/trunk/modules/integration/graphView-plugin/src/main/resources/META-INF/services/org.jboss.bpm.console.server.plugin.GraphViewerPlugin 2009-05-25 15:27:05 UTC (rev 4889)
@@ -0,0 +1 @@
+org.jbpm.integration.console.graphView.GraphViewerPluginImpl
\ No newline at end of file
Modified: jbpm4/trunk/modules/integration/jboss4/integration-jboss4.iml
===================================================================
--- jbpm4/trunk/modules/integration/jboss4/integration-jboss4.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/jboss4/integration-jboss4.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,12 +9,9 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="jpdl" exported="" />
<orderEntry type="module" module-name="pvm" exported="" />
<orderEntry type="module" module-name="integration" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="test-base" exported="" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: oswego-concurrent:concurrent:jar:1.3.4-jboss-update1:provided">
<CLASSES>
Modified: jbpm4/trunk/modules/integration/pom.xml
===================================================================
--- jbpm4/trunk/modules/integration/pom.xml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/integration/pom.xml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -122,6 +122,7 @@
<module>jboss4</module>
<module>console</module>
<module>form-plugin</module>
+ <module>graphView-plugin</module>
</modules>
</project>
Modified: jbpm4/trunk/modules/test-base/test-base.iml
===================================================================
--- jbpm4/trunk/modules/test-base/test-base.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/test-base/test-base.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -8,8 +8,7 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: junit:junit:jar:3.8.1:compile">
<CLASSES>
Modified: jbpm4/trunk/modules/test-db/jbpm4-test-db.iml
===================================================================
--- jbpm4/trunk/modules/test-db/jbpm4-test-db.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/test-db/jbpm4-test-db.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -9,11 +9,8 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="jpdl" exported="" />
<orderEntry type="module" module-name="pvm" exported="" />
- <orderEntry type="module" module-name="toplevel" exported="" />
- <orderEntry type="module" module-name="api" exported="" />
- <orderEntry type="module" module-name="test-base" exported="" />
+ <orderEntry type="module" module-name="toplevel" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: jboss:jboss-j2ee:jar:4.2.2.GA:compile">
<CLASSES>
Modified: jbpm4/trunk/modules/userguide/userguide.iml
===================================================================
--- jbpm4/trunk/modules/userguide/userguide.iml 2009-05-25 15:13:50 UTC (rev 4888)
+++ jbpm4/trunk/modules/userguide/userguide.iml 2009-05-25 15:27:05 UTC (rev 4889)
@@ -6,15 +6,6 @@
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module-library">
- <library name="M2 Dep: hsqldb:hsqldb:jar:1.8.0.7:test">
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../../../../../../../.m2/repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
<orderEntryProperties />
</component>
</module>
15 years, 1 month
JBoss JBPM SVN: r4888 - in projects/gwt-console/trunk/gui/war/src/main/java: javax/xml/bind/helpers and 3 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-25 11:13:50 -0400 (Mon, 25 May 2009)
New Revision: 4888
Added:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerPlugins.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ActivityDiagramView.java
Removed:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java
Modified:
projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/JAXBContext.java
projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/ValidationEventLocator.java
projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusAction.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/SettingsEditor.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
Log:
Added plugin dependencies.
Modified: projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/JAXBContext.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/JAXBContext.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/JAXBContext.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -20,7 +20,7 @@
*
* <p>A client application normally obtains new instances of this class using
* one of these two styles for newInstance methods, although there are other
- * specialized forms of the method available:
+ * specialized forms of the method has:
*
* <ul>
* <li>{@link #newInstance(String,ClassLoader) JAXBContext.newInstance( "com.acme.foo:com.acme.bar" )} <br/>
@@ -173,7 +173,7 @@
* <blockquote>
* Validation has been changed significantly since JAXB 1.0. The {@link Validator}
* class has been deprecated and made optional. This means that you are advised
- * not to use this class and, in fact, it may not even be available depending on
+ * not to use this class and, in fact, it may not even be has depending on
* your JAXB provider. JAXB 1.0 client applications that rely on <tt>Validator</tt>
* will still work properly when deployed with the JAXB 1.0 runtime system.
*
Modified: projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/ValidationEventLocator.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/ValidationEventLocator.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/ValidationEventLocator.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -26,35 +26,35 @@
public interface ValidationEventLocator {
/**
- * Return the name of the XML source as a URL if available
+ * Return the name of the XML source as a URL if has
*
* @return the name of the XML source as a URL or null if unavailable
*/
public java.net.URL getURL();
/**
- * Return the byte offset if available
+ * Return the byte offset if has
*
* @return the byte offset into the input source or -1 if unavailable
*/
public int getOffset();
/**
- * Return the line number if available
+ * Return the line number if has
*
* @return the line number or -1 if unavailable
*/
public int getLineNumber();
/**
- * Return the column number if available
+ * Return the column number if has
*
* @return the column number or -1 if unavailable
*/
public int getColumnNumber();
/**
- * Return a reference to the object in the Java content tree if available
+ * Return a reference to the object in the Java content tree if has
*
* @return a reference to the object in the Java content tree or null if
* unavailable
@@ -62,7 +62,7 @@
public java.lang.Object getObject();
/**
- * Return a reference to the DOM Node if available
+ * Return a reference to the DOM Node if has
*
* @return a reference to the DOM Node or null if unavailable
*/
Modified: projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/javax/xml/bind/helpers/ValidationEventLocatorImpl.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -40,10 +40,10 @@
/**
* Constructs an object from an org.xml.sax.Locator.
*
- * The object's ColumnNumber, LineNumber, and URL become available from the
+ * The object's ColumnNumber, LineNumber, and URL become has from the
* values returned by the locator's getColumnNumber(), getLineNumber(), and
* getSystemId() methods respectively. Node, Object, and Offset are not
- * available.
+ * has.
*
* @param loc the SAX Locator object that will be used to populate this
* event locator.
@@ -63,10 +63,10 @@
/**
* Constructs an object from the location information of a SAXParseException.
*
- * The object's ColumnNumber, LineNumber, and URL become available from the
+ * The object's ColumnNumber, LineNumber, and URL become has from the
* values returned by the locator's getColumnNumber(), getLineNumber(), and
* getSystemId() methods respectively. Node, Object, and Offset are not
- * available.
+ * has.
*
* @param e the SAXParseException object that will be used to populate this
* event locator.
@@ -86,8 +86,8 @@
/**
* Constructs an object that points to a DOM Node.
*
- * The object's Node becomes available. ColumnNumber, LineNumber, Object,
- * Offset, and URL are not available.
+ * The object's Node becomes has. ColumnNumber, LineNumber, Object,
+ * Offset, and URL are not has.
*
* @param _node the DOM Node object that will be used to populate this
* event locator.
@@ -105,8 +105,8 @@
/**
* Constructs an object that points to a JAXB content object.
*
- * The object's Object becomes available. ColumnNumber, LineNumber, Node,
- * Offset, and URL are not available.
+ * The object's Object becomes has. ColumnNumber, LineNumber, Node,
+ * Offset, and URL are not has.
*
* @param _object the Object that will be used to populate this
* event locator.
Added: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerPlugins.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerPlugins.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerPlugins.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -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.bpm.console.client;
+
+import org.jboss.bpm.console.client.model.ServerStatus;
+import org.jboss.bpm.console.client.model.PluginInfo;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class ServerPlugins
+{
+ private static ServerStatus status;
+
+ public static void setStatus(ServerStatus s)
+ {
+ status = s;
+ }
+
+ public static boolean has(String type)
+ {
+ boolean match = false;
+
+ if(status!=null)
+ {
+ for(PluginInfo p : status.getPlugins())
+ {
+ if(p.getType().equals(type))
+ {
+ match = p.isAvailable();
+ break;
+ }
+ }
+ }
+ return match;
+ }
+
+}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusAction.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusAction.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusAction.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -65,7 +65,10 @@
ServerStatusView view = (ServerStatusView)controller.getView(ServerStatusView.ID);
ConsoleLog.info("Loaded server status");
-
+
view.update(status);
+
+ // global var
+ ServerPlugins.setStatus(status);
}
}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusView.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/ServerStatusView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -41,7 +41,7 @@
private Controller controller;
private ApplicationContext appContext;
-
+
public ServerStatusView(ApplicationContext appContext)
{
super();
@@ -56,7 +56,7 @@
public void update(ServerStatus status)
{
this.clear();
-
+
Grid g = new Grid(status.getPlugins().size(), 2);
g.setWidth("100%");
@@ -74,7 +74,8 @@
this.add(g);
- this.invalidate();
+ invalidate();
}
+
}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/SettingsEditor.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/SettingsEditor.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/SettingsEditor.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -28,10 +28,7 @@
import org.gwt.mosaic.ui.client.Label;
import org.gwt.mosaic.ui.client.ScrollLayoutPanel;
import org.gwt.mosaic.ui.client.TabLayoutPanel;
-import org.gwt.mosaic.ui.client.layout.BorderLayout;
-import org.gwt.mosaic.ui.client.layout.BorderLayoutData;
-import org.gwt.mosaic.ui.client.layout.BoxLayout;
-import org.gwt.mosaic.ui.client.layout.BoxLayoutData;
+import org.gwt.mosaic.ui.client.layout.*;
import org.jboss.bpm.console.client.icons.ConsoleIconBundle;
/**
@@ -81,17 +78,23 @@
ServerStatusView serverStatus = new ServerStatusView(appContext);
- Grid g2 = new Grid(2,2);
+ Grid g2 = new Grid(1,2);
g2.setWidget(0,0, new Label("Host:"));
g2.setWidget(0,1, new Label(appContext.getConfig().getConsoleServerUrl()));
- g2.setWidget(1,0 , new Label("Plugins:"));
- g2.setWidget(1,1, serverStatus);
-
g2.getColumnFormatter().setWidth(0, "20%");
layoutPanel.add(g2, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
+ LayoutPanel pluginPanel = new LayoutPanel(new BoxLayout(BoxLayout.Orientation.VERTICAL));
+ Label label = new Label("Plugins:");
+ label.setStyleName("bpm-label-header");
+
+ pluginPanel.add(label);
+ pluginPanel.add(serverStatus);
+
+ layoutPanel.add(pluginPanel, new BoxLayoutData(BoxLayoutData.FillStyle.HORIZONTAL));
+
tabPanel.add(layoutPanel, "System Overview");
this.add(tabPanel, new BorderLayoutData(BorderLayout.Region.CENTER));
Copied: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ActivityDiagramView.java (from rev 4887, projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java)
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ActivityDiagramView.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ActivityDiagramView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -0,0 +1,87 @@
+/*
+ * 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.bpm.console.client.process;
+
+import org.jboss.bpm.console.client.model.DiagramNodeInfo;
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
+import org.jboss.bpm.console.client.process.events.ActivityDiagramResultEvent;
+import org.gwt.mosaic.ui.client.layout.LayoutPanel;
+import org.gwt.mosaic.ui.client.ScrollLayoutPanel;
+import com.google.gwt.user.client.ui.HTML;
+import com.mvc4g.client.ViewInterface;
+import com.mvc4g.client.Controller;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class ActivityDiagramView extends ScrollLayoutPanel
+ implements ViewInterface
+{
+
+ public final static String ID = ActivityDiagramView.class.getName();
+
+ private ProcessDefinitionRef processRef;
+
+ private ProcessInstanceRef instanceRef;
+
+ private Controller controller;
+
+ public ActivityDiagramView()
+ {
+ super();
+ }
+
+
+ public void setController(Controller controller)
+ {
+ this.controller = controller;
+ }
+
+ public void update(ActivityDiagramResultEvent event)
+ {
+
+ ActiveNodeInfo activeNodeInfo = event.getActiveNodeInfo();
+ DiagramNodeInfo activeNode = activeNodeInfo.getActiveNode();
+ String imageUrl = event.getImageUrl();
+
+ // remove contents
+ this.clear();
+
+ // add overlay
+ HTML html = new HTML(
+ "<div style='width:1024px; height:768px; background-color:#ffffff;'><div id=\"imageContainer\" style=\"position:relative;top:-1;left:-1;height:"+activeNodeInfo.getHeight()+"px;width:"+activeNodeInfo.getWidth()+"px\">" +
+ "<img src=\""+imageUrl+"\" style=\"position:absolute;top:0;left:0\" />" +
+ "" +
+ "<div class=\"activeNode\" style=\"top:"+ (activeNode.getY()) +"px;left:"+activeNode.getX()+"px;width:"+(activeNode.getWidth()-2)+"px;height:"+(activeNode.getHeight()-2)+"px\"></div>" +
+ "" +
+ "<div class=\"activeNode-header\" style=\"top:"+(activeNode.getY()-15)+"px;left:"+activeNode.getX()+"px;width:"+activeNode.getWidth()+"px;height:15px\">" +
+ " <div class=\"activeNode-header-link\"><a href=\"javascript:alert('Not implemented!')\">Running</a></div>" +
+ "</div>" +
+ "</div></div>"
+ );
+
+ this.add(html);
+ invalidate();
+ }
+}
\ No newline at end of file
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -27,9 +27,7 @@
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.Frame;
import com.google.gwt.user.client.WindowCloseListener;
-import com.google.gwt.user.client.DOM;
import org.gwt.mosaic.ui.client.CaptionLayoutPanel;
import org.gwt.mosaic.ui.client.WindowPanel;
import org.gwt.mosaic.ui.client.Caption;
@@ -37,14 +35,10 @@
import org.gwt.mosaic.ui.client.layout.BoxLayoutData;
import org.jboss.bpm.console.client.common.PropertyGrid;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
-import org.jboss.bpm.console.client.model.TaskRef;
-import org.jboss.bpm.console.client.task.LoadTasksAction;
-import org.jboss.bpm.console.client.util.ConsoleLog;
import org.jboss.bpm.console.client.util.WindowUtil;
import org.jboss.bpm.console.client.ApplicationContext;
+import org.jboss.bpm.console.client.ServerPlugins;
-import java.util.Date;
-
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
*/
@@ -64,13 +58,15 @@
private ApplicationContext appContext;
- private ProcessDiagramView diagramView;
+ private ActivityDiagramView diagramView;
+ private boolean hasDiagramPlugin;
+
public InstanceDetailView(ApplicationContext appContext)
{
super("Instance details");
this.appContext = appContext;
-
+
super.setStyleName("bpm-detail-panel");
super.setLayout(new BoxLayout(BoxLayout.Orientation.HORIZONTAL));
@@ -98,6 +94,11 @@
activityBtn.setEnabled(false);
this.add(activityBtn);
+
+ // plugin availability
+ this.hasDiagramPlugin =
+ ServerPlugins.has("org.jboss.bpm.console.server.plugin.GraphViewerPlugin");
+
}
private void createActivityWindow(ProcessInstanceRef inst)
@@ -132,8 +133,8 @@
{
this.controller = controller;
- this.diagramView = new ProcessDiagramView();
- controller.addView(ProcessDiagramView.ID, diagramView);
+ this.diagramView = new ActivityDiagramView();
+ controller.addView(ActivityDiagramView.ID, diagramView);
controller.addAction(LoadActivityDiagramAction.ID, new LoadActivityDiagramAction(appContext));
}
@@ -150,7 +151,8 @@
grid.update(values);
- this.activityBtn.setEnabled(true);
+ if(hasDiagramPlugin)
+ this.activityBtn.setEnabled(true);
}
public void clearView()
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -39,6 +39,8 @@
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.util.SimpleDateFormat;
import org.jboss.bpm.console.client.ApplicationContext;
+import org.jboss.bpm.console.client.ServerStatusView;
+import org.jboss.bpm.console.client.ServerPlugins;
import java.util.List;
@@ -276,7 +278,7 @@
layout.add(instanceList, new BorderLayoutData(BorderLayout.Region.CENTER));
// details
- InstanceDetailView detailsView = new InstanceDetailView(appContext);
+ InstanceDetailView detailsView = new InstanceDetailView(appContext);
controller.addView(InstanceDetailView.ID, detailsView);
controller.addAction(UpdateInstanceDetailAction.ID, new UpdateInstanceDetailAction());
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -35,7 +35,6 @@
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.json.client.JSONParser;
import com.mvc4g.client.Controller;
-import com.mvc4g.client.Event;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -93,7 +92,7 @@
);
// update view
- ProcessDiagramView view = (ProcessDiagramView) controller.getView(ProcessDiagramView.ID);
+ ActivityDiagramView view = (ActivityDiagramView) controller.getView(ActivityDiagramView.ID);
view.update(
new ActivityDiagramResultEvent(
appContext.getUrlBuilder().getProcessImageURL(inst.getDefinitionId()),
Deleted: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -1,86 +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.bpm.console.client.process;
-
-import org.jboss.bpm.console.client.model.DiagramNodeInfo;
-import org.jboss.bpm.console.client.model.ActiveNodeInfo;
-import org.jboss.bpm.console.client.model.ProcessInstanceRef;
-import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
-import org.jboss.bpm.console.client.process.events.ActivityDiagramResultEvent;
-import org.gwt.mosaic.ui.client.layout.LayoutPanel;
-import com.google.gwt.user.client.ui.HTML;
-import com.mvc4g.client.ViewInterface;
-import com.mvc4g.client.Controller;
-
-/**
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public class ProcessDiagramView extends LayoutPanel
- implements ViewInterface
-{
-
- public final static String ID = ProcessDiagramView.class.getName();
-
- private ProcessDefinitionRef processRef;
-
- private ProcessInstanceRef instanceRef;
-
- private Controller controller;
-
- public ProcessDiagramView()
- {
- super();
- }
-
-
- public void setController(Controller controller)
- {
- this.controller = controller;
- }
-
- public void update(ActivityDiagramResultEvent event)
- {
-
- ActiveNodeInfo activeNodeInfo = event.getActiveNodeInfo();
- DiagramNodeInfo activeNode = activeNodeInfo.getActiveNode();
- String imageUrl = event.getImageUrl();
-
- // remove contents
- this.clear();
-
- // add overlay
- HTML html = new HTML(
- "<div style='width:1024px; height:768px; background-color:#ffffff;'><div id=\"imageContainer\" style=\"position:relative;top:-1;left:-1;height:"+activeNodeInfo.getHeight()+"px;width:"+activeNodeInfo.getWidth()+"px\">" +
- "<img src=\""+imageUrl+"\" style=\"position:absolute;top:0;left:0\" />" +
- "" +
- "<div class=\"activeNode\" style=\"top:"+ (activeNode.getY()) +"px;left:"+activeNode.getX()+"px;width:"+(activeNode.getWidth()-2)+"px;height:"+(activeNode.getHeight()-2)+"px\"></div>" +
- "" +
- "<div class=\"activeNode-header\" style=\"top:"+(activeNode.getY()-15)+"px;left:"+activeNode.getX()+"px;width:"+activeNode.getWidth()+"px;height:15px\">" +
- " <div class=\"activeNode-header-link\"><a href=\"javascript:alert('Not implemented!')\">Running</a></div>" +
- "</div>" +
- "</div></div>"
- );
-
- this.add(html);
- invalidate();
- }
-}
\ No newline at end of file
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java 2009-05-25 14:31:11 UTC (rev 4887)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/task/AssignedTasksView.java 2009-05-25 15:13:50 UTC (rev 4888)
@@ -33,6 +33,7 @@
import org.gwt.mosaic.ui.client.layout.*;
import org.gwt.mosaic.ui.client.list.DefaultListModel;
import org.jboss.bpm.console.client.ApplicationContext;
+import org.jboss.bpm.console.client.ServerPlugins;
import org.jboss.bpm.console.client.icons.ConsoleIconBundle;
import org.jboss.bpm.console.client.model.TaskRef;
import org.jboss.bpm.console.client.model.util.SimpleDateFormat;
@@ -60,7 +61,9 @@
private TaskDetailView detailsView;
private SimpleDateFormat dateFormat = new SimpleDateFormat();
-
+
+ private boolean hasDispatcherPlugin;
+
public AssignedTasksView(ApplicationContext appContext, TaskDetailView detailsView)
{
super();
@@ -145,27 +148,28 @@
toolBar.addSeparator();
- toolBar.add(
- new ToolButton("View", new ClickListener() {
- public void onClick(Widget sender) {
+ ToolButton viewBtn = new ToolButton("View", new ClickListener()
+ {
+ public void onClick(Widget sender)
+ {
- TaskRef selection = getSelection();
+ TaskRef selection = getSelection();
- if(selection!=null)
- {
- if(selection.getUrl()!=null && !selection.getUrl().equals(""))
- createTaskFormWindow(selection);
- else
- MessageBox.alert("Invalid operation", "The task doesn't provide a UI");
- }
- else
- {
- MessageBox.alert("Missing selection", "Please select a task");
- }
- }
+ if (selection != null)
+ {
+ if (selection.getUrl() != null && !selection.getUrl().equals(""))
+ createTaskFormWindow(selection);
+ else
+ MessageBox.alert("Invalid operation", "The task doesn't provide a UI");
}
- )
+ else
+ {
+ MessageBox.alert("Missing selection", "Please select a task");
+ }
+ }
+ }
);
+ toolBar.add(viewBtn);
toolBar.addSeparator();
@@ -206,6 +210,11 @@
this.add(layout);
+ // plugin availability
+ this.hasDispatcherPlugin =
+ ServerPlugins.has("org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin");
+ viewBtn.setEnabled(hasDispatcherPlugin);
+
isInitialized = true;
}
}
15 years, 1 month
JBoss JBPM SVN: r4887 - in projects/gwt-console/trunk: gui/war/src/main/java/org/jboss/bpm/console/client/process/events and 8 other directories.
by do-not-reply@jboss.org
Author: heiko.braun(a)jboss.com
Date: 2009-05-25 10:31:11 -0400 (Mon, 25 May 2009)
New Revision: 4887
Added:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/events/
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/events/ActivityDiagramResultEvent.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ActiveNodeInfo.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramInfo.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramNodeInfo.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TokenReference.java
projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/GraphViewerPlugin.java
Removed:
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/
Modified:
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java
projects/gwt-console/trunk/gui/war/src/main/resources/org/jboss/bpm/console/public/console.css
projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstanceRef.java
projects/gwt-console/trunk/server/server-core/server-core.iml
projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java
projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java
projects/gwt-console/trunk/server/server-integration/server-integration.iml
Log:
Fix JBPM-2193: Process diagram, first cut
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceDetailView.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -23,10 +23,28 @@
import com.mvc4g.client.Controller;
import com.mvc4g.client.ViewInterface;
+import com.mvc4g.client.Event;
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.Frame;
+import com.google.gwt.user.client.WindowCloseListener;
+import com.google.gwt.user.client.DOM;
import org.gwt.mosaic.ui.client.CaptionLayoutPanel;
+import org.gwt.mosaic.ui.client.WindowPanel;
+import org.gwt.mosaic.ui.client.Caption;
+import org.gwt.mosaic.ui.client.layout.BoxLayout;
+import org.gwt.mosaic.ui.client.layout.BoxLayoutData;
import org.jboss.bpm.console.client.common.PropertyGrid;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.TaskRef;
+import org.jboss.bpm.console.client.task.LoadTasksAction;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.util.WindowUtil;
+import org.jboss.bpm.console.client.ApplicationContext;
+import java.util.Date;
+
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
*/
@@ -40,21 +58,83 @@
private ProcessInstanceRef currentInstance;
- public InstanceDetailView()
+ private Button activityBtn;
+
+ private WindowPanel windowPanel;
+
+ private ApplicationContext appContext;
+
+ private ProcessDiagramView diagramView;
+
+ public InstanceDetailView(ApplicationContext appContext)
{
super("Instance details");
+ this.appContext = appContext;
+
super.setStyleName("bpm-detail-panel");
+ super.setLayout(new BoxLayout(BoxLayout.Orientation.HORIZONTAL));
grid = new PropertyGrid(
new String[] {"ID:", "Key:", "State", "Start Date:"}
);
- this.add(grid);
+ this.add(grid, new BoxLayoutData(BoxLayoutData.FillStyle.BOTH));
+
+ activityBtn = new Button("Activity",
+ new ClickListener()
+ {
+ public void onClick(Widget widget)
+ {
+ if(currentInstance!=null)
+ {
+ createActivityWindow(currentInstance);
+ controller.handleEvent(
+ new Event(LoadActivityDiagramAction.ID, currentInstance)
+ );
+ }
+ }
+ }
+ );
+
+ activityBtn.setEnabled(false);
+ this.add(activityBtn);
}
+ private void createActivityWindow(ProcessInstanceRef inst)
+ {
+ windowPanel = new WindowPanel(inst.getId());
+ windowPanel.setAnimationEnabled(true);
+ windowPanel.setSize("320px", "240px");
+
+ windowPanel.addWindowCloseListener(new WindowCloseListener() {
+ public void onWindowClosed() {
+ windowPanel = null;
+
+ }
+
+ public String onWindowClosing() {
+ return null;
+ }
+ });
+
+
+ windowPanel.setWidget(diagramView);
+
+ WindowUtil.addMaximizeButton(windowPanel, Caption.CaptionRegion.RIGHT);
+ WindowUtil.addMinimizeButton(windowPanel, Caption.CaptionRegion.RIGHT);
+
+ // display
+ windowPanel.center();
+
+ }
+
public void setController(Controller controller)
{
this.controller = controller;
+
+ this.diagramView = new ProcessDiagramView();
+ controller.addView(ProcessDiagramView.ID, diagramView);
+ controller.addAction(LoadActivityDiagramAction.ID, new LoadActivityDiagramAction(appContext));
}
public void update(ProcessInstanceRef instance)
@@ -69,11 +149,15 @@
};
grid.update(values);
+
+ this.activityBtn.setEnabled(true);
}
public void clearView()
{
grid.clear();
this.currentInstance = null;
+ this.activityBtn.setEnabled(false);
+
}
}
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/InstanceListView.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -38,6 +38,7 @@
import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.util.SimpleDateFormat;
+import org.jboss.bpm.console.client.ApplicationContext;
import java.util.List;
@@ -62,9 +63,13 @@
private SimpleDateFormat dateFormat = new SimpleDateFormat();
- public InstanceListView()
+ private ApplicationContext appContext;
+
+ public InstanceListView(ApplicationContext appContext)
{
super();
+ this.appContext = appContext;
+
ConsoleIconBundle icons = GWT.create(ConsoleIconBundle.class);
setTitle("Process Instances");
setIcon(icons.instanceIcon());
@@ -271,9 +276,11 @@
layout.add(instanceList, new BorderLayoutData(BorderLayout.Region.CENTER));
// details
- InstanceDetailView detailsView = new InstanceDetailView();
+ InstanceDetailView detailsView = new InstanceDetailView(appContext);
controller.addView(InstanceDetailView.ID, detailsView);
+
controller.addAction(UpdateInstanceDetailAction.ID, new UpdateInstanceDetailAction());
+
layout.add(detailsView, new BorderLayoutData(BorderLayout.Region.SOUTH,10,200));
this.add(layout);
Added: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/LoadActivityDiagramAction.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,104 @@
+/*
+ * 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.bpm.console.client.process;
+
+import org.jboss.bpm.console.client.common.AbstractRESTAction;
+import org.jboss.bpm.console.client.ApplicationContext;
+import org.jboss.bpm.console.client.process.events.ActivityDiagramResultEvent;
+import org.jboss.bpm.console.client.util.JSONWalk;
+import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.DiagramNodeInfo;
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+import com.google.gwt.http.client.RequestBuilder;
+import com.google.gwt.http.client.Response;
+import com.google.gwt.json.client.JSONObject;
+import com.google.gwt.json.client.JSONValue;
+import com.google.gwt.json.client.JSONParser;
+import com.mvc4g.client.Controller;
+import com.mvc4g.client.Event;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class LoadActivityDiagramAction extends AbstractRESTAction
+{
+ public final static String ID = LoadActivityDiagramAction.class.getName();
+
+ public LoadActivityDiagramAction(ApplicationContext appContetext)
+ {
+ super(appContetext);
+ }
+
+ public String getId()
+ {
+ return ID;
+ }
+
+ public String getUrl(Object event)
+ {
+ ProcessInstanceRef inst = (ProcessInstanceRef)event;
+ return appContext.getUrlBuilder().getActiveNodeInfoURL(inst.getId());
+ }
+
+ public RequestBuilder.Method getRequestMethod()
+ {
+ return RequestBuilder.GET;
+ }
+
+ public void handleSuccessfulResponse(
+ final Controller controller, final Object event, Response response)
+ {
+ ProcessInstanceRef inst = (ProcessInstanceRef)event;
+
+ ConsoleLog.debug("Parse: " + response.getText());
+
+ //TODO: move to DTO Parser
+ JSONValue root = JSONParser.parse(response.getText());
+ //int diagramWidth = JSONWalk.on(root).next("diagramWidth").asInt();
+ //int diagramHeight = JSONWalk.on(root).next("diagramHeight").asInt();
+
+ JSONObject activeNode = JSONWalk.on(root).next("activeNode").asObject();
+
+ int x = JSONWalk.on(activeNode).next("x").asInt();
+ int y = JSONWalk.on(activeNode).next("y").asInt();
+
+ int width = JSONWalk.on(activeNode).next("width").asInt();
+ int height = JSONWalk.on(activeNode).next("height").asInt();
+ String name = JSONWalk.on(activeNode).next("name").asString();
+
+ ActiveNodeInfo activeNodeInfo =
+ new ActiveNodeInfo(
+ -1, -1,
+ new DiagramNodeInfo(name, x, y, width, height)
+ );
+
+ // update view
+ ProcessDiagramView view = (ProcessDiagramView) controller.getView(ProcessDiagramView.ID);
+ view.update(
+ new ActivityDiagramResultEvent(
+ appContext.getUrlBuilder().getProcessImageURL(inst.getDefinitionId()),
+ activeNodeInfo
+ )
+ );
+ }
+}
Added: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessDiagramView.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,86 @@
+/*
+ * 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.bpm.console.client.process;
+
+import org.jboss.bpm.console.client.model.DiagramNodeInfo;
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+import org.jboss.bpm.console.client.model.ProcessInstanceRef;
+import org.jboss.bpm.console.client.model.ProcessDefinitionRef;
+import org.jboss.bpm.console.client.process.events.ActivityDiagramResultEvent;
+import org.gwt.mosaic.ui.client.layout.LayoutPanel;
+import com.google.gwt.user.client.ui.HTML;
+import com.mvc4g.client.ViewInterface;
+import com.mvc4g.client.Controller;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class ProcessDiagramView extends LayoutPanel
+ implements ViewInterface
+{
+
+ public final static String ID = ProcessDiagramView.class.getName();
+
+ private ProcessDefinitionRef processRef;
+
+ private ProcessInstanceRef instanceRef;
+
+ private Controller controller;
+
+ public ProcessDiagramView()
+ {
+ super();
+ }
+
+
+ public void setController(Controller controller)
+ {
+ this.controller = controller;
+ }
+
+ public void update(ActivityDiagramResultEvent event)
+ {
+
+ ActiveNodeInfo activeNodeInfo = event.getActiveNodeInfo();
+ DiagramNodeInfo activeNode = activeNodeInfo.getActiveNode();
+ String imageUrl = event.getImageUrl();
+
+ // remove contents
+ this.clear();
+
+ // add overlay
+ HTML html = new HTML(
+ "<div style='width:1024px; height:768px; background-color:#ffffff;'><div id=\"imageContainer\" style=\"position:relative;top:-1;left:-1;height:"+activeNodeInfo.getHeight()+"px;width:"+activeNodeInfo.getWidth()+"px\">" +
+ "<img src=\""+imageUrl+"\" style=\"position:absolute;top:0;left:0\" />" +
+ "" +
+ "<div class=\"activeNode\" style=\"top:"+ (activeNode.getY()) +"px;left:"+activeNode.getX()+"px;width:"+(activeNode.getWidth()-2)+"px;height:"+(activeNode.getHeight()-2)+"px\"></div>" +
+ "" +
+ "<div class=\"activeNode-header\" style=\"top:"+(activeNode.getY()-15)+"px;left:"+activeNode.getX()+"px;width:"+activeNode.getWidth()+"px;height:15px\">" +
+ " <div class=\"activeNode-header-link\"><a href=\"javascript:alert('Not implemented!')\">Running</a></div>" +
+ "</div>" +
+ "</div></div>"
+ );
+
+ this.add(html);
+ invalidate();
+ }
+}
\ No newline at end of file
Modified: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/ProcessEditor.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -98,7 +98,7 @@
// create and register views
registerView(DefinitionListView.ID, new DefinitionListView());
- registerView(InstanceListView.ID, new InstanceListView());
+ registerView(InstanceListView.ID, new InstanceListView(appContext));
// create and register actions
registerAction(LoadDefinitionsAction.ID, new LoadDefinitionsAction(appContext));
Added: projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/events/ActivityDiagramResultEvent.java
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/events/ActivityDiagramResultEvent.java (rev 0)
+++ projects/gwt-console/trunk/gui/war/src/main/java/org/jboss/bpm/console/client/process/events/ActivityDiagramResultEvent.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,63 @@
+/*
+ * 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.bpm.console.client.process.events;
+
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class ActivityDiagramResultEvent
+{
+ private String imageUrl;
+ private ActiveNodeInfo activeNodeInfo;
+
+ public ActivityDiagramResultEvent()
+ {
+ }
+
+ public ActivityDiagramResultEvent(String imageUrl, ActiveNodeInfo activeNodeInfo)
+ {
+ this.imageUrl = imageUrl;
+ this.activeNodeInfo = activeNodeInfo;
+ }
+
+ public String getImageUrl()
+ {
+ return imageUrl;
+ }
+
+ public void setImageUrl(String imageUrl)
+ {
+ this.imageUrl = imageUrl;
+ }
+
+ public ActiveNodeInfo getActiveNodeInfo()
+ {
+ return activeNodeInfo;
+ }
+
+ public void setActiveNodeInfo(ActiveNodeInfo activeNodeInfo)
+ {
+ this.activeNodeInfo = activeNodeInfo;
+ }
+}
Modified: projects/gwt-console/trunk/gui/war/src/main/resources/org/jboss/bpm/console/public/console.css
===================================================================
--- projects/gwt-console/trunk/gui/war/src/main/resources/org/jboss/bpm/console/public/console.css 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/war/src/main/resources/org/jboss/bpm/console/public/console.css 2009-05-25 14:31:11 UTC (rev 4887)
@@ -190,7 +190,7 @@
position:absolute;
border-width:1px;
border-style:solid;
- border-color:#6699CC;
+ border-color:#339933;
}
div.activeNode-header {
@@ -208,8 +208,8 @@
padding-right:3px;
border-width:1px;
border-style:solid;
- border-color:#6699CC;
- background-color:#6699CC;
+ border-color:#339933;
+ background-color:#339933;
}
div.activeNode-header-link a {
Modified: projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java
===================================================================
--- projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/URLBuilder.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -24,7 +24,7 @@
import com.google.gwt.http.client.URL;
import com.google.gwt.core.client.GWT;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
-import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
+import org.jboss.bpm.console.client.model.TokenReference;
/**
* @author Heiko.Braun <heiko.braun(a)jboss.com>
@@ -77,12 +77,12 @@
public String getProcessImageURL(String processId)
{
String encodedId = URL.encode(processId);
- return config.getConsoleServerUrl() + "/rs/jbpm3/definitions/" + encodedId+ "/image";
+ return config.getConsoleServerUrl() + "/rs/process/definitions/"+ encodedId+ "/image";
}
public String getActiveNodeInfoURL(String instanceId)
{
- return config.getConsoleServerUrl() + "/rs/jbpm3/instances/" + instanceId + "/activeNodeInfo";
+ return config.getConsoleServerUrl() + "/rs/process/instances/" + instanceId + "/activeNodeInfo";
}
public String getStateChangeURL(String instanceId, ProcessInstanceRef.STATE state)
Modified: projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java
===================================================================
--- projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/gui/workspace-api/src/main/java/org/jboss/bpm/console/client/model/DTOParser.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -22,9 +22,8 @@
package org.jboss.bpm.console.client.model;
import com.google.gwt.json.client.*;
-import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
-import org.jboss.bpm.console.client.util.JSONWalk;
import org.jboss.bpm.console.client.util.ConsoleLog;
+import org.jboss.bpm.console.client.util.JSONWalk;
import java.util.ArrayList;
import java.util.Date;
Copied: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ActiveNodeInfo.java (from rev 4881, projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/ActiveNodeInfo.java)
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ActiveNodeInfo.java (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ActiveNodeInfo.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,82 @@
+/*
+ * 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.bpm.console.client.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlElement;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@XmlRootElement(name = "activeNodeInfo")
+public class ActiveNodeInfo
+{
+ private int width = -1;
+ private int height = -1;
+
+ private DiagramNodeInfo activeNode;
+
+
+ public ActiveNodeInfo()
+ {
+ }
+
+ public ActiveNodeInfo(int width, int height, DiagramNodeInfo activeNode)
+ {
+ this.width = width;
+ this.height = height;
+ this.activeNode = activeNode;
+ }
+
+ @XmlElement(name = "diagramWidth")
+ public int getWidth()
+ {
+ return width;
+ }
+
+ public void setWidth(int width)
+ {
+ this.width = width;
+ }
+
+ @XmlElement(name = "diagramHeight")
+ public int getHeight()
+ {
+ return height;
+ }
+
+ public void setHeight(int height)
+ {
+ this.height = height;
+ }
+
+ @XmlElement(name = "activeNode")
+ public DiagramNodeInfo getActiveNode()
+ {
+ return activeNode;
+ }
+
+ public void setActiveNode(DiagramNodeInfo activeNode)
+ {
+ this.activeNode = activeNode;
+ }
+}
Property changes on: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ActiveNodeInfo.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramInfo.java (from rev 4881, projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/DiagramInfo.java)
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramInfo.java (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramInfo.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,81 @@
+/*
+ * 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.bpm.console.client.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.*;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@XmlRootElement(name = "diagramInfo")
+public class DiagramInfo
+{
+ private int width = -1;
+ private int height = -1;
+ private List<DiagramNodeInfo> nodeList = new ArrayList<DiagramNodeInfo>();
+
+ public DiagramInfo()
+ {
+ }
+
+ public DiagramInfo(final int height, final int width, final List<DiagramNodeInfo> l) {
+ this.height = height;
+ this.width = width;
+ final List<DiagramNodeInfo> list = new ArrayList<DiagramNodeInfo>();
+ for (DiagramNodeInfo nodeInfo : l) {
+ list.add(nodeInfo);
+ }
+ nodeList = Collections.unmodifiableList(list);
+ }
+
+ public int getWidth()
+ {
+ return width;
+ }
+
+ public void setWidth(int width)
+ {
+ this.width = width;
+ }
+
+ public int getHeight()
+ {
+ return height;
+ }
+
+ public void setHeight(int height)
+ {
+ this.height = height;
+ }
+
+ public List<DiagramNodeInfo> getNodeList()
+ {
+ return nodeList;
+ }
+
+ public void setNodeList(List<DiagramNodeInfo> nodeList)
+ {
+ this.nodeList = nodeList;
+ }
+
+}
Property changes on: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramInfo.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramNodeInfo.java (from rev 4881, projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/DiagramNodeInfo.java)
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramNodeInfo.java (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramNodeInfo.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,103 @@
+/*
+ * 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.bpm.console.client.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@XmlRootElement(name = "nodeInfo")
+public class DiagramNodeInfo
+{
+ private String name;
+ private int x;
+ private int y;
+ private int width;
+ private int height;
+
+ public DiagramNodeInfo()
+ {
+ }
+
+ public DiagramNodeInfo(
+ final String name,
+ final int x, final int y,
+ final int width, final int height)
+ {
+ this.height = height;
+ this.name = name;
+ this.width = width;
+ this.x = x;
+ this.y = y;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public int getX()
+ {
+ return x;
+ }
+
+ public void setX(int x)
+ {
+ this.x = x;
+ }
+
+ public int getY()
+ {
+ return y;
+ }
+
+ public void setY(int y)
+ {
+ this.y = y;
+ }
+
+ public int getWidth()
+ {
+ return width;
+ }
+
+ public void setWidth(int width)
+ {
+ this.width = width;
+ }
+
+ public int getHeight()
+ {
+ return height;
+ }
+
+ public void setHeight(int height)
+ {
+ this.height = height;
+ }
+}
Property changes on: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/DiagramNodeInfo.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstanceRef.java
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstanceRef.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/ProcessInstanceRef.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -22,7 +22,7 @@
package org.jboss.bpm.console.client.model;
-import org.jboss.bpm.console.client.model.jbpm3.TokenReference;
+import org.jboss.bpm.console.client.model.TokenReference;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
Copied: projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TokenReference.java (from rev 4881, projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/jbpm3/TokenReference.java)
===================================================================
--- projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TokenReference.java (rev 0)
+++ projects/gwt-console/trunk/rpc/src/main/java/org/jboss/bpm/console/client/model/TokenReference.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,115 @@
+/*
+ * 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.bpm.console.client.model;
+
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@XmlRootElement(name = "tokenReference")
+public class TokenReference
+{
+ private String id;
+ private String name;
+
+ private String currentNodeName;
+
+ private List<TokenReference> children = new ArrayList<TokenReference>();
+ private List<String> availableSignals = new ArrayList<String>();
+
+ private boolean canBeSignaled = true;
+
+ public TokenReference()
+ {
+ }
+
+ public TokenReference(String id, String name, String nodeName)
+ {
+ this.id = id;
+ this.name = name!=null ? name : "";
+ this.currentNodeName = nodeName;
+ }
+
+ public void setId(String id)
+ {
+ this.id = id;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public void setCurrentNodeName(String currentNodeName)
+ {
+ this.currentNodeName = currentNodeName;
+ }
+
+ public void setChildren(List<TokenReference> children)
+ {
+ this.children = children;
+ }
+
+ public void setAvailableSignals(List<String> availableSignals)
+ {
+ this.availableSignals = availableSignals;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public List<TokenReference> getChildren()
+ {
+ return children;
+ }
+
+ public List<String> getAvailableSignals()
+ {
+ return availableSignals;
+ }
+
+ public String getCurrentNodeName()
+ {
+ return currentNodeName;
+ }
+
+ public boolean canBeSignaled()
+ {
+ return canBeSignaled;
+ }
+
+ public void setCanBeSignaled(boolean canBeSignaled)
+ {
+ this.canBeSignaled = canBeSignaled;
+ }
+
+}
Modified: projects/gwt-console/trunk/server/server-core/server-core.iml
===================================================================
--- projects/gwt-console/trunk/server/server-core/server-core.iml 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/server/server-core/server-core.iml 2009-05-25 14:31:11 UTC (rev 4887)
@@ -11,6 +11,8 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="gwt-parent" />
+ <orderEntry type="module" module-name="server-integration" />
+ <orderEntry type="module" module-name="gwt-rpc" />
<orderEntry type="module-library" exported="">
<library name="M2 Dep: org.slf4j:slf4j-simple:jar:1.5.2:compile">
<CLASSES>
Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/InfoFacade.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -23,12 +23,12 @@
import org.jboss.bpm.console.server.plugin.TaskDispatcherPlugin;
import org.jboss.bpm.console.server.plugin.PluginMgr;
+import org.jboss.bpm.console.server.plugin.GraphViewerPlugin;
import org.jboss.bpm.console.server.gson.GsonFactory;
import org.jboss.bpm.console.client.model.ServerStatus;
import org.jboss.bpm.console.client.model.PluginInfo;
import javax.ws.rs.Path;
-import javax.ws.rs.POST;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
@@ -42,7 +42,10 @@
public class InfoFacade
{
- private Class[] pluginInterfaces = {TaskDispatcherPlugin.class};
+ private Class[] pluginInterfaces = {
+ TaskDispatcherPlugin.class,
+ GraphViewerPlugin.class
+ };
private ServerStatus status = null;
Modified: projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java
===================================================================
--- projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/server/server-core/src/main/java/org/jboss/bpm/console/server/ProcessMgmtFacade.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -21,29 +21,30 @@
*/
package org.jboss.bpm.console.server;
-import javax.ws.rs.*;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Context;
-import javax.servlet.http.HttpServletRequest;
-
+import com.google.gson.Gson;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.fileupload.FileItemFactory;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
import org.jboss.bpm.console.client.model.ProcessDefinitionRefWrapper;
import org.jboss.bpm.console.client.model.ProcessInstanceRef;
import org.jboss.bpm.console.client.model.ProcessInstanceRefWrapper;
import org.jboss.bpm.console.server.gson.GsonFactory;
import org.jboss.bpm.console.server.integration.ManagementFactory;
import org.jboss.bpm.console.server.integration.ProcessManagement;
+import org.jboss.bpm.console.server.plugin.PluginMgr;
+import org.jboss.bpm.console.server.plugin.GraphViewerPlugin;
-import com.google.gson.Gson;
-
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.*;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Response;
+import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
-import java.io.InputStream;
/**
* REST server module for accessing process related data.
@@ -54,7 +55,9 @@
public class ProcessMgmtFacade
{
private static final Log log = LogFactory.getLog(ProcessMgmtFacade.class);
+
private ProcessManagement processManagement;
+ private GraphViewerPlugin graphViewerPlugin;
private ProcessManagement getProcessManagement()
{
@@ -68,6 +71,18 @@
return this.processManagement;
}
+ private GraphViewerPlugin getProcessGraphViewPlugin()
+ {
+ if(graphViewerPlugin==null)
+ {
+ graphViewerPlugin = PluginMgr.load(
+ GraphViewerPlugin.class
+ );
+ }
+
+ return graphViewerPlugin;
+ }
+
@GET
@Path("definitions")
@Produces("application/json")
@@ -252,7 +267,46 @@
return Response.ok().build();
}
+ @GET
+ @Path("definitions/{id}/image")
+ @Produces("image/*")
+ public Response getProcessImage(
+ @PathParam("id")
+ String id
+ )
+ {
+ GraphViewerPlugin plugin = getProcessGraphViewPlugin();
+ if(plugin !=null)
+ {
+ return Response.ok(plugin.getProcessImage(id)).type("image/png").build();
+ }
+ throw new RuntimeException(
+ GraphViewerPlugin.class.getName()+ " not available."
+ );
+ }
+
+ @GET
+ @Path("instances/{id}/activeNodeInfo")
+ @Produces("application/json")
+ public Response getActiveNodeInfo(
+ @PathParam("id")
+ String id)
+ {
+
+ GraphViewerPlugin plugin = getProcessGraphViewPlugin();
+ if(plugin !=null)
+ {
+ ActiveNodeInfo info = plugin.getActiveNodeInfo(id);
+ return createJsonResponse(info);
+ }
+
+ throw new RuntimeException(
+ GraphViewerPlugin.class.getName()+ " not available."
+ );
+
+ }
+
private Response createJsonResponse(Object wrapper)
{
Gson gson = GsonFactory.createInstance();
Modified: projects/gwt-console/trunk/server/server-integration/server-integration.iml
===================================================================
--- projects/gwt-console/trunk/server/server-integration/server-integration.iml 2009-05-25 14:15:29 UTC (rev 4886)
+++ projects/gwt-console/trunk/server/server-integration/server-integration.iml 2009-05-25 14:31:11 UTC (rev 4887)
@@ -78,6 +78,7 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module" module-name="gwt-rpc" />
<orderEntryProperties />
</component>
</module>
Added: projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/GraphViewerPlugin.java
===================================================================
--- projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/GraphViewerPlugin.java (rev 0)
+++ projects/gwt-console/trunk/server/server-integration/src/main/java/org/jboss/bpm/console/server/plugin/GraphViewerPlugin.java 2009-05-25 14:31:11 UTC (rev 4887)
@@ -0,0 +1,39 @@
+/*
+ * 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.bpm.console.server.plugin;
+
+import org.jboss.bpm.console.client.model.ActiveNodeInfo;
+import org.jboss.bpm.console.client.model.DiagramInfo;
+
+/**
+ * Access process graph image and coordinates.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface GraphViewerPlugin
+{
+ byte[] getProcessImage(String processId);
+
+ DiagramInfo getDiagramInfo(String processId);
+
+ ActiveNodeInfo getActiveNodeInfo(String instanceId);
+}
15 years, 1 month
JBoss JBPM SVN: r4886 - in jbpm4/trunk/modules/pvm/src/main: java/org/jbpm/pvm/internal/model and 1 other directories.
by do-not-reply@jboss.org
Author: tom.baeyens(a)jboss.com
Date: 2009-05-25 10:15:29 -0400 (Mon, 25 May 2009)
New Revision: 4886
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/JobImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.execution.hbm.xml
Log:
JBPM-2277 job configuration and execution state persistence refactoring
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java 2009-05-25 13:34:43 UTC (rev 4885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/CommandMessage.java 2009-05-25 14:15:29 UTC (rev 4886)
@@ -21,11 +21,11 @@
*/
package org.jbpm.pvm.internal.job;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.cmd.Command;
import org.jbpm.api.env.Environment;
import org.jbpm.pvm.internal.jobexecutor.JobDbSession;
import org.jbpm.pvm.internal.wire.Descriptor;
-import org.jbpm.pvm.internal.wire.WireContext;
/**
@@ -39,11 +39,15 @@
}
public CommandMessage(Descriptor commandDescriptor) {
- this.commandDescriptor = commandDescriptor;
+ throw new JbpmException("obsolete");
}
+ public CommandMessage(Command<?> command) {
+ setConfiguration(command);
+ }
+
public Object execute(Environment environment) throws Exception {
- Command<Object> command = (Command<Object>) WireContext.create(commandDescriptor);
+ Command<?> command = (Command<?>) getConfiguration();
command.execute(environment);
JobDbSession jobDbSession = environment.get(JobDbSession.class);
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/JobImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/JobImpl.java 2009-05-25 13:34:43 UTC (rev 4885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/JobImpl.java 2009-05-25 14:15:29 UTC (rev 4886)
@@ -1,10 +1,16 @@
package org.jbpm.pvm.internal.job;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.Date;
+import org.jbpm.api.JbpmException;
import org.jbpm.api.cmd.Command;
import org.jbpm.api.job.Job;
+import org.jbpm.pvm.internal.lob.Lob;
import org.jbpm.pvm.internal.model.ExecutionImpl;
import org.jbpm.pvm.internal.wire.Descriptor;
@@ -26,7 +32,7 @@
protected Date dueDate = null;
/** job state. */
- protected String state;
+ protected String state = STATE_WAITING;
/** the execution (if any) for this jobImpl */
protected ExecutionImpl execution;
@@ -56,6 +62,10 @@
* occurs during command execution. */
protected int retries = 3;
+ protected Lob configurationBytes;
+
+ protected Object configuration;
+
/** a command that can be used as the behaviour of this job */
protected Descriptor commandDescriptor;
@@ -87,10 +97,45 @@
this.state = STATE_SUSPENDED;
}
public void resume() {
- this.state = STATE_WAITING;
+ if (retries==0) {
+ this.state = STATE_ERROR;
+ } else {
+ this.state = STATE_WAITING;
+ }
}
-
+ public Object getConfiguration() {
+ if ( (configuration==null)
+ && (configurationBytes!=null)
+ ) {
+ try {
+ byte[] bytes = configurationBytes.extractBytes();
+ ByteArrayInputStream byteStream = new ByteArrayInputStream(bytes);
+ ObjectInputStream objectStream = new ObjectInputStream(byteStream);
+ configuration = objectStream.readObject();
+ } catch (Exception e) {
+ throw new JbpmException("couldn't deserialize configuration object for "+this, e);
+ }
+ }
+ return configuration;
+ }
+
+ public void setConfiguration(Object configuration) {
+ this.configuration = configuration;
+
+ try {
+ ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+ ObjectOutputStream objectStream = new ObjectOutputStream(byteStream);
+ objectStream.writeObject(configuration);
+ byte[] bytes = byteStream.toByteArray();
+ configurationBytes = new Lob(bytes);
+ } catch (Exception e) {
+ throw new JbpmException("couldn't serialize configuration object for "+this, e);
+ }
+ }
+
+ // getters and setters //////////////////////////////////////////////////////
+
public long getDbid() {
return dbid;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2009-05-25 13:34:43 UTC (rev 4885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/job/TimerImpl.java 2009-05-25 14:15:29 UTC (rev 4886)
@@ -123,7 +123,7 @@
boolean deleteThisJob = true;
// if there is no repeat on this timer
if (repeat==null) {
- // delete the jobImpl
+ // delete the job
if (log.isDebugEnabled()) log.debug("deleting " + this);
JobDbSession dbSession = environment.get(JobDbSession.class);
if (dbSession==null) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-05-25 13:34:43 UTC (rev 4885)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/model/ExecutionImpl.java 2009-05-25 14:15:29 UTC (rev 4886)
@@ -111,13 +111,6 @@
/** a unique id for this execution. */
protected String id;
- protected String processDefinitionId;
- private ProcessDefinitionImpl processDefinition;
-
- /** current activity */
- protected String activityName;
- private ActivityImpl activity;
-
/** are concurrent executions that related to this execution. */
protected Collection<ExecutionImpl> executions;
@@ -142,20 +135,38 @@
protected Date historyActivityStart;
protected int priority = Priority.NORMAL;
+
+ // persistent indicators of the current position ////////////////////////////
- // transient member fields //////////////////////////////////////////////////
+ /** persistent process definition reference */
+ protected String processDefinitionId;
+
+ /** persistent activity reference */
+ protected String activityName;
+ protected Integer transitionSourceIndex;
+ protected String transitionSourceName;
+
+ // transient cached indicators of the current position //////////////////////
+
+ /** transient cached process definition. persistence is managed in {@link #processDefinitionId} */
+ protected ProcessDefinitionImpl processDefinition;
+
+ /** transient cached current activity pointer. persistence is managed in {@link #activityName} */
+ private ActivityImpl activity;
+
/** transition is not to be made persistable by default */
protected TransitionImpl transition;
- protected Integer transitionSourceIndex;
/** the activity from which the transition was taken. This can be different from
* the transition source in case a transition of an eclosing activity was taken. */
protected ActivityImpl transitionSource;
- protected String transitionSourceName;
protected EventImpl event;
+
protected ObservableElementImpl eventSource;
+
+ // cached named executions //////////////////////////////////////////////////
/** caches the child executions by execution name. This member might be
* null and is only created from the executions in case its needed. Note
Modified: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.execution.hbm.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.execution.hbm.xml 2009-05-25 13:34:43 UTC (rev 4885)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.execution.hbm.xml 2009-05-25 14:15:29 UTC (rev 4886)
@@ -216,6 +216,7 @@
cascade="none"
foreign-key="FK_JOB_PRINST"
index="IDX_JOB_PRINST"/>
+
<many-to-one name="execution"
class="org.jbpm.pvm.internal.model.ExecutionImpl"
column="EXECUTION_"
@@ -223,12 +224,12 @@
foreign-key="FK_JOB_EXE"
index="IDX_JOB_EXE"/>
- <!-- many-to-one name="commandDescriptor"
- column="CMDDESCR_"
- class="org.jbpm.pvm.internal.wire.descriptor.AbstractDescriptor"
+ <many-to-one name="configurationBytes"
+ column="CFG_"
cascade="all"
- foreign-key="FK_JOB_CMDDESCR"
- index="IDX_JOB_CMDDESCR"/ -->
+ class="org.jbpm.pvm.internal.lob.Lob"
+ foreign-key="FK_JOB_CFG"
+ index="IDX_JOB_CFG" />
<subclass name="org.jbpm.pvm.internal.job.MessageImpl" discriminator-value="Msg">
<subclass name="org.jbpm.pvm.internal.model.op.ExecuteActivityMessage" discriminator-value="ExeAct" />
15 years, 1 month