Skip to content

rpastrana/HPCC4J

 
 

Repository files navigation

hpcc4j Master Nightly Maven Central Maven Central Maven Central Maven Central Maven Central

CodeQL

⚠️ Note: WsClient v6.8.0 and v6.8.2 include a packaging error and should be avoided Learn more here

HPCC4J Project

Java based libraries for interaction with HPCC services/tools

This repository contains multiple Java-based libraries/tools which can be utilized to interact with HPCC Systems.

Feature and change requests are tracked via JIRA. Everybody is encouraged to report issues and contribute to the project. When opening JIRA tickets, make sure to set the project as "hpcc4j".

Note: This project references log4j which has been reported to include security vulnerabilitie(s) in versions prior to v2.15.0

Projects contained within:

  • WsClient

    • Set of APIs which Standardize and facilitate interaction with HPCC Web based Services.
    • The project is based on stub code generated from WSDLs using Eclipse tools based on Apache Axis and JSch(Java Secure Channel) for secure ftp transfers
    • Open Issues
    • Sample code
    • Migration Guide:
  • DFS Client

    • Java based interface into HPCC's dfs backend
  • HPCC Commons

    • HPCC Systems Java API common classes
  • clienttools

    • Java based interface to HPCC client tools
    • Currently only interfaces with eclcc
  • rdf2hpcc

    • RDF data ingestion tool to HPCC
    • Based on Apache Jena and dependent on org.hpccsystems.ws.client
  • Spark-HPCC

    • Spark classes for HPCC Systems / Spark interoperability

HPCC4J and HPCC Kubernetes Clusters

Utilizing HPCC4J with containized HPCC Systems clusters requires some additional local configuration steps. These configuration steps are documented here: Using HPCC4j with HPCC on a Kubernetes Cluster

Build

These projects are configured to be built using Maven. To build the projects using Maven, navigate to the base directory of each project and issue the following command:

mvn install

NOTE: hpcccommons, wsclient, dfsclient, and spark-hpcc are controlled via the top-level maven pom file and can be built via a single command. All sub-projects can be built individually using the pom file in each sub-project directory

For more information on how to use Maven see http://maven.apache.org

Contributions

All contributions must follow the JAVA source format described in the HPCC-JAVA-Formatter.xml file which can be found in /eclipse. This formatter can be used by the Eclipse IDE to automatically format JAVA source code.

  • From eclipse, choose Window->Preferences->Java->Code Stype->Formatter...

  • Import the HPCC-JAVA-Formatter.xml file and set it as the Active profile.

  • From the JAVA editor, choose Source->Format

Knowledge Base (kb/)

This repository includes a comprehensive Knowledge Base under kb/ designed for AI agents and documentation automation. It contains structured information about the project, issues, and usage patterns.

Structure

  • kb/hpcc4j/issues/ — 771 JIRA issues converted to markdown format (organized by issue ranges: 00000-00700)
  • kb/hpcc4j/project-docs/ — Core project documentation including:
    • CodeArchitectureAnalysis.md — Comprehensive architecture overview
    • MIGRATION-10.0.md — Migration guide for version 10.0
    • README.md — Project documentation index
  • kb/hpcc4j/spark-hpcc-connector/ — Spark connector documentation and examples
  • kb/hpcc4j/wiki/ — Git submodule containing wiki content

Knowledge Base Processing

The KB infrastructure includes several processing and indexing capabilities:

  • .github/scripts/kb/ — Processing scripts for markdown conversion, chunking, and vector indexing
  • .github/workflows/kb-refinement.yml — Automated KB refinement workflow
  • Vector embedding generation using Chroma database and HuggingFace transformers
  • Configurable chunking policies for optimal AI agent consumption

This knowledge base does not affect builds or runtime and can be safely reviewed like any other documentation. For detailed build instructions, see README_KB.md.

About

Java based HPCC WebServices Client API project

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.9%
  • ECL 4.0%
  • Python 0.1%
  • Jupyter Notebook 0.0%
  • Shell 0.0%
  • PowerShell 0.0%