sca-j message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: [NEW ISSUE] Problems with testcases JCA_8007, JCA_8011
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Java" <sca-j@lists.oasis-open.org>
- Date: Tue, 17 Aug 2010 14:43:28 +0100
Target: sca-j-caa-1.1-testcases-cd01.odt
Description:
JCA_8007
This test aims to check the correct
merging of intents attached to different parts of a Java interface - namely
the interface itself and then
one of its methods.
Here is the interface:
@Remotable
@TestIntent4
public
interface
Service5Intents {
/**
*
Method
for
invoking
testcase
service
*
@param
input
-
input
parameter(s)
as
a
String
*
@return
-
output
data
as
a
String
*/
@TestIntent3
public
String operation1( String input );
}
However, the using composite only supplies
a policySet that satisfies one of the intents:
<component
name="TEST_JCA_8007Component2">
<implementation.java
class="org.oasisopen.sca.test.service5Impl"/>
<service
name="Service5Intents"
policySets="test:PolicySet1">
<interface.java
interface="org.oasisopen.sca.test.Service5Intents"/>
<binding.ws/>
</service>
<property
name="serviceName">service2</property>
</component>
PolicySet1 satisfies TestIntent3. TestIntent4
is satisfied nowhere. This leads to valid rejection of this configuration
by the runtime.
Hence the testcase is in error since
it is intended to work correctly.
JCA_8011
This test aims to check the correct
merging of policySets attached to different parts of a Java interface -
whole interface versus individual operation.
The service interface has 2 policySets
attached at different points:
@Remotable
@PolicySets({Constants.POLICYSET1})
public
interface
Service6PolicySets {
/**
*
Method
for
invoking
testcase
service
*
@param
input
-
input
parameter(s)
as
a
String
*
@return
-
output
data
as
a
String
*/
@PolicySets({Constants.POLICYSET2})
public
String operation1( String input );
}
but the using component has 2 intents
attached to the whole service:
<component
name="TEST_JCA_8011Component2">
<implementation.java
class="org.oasisopen.sca.test.service6Impl"/>
<service
name="Service6PolicySets"
requires="test:testIntent3
test:testIntent5">
<interface.java
interface="org.oasisopen.sca.test.Service6PolicySets"/>
<binding.ws/>
</service>
<property
name="serviceName">service2</property>
</component>
unfortunately, it takes both policySets
to satisfy both intents - and for the whole interface only 1 policySet
applies so a conforming SCA runtime can reject
this configuration as invalid.
Proposal:
JCA_8007
Add a @PolicySets annotation to the
method in the Java interface with the @TestIntent3 annotation, specifying
the PolicySet1 policy set, which will thus satisfy
the intent. Meanwhile, change
the policySet applied to the whole service to PolicySet4, which will satisfy
the TestIntent4 applied to the whole interface:
@Remotable
@TestIntent4
public
interface
Service5Intents {
/**
*
Method
for
invoking
testcase
service
*
@param
input
-
input
parameter(s)
as
a
String
*
@return
-
output
data
as
a
String
*/
@TestIntent3
@PolicySets({Constants.POLICYSET1})
public
String operation1( String input );
}
<component
name="TEST_JCA_8007Component2">
<implementation.java
class="org.oasisopen.sca.test.service5Impl"/>
<service
name="Service5Intents"
policySets="test:PolicySet4">
<interface.java
interface="org.oasisopen.sca.test.Service5Intents"/>
<binding.ws/>
</service>
<property
name="serviceName">service2</property>
</component>
JCA_8011
Migrate the attachment point for testIntent5
down onto the method in the Java interface, which ensures that the interface
as a whole is satisfied for the testIntent3, but only
the method itself is satisfied for both
intents...
@Remotable
@PolicySets({Constants.POLICYSET1})
public
interface
Service6PolicySets {
/**
*
Method
for
invoking
testcase
service
*
@param
input
-
input
parameter(s)
as
a
String
*
@return
-
output
data
as
a
String
*/
@TestIntent5
@PolicySets({Constants.POLICYSET2})
public
String operation1( String input );
}
<component
name="TEST_JCA_8011Component2">
<implementation.java
class="org.oasisopen.sca.test.service6Impl"/>
<service
name="Service6PolicySets"
requires="test:testIntent3">
<interface.java
interface="org.oasisopen.sca.test.Service6PolicySets"/>
<binding.ws/>
</service>
<property
name="serviceName">service2</property>
</component>
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: mike_edwards@uk.ibm.com
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
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]