Test Assertions for the SCA_J Common Annotations and APIs Version 1.1 Specification

Committee Draft 01 / Public Review 01

19 July 2010

Specification URIs:

This Version:

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions-cd01.html

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions-cd01.odt

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions-cd01.pdf (Authoritative)

Previous Version:

N/A

Latest Version:

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions.html

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions.odt

http://docs.oasis-open.org/opencsa/sca-j/sca-j-caa-1.1-test-assertions.pdf (Authoritative)

Technical Committee:

OASIS Service Component Architecture / J (SCA-J) TC
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=sca-j

Chair(s):

Mark Combellack           Avaya
David Booz                   IBM

Editor(s):

Mike Edwards,              IBM

Related Work:

This document is related to:

·     Service Component Architecture Java Common Annotations and APIs Specification Version 1.1
http://docs.oasis-open.org/opencsa/sca-j/sca-javacaa-1.1-spec-cd04.pdf

Declared XML Namespace(s):

None

Abstract:

This document defines the Test Assertions for the SCA J CAA specification.

The Test Assertions represent the testable items relating to the normative statements made in the SCA Java Common Annotations and APIs specification.  The Test Assertions provide a bridge between the normative statements in the specification and the conformance TestCases which are designed to check that an SCA runtime conforms to the requirements of the specification.

Status:

This document was last revised or approved by the OASIS Service Component Architecture / J (SCA-J) TC on the above date. The level of approval is also listed above. Check the “Latest Version” or “Latest Approved Version” location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee’s email list. Others should send comments to the Technical Committee by using the “Send A Comment” button on the Technical Committee’s web page at http://www.oasis-open.org/committees/sca-j/.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page (http://www.oasis-open.org/committees/sca-j/ipr.php.

The non-normative errata page for this specification is located at

http://www.oasis-open.org/committees/sca-j/j/

 

Notices

Copyright © OASIS® 2009, 2010. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademarks of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.

 

Table of Contents


 


1 Introduction..................................................................................................................................... 5

1.1 Example Test Assertion............................................................................................................. 5

1.2 Terminology.............................................................................................................................. 5

1.3 Normative References............................................................................................................... 6

1.4 Non-Normative References........................................................................................................ 6

2 Test Assertions................................................................................................................................ 7

2.1 Section 2.................................................................................................................................. 7

2.2 Section 3................................................................................................................................ 10

2.3 Section 4................................................................................................................................ 13

2.4 Section 7................................................................................................................................ 19

2.5 Section 8................................................................................................................................ 21

2.6 Section 9................................................................................................................................ 24

2.7 Section 10.............................................................................................................................. 42

2.8 Section 11.............................................................................................................................. 58

3 Cross Mapping of Conformance Statements to Assertions.............................................................. 64

4 Conformance................................................................................................................................. 71

Appendix A.Acknowledgments.......................................................................................................... 72

Appendix B.Revision History............................................................................................................. 73


 

1      Introduction

This document defines the Test Assertions for the SCA Java Common Annotations and APIs Specification Version 1.1.

The test assertions in this document follow the format defined in the OASIS Test Assertion Guidelines specification [TA-GUIDE].

1.1    Example Test Assertion

Test assertions are presented in a tabular format with rows corresponding to the entry types defined in [TA-GUIDE].

 

Assertion ID

JCA-TA-xxxx

Source

[JCAx00yy]

Target

<kitchenSink/> element of composite file

Prerequisites

The <kitchenSink/> element has a @drain attribute

Predicate

The @drain attribute value of the <kitchenSink/> element is a URI that identifies a portal into the drainage system of the Domain.

Prescription Level

Mandatory

Tags

kitchenSink drain Domain

 

Assertion ID: Is a unique ID for the test assertion. Its format starts with a 3 letter string that identifies the specification to which it relates - "JCA" is for the SCA Java Common Annotations and APIs specification.  This is followed by "-TA-" to indicate that this identifier is for a test assertion.  This is then followed by a unique 4 digit number.

Source: Is the identifier(s) of the normative statement(s) in the specification to which this assertion relates.

Target: Identifies the target which is addressed by this assertion.  This is typically some SCA document element, or other SCA artifact but possibly could identify an SCA runtime and its behaviour.

Prerequisites: Defines any prerquisites for this test assertion.  The prerequisites may be defined in terms of one or more other test assertions that must be true.

Predicate: The meat of the assertion - something that should evaluate to true or false for the given target.

Prescription Level: Mandatory (for MUST requirements) or Preferred (for SHOULD requirements) or Permitted (for MAY requirements).

Tags: Zero or more labels that may be attached to this test assertion - these tags can be used to group sets of assertions.

1.2    Terminology

The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this specification are to be interpreted as described in IETF RFC 2119 [RFC 2119]

1.3    Normative References

[RFC 2119]              S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. IETF RFC 2119, March 1997.
http://www.ietf.org/rfc/rfc2119.txt.

[TA-GUIDE]             OASIS Committee Draft 04, Test Assertion Guidelines, February 2010. http://docs.oasis-open.org/tag/guidelines/v1.0/cd04/testassertionsguidelines-cd-04.pdf  

[JAVACAA]             OASIS Committee Draft 04, "Service Component Architecture SCA-J Common Annotations and APIs Specification Version 1.1", July 2010
http://docs.oasis-open.org/opencsa/sca-j/sca-javacaa-1.1-spec-cd04.pdf

1.4    Non-Normative References

N/A

2      Test Assertions

2.1    Section 2

 

Assertion ID

JCA-TA-2001

Source

[JCA20001]

Target

Java service marked remotable

Prerequisites

 

Predicate

Service does not use method overloading

Prescription Level

mandatory

Tags

"remotable" "overloading"

 

 

Assertion ID

JCA-TA-2002

Source

[JCA20002]

Target

Stateless scoped Java implementation instance

Prerequisites

 

Predicate

Implementation instance is dispatched on a single thread at one time

Prescription Level

mandatory

Tags

"stateless scope" "single thread"

 

 

Assertion ID

JCA-TA-2003

Source

[JCA20003]

Target

Stateless scoped Java implementation instance

Prerequisites

 

Predicate

Implementation instance is invoked once through one business method during the lifetime of the implementation instance

Prescription Level

mandatory

Tags

"stateless scope" "lifetime" "invocation"

 

 

Assertion ID

JCA-TA-2004

Source

[JCA20004]

Target

