Question & Answer
Question
Mapping between BPM JS variables and Java Integration parameters
Answer
Author:??? ? ?Volodymyr Sitarchuk
Reviewer:? ?Mikhail Zilbergleyt
See at the bottom of the ?
http://www.ibm.com/support/knowledgecenter/SSFTN5_8.5.7/com.ibm.wbpm.wle.editor.doc/topics/building_java_integration_service.html
for the official information about supported Java Classes?that can be directly passed to/returned from Java Integration
| Object types | ||
|---|---|---|
| java.lang.String | java.lang.Double | java.lang.ArrayList |
| java.lang.Long | java.lang.Float | java.lang.HashMap |
| java.lang.Integer | java.lang.Boolean | org.jdom.Document |
| java.lang.Short | java.lang.Character | org.jdom.Element |
| java.lang.Byte | java.lang.Calendar | com.lombardisoftware.core.XMLNodeList and com.lombardisoftware.core.TWObject |
?A quick way to get all current mappings between JS and Java Integration?is to look into the ?00Static.xml :?
? ? ? <js-mappings>
? ? ? ? ? <js-mapping java-class="java.lang.String" ?? ?js-class="java.lang.String"
? ? ? ? ? <js-mapping java-class="java.lang.Long" ?? ?js-class="java.lang.Long"
? ? ? ? ? <js-mapping java-class="java.lang.Integer" ?? ?js-class="java.lang.Integer"
? ? ? ? ? <js-mapping java-class="java.lang.Short" ?? ?js-class="java.lang.Short"
? ? ? ? ? <js-mapping java-class="java.lang.Byte" ?? ?js-class="java.lang.Byte"
? ? ? ? ? <js-mapping java-class="java.lang.Double" ?? ?js-class="java.lang.Double"
? ? ? ? ? <js-mapping java-class="java.lang.Float" ?? ?js-class="java.lang.Float"
? ? ? ? ? <js-mapping java-class="java.lang.Boolean" ?? ?js-class="java.lang.Boolean"
? ? ? ? ? <js-mapping java-class="java.lang.Character" ?? ?js-class="java.lang.Character"
? ? ? ? ? <js-mapping java-class="java.util.Calendar" ?? ?js-class="com.lombardisoftware.core.script.js.objects.TWDateSCR" ? ?
? ? ? ? ? <js-mapping java-class="[B" ?? ??? ??? ?js-class="[B"
? ? ? ? ? <js-mapping java-class="java.util.ArrayList" ?? ?js-class="com.lombardisoftware.core.script.js.ArrayScriptable"
? ? ? ? ? <js-mapping java-class="java.util.HashMap" ?? ?js-class="com.lombardisoftware.core.script.js.objects.MapScriptable"
? ? ? ? ? <js-mapping java-class="org.jdom.Document" ?? ?js-class="com.lombardisoftware.core.script.js.TWDDocument"
? ? ? ? ? <js-mapping java-class="org.jdom.Element" ?? ?js-class="com.lombardisoftware.core.script.js.TWDElement"
? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.XMLNodeList" js-class="com.lombardisoftware.core.script.js.TWDNodeList"
? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.TWObject" ?? ? js-class="com.lombardisoftware.core.script.js.TWObjectScriptable"
? ? ? ? ? <js-mapping java-class="com.lombardisoftware.core.TWObjectIndexedMap" js-class="com.lombardisoftware.core.script.js.objects.IndexedMapScriptable"
? ? ? </js-mappings>
So the table with the mapping between JS BPM types and Java classes:
| Java class types | JS BPM BO type |
|---|---|
| java.lang.String | String |
| java.lang.Double | Decimal |
| java.lang.Long | Integer |
| java.lang.Float | Decimal |
| java.lang.Integer | Integer |
| java.lang.Boolean | Boolean |
| java.lang.Short | Integer |
| java.lang.Character | String |
| java.lang.ArrayList | TWList |
| java.lang.HashMap | TWMap |
| org.jdom.Document | TWDocumant |
| org.jdom.Element | TWElement |
| java.lang.Byte | |
| java.lang.Calendar | TWDate |
| com.lombardisoftware.core.XMLNodeList | |
| com.lombardisoftware.core.TWObject | |
| com.lombardisoftware.core.TWObjectIndexedMap | IndexMap? |
| [B |
Remarks:
1. the array of bytes "[B" seems to be reserved for future use?
2. the?TWObjectIndexedMap is absent in the official table of the supported types for some reason
Note
that objects kept in the ArrayList?HashMap?TWObject and?TWObjectIndexedMap must also be from the table of supported java types?
See the ?How to call Java POJO from BPM Standard? article for the full info on the Java Integration
?"
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSQTW3","label":"IBM On Demand Consulting for Hybrid Cloud"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"","label":""}}]
Was this topic helpful?
Document Information
Modified date:
08 December 2018
UID
ibm10778873