IBM WebSphere Adapters User Manual

Page 124

Advertising
background image

As defined in the sapBAPIBusinessObjectTypeMetadata schema

″Operation″ is an

n-cardinality complex type. The

″MethodName″ element of the operation type is a

simple type with multiple cardinality:

<complexType name="sapBAPIBusinessObjectTypeMetadata">

<sequence>

<element name="Type" type="string"/>

<element name="Operation" type="sapasi:sapBAPIOperationTypeMetadata" minOccurs="0" maxOccurs="unbounded"/>
<element name="ErrorConfiguration" type="sapasi:sapRFCErrorConfigurationMetadata" minOccurs="0" maxOccurs="1"/>

</sequence>

</complexType>

<complexType name="sapBAPIOperationTypeMetadata">

<sequence maxOccurs="1" minOccurs="0">

<element name="Name" type="string" minOccurs="0" maxOccurs="1"/>

<element name="MethodName" minOccurs="0" maxOccurs="unbounded" type="string"/>

</sequence>

</complexType>
<complexType name="sapRFCErrorConfigurationMetadata">

<sequence maxOccurs="1" minOccurs="0">

<element name="ErrorParameter" type="string" minOccurs="0" maxOccurs="1"/>
<element name="ErrorCode" minOccurs="0" maxOccurs="1" type="string"/>
<element name="ErrorDetail" minOccurs="0" maxOccurs="1" type="string"/>

</sequence>

</complexType>

For the above metadata, the object level annotations map generated for the
JavaBeanRecord would look like the following:

public static LinkedHashMap objectAnnotations = new LinkedHashMap();

static {

objectAnnotations.put("Type","BAPI");

LinkedList operationAnnotation = new LinkedList();

LinkedList methodnameList;
LinkedHashMap createOperationMap = new LinkedHashMap();

createOperationMap.put("Name", "Create");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerCreate)";
createOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(createOperationMap);

LinkedHashMap updateOperationMap = new LinkedHashMap();
updateOperationMap.put("Name", "Update");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerUpdate)";
updateOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(updateOperationMap);

objectAnnotations.put("Operation",operationAnnotation);

}

ObjectAnnotations:Object level metadata in the annotations is read and stored in the
’objectAnnotations’ Map. Following diagram shows the structure of
objectAnnotations.

118

WebSphere Adapters: WebSphere Adapter Toolkit User Guide

Advertising