Domain level component implemented by a Java class marked "composite scope"

Prerequisites

 

Predicate

All clients of the component appear to interact with a single runtime instance of the implementation class

Prescription Level

mandatory

Tags

"composite scope" "invocation"

 

 

Assertion ID

JCA-TA-2005

Source

[JCA20005]

Target

Java implementation class marked with "composite scope" and with "eager initialization"

Prerequisites

Containing component is started

Predicate

The Java implementation class instance is created and initialized

Prescription Level

mandatory

Tags

"composite scope" "lifetime" "eager initialization"

 

 

Assertion ID

JCA-TA-2006

Source

[JCA20006]

Target

Method of Java implementation class with marked with @Init annotation

Prerequisites

Implementation instance is created

Predicate

Method is called

Prescription Level

mandatory

Tags

"composite scope" "lifetime" "initialization" "@Init"

 

 

Assertion ID

JCA-TA-2007

Source

[JCA20007]

Target

Instance of a Java implementation class marked "composite scope"

Prerequisites

Implementation class is used as a component implementation

Multiple invocations of services offered by the component are made, which overlap in time

Predicate

Multiple threads run in the single instance of the implementation class

Prescription Level

optional

Tags

"composite scope" "lifetime" "eager initialization"

 

Assertion ID

JCA-TA-2008

Source

[JCA20008]

Target

Java implementation class marked with "composite scope"

Prerequisites

Implementation class is used to implement a component nested inside a composite used to implement a domain level component

Component offers at least one service

Component has one or more clients for its service(s)

Predicate

Clients of the component appear to interact with a single instance of the implementation class

Prescription Level

mandatory

Tags

"composite scope" "nested component" "instance"

 

 

Assertion ID

JCA-TA-2009

Source

[JCA20009]

Target

Client invocation of a method of a service implementation

Prerequisites

Service method implementation marked "allows pass by reference"

Client reference proxy marked "allows pass by reference"

Client and service implementation run in the same JVM

Predicate

The invocation uses pass-by-reference call semantics for the input and response parameters

Prescription Level

optional

Tags

"allows pass by reference" "pass by reference" "local"

 

 

Assertion ID

JCA-TA-2010

Source

[JCA20010]

Target

Client invocation of a service implementation

Prerequisites

Service implementation method not marked "allows pass by reference"

Client and service implementation run in the same JVM

Predicate

The invocation uses pass-by-value semantics for the input and response parameters

Prescription Level

mandatory

Tags

"allows pass by reference" "pass by value "local"

 

 

Assertion ID

JCA-TA-2011

Source

[JCA20010]

Target

Client invocation of a service implementation

Prerequisites

Client reference is not marked "allows pass by reference"

Client and service implementation run in the same JVM

Predicate

The invocation uses pass-by-value semantics for the input and response parameters

Prescription Level

mandatory

Tags

"allows pass by reference" "pass by value "local"

 

 

 

2.2    Section 3

 

Assertion ID

JCA-TA-3001

Source

[JCA30001]

Target

@interface attribute of a <interface.java/> element

Prerequisites

 

Predicate

Value of @interface attribute is the fully qualified name of a Java interface class

Prescription Level

mandatory

Tags

"interface element" "interface attribute" "Java interface class"

 

 

Assertion ID

JCA-TA-3002

Source

[JCA30002]

Target

@callbackInterface attribute of <interface.java/> element

Prerequisites

interface.java element has a @callbackInterface attribute

Predicate

Value of @callbackInterface is the fully qualified name of a Java interface class

Prescription Level

mandatory

Tags

"interface element" "callbackInterface attribute" "Java interface class"

 

 

Assertion ID

JCA-TA-3003

Source

[JCA30003]

Target

@callbackInterface attribute of a <interface.java/> element

Prerequisites

interface.java element has a @callbackInterface attribute

Java interface class referenced by the @interface attribute contains a @Callback annotation which references a Java interface class

Predicate

Value of @callbackInterface attribute is the same Java interface class as the one referenced by the @Callback annotation of the Java interface class referenced by the @interface attribute

Prescription Level

mandatory

Tags

"interface element" "callbackInterface attribute" "Java interface class" "@Callback"

 

 

Assertion ID

JCA-TA-3004

Source

[JCA30004]

Target

<interface.java/> element

Prerequisites

 

Predicate

Conforms to the sca-interface-java.xsd schema

Prescription Level

mandatory

Tags

"interface element" "schema"

 

 

Assertion ID

JCA-TA-3005

Source

[JCA30005]

Target

@remotable attribute on <interface.java/> element

Prerequisites

Java interface class referenced by @interface attribute of interface.java element contains a @Remotable annotation

Predicate

@remotable attribute has the value "true"

Prescription Level

mandatory

Tags

"interface element" "remotable attribute" "Java interface class" "@Remotable"

 

 

Assertion ID

JCA-TA-3006

Source

[JCA30006]

Target

Java interface class referenced by @interface attribute of a <interface.java/> element

Prerequisites

 

Predicate

Java interface class does not contain any of the annotations: @AllowsPassByReference, @ComponentName, @Constructor, @Context, @Destroy, @EagerInit, @Init, @Intent, @Property, @Qualifier, @Reference, @Scope, @Service.

Prescription Level

mandatory

Tags

"interface element" "SCA annotations" "Java interface class"

 

 

Assertion ID

JCA-TA-3007

Source

[JCA30007]

Target

Java interface class referenced by @callbackInterface attribute of a <interface.java/> element

Prerequisites

 

Predicate

Java interface class does not contain any of the annotations: @AllowsPassByReference, @Callback, @ComponentName, @Constructor, @Context, @Destroy, @EagerInit, @Init, @Intent, @Property, @Qualifier, @Reference, @Scope, @Service.

Prescription Level

mandatory

Tags

"interface element" "SCA annotations" "Java interface class"

 

 

Assertion ID

JCA-TA-3008

Source

[JCA30009]

Target

2 java interface classes, A and B

Prerequisites

a) Interface classes A is compatible with interface class B, or is a compatible superset of B or is a compatible subset of B

b) One or more of the methods contained in A or in B is annotated with @OneWay

Predicate

Every method which is present in both interface A and in interface B and  which is annotated with @OneWay in either interface class is also annotated with @OneWay in the other interface class.

Prescription Level

mandatory

Tags

"interface classes" "@OneWay" "compatible"

 

Assertion ID

JCA-TA-3009

Source

[JCA30010]

