How to implement the JSR specification

I am considering introducing one or two JSR APIs. I have not read the entire specification yet (the plan should read them when I code the implementation), but I am very familiar with it. I read that the JSR process includes implementing a test compatibility set (TCK) to test the mentioned JSR implementations.

Before I start writing a bunch of unit tests to check the correctness / completeness of my implementation, I would really like to use this TCK, but I have no idea if it is available to me. After downloading all the files and searching on Google, I could not find anything that could be defined as TCK for this JSR.

So, my question is basically: what steps do I need to take to create my own implementation of the JSR specification and how can I make sure that I really did.

For what it's worth, I'm considering introducing JSR-168 and JSR-286, but I think this does not apply to this issue.

+4
source share
4 answers

What you might need is to contact the specification for this JSR. They can provide you more information on obtaining TCK.

You may need to pay a license in order to access TCK. Of course, with the Java SE specification, Sun does charge a TCK license fee if you do not qualify as a nonprofit organization to receive it for free.

However, I believe that it ranges from JSR to JSR, so as I said above, it is best to contact the JSR management.

+8
source

Wow, this is a very ambitious project, usually hosted by companies or large open source teams. If you are decisive enough for this, I recommend that you take a look at some open source versions. These JSRs are implemented by Pluto . Perhaps you should take a look at the original distribution.

+3
source

Apologies to davance for the worst case scenario I am going to present.

Having done this quite a few times, I highly recommend not writing a single line of code before you read not only the specification, but any kind of email from the JSR expert group.

JSR specifications are usually ambiguous and can be interpreted in several different ways. After going through this in a very methodical way, you will be able to ask the appropriate questions to the expert group soon enough before it is rejected and becomes unresponsive, I hope.

TCK is usually a set of tests that do not guarantee that your implementation will work even remotely, but simply says that you are a legal implementation of the specifications.

TCK is usually too expensive to buy an individual.

Abundantly, the way JSR is implemented will depend on which operating system and which virtual machine you are targeting. The nicer JSRs are usually those that can be implemented in pure Java.

Good luck

+2
source

Why do you want to implement a specification if there is already a working implementation? There seems to be a lot of unnecessary work for a little good ...

0
source

All Articles