The following rules apply for each version of an operating system,
software component, and hardware platform Documented as supporting the
Product:
EE-WP1 The Product must be able to satisfy all applicable compatibility
requirements, including passing all Conformance Tests, in every Product
Configuration and in every combination of Product Configurations, except
only as specifically exempted by these Rules.
For example, if a Product provides distinct Operating Modes to optimize
performance, then that Product must satisfy all applicable compatibility
requirements for a Product in each Product Configuration, and
combination of Product Configurations, of those Operating Modes.
EE-WP1.1 If an Operating Mode controls a Resource necessary for the
basic execution of the Test Suite, testing may always use a Product
Configuration of that Operating Mode providing that Resource, even if
other Product Configurations do not provide that Resource.
Notwithstanding such exceptions, each Product must have at least one set
of Product Configurations of such Operating Modes that is able to pass
all the Conformance Tests.
For example, a Product with an Operating Mode that controls a security
policy (i.e., Security Resource) which has one or more Product
Configurations that cause Conformance Tests to fail may be tested using
a Product Configuration that allows all Conformance Tests to pass.
EE-WP1.2 A Product Configuration of an Operating Mode that causes the
Product to report only version, usage, or diagnostic information is
exempted from these compatibility rules.
EE-WP1.3 A Product may contain an Operating Mode that selects the
Edition with which it is compatible. The Product must meet the
compatibility requirements for the corresponding Edition for all Product
Configurations of this Operating Mode. This Operating Mode must affect
no smaller unit of execution than an entire Application.
EE-WP1.4 An API Definition Product is exempt from all functional testing
requirements defined here, except the signature tests.
EE-WP2 Some Conformance Tests may have properties that may be changed.
Properties that can be changed are identified in the configuration
interview. Properties that can be changed are identified in the JavaTest
Environment (.jte) files in the lib directory of the Test Suite
installation. Apart from changing such properties and other allowed
modifications described in this User’s Guide (if any), no source or
binary code for a Conformance Test may be altered in any way without
prior written permission. Any such allowed alterations to the
Conformance Tests would be posted to the [Java Licensee Engineering] web
site and apply to all licensees.
EE-WP3 The testing tools supplied as part of the Test Suite or as
updated by the Maintenance Lead must be used to certify compliance.
EE-WP4 The Exclude List associated with the Test Suite cannot be
modified.
EE-WP5 The Maintenance Lead may define exceptions to these Rules. Such
exceptions would be made available to and apply to all licensees.
EE-WP6 All hardware and software component additions, deletions, and
modifications to a Documented supporting hardware/software platform,
that are not part of the Product but required for the Product to satisfy
the compatibility requirements, must be Documented and available to
users of the Product.
For example, if a patch to a particular version of a supporting
operating system is required for the Product to pass the Conformance
Tests, that patch must be Documented and available to users of the
Product.
EE-WP7 The Product must contain the full set of public and protected
classes and interfaces for all the Libraries. Those classes and
interfaces must contain exactly the set of public and protected methods,
constructors, and fields defined by the Specifications for those
Libraries. No subsetting, supersetting, or modifications of the public
and protected API of the Libraries are allowed except only as
specifically exempted by these Rules.
EE-WP7.1 If a Product includes Technologies in addition to the
Technology Under Test, then it must contain the full set of combined
public and protected classes and interfaces. The API of the Product must
contain the union of the included Technologies. No further modifications
to the APIs of the included Technologies are allowed.
EE-WP7.2 A Product may provide a newer version of an Endorsed Standard.
Upon request, the Maintenance Lead will make available alternate
Conformance Tests as necessary to conform with such newer version of an
Endorsed Standard. Such alternate tests will be made available to and
apply to all licensees. If a Product provides a newer version of an
Endorsed Standard, the version of the Endorsed Standard supported by the
Product must be Documented.
EE-WP7.3 The Maintenance Lead may authorize the use of newer Versions of
a Technology included in the Technology Under Test. A Product that
provides a newer Version of a Technology must meet the Compatibility
Requirements for that newer Version, and must Document that it supports
the newer Version.
EE-WP8 Except for tests specifically required by this TCK to be rebuilt
(if any), the binary Conformance Tests supplied as part of the Test
Suite or as updated by the Maintenance Lead must be used to certify
compliance.
EE-WP9 The functional programmatic behavior of any binary class or
interface must be that defined by the Specifications.
EE-WP9.1 A Product may contain Operating Modes that meet all of these
requirements, except Rule T9, provided that:
-
At least the default Product Configuration of each Operating Mode
must meet these requirements, without invoking this rule; testing may
always use such a Product Configuration.
-
The Operating Modes must not violate the Java Platform, Standard
Edition Rules.
-
The Product Configurations of Operating Modes of an application and
its components are configured at deployment time, or by administrative
action, and can not be changed during the runtime of that application.
-
Some Product Configurations of such Operating Modes may provide only
a subset of the functional programmatic behavior required by the
Specifications. The behavior of applications that use more than the
provided subset, when run in such Product Configurations, is
unspecified.
-
The functional programmatic behavior of any binary class or
interface in the above defined subset must be that defined by the
Specifications.
-
Any Product Configuration that invokes this rule must be clearly
Documented as not fully meeting the requirements of the Specifications.
EE-WP10 Each Container must make technically accessible all Java SE
Runtime interfaces and functionality, as defined by the Specifications,
to programs running in the Container, except only as specifically
exempted by these Rules.
EE-WP10.1 Containers may impose security constraints, as defined by the
Specifications.
EE-WP11 A web Container must report an error, as defined by the
Specifications, when processing a JSP Page that does not conform to the
Specifications.
EE-WP12 The presence of a Java language comment or Java language
directive in a JSP Page that specifies ”java” as the scripting language,
when processed by a web Container, must not cause the functional
programmatic behavior of that JSP Page to vary from the functional
programmatic behavior of that JSP Page in the absence of that Java
language comment or Java language directive.
EE-WP13 The contents of any fixed template data (defined by the
Specifications) in a JSP Page, when processed by a web Container, must
not affect the functional programmatic behavior of that JSP Page, except
as defined by the Specifications.
EE-WP14 The functional programmatic behavior of a JSP Page that
specifies ”java” as the scripting language must be equivalent to the
functional programmatic behavior of the JSP Page Implementation Class
constructed from that JSP Page.
EE-WP15 A Deployment Tool must report an error when processing a
Configuration Descriptor that does not conform to the Specifications.
EE-WP16 The presence of an XML comment in a Configuration Descriptor,
when processed by a Deployment Tool, must not cause the functional
programmatic behavior of the Deployment Tool to vary from the functional
programmatic behavior of the Deployment Tool in the absence of that
comment.
EE-WP17 A Deployment Tool must report an error when processing an EJB
deployment descriptor that includes an EJB QL expression that does not
conform to the Specifications.
EE-WP18 The Runtime must report an error when processing a Configuration
Descriptor that does not conform to the Specifications.
EE-WP19 The presence of an XML comment in a Configuration Descriptor,
when processed by the Runtime, must not cause the functional
programmatic behavior of the Runtime to vary from the functional
programmatic behavior of the Runtime in the absence of that comment.
EE-WP20 Compatibility testing for the Java EE 8 Web Profile consists of
running the tests for the technologies defined in
Section 1.2.2, "Java EE 8 Web Profile
Technologies Tested With Java EE 8 CTS." If optional technologies
defined in the Java EE 8 Web Profile platform are implemented in
addition to the required Java EE 8 Web Profile technologies,
corresponding tests within this TCK for those additional technologies
must also be run.
EE-WP21 Compliance testing for Java EE 8 Web Profile consists of running
the Java EE 8 Web Profile tests and the following Technology
Compatibility Kits (TCKs):
-
Contexts and Dependency Injection for Java 2.0 (JSR 365)
-
Dependency Injection for Java 1.0 (JSR 330)
-
Bean Validation 2.0(JSR 380)
In addition to the compatibility rules outlined in this CTS User’s
Guide, Java EE 8 implementations must also adhere to all of the
compatibility rules defined in the User’s Guides of the aforementioned
TCKs.
EE-WP22 Source Code in WSDL-to-Java Output when compiled by a Reference
Compiler must execute properly when run on a Reference Runtime.
EE-WP23 Source Code in WSDL-to-Java Output must be in source file format
defined by the Java Language Specification (JLS).
EE-WP24 Java-to-WSDL Output must fully meet W3C requirements for the Web
Services Description Language (WSDL) 1.1.
EE-WP25 A Java-to-WSDL Tool must not produce Java-to-WSDL Output from
source code that does not conform to the Java Language Specification
(JLS).