Target

<interface.java/> element within a composite

Prerequisites

a) element references a Java class which contains a @WebService annotation or a @WebServiceProvider annotation

b) the annotation contains a non-empty wsdlLocation property pointing at a WSDL document

Predicate

<interface.java/> element is treated as if it were an <interface.wsdl/> element with an @interface attribute identifying the portType in the WSDL document mapped from the Java interface class and containing @requires and @policySets attributes equal to the @requires and @policySets attributes of the <interface.java/> element

Prescription Level

mandatory

Tags

"interface.java element" "@WebService" "@WebServiceProvider" "interface.wsdl element"

 

 

2.3    Section 4

 

Assertion ID

JCA-TA-4001

Source

[JCA40001]

Target

Constructor of Java component implementation class

Prerequisites

Component is at the start of the Constructing state of its lifecycle

Predicate

Constructor is invoked by the SCA runtime

Prescription Level

mandatory

Tags

"lifecycle" "constructing" "constructor"

 

 

Assertion ID

JCA-TA-4002

Source

[JCA40002]

Target

Constructor of Java component implementation class

Prerequisites

Constructor is invoked by the SCA runtime at the start of the Constructing state of its lifecycle

Predicate

Constructor references and properties are injected when the constructor is invoked

Prescription Level

mandatory

Tags

"lifecycle" "constructing" "constructor" "injection" "reference" "property"

 

 

Assertion ID

JCA-TA-4003

Source

[JCA40003]

Target

Java component implementation class in Constructing state

Prerequisites

Constructor method completes successfully

Predicate

Component implementation transitions to the Injecting state

Prescription Level

mandatory

Tags

"lifecycle" "constructing" "injecting" "transition"

 

Assertion ID

JCA-TA-4004

Source

[JCA40004]

Target

Java component implementation class in Constructing state

Prerequisites

Constructor method throws an exception

Predicate

Component implementation class is transitioned to the Terminating state

Prescription Level

mandatory

Tags

"lifecycle" "constructor" "exception" "terminating"

 

Assertion ID

JCA-TA-4005

Source

[JCA40005]

Target

Java component implementation class in Injecting state

Prerequisites

Implementation has one or more properties

Predicate

Properties are injected (via field or setter injection) before any other actions occur

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "property"

 

Assertion ID

JCA-TA-4006

Source

[JCA40006]

Target

Java component implementation class in Injecting state

Prerequisites

Implementation has one or more references

Implementation has one or more properties

Predicate

References are injected (via field or setter injection) after properties have been injected

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "reference"

 

 

Assertion ID

JCA-TA-4007

Source

[JCA40007]

Target

Java component implementation with one or more injected property / reference

Prerequisites

Implementation code does not use synchronization

Predicate

Injected properties and references are visible to the component implementation

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "synchronization" "property" "reference"

 

Assertion ID

JCA-TA-4008

Source

[JCA40008]

Target

Java component implementation in injecting state

Prerequisites

Implementation has 1 or more service methods

Predicate

Service methods are not invoked

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "service methods"

 

Assertion ID

JCA-TA-4009

Source

[JCA40009]

Target

Java component implementation in injecting state

Prerequisites

All properties and references have been injected

Predicate

Component implementation transitions to the Initializing state

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "transition" "initializing"

 

Assertion ID

JCA-TA-4010

Source

[JCA40010]

Target

Java component implementation in injecting state

Prerequisites

Exception is thrown while a property or a reference is being injected

Predicate

Component implementation transitions to the Destroying state

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "exception" "transition" "destroying"

 

Assertion ID

JCA-TA-4011

Source

[JCA40011]

Target

Java component implementation entering initializing state

Prerequisites

Implementation has a method annotated with @Init

Predicate

Method annotated with @Init is invoked

Prescription Level

mandatory

Tags

"lifecycle" "initializing" "@Init"

 

 

Assertion ID

JCA-TA-4012

Source

[JCA40012]

Target

Java component implementation in initializing state

Prerequisites

Implementation has an injected reference

Target of injected reference has not been initialized

Implementation invokes a method on the reference

Predicate

Implementation receives a ServiceUnavailableException

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "exception" "reference" "uninitialized"

 

Assertion ID

JCA-TA-4013

Source

[JCA40013]

Target

Java component implementation in initializing state

Prerequisites

Implementation has 1 or more service methods

Predicate

Service methods are not invoked

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "service" "invocation"

 

Assertion ID

JCA-TA-4014

Source

[JCA40014]

Target

Java component implementation in initializing state

Prerequisites

Invocation of method annotated with @Init completes successfully

Predicate

Component implementation transitions to the Running state

Prescription Level

mandatory

Tags

"lifecycle" "initializing" "transition" "running"

 

Assertion ID

JCA-TA-4015

Source

[JCA40015]

Target

Java component implementation in initializing state

Prerequisites

Exception is thrown by the component implementation

Predicate

Component implementation transitions to the Destroying state

Prescription Level

mandatory

Tags

"lifecycle" "initializing" "exception" "transition" "destroying"

 

Assertion ID

JCA-TA-4016

Source

[JCA40016]

Target

Java component implementation in running state

Prerequisites

Component has one or more service

Client component invokes one of the service operations

Predicate

Implementation service method corresponding to the operation is invoked

Prescription Level

mandatory

Tags

"lifecycle" "running" "service" "invocation" "method"

 

 

Assertion ID

JCA-TA-4017

Source

[JCA40017]

Target

Java component implementation in running state

Prerequisites

Implementation scope ends

Predicate

Component implementation transitions to the Destroying state

Prescription Level

mandatory

Tags

"lifecycle" "running" "scope ends" "transition" "destroying"

 

Assertion ID

JCA-TA-4018

Source

[JCA40018]

Target

Java component implementation entering Destroying state

Prerequisites

Implementation has a method annotated with @Destroy

Predicate

Method annotated with @Destroy is invoked

Prescription Level

mandatory

Tags

"lifecycle" "destroying" "@Destroy" "transition"

 

Assertion ID

JCA-TA-4019

Source

[JCA40019]

Target

Java component implementation in destroying state

Prerequisites

Implementation has an injected reference

Implementation invokes a method on the reference

Target of reference has already been destroyed

Predicate

Implementation receives an InvalidServiceException

Prescription Level

mandatory

Tags

"lifecycle" "destroying" "exception" "reference"

 

Assertion ID

JCA-TA-4020

Source

