Skip to content
CAI
Software that uses CAICheck a score

croc-code/jxfw

50.7

Adequate · 20 September 2026

95.4k

lines of production code

Java

primary language

4

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a code generation framework, specifically a facade generator, that produces web client and export controllers. It has recently been simplified by removing legacy BIRT reporting support, shifting its focus to standard web artifacts. The project also manages its own build configuration and dependency updates for underlying libraries.

Removals

Removal of BIRT reporting support from the facade generator

The wcgen-maven-plugin no longer generates BIRT-specific controllers or data sets. The BIRT reporting engine has been commented out in the core ReportingEngine enum, and the BIRT-specific creator classes (BirtDataSetCreator, WebClientBirtReportControllerCreator) have been deleted. The DataSourceCreator interface and its implementations (WebClientDataSourceCreator, FacadeGenerator) have been updated to remove the birtReports parameter and all conditional logic that generated BIRT artifacts, simplifying the facade generation to focus on standard web client and export controllers.

jxfw-core-runtime, wcgen-maven-plugin · high confidence

Dependencies

Dependency updates and build configuration changes

This release updates several underlying libraries to newer versions: commons-io to 2.7, xercesImpl to 2.12.2, bcprov-jdk14 to 1.67, and xtend to 2.25.0. Additionally, the build configuration has been adjusted to skip deployment for the jxfw-cli module and the root project, while the parent POM now includes the maven-deploy-plugin and configures distribution management for GitHub Packages. The Aspose repository URL has also been updated, and the jxfw-reporting-birt dependency has been commented out in the wcgen-maven-plugin.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 44 → 51 (+6.3)
  • Rubric changed (rubric-2026.08.17 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 73 → 83 (+9.7)
  • Architecture 100 → 98 (-2.0)
  • Maturity 35 → 54 (+18.9)
  • Readiness 44 → 47 (+3.0)
  • Security 38 → 40 (+1.4)
  • Domain Modelling 100 → 100 (+0.0)

Resolved (136)

  • Coverage not included — suite not readable by the collector
  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (10 lines × 2) (jxfw-core-runtime/src/main/java/ru/croc/ctp/jxfw/core/validation/jdk7/validator/MaxExclusiveValidator.java)
  • Duplicated block (10 lines × 2) (jxfw-core-runtime/src/main/java/ru/croc/ctp/jxfw/core/validation/jdk7/validator/MinExclusiveValidator.java)
  • Duplicated block (10 lines × 2) (jxfw-eclipse-bundles/bundles/jxfw-metamodel/src/main/java/ru/croc/ctp/jxfw/metamodel/runtime/impl/XfwEnumerationImpl.java)
  • Duplicated block (10 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/facade/webclient/ReportController.java)
  • Duplicated block (10 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/word/rendering/WordRenderer.java)
  • Duplicated block (10 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/word/rendering/WordRenderer.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer-facade-gen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/transfer/TransferToServiceGenerator.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer/src/main/java/ru/croc/ctp/jxfw/transfer/impl/TransferServiceImpl.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer/src/main/java/ru/croc/ctp/jxfw/transfer/service/TransferToTransformerImpl.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer/src/main/java/ru/croc/ctp/jxfw/transfer/service/TransferToTransformerImpl.java)
  • Duplicated block (10 lines × 2) (wcgen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/solr/ToServiceGeneratorSolr.java)
  • Duplicated block (10 lines × 4) (jxfw-jpa-runtime/src/main/java/ru/croc/ctp/jxfw/jpa/hibernate/dialect/XfwH2Dialect.java)
  • Duplicated block (10–11 lines × 3) (jxfw-jpa-runtime/src/main/java/ru/croc/ctp/jxfw/jpa/exception/impl/H2DbExceptionParser.java)
  • Duplicated block (10–13 lines × 3) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/layouts/TableLayout.java)
  • Duplicated block (11 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/fowriter/CommonTable.java)
  • Duplicated block (11 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/word/processing/tree/element/root/GenericArea.java)
  • Duplicated block (11 lines × 2) (jxfw-transfer-facade-gen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/transfer/TransferToServiceGenerator.java)
  • Duplicated block (11 lines × 2) (jxfw-transfer-facade-gen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/transfer/TransferToServiceGenerator.java)
  • …and 116 more

