[jboss-svn-commits] JBL Code SVN: r30437 - in labs/jbossrules/trunk: drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Dec 2 12:04:11 EST 2009
Author: KrisVerlaenen
Date: 2009-12-02 12:04:10 -0500 (Wed, 02 Dec 2009)
New Revision: 30437
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java
Log:
JBRULES-2357: BPMN2 support in Guvnor and gwt-console
- update Guvnor processes folder + fixed issue with variables in gzt-console
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java 2009-12-02 14:39:02 UTC (rev 30436)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/workflow/instance/impl/WorkflowProcessInstanceImpl.java 2009-12-02 17:04:10 UTC (rev 30437)
@@ -186,6 +186,33 @@
return variableScopeInstance.getVariable(name);
}
+ public Map<String, Object> getVariables() {
+ // for disconnected process instances, try going through the variable scope instances
+ // (as the default variable scope cannot be retrieved as the link to the process could
+ // be null and the associated working memory is no longer accessible)
+ if (getWorkingMemory() == null) {
+ List<ContextInstance> variableScopeInstances =
+ getContextInstances(VariableScope.VARIABLE_SCOPE);
+ if (variableScopeInstances == null) {
+ return null;
+ }
+ Map<String, Object> result = new HashMap<String, Object>();
+ for (ContextInstance contextInstance: variableScopeInstances) {
+ Map<String, Object> variables =
+ ((VariableScopeInstance) contextInstance).getVariables();
+ result.putAll(variables);
+ }
+ return result;
+ }
+ // else retrieve the variable scope
+ VariableScopeInstance variableScopeInstance = (VariableScopeInstance)
+ getContextInstance(VariableScope.VARIABLE_SCOPE);
+ if (variableScopeInstance == null) {
+ return null;
+ }
+ return variableScopeInstance.getVariables();
+ }
+
public void setVariable(String name, Object value) {
VariableScopeInstance variableScopeInstance = (VariableScopeInstance)
getContextInstance(VariableScope.VARIABLE_SCOPE);
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java 2009-12-02 14:39:02 UTC (rev 30436)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/EditorLauncher.java 2009-12-02 17:04:10 UTC (rev 30437)
@@ -73,9 +73,9 @@
return new DecisionTableXLSWidget( asset, viewer );
} else if ( asset.metaData.format.equals( AssetFormats.RULE_FLOW_RF ) ) {
- // return new RuleFlowUploadWidget(asset, viewer);
- return new RuleFlowWrapper( asset,
- viewer );
+ return new RuleFlowWrapper( asset, viewer );
+ } else if ( asset.metaData.format.equals( AssetFormats.BPMN2_PROCESS ) ) {
+ return new RuleFlowWrapper( asset, viewer );
} else if ( asset.metaData.format.equals( AssetFormats.DRL ) ) {
return new DrlEditor( asset );
} else if ( asset.metaData.format.equals( AssetFormats.ENUMERATION ) ) {
@@ -119,6 +119,8 @@
"business_rule.gif" );
result.put( AssetFormats.RULE_FLOW_RF,
"ruleflow_small.gif" );
+ result.put( AssetFormats.BPMN2_PROCESS,
+ "ruleflow_small.gif" );
result.put( AssetFormats.TEST_SCENARIO,
"test_manager.gif" );
result.put( AssetFormats.ENUMERATION,
Modified: labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java 2009-12-02 14:39:02 UTC (rev 30436)
+++ labs/jbossrules/trunk/drools-process/drools-gwt-console/src/main/java/org/drools/integration/console/DroolsFlowCommandDelegate.java 2009-12-02 17:04:10 UTC (rev 30437)
@@ -26,6 +26,7 @@
import org.drools.runtime.EnvironmentName;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
+import org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl;
public class DroolsFlowCommandDelegate {
@@ -137,14 +138,12 @@
public Map<String, Object> getProcessInstanceVariables(String processInstanceId) {
ProcessInstance processInstance = ksession.getProcessInstance(new Long(processInstanceId));
if (processInstance != null) {
- VariableScopeInstance variableScope = (VariableScopeInstance)
- ((org.drools.process.instance.ProcessInstance) processInstance)
- .getContextInstance(VariableScope.VARIABLE_SCOPE);
- if (variableScope == null) {
+ Map<String, Object> variables =
+ ((WorkflowProcessInstanceImpl) processInstance).getVariables();
+ if (variables == null) {
return new HashMap<String, Object>();
}
// filter out null values
- Map<String, Object> variables = variableScope.getVariables();
Map<String, Object> result = new HashMap<String, Object>();
for (Map.Entry<String, Object> entry: variables.entrySet()) {
if (entry.getValue() != null) {
More information about the jboss-svn-commits
mailing list