[JCA40020]

Target

Java component implementation in destroying state

Prerequisites

Implementation has one or more services

Client component invokes service operations

Predicate

Implementation service methods are not invoked

Prescription Level

mandatory

Tags

"lifecycle" "destroying" "service" "method" "invocation"

 

 

Assertion ID

JCA-TA-4021

Source

[JCA40021]

Target

Java component implementation in Destroying state

Prerequisites

Method with @Destroy annotation completes

Predicate

Component implementation transitions to terminated state

Prescription Level

mandatory

Tags

"lifecycle" "destroying" "@Destroy" "transition" "terminated"

 

Assertion ID

JCA-TA-4022

Source

[JCA40022]

Target

Java component implementation in Destroying state

Prerequisites

Method with @Destroy annotation throws an exception

Predicate

Component implementation transitions to the terminated state

Prescription Level

mandatory

Tags

"lifecycle" "destroying" "exception" "transition" "terminated" "@Destroy"

 

Assertion ID

JCA-TA-4023

Source

[JCA40023]

Target

Java component implementation is in Terminated state

Prerequisites

Component implementation has service

Client component invokes operations on a service

Predicate

Implementation service methods are not invoked

Prescription Level

mandatory

Tags

"lifecycle" "terminated" "service" "invocation"

 

Assertion ID

JCA-TA-4024

Source

[JCA40024]

Target

Java component implementation in Injecting state

Prerequisites

A property or a reference is unable to be injected

Predicate

Component implementation transitions to the Destroying state

Prescription Level

mandatory

Tags

"lifecycle" "injecting" "property" "reference" "destroying"

 

 

2.4    Section 7

 

Assertion ID

JCA-TA-7001

Source

[JCA60001]

Target

fields and/or setter methods annotated with @Callback of a component implementation class which has a bidirectional service

Prerequisites

The bidirectional service is invoked

Predicate

A Callback reference object for the invoked service is injected into all fields and setter methods which have the type of the interface for the callback and null is injected into all fields and setter methods which have a different type

Prescription Level

mandatory

Tags

"@Callback" "field" "setter method" "injection" "callback reference"

 

Assertion ID

JCA-TA-7002

Source

[JCA60002]

Target

fields and/or setter methods annotated with @Callback of a component implementation class which has a bidirectional service

Prerequisites

Component implementation also has one or more non-bidirectional services

One of the non-bidirectional services is invoked

Predicate

null is injected into all of the fields and setter methods annotated with @Callback

Prescription Level

mandatory

Tags

"@Callback" "field" "setter method" "injection"

 

Assertion ID

JCA-TA-7003

Source

[JCA60003]

Target

Java interface class which is an asynchronous mapping of WSDL portType with request/response operations

Prerequisites

 

Predicate

Class is annotated with the "asyncInvocation" intent

Prescription Level

mandatory

Tags

 

 

Assertion ID

JCA-TA-7004

Source

[JCA60003]

Target

Java interface class which is an SCA asynchronous service mapping of WSDL portType with request/response operations

Prerequisites

WSDL portType contains an operation with a name

Predicate

Class contains a method with a name that is the JAX-WS mapping of the portType operation name, with the added suffix "Async", which has:

- a void return type

- a set of parameters which match the JAX-WS mapping of the input parameters of the WSDL operation

- an additional final parameter which is a ResponseDispatch object typed by the JAX-WS Response Bean mapping of the output parameter(s) of the WSDL operation

Prescription Level

mandatory

Tags

"SCA asynchronous service" "WSDL mapping"

 

Assertion ID

JCA-TA-7005

Source

[JCA60004]

Target

Interface of an SCA service is declared using an SCA asynchronous service interface

Prerequisites

 

Predicate

The service is supported by the SCA runtime and is invocable.

Prescription Level

mandatory

Tags

"SCA asynchronous service"

 

Assertion ID

JCA-TA-7006

Source

[JCA60005]

Target

ResponseDispatch object passed to SCA service implementation when operation of an SCA asynchronous service interface is invoked

Prerequisites

Either the sendReponse method or the sendFault method of the ResponseDispatch object has already been called once

Predicate

An IllegalStateException is thrown when either the sendResponse method or the sendFault method is invoked

Prescription Level

mandatory

Tags

"ResponseDispatch" "sendResponse" "sendFault"

 

Assertion ID

JCA-TA-7007

Source

[JCA60006]

Target

Java interface of a service or of a reference

Prerequisites

Interface contains one or more methods characterized as "Asynchronous service methods"

Predicate

Java interface is treated for matching purposes as if the asynchronous service methods are mapped to the equivalent synchronous methods

Prescription Level

mandatory

Tags

"asynchronous service interface" "interface matching" "synchronous methods"

 

2.5    Section 8

 

Assertion ID

JCA-TA-8001

Source

[JCA70001]

Target

Declaration of a Java annotation that corresponds to an SCA intent

Prerequisites

 

Predicate

Declaration includes the @Intent annotation

Prescription Level

mandatory

Tags

"annotation" "declaration" "@Intent" "intent"

 

 

Assertion ID

JCA-TA-8002

Source

[JCA70002]

Target

Method of Java implementation class

Prerequisites

Method is annotated with an Intent annotation

Predicate

Method is a setter method for an SCA reference, either through explicit marking with @Reference or through introspection as defined in component implementation specification

Prescription Level

mandatory

Tags

"annotation" "method" "intent"

 

 

Assertion ID

JCA-TA-8003

Source

[JCA70002]

Target

Field of a Java implementation class

Prerequisites

Field is annotated with an Intent annotation

Predicate

Field is an SCA reference field, either through explicit marking with @Reference or through introspection as defined in the component implementation specification

Prescription Level

mandatory

Tags

"annotation" "field" "intent"

 

Assertion ID

JCA-TA-8004

Source

[JCA70002]

Target

Constructor parameter of a Java implementation class

Prerequisites

Constructor parameter is annotated with an Intent annotation

Predicate

Constructor parameter is marked as an SCA reference using the @Reference annotation

Prescription Level

mandatory

Tags

"annotation" "constructor" "parameter" "intent"

 

Assertion ID

JCA-TA-8005

Source

[JCA70003]

Target

Java element annotated with multiple intent annotations

Prerequisites

 

Predicate

The set of intents which apply to the Java element are the combination of all the separate intents declared by the annotations, following the combination rules defined in the SCA Policy Framework spec

Prescription Level

mandatory