New (323)

  • ClassTooLong: AreaTreeBuilder (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/excel/core/processing/tree/AreaTreeBuilder.java)
  • ClassTooLong: AttributeParser (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/excel/core/processing/attribute/AttributeParser.java)
  • ClassTooLong: EcoreGenerator (jxfw-core-compile/src/main/java/ru/croc/ctp/jxfw/core/generator/EcoreGenerator.java)
  • ClassTooLong: GenericLayoutManager (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/excel/core/processing/layout/layoutmanager/GenericLayoutManager.java)
  • ClassTooLong: ToServiceGenerator (wcgen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/ToServiceGenerator.java)
  • ClassTooLong: ToServiceGeneratorSolr (wcgen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/solr/ToServiceGeneratorSolr.java)
  • ClassTooLong: TransferToServiceGenerator (jxfw-transfer-facade-gen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/transfer/TransferToServiceGenerator.java)
  • ClassTooLong: WebClientControllerCreator (wcgen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/WebClientControllerCreator.java)
  • ClassTooLong: WordRenderer (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/renderer/word/rendering/WordRenderer.java)
  • ClassTooLong: XMMEditor (jxfw-eclipse-bundles/bundles/jxfw-metamodel.editor/src/ru/croc/ctp/jxfw/XtendMetaModel/presentation/XMMEditor.java)
  • ClassTooLong: XslFoProfileWriter (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/fowriter/XslFoProfileWriter.java)
  • Coverage not measured — no coverage collector is wired up
  • Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
  • Documentation: no usage examples (README.md)
  • Duplicated block (10 lines × 2) (jxfw-reporting-xsl-fo/src/main/java/ru/croc/ctp/jxfw/reporting/xslfo/fowriter/TransponedTable.java)
  • Duplicated block (10 lines × 2) (jxfw-solr-runtime/src/main/java/ru/croc/ctp/jxfw/solr/facade/webclient/CriteriaComposer.java)
  • Duplicated block (10 lines × 2) (jxfw-solr-runtime/src/main/java/ru/croc/ctp/jxfw/solr/facade/webclient/CriteriaComposer.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer-facade-gen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/transfer/TransferToServiceGenerator.java)
  • Duplicated block (10 lines × 2) (jxfw-transfer/src/main/java/ru/croc/ctp/jxfw/transfer/service/TransferToTransformerImpl.java)
  • Duplicated block (10 lines × 2) (wcgen-maven-plugin/src/main/java/ru/croc/ctp/jxfw/facade/WebClientDataSourceCreator.java)
  • …and 303 more

Architecture

  • Containers 0 added · 0 removed · contexts 8 added · 1 removed · edges 8 added · 0 removed

Added bounded contexts (8)

  • jxfw-cli
  • jxfw-core-compile
  • jxfw-core-runtime
  • jxfw-jpa-runtime
  • jxfw-metamodel
  • jxfw-reporting-birt
  • jxfw-reporting-xsl-fo
  • jxfw-transfer

Removed bounded contexts (1)

  • wcgen-maven-plugin

Added dependency edges (8)

  • jxfw-core-compile → jxfw-metamodel
  • jxfw-core-runtime → jxfw-metamodel
  • jxfw-jpa-runtime → jxfw-core-runtime
  • jxfw-jpa-runtime → jxfw-metamodel
  • jxfw-reporting-birt → jxfw-core-runtime
  • jxfw-reporting-xsl-fo → jxfw-core-runtime
  • jxfw-transfer → jxfw-core-runtime
  • jxfw-transfer → jxfw-metamodel

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

croc-code/jxfw was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 7af05aa6579a8dfd0e83c918b0e46195eb0802cf — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.