To test the node plugin, the VAMDC-TAP Validator software may be used. It implements the same DatabasePlugin interface call logic and RequestInterface methods operation as the VAMDC-TAP node webservice. All the dependency libraries are bundled in a single TAPValidator.jar archive.
Such an approach facilitates the node plugin development: there is no need to install the application server and deploy web service framework on the development machine.
To use the TAPValidator for the plugin development, few steps are required:
- The most recent version of TAPValidator.jar should be added to the project library path.
- New Java Application run/execution configuration should be defined, indicating the org.vamdc.validator.ValidatorMain as the main class.
- TAPValidator should be configured to operate in the plugin development mode. In the Settings window, plugin mode radiobutton should be selected; The class name implementing the :ref:`DatabasePlug` should be indicated, including the java package name.
If everything is set up correctly, the list of supported restrictables should appear in the right-top text area. Plugin buildXSAMS(...) method is called every time the Query button is pressed.
For more information on the VAMDC-TAP Validator user interface and features, please refer to the [TAPValidator]_ documentation.
The screenshots corresponding to the Eclipse project setup are presented below.
Open the project properties of your database plugin.
Add the latest VAMDC-TAP Validator JAR to the build path by clicking on the "Add external JARs" button
Setup a new run configuration by clicking the "New..." button
Create a new run configuration with the org.vamdc.validator.ValidatorMain Main class path
All Java software developed as a part of VAMDC is available at VAMDC Maven repository
http://nexus.vamdc.org/nexus/content/repositories/releases/
To use Maven for dependency management of your plugin, a following sample POM.xml may be used:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vamdc.%databasename%</groupId>
<artifactId>plugin</artifactId>
<name>databasename plugin for java node software</name>
<repositories>
<repository>
<id>nexus</id>
<name>VAMDC Releases</name>
<url>http://nexus.vamdc.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<parent>
<groupId>org.vamdc.tap</groupId>
<artifactId>vamdctap-plugin</artifactId>
<version>12.07r2</version>
</parent>
<dependencies>
<dependency>
<groupId>org.vamdc.%databasename%</groupId>
<artifactId>database_dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.vamdc</groupId>
<artifactId>TAPValidator</artifactId>
<version>12.07r2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
All the required dependencies are included in the parent project, vamdctap-plugin


