OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-j message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: ISSUE 207: Problems with testcases JCA_8007, JCA_8011


http://www.osoa.org/jira/browse/JAVA-207

Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093  or  8-295-6093
e-mail:booz@us.ibm.com


|------------>
| From:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Mike Edwards <mike_edwards@uk.ibm.com>                                                                                                            |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"OASIS Java" <sca-j@lists.oasis-open.org>                                                                                                         |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |08/17/2010 10:57 AM                                                                                                                               |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |[sca-j] [NEW ISSUE] Problems with testcases JCA_8007, JCA_8011                                                                                    |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|






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]