Tags

"annotation" "multiple" "intent" "combination"

 

 

Assertion ID

JCA-TA-8006

Source

[JCA70004]

Target

Method of a Java interface

Prerequisites

One set of Intent annotations are specified on the Java interface

A second set of Intent annotations are specified on the method

Predicate

The set of intents which apply to the method are the combination of the set of intents on the interface with the set of intents on the method, following the merging rules for a structural hierarchy defined in the SCA Policy Framework specification

Prescription Level

mandatory

Tags

"annotation" "multiple" "intent" "combination" "interface" "method"

 

 

Assertion ID

JCA-TA-8007

Source

[JCA70005]

Target

Method of Java implementation class

Prerequisites

Method is annotated with a PolicySets annotation

Predicate

Method is a setter method for an SCA reference, either through explicit marking with @Reference or through introspection as defined in component implementation specification

Prescription Level

mandatory

Tags

"annotation" "reference" "@PolicySets" "method"

 

 

Assertion ID

JCA-TA-8008

Source

[JCA70005]

Target

Field of a Java implementation class

Prerequisites

Field is annotated with a PolicySets annotation

Predicate

Field is an SCA reference field, either through explicit marking with @Reference or through introspection as defined in the component implementation specification

Prescription Level

mandatory

Tags

"annotation" "reference" "@PolicySets" "field"

 

 

Assertion ID

JCA-TA-8009

Source

[JCA70005]

Target

Constructor parameter of a Java implementation class

Prerequisites

Constructor parameter is annotated with a PolicySets annotation

Predicate

Constructor parameter is marked as an SCA reference using the @Reference annotation

Prescription Level

mandatory

Tags

"annotation" "constructor" "@PolicySets" "reference"

 

 

Assertion ID

JCA-TA-8010

Source

[JCA70006]

Target

Method of a Java interface

Prerequisites

Java interface is annotated with @PolicySets annotation

Method is annotated with a second @PolicySets annotation

Predicate

The set of intents which apply to the method is the union of the policy sets specificed by the two @PolicySets annotations.

Prescription Level

mandatory

Tags

"annotation" "@PolicySets" "interface" "method" "combination"

 

2.6    Section 9

 

Assertion ID

JCA-TA-9001

Source

[JCA80001]

Target

invocation of getService(...) method of ComponentContext API

Prerequisites

referenceName parameter of the method identifies a reference of multiplicity 0..n or multiplicity 1..n

Predicate

getService(...) method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getService" "0..n" "1..n" "IllegalArgumentException"

 

 

Assertion ID

JCA-TA-9002

Source

[JCA80002]

Target

invocation of getRequestContext(...) method of ComponentContext API

Prerequisites

invocation takes place during the execution of a Java business method of a service operation

invocation take place on the same Java thread used by the SCA runtime to invoke the business method

Predicate

invocation returns a non-null value for the RequestContext

Prescription Level

mandatory

Tags

"ComponentContext" "getRequestContext" "business method" "service"

 

 

Assertion ID

JCA-TA-9003

Source

[JCA80003]

Target

invocation of getServiceReference() method of RequestContext API

Prerequisites

invocation takes place during the execution of a Java business method of a service operation

Predicate

getServiceReference() method returns a ServiceReference object that represents the service that was invoked

Prescription Level

mandatory

Tags

"RequestContext" "service operation" "getServiceReference"

 

Assertion ID

JCA-TA-9004

Source

[JCA80003]

Target

invocation of getServiceReference() method of RequestContext API

Prerequisites

invocation takes place during the execution of a Java business method of a callback operation

Predicate

getServiceReference() method returns a ServiceReference object that represents the callback that was invoked

Prescription Level

mandatory

Tags

"RequestContext" "callback operation" "getServiceReference"

 

 

Assertion ID

JCA-TA-9005

Source

[JCA80002]

Target

invocation of getRequestContext(...) method of ComponentContext API

Prerequisites

invocation takes place during the execution of a Java business method of a callback operation

invocation take place on the same Java thread use by the SCA runtime to invoke the business method

Predicate

invocation returns a non-null value for the RequestContext

Prescription Level

mandatory

Tags

"ComponentContext" "getRequestContext" "business method" "callback"

 

 

Assertion ID

JCA-TA-9006

Source

[JCA80005]

Target

invocation of ComponentContext.getServiceReference() method

Prerequisites

reference named by referenceName parameter does not have an interface of the type defined by the businessInterface parameter

Predicate

getServiceReference() method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReference()" "IllegalArgumentException" "interface type" "businessInterface"

 

Assertion ID

JCA-TA-9007

Source

[JCA80006]

Target

invocation of ComponentContext.getServiceReference() method

Prerequisites

component which is invoking the method does not have a reference with the name provided in the referenceName parameter

Predicate

getServiceReference() method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReference()" "IllegalArgumentException" "referenceName"

 

Assertion ID

JCA-TA-9008

Source

[JCA80007]

Target

invocation of ComponentContext.getServiceReference() method

Prerequisites

a) multiplicity of the reference named by the referenceName parameter is 0..1

b) reference has no target service configured

Predicate

getServiceReference() method returns null

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReference()" "IllegalArgumentException" "multiplicity" "target service"

 

Assertion ID

JCA-TA-9009

Source

[JCA80008]

Target

invocation of ComponentContext.getURI method

Prerequisites

 

Predicate

returns the absolute URI of the component in the SCA Domain

Prescription Level

mandatory

Tags

"ComponentContext" "getURI"

 

Assertion ID

JCA-TA-9010

Source

[JCA80009]

Target

invocation of ComponentContext.getService method

Prerequisites

reference named by the referenceName parameter has a target service configured

Predicate

method returns a proxy object with the interface passed in the businessInterface parameter for the reference named in the referenceName parameter

Prescription Level

mandatory

Tags

"ComponentContext" "getService" "proxy"

 

Assertion ID

JCA-TA-9011

Source

[JCA80010]

Target

invocation of ComponentContext.getService method

Prerequisites

multiplicity of the reference named by the referenceName parameter is 0..1

reference has no target service configured

Predicate

method returns null

Prescription Level

mandatory

Tags

"ComponentContext" "getService" "0..1" "no target"

 

Assertion ID

JCA-TA-9012

Source

[JCA80011]

Target

invocation of ComponentContext.getService method

Prerequisites

the component does not have a reference with the name in the referenceName parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getService" "referenceName" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9013

Source

