Yesterday, I put two releases up on OpenNTF, and I figure it'd be worth mentioning them here.
XPages Jakarta EE Support
The first is a new version of the XPages Jakarta EE Support project. As with the last few, this one is mostly iterative, focusing on consolidation and bug fixes, but it added a couple neat features.
The largest of those is the JPA support I blogged about the other week, where you can build on the JDBC support in XPages to add JPA entities. This is probably a limited-need thing, but it'd be pretty cool if put into practice. This will also pay off all the more down the line if I'm able to add in Jakarta Data support in future versions, which expands the
Repository idiom currently in the NoSQL build I use to cover both NoSQL and RDBMS databases.
I also added the ability to specify a custom
JsonbConfig object via CDI to customize the output of JSON in REST services. That is, if you have a service like this:
In this case, the REST framework uses JSON-B to turn
SomeCustomObject into JSON. The defaults are usually fine, but sometimes (either for personal preference or for migration needs) you'll want to customize it, particularly changing the behavior from using bean getters for properties to instead use object fields directly as Gson does.
I also expanded view support in NoSQL by adding a mechanism for querying views with full-text searches. This is done via the
ViewQuery object that you can pass to a repository method. For example, you could have a repository like this:
Then, you could perform a full-text query and retrieve only the matching entries:
Down the line, I plan to add this capability for whole-DB queries, but (kind of counter-intuitively) that would get a bit fiddlier than doing it for views.
XPages Javadoc Provider
The second one is a new project, the XPages Javadoc Provider. This is a teeny-tiny project, though, not even containing any Java code. This is a plugin for either Designer or normal Eclipse and it provides Javadoc for some standard XPages classes - specifically, those covered in the official Javadoc for Designer and the XPages Extensibility APIs. This covers things like
com.ibm.commons and the core stuff from
com.ibm.xsp, but doesn't cover things like
The way this works is that it uses Eclipse's Javadoc extension point to tell Designer/Eclipse that it can find Javadoc for a couple bundles via the hosted version, really just linking the IDE to the public HTML. I went this route (as opposed to embedding the Javadoc in the plugin) because the docs don't explicitly say they're redistributable, so I have to treat them as not. Interestingly, the docs are actually still hosted at
public.dhe.ibm.com. If HCL publishes them on their site or makes them officially redistributable, I'll be able to update the project, but for now it's relying on nobody at IBM remembering that they're up there.
In any event, it's not a huge deal, but it's actually kind of nice. Being able to have Javadoc for things like
XspLibrary removes a bit of the guesswork in using the API and makes the experience feel just a bit better.