I agree that it's duplicate info. One reason is to make the tests as
self-contained as possible. This makes report generation easier because
there is no dependency on an external, separately maintained resource.
Maybe it is too much data and isn't necessary? Maybe the following is
more reasonable:

@spec
    name="J2EE"
    version="1.4"
    chapter-name="Transaction Management"
    section-name="Transactional JDBC Technology Support"
    section-number="4.2.7"
    page-number="64"

I think you'll end up with a situation where a spec-test developer will just put in the section-number, since that's essentially what highlights it. Also, if the section is prefixed with a document name (J2EE_1.4-4.2.7) then you can pretty much get rid of everything else.


I agree that having everything self-contained is good, but I can't see developers caring about typing in chapter-name and section-name each time they need a test. It should be relatively easy to put the sections in a properties file listing each of them and just do a lookup (using J2EE_1.4-4.2.7 as a key in a properties file)

:
J2EE_1.4-4.2.7=J2EE 1.4: Transaction Management (Transactional JDBC Technology Support)
:
J2EE_1.4-6.17=J2EE 1.4: Java Management Extensions
:


(see attached file)

J2EE_1-4.1=Introduction
J2EE_1-4.1.1=Acknowledgements
J2EE_1-4.1.2=Acknowledgements for Version 1.3
J2EE_1-4.1.3=Acknowledgements for Version 1.4
J2EE_1-4.2=Platform Overview
J2EE_1-4.2.1=Architecture
J2EE_1-4.2.2=Application Components
J2EE_1-4.2.2.1=J2EE Server Support for Application Components
J2EE_1-4.2.3=Containers
J2EE_1-4.2.3.1=Container Requirements
J2EE_1-4.2.3.2=J2EE Servers
J2EE_1-4.2.4=Resource Adapters
J2EE_1-4.2.5=Database
J2EE_1-4.2.6=J2EE Standard Services
J2EE_1-4.2.6.1=HTTP
J2EE_1-4.2.6.2=HTTPS
J2EE_1-4.2.6.3=Java™ Transaction API (JTA)
J2EE_1-4.2.6.4=RMI-IIOP
J2EE_1-4.2.6.5=Java IDL
J2EE_1-4.2.6.6=JDBC™ API
J2EE_1-4.2.6.7=Java™ Message Service (JMS)
J2EE_1-4.2.6.8=Java Naming and Directory Interface™ (JNDI)
J2EE_1-4.2.6.9=JavaMail™
J2EE_1-4.2.6.10=JavaBeans™ Activation Framework (JAF)
J2EE_1-4.2.6.11=Java™ API for XML Parsing (JAXP)
J2EE_1-4.2.6.12=J2EE™ Connector Architecture
J2EE_1-4.2.6.13=Security Services
J2EE_1-4.2.6.14=Web Services
J2EE_1-4.2.6.15=Management
J2EE_1-4.2.6.16=Deployment
J2EE_1-4.2.7=Interoperability
J2EE_1-4.2.8=Flexibility of Product Requirements
J2EE_1-4.2.9=J2EE Product Extensions
J2EE_1-4.2.10=Platform Roles
J2EE_1-4.2.10.1=J2EE Product Provider
J2EE_1-4.2.10.2=Application Component Provider
J2EE_1-4.2.10.3=Application Assembler
J2EE_1-4.2.10.4=Deployer
J2EE_1-4.2.10.5=System Administrator
J2EE_1-4.2.10.6=Tool Provider
J2EE_1-4.2.10.7=System Component Provider
J2EE_1-4.2.11=Platform Contracts
J2EE_1-4.2.11.1=J2EE APIs
J2EE_1-4.2.11.2=J2EE Service Provider Interfaces (SPIs)
J2EE_1-4.2.11.3=Network Protocols
J2EE_1-4.2.11.4=Deployment Descriptors
J2EE_1-4.2.12=Changes in J2EE 1.3.
J2EE_1-4.2.13=Changes in J2EE 1.4.
J2EE_1-4.3=Security
J2EE_1-4.3.1=Introduction
J2EE_1-4.3.2=A Simple Example
J2EE_1-4.3.3=Security Architecture
J2EE_1-4.3.3.1=Goals
J2EE_1-4.3.3.2=Non Goals
J2EE_1-4.3.3.3=Terminology
J2EE_1-4.3.3.4=Container Based Security
J2EE_1-4.3.3.5=Distributed Security
J2EE_1-4.3.3.6=Authorization Model
J2EE_1-4.3.3.7=HTTP Login Gateways
J2EE_1-4.3.3.8=User Authentication
J2EE_1-4.3.3.9=Lazy Authentication
J2EE_1-4.3.4=User Authentication Requirements
J2EE_1-4.3.4.1=Login Sessions
J2EE_1-4.3.4.2=Required Login Mechanisms
J2EE_1-4.3.4.3=Unauthenticated Users
J2EE_1-4.3.4.4=Application Client User Authentication
J2EE_1-4.3.4.5=Resource Authentication Requirements
J2EE_1-4.3.5=Authorization Requirements
J2EE_1-4.3.5.1=Code Authorization
J2EE_1-4.3.5.2=Caller Authorization
J2EE_1-4.3.5.3=Propagated Caller Identities
J2EE_1-4.3.5.4=Run As Identities
J2EE_1-4.3.6=Deployment Requirements
J2EE_1-4.3.7=Future Directions
J2EE_1-4.3.7.1=Auditing
J2EE_1-4.3.7.2=Instance-based Access Control
J2EE_1-4.3.7.3=User Registration
J2EE_1-4.4=Transaction Management
J2EE_1-4.4.1=Overview
J2EE_1-4.4.2=Requirements
J2EE_1-4.4.2.1=Web Components
J2EE_1-4.4.2.2=Transactions in Web Component Life Cycles
J2EE_1-4.4.2.3=Transactions and Threads
J2EE_1-4.4.2.4=Enterprise JavaBeans™ Components
J2EE_1-4.4.2.5=Application Clients
J2EE_1-4.4.2.6=Applet Clients
J2EE_1-4.4.2.7=Transactional JDBC™ Technology Support
J2EE_1-4.4.2.8=Transactional JMS Support
J2EE_1-4.4.2.9=Transactional Resource Adapter (Connector) Support
J2EE_1-4.4.3=Transaction Interoperability
J2EE_1-4.4.3.1=Multiple J2EE Platform Interoperability
J2EE_1-4.4.3.2=Support for Transactional Resource Managers
J2EE_1-4.4.4=Local Transaction Optimization
J2EE_1-4.4.4.1=Requirements
J2EE_1-4.4.4.2=A Possible Design
J2EE_1-4.4.5=Connection Sharing
J2EE_1-4.4.6=JDBC and JMS Deployment Issues
J2EE_1-4.4.7=Two-Phase Commit Support
J2EE_1-4.4.8=System Administration Tools
J2EE_1-4.5=Naming
J2EE_1-4.5.1=Overview
J2EE_1-4.5.1.1=Chapter Organization
J2EE_1-4.5.1.2=Required Access to the JNDI Naming Environment
J2EE_1-4.5.2=Java Naming and Directory Interface™ (JNDI) Naming Context
J2EE_1-4.5.2.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.2.2=Application Assembler’s Responsibilities
J2EE_1-4.5.2.3=Deployer’s Responsibilities
J2EE_1-4.5.2.4=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.3=Enterprise JavaBeans™ (EJB) References
J2EE_1-4.5.3.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.3.2=Application Assembler’s Responsibilities
J2EE_1-4.5.3.3=Deployer’s Responsibilities
J2EE_1-4.5.3.4=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.4=Resource Manager Connection Factory References
J2EE_1-4.5.4.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.4.2=Deployer’s Responsibilities
J2EE_1-4.5.4.3=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.4.4=System Administrator’s Responsibilities
J2EE_1-4.5.5=Resource Environment References
J2EE_1-4.5.5.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.5.2=Deployer’s Responsibilities
J2EE_1-4.5.5.3=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.6=Message Destination References
J2EE_1-4.5.6.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.6.2=Application Assembler’s Responsibilities
J2EE_1-4.5.6.3=Deployer’s Responsibilities
J2EE_1-4.5.6.4=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.7=UserTransaction References
J2EE_1-4.5.7.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.7.2=Deployer’s Responsibilities
J2EE_1-4.5.7.3=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.7.4=System Administrator’s Responsibilities
J2EE_1-4.5.8=ORB References
J2EE_1-4.5.8.1=Application Component Provider’s Responsibilities
J2EE_1-4.5.8.2=Deployer’s Responsibilities
J2EE_1-4.5.8.3=J2EE Product Provider’s Responsibilities
J2EE_1-4.5.8.4=System Administrator’s Responsibilities
J2EE_1-4.6=Application Programming Interface
J2EE_1-4.6.1=Required APIs
J2EE_1-4.6.1.1=Java Compatible APIs
J2EE_1-4.6.1.2=Java Optional Packages
J2EE_1-4.6.2=Java 2 Platform, Standard Edition (J2SE) Requirements
J2EE_1-4.6.2.1=Programming Restrictions
J2EE_1-4.6.2.2=The J2EE Security Permissions Set
J2EE_1-4.6.2.3=Listing of the J2EE Security Permissions Set
J2EE_1-4.6.2.4=Additional Requirements
J2EE_1-4.6.3=Enterprise JavaBeans™ (EJB) 2.1 Requirements
J2EE_1-4.6.4=Servlet 2.4 Requirements
J2EE_1-4.6.5=JavaServer Pages™ (JSP) 2.0 Requirements
J2EE_1-4.6.6=Java™ Message Service (JMS) 1.1 Requirements
J2EE_1-4.6.7=Java™ Transaction API (JTA) 1.0 Requirements
J2EE_1-4.6.8=JavaMail™ 1.3 Requirements
J2EE_1-4.6.9=JavaBeans™ Activation Framework 1.0 Requirements
J2EE_1-4.6.10=Java™ API for XML Processing (JAXP) 1.2 Requirements
J2EE_1-4.6.11=J2EE™ Connector Architecture 1.5 Requirements
J2EE_1-4.6.12=Web Services for J2EE 1.1 Requirements
J2EE_1-4.6.13=Java™ API for XML-based RPC (JAX-RPC) 1.1 Requirements
J2EE_1-4.6.14=SOAP with Attachments API for Java™ (SAAJ) 1.2
J2EE_1-4.6.15=Java™ API for XML Registries (JAXR) 1.0 Requirements
J2EE_1-4.6.16=Java™ 2 Platform, Enterprise Edition Management API 1.0 
Requirements
J2EE_1-4.6.17=Java™ Management Extensions (JMX) 1.2 Requirements
J2EE_1-4.6.18=Java™ 2 Platform, Enterprise Edition Deployment API 1.1 
Requirements
J2EE_1-4.6.19=Java™ Authorization Service Provider Contract for Containers 
(JACC) 1.0 Requirements
J2EE_1-4.7=Interoperability
J2EE_1-4.7.1=Introduction to Interoperability
J2EE_1-4.7.2=Interoperability Protocols
J2EE_1-4.7.2.1=Internet and Web Protocols
J2EE_1-4.7.2.2=OMG Protocols
J2EE_1-4.7.2.3=Java Technology Protocols
J2EE_1-4.7.2.4=Data Formats
J2EE_1-4.8=Application Assembly and Deployment
J2EE_1-4.8.1=Application Development Life Cycle
J2EE_1-4.8.1.1=Component Creation
J2EE_1-4.8.1.2=Application Assembly
J2EE_1-4.8.1.3=Deployment
J2EE_1-4.8.2=Optional Package Support
J2EE_1-4.8.3=Application Assembly
J2EE_1-4.8.3.1=Assembling a J2EE Application
J2EE_1-4.8.3.2=Adding and Removing Modules
J2EE_1-4.8.4=Deployment
J2EE_1-4.8.4.1=Deploying a Stand-Alone J2EE Module
J2EE_1-4.8.4.2=Deploying a J2EE Application
J2EE_1-4.8.4.3=Deploying an Optional Package
J2EE_1-4.8.5=J2EE Application XML Schema
J2EE_1-4.8.6=Common J2EE XML Schema Definitions
J2EE_1-4.9=Application Clients
J2EE_1-4.9.1=Overview
J2EE_1-4.9.2=Security
J2EE_1-4.9.3=Transactions
J2EE_1-4.9.4=Naming
J2EE_1-4.9.5=Application Programming Interfaces
J2EE_1-4.9.6=Packaging and Deployment
J2EE_1-4.9.7=J2EE Application Client XML Schema
J2EE_1-4.10=Service Provider Interface
J2EE_1-4.11=Future Directions
J2EE_1-4.11.1=XML Data Binding API
J2EE_1-4.11.2=JNLP (Java™ Web Start)
J2EE_1-4.11.3=J2EE SPI
J2EE_1-4.11.4=JDBC RowSets
J2EE_1-4.11.5=Security APIs
J2EE_1-4.11.6=SQLJ Part 0.



I agree that there needs to be a measuring stick of sorts for determining
how much further we need to go. But the idea is that the inclusion of the
section-number adds the ability to view a report and easily see gaps in
the section numbers. I'll be honest that I don't care to volunteer for
going through each spec and making a list of the tests. Maybe someone
else is interested in performing this task.

I know the feeling :-)

Anyway, instead of having to type chapter-title-section-name each time, I've munged the J2EE 1.4 ToC and prepared the attached properties file. Should save developers having to type in the lot each time.

The Doclet can then weave the section number in and lookup entries in the keyset. Should also be able to do sufficient sorting so that it can order things by chapter and title anyway, since they're encoded in the key itself.

I'm not trying to defend my idea and force it down everyone's throats. I'm
simply trying to better explain my reasoning. I'm very open to suggestions
or complete changes.

I still think the doclet is a good idea, but just having to type J2EE_1-4.6.2 should be enough. However, the previous caveat still applies; tests can be missed out.


Alex.

Reply via email to