[JCA80012]

Target

invocation of ComponentContext.getService method

Prerequisites

reference named by the referenceName parameter does not have an interface compatible with the interface supplied in the businessInterface parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getService" "businessInterface" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9014

Source

[JCA80013]

Target

invocation of ComponentContext.getServiceReference method

Prerequisites

reference named by the referenceName parameter has a target service configured

Predicate

method returns a ServiceReference object with the interface passed in the businessInterface parameter for the reference named in the referenceName parameter

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReference" "ServiceReference"

 

Assertion ID

JCA-TA-9015

Source

[JCA80014]

Target

invocation of ComponentContext.getServices method

Prerequisites

reference identified by the referenceName parameter exists and is configured with one or more target services

identified reference has the interface supplied in the businessInterface parameter

Predicate

returns a Collection containing one proxy object for each target service of the reference, each implementing the interface supplied in the businessInterface parameter

Prescription Level

mandatory

Tags

"ComponentContext" "getServices" "collection" "proxy"

 

Assertion ID

JCA-TA-9016

Source

[JCA80015]

Target

invocation of ComponentContext.getServices method

Prerequisites

reference identified by the referenceName parameter exists but is configured with zero target services

Predicate

returns an empty Collection

Prescription Level

mandatory

Tags

"ComponentContext" "getServices" "collection" "empty"

 

Assertion ID

JCA-TA-9017

Source

[JCA80016]

Target

invocation of ComponentContext.getServices method

Prerequisites

reference identified by the referenceName parameter has a multiplicity of either 0..1 or 1..1

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServices" "multiplicity" "0..1" "1..1" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9018

Source

[JCA80017]

Target

invocation of ComponentContext.getServices method

Prerequisites

component does not have a reference with the name identified by the referenceName parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServices" "reference" "referenceName" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9019

Source

[JCA80018]

Target

invocation of ComponentContext.getServices method

Prerequisites

reference identified by the referenceName parameter does not have an interface compatible with the interface supplied in the businessInterface parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServices" "reference" "businessInterface" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9020

Source

[JCA80019]

Target

invocation of ComponentContext.getServiceReferences method

Prerequisites

reference identified by the referenceName parameter exists and is configured with one or more target services

identified reference has the interface supplied in the businessInterface parameter

Predicate

returns a Collection containing one ServiceReference object for each target service of the reference, each implementing the interface supplied in the businessInterface parameter

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReferences" "collection" "ServiceReference"

 

Assertion ID

JCA-TA-9021

Source

[JCA80020]

Target

invocation of ComponentContext.getServiceReferencess method

Prerequisites

reference identified by the referenceName parameter exists and is configured with zero target services

Predicate

returns an empty Collection

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReferences" "collection" "ServiceReference" "unwired"

 

Assertion ID

JCA-TA-9022

Source

[JCA80021]

Target

invocation of ComponentContext.getServiceReferencess method

Prerequisites

reference identified by the referenceName parameter has multiplicity of 0..1 or 1..1

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReferences" "0..1" "1..1" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9023

Source

[JCA80022]

Target

invocation of ComponentContext.getServiceReferencess method

Prerequisites

component does not have a reference with the name contained in the referenceName parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

ComponentContext" "getServiceReferences" "referenceName" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9024

Source

[JCA80023]

Target

invocation of ComponentContext.getServiceReferencess method

Prerequisites

reference identified by the referenceName parameter does not have an interface compatible with the interface supplied in the businessInterface parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReferences" "businessInterface" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9025

Source

[JCA80024]

Target

invocation of ComponentContext.createSelfReference(businessInterface) method

Prerequisites

invoking component has one or more services with the interface specified in the businessInterface parameter

Predicate

returns a ServiceReference object typed by the interface defined by the businessInterface parameter for one of the services of the invoking component which has that interface

Prescription Level

mandatory

Tags

"ComponentContext" "createSelfReference" "ServiceReference" "businessInterface"

 

Assertion ID

JCA-TA-9026

Source

[JCA80025]

Target

invocation of ComponentContext.createSelfReference(businessInterface) method

Prerequisites

invoking component has no service with the interface specified in the businessInterface parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "createSelfReference" "IllegalArgumentException" "businessInterface"

 

Assertion ID

JCA-TA-9027

Source

[JCA80026]

Target

invocation of ComponentContext.createSelfReference(businessInterface, serviceName) method

Prerequisites

invoking component has a service with the name specified in the serviceName parameter

service with the name specified in serviceName has an interface

Predicate

returns a ServiceReference object typed by the interface defined by the businessInterface parameter for one of the services of the invoking component which has that interface

Prescription Level

mandatory

Tags

"ComponentContext" "createSelfReference" "serviceName" "ServiceReference" "businessInterface"

 

Assertion ID

JCA-TA-9028

Source

[JCA80027]

Target

invocation of ComponentContext.createSelfReference(businessInterface, serviceName) method

Prerequisites

invoking component has no service with the name specified in the serviceName parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "createSelfReference" "serviceName" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9029

Source

[JCA80028]

Target

invocation of ComponentContext.createSelfReference(businessInterface, serviceName) method

Prerequisites

the service with the name specified in the serviceName parameter does not have the interface defined in the businessInterface parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "createSelfReference" "serviceName" "IllegalArgumentException" "businessInterface"

 

Assertion ID

JCA-TA-9030

Source

[JCA80029]

Target

invocation of ComponentContext.getProperty method

Prerequisites

component configuration contains a value for the property with name supplied in the propertyName parameter

Predicate

method returns an object of the type identified by the type parameter containing the value in the component configuration for the property with the name in the propertyName parameter

Prescription Level

mandatory

Tags

"ComponentContext" "getProperty" "property value" "propertyName"

 

Assertion ID

JCA-TA-9031

Source

[JCA80029]

Target

invocation of ComponentContext.getProperty method

Prerequisites

component configuration contains no value for the property with name supplied in the propertyName parameter

Predicate

method returns null

Prescription Level

mandatory

Tags

"ComponentContext" "getProperty" "property value" "propertyName" "null"

 

Assertion ID

JCA-TA-9032

Source

[JCA80030]

Target

invocation of ComponentContext.getProperty method

Prerequisites

component does not have a property with name supplied in the propertyName parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getProperty" "propertyName" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9033

Source

[JCA80031]

Target

invocation of ComponentContext.getProperty method

Prerequisites

component property with the name supplied in the propertyName parameter does not have a type compatible with the supplied type parameter

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getProperty" "type" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9034

