Skip to content

JNexus v1.1

Choose a tag to compare

@sfloess sfloess released this 22 May 10:23
· 153 commits to main since this release

Enhanced Search, Filtering, and Statistics

Building on v1.0, this release adds advanced search capabilities and comprehensive repository analytics.

New Features

Advanced Search and Filtering

  • Size range filters (min/max bytes)
  • Date range filters (created after/before, ISO 8601 format)
  • File extension filter
  • Component name pattern matching
  • All filters can be combined

Repository Statistics

  • Size distribution across 5 buckets (<1MB, 1-10MB, 10-100MB, 100MB-1GB, >1GB)
  • File type breakdown by extension
  • Age distribution (last 7/30/90 days, older)
  • Largest components (top 20)
  • Average and median size calculations

Enhanced Swing GUI

  • Advanced filters panel (collapsible)
  • Statistics dialog with 5 tabs (Overview, Size Distribution, File Types, Age Distribution, Largest Components)
  • Component details dialog (double-click to view full metadata)
  • 7-column table with File Size (Bytes), File Size (MB), File Size (GB), Created, Content Type
  • Numeric sorting for size columns

Enhanced CLI

  • New stats command for repository statistics (text and JSON output)
  • Enhanced list command with new options:
    • --min-size BYTES - Minimum file size filter
    • --max-size BYTES - Maximum file size filter
    • --created-after DATE - Creation date filter
    • --created-before DATE - Creation date filter
    • --extension EXT - File extension filter
    • --show-metadata - Display full component metadata

Data Models

  • ComponentMetadata - Full metadata with contentType, format, createdDate, lastModified, checksum
  • SearchCriteria - Advanced search filters with Builder pattern
  • RepositoryStats - Comprehensive statistics record

Testing

  • 155 comprehensive tests (unit + integration)
  • Metadata caching tests
  • Statistics calculation tests

Requirements

  • Java 21+
  • Linux/macOS/Windows

Installation

# Download from packagecloud.io
wget https://packagecloud.io/flossware/java/packages/java/jnexus-1.1-jar-with-dependencies.jar/download
java -jar jnexus-1.1-jar-with-dependencies.jar stats <repository>

Note: This is a desktop-only release. The Android mobile app was added in v1.2.