← Prev in month ← Prev in thread
Next in thread → Next in month →

Fw: [sca-c-cpp-comment] Fw: [sca-assembly] ASSEMBLY-198: Use of java.lang.StringBufferin test ASM_8002 - PROPOSAL

From
Bryan Aupperle <>
Date
2010-03-11T15:51:57+00:00
ID
Thread
Fw: [sca-c-cpp-comment] Fw: [sca-assembly] ASSEMBLY-198: Use of java.lang.StringBufferin test ASM_8002 - PROPOSAL
Forward to correct list...

Bryan Aupperle, Ph.D.

STSM, WebSphere Enterprise Platform Software Solution Architect

Research Triangle Park,  NC 

+1 919-254-7508 (T/L 444-7508)

Internet Address: 

----- Forwarded by Bryan
Aupperle/Raleigh/IBM on 03/11/2010 10:51 AM -----

From:
Bryan Aupperle/Raleigh/IBM@IBMUS

To:
""
<>

Date:
03/10/2010 02:15 PM

Subject:
[sca-c-cpp-comment] Fw: [sca-assembly]
ASSEMBLY-198: Use of java.lang.StringBuffer in test ASM_8002 - PROPOSAL

We need to discuss C++ spec and lists as parameters.

Bryan Aupperle, Ph.D.

STSM, WebSphere Enterprise Platform Software Solution Architect

WW Center of Excellence for Enterprise Systems & Banking Center of
Excellence Application Integration Architect

Master Inventor

Research Triangle Park,  NC 

+1 919-254-7508 (T/L 444-7508)

Internet Address:  

----- Forwarded by Bryan Aupperle/Raleigh/IBM on 03/10/2010 02:12 PM -----

From:

Mike Edwards <>

To:

"OASIS Assembly" <>

Date:

03/10/2010 07:13 AM

Subject:

[sca-assembly] ASSEMBLY-198: Use of
java.lang.StringBuffer in test ASM_8002 - PROPOSAL

Folks, 

In the issue, http://www.osoa.org/jira/browse/ASSEMBLY-198
, the complaint is made that the
current 

form of the testcase uses an interface that contains a StringBuffer (in
the Java form of the interface) which is 

mapped  to a stringBuffer type in the XSD assocaited with the WSDL
form of the same interface (Service4 interface). 

The problem with this approach is that there is no formal "standard
mapping" for String Buffer between Java and 

WSDL. 

The test is attempting to test that when an invocation is done over a Remotable
interface, that the input parameters of 

any operation are passed by value and as a result any modification made
by the service implementation to the input 

parameter of the service operation cannot be seen by the client.

The testcase structure involves an invocation between 2 SCA components,
where the service component deliberately 

alters the value of the parameter it receives in the service invocation.
The client tests the value of the variable used for

the parameter for the service operation invocation - and validates that
the value is the same as it was before the invocation

was made. 

The design clearly calls for the use of a data type that is mutable - so
in Java a "String" type is useless since it is immutable.

StringBuffer was originally chosen since it is the nearest type to a String
that is mutable. 

PROPOSAL. 

To overcome the objection to the StringBuffer type, change the type of
the parameter used in the service operation for this

testcase to be a list based on string: 

Java: 

java.util.List<String> 

XSD: 

<xs:element name="operation1"> 

    <xs:complexType> 

       <xs:sequence> 

                    
  <xs:element name="arg0" type="xs:string"
minOccurs="0" maxOccurs="unbounded"/>

               </xs:sequence>

   </xs:complexType> 

</xs:element> 

While Java Strings are not mutable, Java Lists are mutable and so the service
implementation can simply 

update the first element in the List and the client can check whether that
element of the List has changed 

following the operation invocation. 

The same behaviour is possible for all other implementation languages,
I believe. 

This affects: 

Service4.java 

Service4.wsdl 

service1Impl7.java (client implementation) 

service4Impl.java (service implementation) 

The updated versions of these artifacts can be seen here:

http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/General_Java/src/main/java/org/oasisopen/sca/test/Service4.java

http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/General/src/main/resources/Service4.wsdl

http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/General_Java/src/main/java/org/oasisopen/sca/test/service1Impl7.java

http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/General_Java/src/main/java/org/oasisopen/sca/test/service4Impl.java

http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/Test_Client/src/main/java/client/ASM_8002_TestCase.java

Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.

Co Chair OASIS SCA Assembly TC.

IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.

Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  

Email:  

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
← Prev in month ← Prev in thread
Next in thread → Next in month →