Source

[JCA80032]

Target

invocation of ComponentContext.cast method

Prerequisites

 

Predicate

method returns a ServiceReference object typed by the same interface as specified by the reference proxy object supplied in the target parameter

Prescription Level

mandatory

Tags

"ComponentContext" "cast" "ServiceReference"

 

Assertion ID

JCA-TA-9035

Source

[JCA80033]

Target

invocation of ComponentContext.cast method

Prerequisites

supplied target parameter is not an SCA reference proxy object

Predicate

method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "cast" "IllegalArgumentException"

 

Assertion ID

JCA-TA-9036

Source

[JCA80034]

Target

invocation of RequestContext.getSecuritySubject method

Prerequisites

current request has a JAAS subject

method is invoked from code processing a service request or a callback request

Predicate

method returns the JAAS subject of the request

Prescription Level

mandatory

Tags

"RequestContext" "getSecuritySubject" "JAAS subject"

 

Assertion ID

JCA-TA-9037

Source

[JCA80034]

Target

invocation of RequestContext.getSecuritySubject method

Prerequisites

current request has no JAAS subject

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getSecuritySubject" "JAAS subject" "null"

 

Assertion ID

JCA-TA-9038

Source

[JCA80034]

Target

invocation of RequestContext.getSecuritySubject method

Prerequisites

method is invoked from code not processing a service request or a callback request

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getSecuritySubject" "JAAS subject" "null"

 

Assertion ID

JCA-TA-9039

Source

[JCA80035]

Target

invocation of RequestContext.getServiceName method

Prerequisites

invocation is from thread processing service operation or callback operation

Predicate

method returns the name of the service for which operation is being processed

Prescription Level

mandatory

Tags

"RequestContext" "getServiceName" "operation"

 

Assertion ID

JCA-TA-9040

Source

[JCA80035]

Target

invocation of RequestContext.getServiceName method

Prerequisites

invocation is not from thread processing service operation or callback operation

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getServiceName" "null"

 

Assertion ID

JCA-TA-9041

Source

[JCA80036]

Target

invocation of RequestContext.getCallbackReference method

Prerequisites

method invoked from a thread processing an operation of a bidirectional service

Predicate

method returns a ServiceReference typed by the interface of the callback 

Prescription Level

mandatory

Tags

"RequestContext" "getCallbackReference" "bidirectional service"

 

Assertion ID

JCA-TA-9042

Source

[JCA80036]

Target

invocation of RequestContext.getCallbackReference method

Prerequisites

method invoked from a thread processing an operation of a service which is not bidirectional

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getCallbackReference" "not bidirectional service"

 

Assertion ID

JCA-TA-9043

Source

[JCA80036]

Target

invocation of RequestContext.getCallbackReference method

Prerequisites

method invoked from a thread not processing an operation of a service

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getCallbackReference" "null service"

 

Assertion ID

JCA-TA-9044

Source

[JCA80037]

Target

invocation of RequestContext.getCallback method

Prerequisites

method invoked from a thread processing an operation of a bidirectional service

Predicate

method returns a reference proxy object typed by the interface of the callback 

Prescription Level

mandatory

Tags

"RequestContext" "getCallback" "bidirectional service"

 

Assertion ID

JCA-TA-9045

Source

[JCA80037]

Target

invocation of RequestContext.getCallback method

Prerequisites

method invoked from a thread processing an operation of a service which is not bidirectional

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getCallback" "not bidirectional service"

 

Assertion ID

JCA-TA-9046

Source

[JCA80037]

Target

invocation of RequestContext.getCallback method

Prerequisites

method invoked from a thread not processing an operation of a service

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getCallback" "null service"

 

Assertion ID

JCA-TA-9047

Source

[JCA80038]

Target

invocation of RequestContext.getServiceReference method

Prerequisites

method is invoked by a thread processing a callback operation

Predicate

method returns a ServiceReference that represents the callback service

Prescription Level

mandatory

Tags

"RequestContext" "getServiceReference" "callback operation" "ServiceReference"

 

Assertion ID

JCA-TA-9048

Source

[JCA80039]

Target

invocation of RequestContext.getServiceReference method

Prerequisites

method is invoked by a thread not involved in processing either a service operation or a callback operation

Predicate

method returns null

Prescription Level

mandatory

Tags

"RequestContext" "getServiceReference" "null"

 

Assertion ID

JCA-TA-9049

Source

[JCA80040]

Target

invocation of ServiceReference.getService method

Prerequisites

 

Predicate

method returns a reference proxy object typed by the business interface of the reference and which can be used to invoke operations on the target service of the reference

Prescription Level

mandatory

Tags

"ServiceReference" "getService" "reference proxy"

 

Assertion ID

JCA-TA-9050

Source

[JCA80041]

Target

invocation of ServiceReference.getBusinessInterface method

Prerequisites

 

Predicate

method returns a Class object representing the business interface of the reference

Prescription Level

mandatory

Tags

"ServiceReference" "getBusinessInterface" "reference" "interface"

 

Assertion ID

JCA-TA-9051

Source

[JCA80042]

Target

invocation of SCAClientFactory.newInstance( URI ) method

Prerequisites

domainURI parameter identifies a valid SCA Domain

Predicate

method returns an object which implements the SCAClientFactory class for the SCA Domain identified by the domainURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "SCAClientFactory"

 

Assertion ID

JCA-TA-9052

Source

[JCA80043]

Target

invocation of SCAClientFactory.newInstance( URI ) method

Prerequisites

domainURI parameter does not identify a valid SCA Domain

Predicate

method throws a NoSuchDomainException

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "SCAClientFactory" "NoSuchDomainException"

 

Assertion ID

JCA-TA-9053

Source

[JCA80044]

Target

invocation of SCAClientFactory.newInstance( Properties, URI ) method

Prerequisites

domainURI parameter identifies a valid SCA Domain

Predicate

method returns an object which implements the SCAClientFactory class for the SCA Domain identified by the domainURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Properties" "SCAClientFactory"

 

Assertion ID

JCA-TA-9054

Source

[JCA80045]

Target

invocation of SCAClientFactory.newInstance( Properties, URI ) method

Prerequisites

domainURI parameter does not identify a valid SCA Domain

Predicate

method throws a NoSuchDomainException

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Properties" "SCAClientFactory" "NoSuchDomainException"

 

Assertion ID

