This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
The Strategies Website Development Kit (WDK) is a Java-based search platform and REST API for accessing data stored in relational databases. It provides an XML-configurable framework for exposing parameterized queries that can be saved, edited, shared, and combined into complex search strategies.
This project uses both Apache Ant and Maven for building:
- Build command:
ant WDK-Installation - Web installation:
ant WDK-WebInstallation - Main build file:
build.xml(root level) - Depends on external projects: FgpUtil and WSF
- Root POM:
pom.xml(multi-module project) - Modules:
Model/- Core WDK model and framework (wdk-modelartifact)Service/- REST API service layer (wdk-serviceartifact)
- Maven build:
mvn clean install(for individual modules) - Test:
mvn test(runs JUnit tests)
-
Model Module (
Model/):- Core WDK framework and data model
- Query processing and record management
- XML configuration parsing
- Database connectivity
- Analysis plugins and testing framework
-
Service Module (
Service/):- REST API endpoints
- Jersey-based web services
- JSON schema validation
- Client-facing web interface
org.gusdb.wdk.model.*- Core model classes, queries, recordsorg.gusdb.wdk.controller.*- Web application controllersorg.gusdb.wdk.service.*- REST API endpointsorg.gusdb.wdk.model.test.*- Testing framework
- Sanity Tests:
Model/bin/wdkSanityTest - Unit Tests:
Model/bin/wdkUnitTest - Regression Tests:
Model/bin/wdkRegressionTest - Stress Tests:
Model/bin/wdkStressTest - SQL Munge Tests:
Model/bin/wdkSqlMungeTest - Service Client Test:
Model/bin/testWdkServiceClient.sh
- JUnit tests in
src/test/java/directories - Comprehensive testing framework in
org.gusdb.wdk.model.test.* - Sanity testing for XML configurations and queries
- Stress testing for performance evaluation
- FgpUtil library (utilities)
- WSF (Web Service Framework)
- Oracle/PostgreSQL database drivers
- Jersey for REST services
- Jackson for JSON processing
- Apache Commons libraries
- Oracle and PostgreSQL primary support
- Database-specific drivers must be installed separately in webapp server
- Model configurations in XML format
- Parameterized queries defined via XML
- Record types and attributes configured declaratively
- Requires database connectivity configuration
- Web application deployment to servlet container (Tomcat recommended)
- Symlinked resources for web deployment
- Use Ant for full project builds and installations
- Use Maven for module-specific development and testing
- Run appropriate test suites before committing changes
- XML configurations should be validated using provided tools
- Database schema changes require coordination with deployment