JCA-TA-9055

Source

[JCA80046]

Target

invocation of SCAClientFactory.newInstance( Classloader, URI ) method

Prerequisites

domainURI parameter identifies a valid SCA Domain

Predicate

method returns an object which implements the SCAClientFactory class for the SCA Domain identified by the domainURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Classloader" "SCAClientFactory"

 

Assertion ID

JCA-TA-9056

Source

[JCA80047]

Target

invocation of SCAClientFactory.newInstance( Classloader, URI ) method

Prerequisites

domainURI parameter does not identify a valid SCA Domain

Predicate

method throws a NoSuchDomainException

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Classloader" "SCAClientFactory" "NoSuchDomainException"

 

Assertion ID

JCA-TA-9057

Source

[JCA80048]

Target

invocation of SCAClientFactory.newInstance( Properties, Classloader, URI ) method

Prerequisites

domainURI parameter identifies a valid SCA Domain

Predicate

method returns an object which implements the SCAClientFactory class for the SCA Domain identified by the domainURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Properties" "Classloader" "SCAClientFactory"

 

Assertion ID

JCA-TA-9058

Source

[JCA80049]

Target

invocation of SCAClientFactory.newInstance( Properties, Classloader, URI ) method

Prerequisites

domainURI parameter does not identify a valid SCA Domain

Predicate

method throws a NoSuchDomainException

Prescription Level

mandatory

Tags

"SCAClientFactory" "domainURI" "Properties" "Classloader" "SCAClientFactory" "NoSuchDomainException"

 

Assertion ID

JCA-TA-9059

Source

[JCA80050]

Target

invocation of SCAClientFactory.getService method

Prerequisites

service identified by the serviceURI parameter exists

service has a service interface compatible with the interface supplied inthe interfaze parameter

Predicate

method returns a proxy object which implements the business interface supplied by the interfaze parameter which can be used to invoke operations on the service identified by the serviceURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactory" "getService" "proxy"

 

Assertion ID

JCA-TA-9060

Source

[JCA80051]

Target

invocation of SCAClientFactory.getService method

Prerequisites

service identified by the serviceURI parameter does not exist

OR

service does not have a service interface compatible with the interface supplied inthe interfaze parameter

Predicate

method throws a NoSuchServiceException

Prescription Level

mandatory

Tags

"SCAClientFactory" "getService" "NoSuchServiceException"

 

Assertion ID

JCA-TA-9061

Source

[JCA80052]

Target

invocation of SCAClientFactory.getService method

Prerequisites

domain URI associated with SCAClientFactory  does not itentify a valid SCA Domain

Predicate

method throws a NoSuchServiceException

Prescription Level

mandatory

Tags

"SCAClientFactory" "getService" "NoSuchServiceException"

 

Assertion ID

JCA-TA-9062

Source

[JCA80053]

Target

invocation of SCAClientFactory.getDomainURI method

Prerequisites

 

Predicate

returns the SCA Domain URI of the Domain associated with the SCAClientFactory object

Prescription Level

mandatory

Tags

"SCAClientFactory" "getDomainURI" "Domain URI"

 

Assertion ID

JCA-TA-9063

Source

[JCA80054]

Target

invocation of SCAClientFactory.getDomainURI method

Prerequisites

domain URI associated with SCAClientFactory  does not itentify a valid SCA Domain

Predicate

method throws a NoSuchServiceException

Prescription Level

mandatory

Tags

"SCAClientFactory" "getDomainURI" "NoSuchServiceException"

 

Assertion ID

JCA-TA-9064

Source

[JCA80055]

Target

invocation of SCAClientFactoryFinder.find method

Prerequisites

SCAClientFactory implementation exists and can be found

Predicate

returns an object which implements the SCAClientFactory interface for the SCA Domain represented by the domainURI parameter

Prescription Level

mandatory

Tags

"SCAClientFactoryFinder" "find" "SCAClientFactory"

 

Assertion ID

JCA-TA-9065

Source

[JCA80056]

Target

invocation of SCAClientFactoryFinder.find method

Prerequisites

SCAClientFactory implementation cannot be found

Predicate

method throws a ServiceRuntimeException

Prescription Level

mandatory

Tags

"SCAClientFactoryFinder" "find"  "ServiceRuntimeException"

 

Assertion ID

JCA-TA-9066

Source

[JCA80057]

Target

invocation of ResponseDispatch.sendResponse() method

Prerequisites

sendResponse() and sendFault() methods of the ResponseDispatch object have not been called previously

Predicate

method sends the supplied response message to the client of the asynchronous service

Prescription Level

mandatory

Tags

"ResponseDispatch" "sendResponse"

 

Assertion ID

JCA-TA-9067

Source

[JCA80058]

Target

invocation of ResponseDispatch.sendResponse() method

Prerequisites

one of sendResponse() or sendFault() methods of the ResponseDispatch object have been called previously

Predicate

method throws an InvalidStateException

Prescription Level

mandatory

Tags

"ResponseDispatch" "sendResponse"  "InvalidStateException"

 

Assertion ID

JCA-TA-9068

Source

[JCA80059]

Target

invocation of ResponseDispatch.sendFault() method

Prerequisites

sendResponse() and sendFault() methods of the ResponseDispatch object have not been called previously

Predicate

method sends the supplied fault to the client of the asynchronous service

Prescription Level

mandatory

Tags

"ResponseDispatch" "sendFault"

 

Assertion ID

JCA-TA-9069

Source

[JCA80060]

Target

invocation of ResponseDispatch.sendFault() method

Prerequisites

one of sendResponse() or sendFault() methods of the ResponseDispatch object have been called previously

Predicate

method throws an InvalidStateException

Prescription Level

mandatory

Tags

"ResponseDispatch" "sendFault"  "InvalidStateException"

 

Assertion ID

JCA-TA-9070

Source

[JCA80004]

Target

invocation of ComponentContext.getServiceReference() method

Prerequisites

reference named by referenceName parameter has a multiplicity > 1

Predicate

getServiceReference() method throws an IllegalArgumentException

Prescription Level

mandatory

Tags

"ComponentContext" "getServiceReference()" "multiplicity" "IllegalArgumentException"

 

2.7    Section 10

 

Assertion ID

JCA-TA-10001

Source

[JCA90001]

Target

Component implementation contains an SCA annotation that is improperly used

Prerequisites

 

Predicate

The component which uses the implementation does not run

Prescription Level

mandatory