UnstableChanges

Summary

  1. GH-1687 Fix NPE when calling Expressions.bnode().getQueryString() (#1696) (commit: c44d694) (details)
  2. #1702 modify test to use executor service instead of parallel streams (#1703) (commit: b1ed67b) (details)
  3. Issues/#1635 fedx config (#1689) (commit: 01fffda) (details)
  4. GH-1692 mark LuceneSpinSail as deprecated (#1705) (commit: e09d1c0) (details)
  5. Create compliance.yml (commit: e412244) (details)
  6. next development iteration: 3.0.4-SNAPSHOT (commit: cd96be4) (details)
  7. set correct version (commit: fb855bd) (details)
  8. #1662 created WAL test (commit: 00ebebb) (details)
Commit c44d6943dbc9715fbbe460b271d5038e1b6e781f by Jeen Broekstra
GH-1687 Fix NPE when calling Expressions.bnode().getQueryString() (#1696)

Signed-off-by: Roman Kishchenko <rkishchenko@gmail.com>
(commit: c44d694)
The file was modifiedcore/sparqlbuilder/src/main/java/org/eclipse/rdf4j/sparqlbuilder/constraint/Expressions.java (diff)
The file was addedcore/sparqlbuilder/src/test/java/org/eclipse/rdf4j/sparqlbuilder/constraint/ExpressionsTest.java
The file was modifiedcore/sparqlbuilder/src/main/java/org/eclipse/rdf4j/sparqlbuilder/constraint/Function.java (diff)
Commit b1ed67b280e7b12553af1403bbe308a785e16cb1 by noreply
#1702 modify test to use executor service instead of parallel streams (#1703)

Signed-off-by: Håvard Ottestad <hmottestad@gmail.com>
(commit: b1ed67b)
The file was modifiedcore/sail/shacl/src/test/java/org/eclipse/rdf4j/sail/shacl/MultithreadedTest.java (diff)
Commit 01fffda8570d4b35b582fd3dcc0b901e8d8f45fd by Jeen Broekstra
Issues/#1635 fedx config (#1689)

* Move static config settings to FedXConfig in federation context

- Avoid static access to configuration settings

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Refine handling of base directory and dataConfig in fedx config

* remove baseDir and dataConfig from Config, are defined using the
Repository data dir
* deprecate support for specifying the dataConfig location in Config,
can be defined using factory instead

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Remove repository validation check (dummy query + non-empty)

Repository validation using a dummy query and a non-empty check is not
suitable in most situations.

Remove the validation for now and just test on successful repository
initialization.

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Remove explicit configurability of singleton repo connection

Can still be activated in specific endpoint implementations if desired

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Move JMX configuration from Config to FedXConfig

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Delete legacy Config + provide builder like methods to FedXConfig

Remove the legacy (singleton) config infrastructure and rely on the
newly introduced FedXConfig. Also provide builder like setter functions
for the various settings.

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Test for multiple federations + test cleanup

* cleanup fedx repository config
* cleanup tests (remove config references)
* add a test that manages to federations in the repository manager

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>

* Refine visibility of federation fields

Signed-off-by: Andreas Schwarte <aschwarte10@gmail.com>
(commit: 01fffda)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FedXFactory.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/repository/FedXRepositoryConfigTest.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/monitoring/MonitoringFactory.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/QueryManager.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/monitoring/MonitoringImpl.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FederationManager.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/ServiceTests.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/FedXWithLocalRepositoryManagerTest.java (diff)
The file was modifiedtools/federation/src/test/java/demos/Demo4.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FedXConnection.java (diff)
The file was removedtools/federation/src/test/java/demos/Demo6.java
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/FedXInRDF4JWorkbenchTest.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/write/WriteTest.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/performance/FedXPerformanceTest.java (diff)
The file was addedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FedXConfig.java
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/MediumConcurrencyTest.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/evaluation/FederationEvalStrategy.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/EndpointFactory.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/NativeStoreProvider.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/FedXRule.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/SPARQLProvider.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/evaluation/join/SynchronousBoundJoin.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/QueryTimeoutTests.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/util/FedXUtil.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/BoundJoinTests.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FedX.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/monitoring/QueryLog.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/RemoteRepositoryProvider.java (diff)
The file was modifiedtools/federation/src/test/resources/tests/rdf4jserver/config.ttl (diff)
The file was modifiedtools/federation/src/test/java/demos/GettingStartedDemo.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/repository/FedXRepositoryConfig.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/RepositoryEndpointProvider.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/NativeRepositoryInformation.java (diff)
The file was modifiedtools/federation/src/test/java/demos/Demo5.java (diff)
The file was removedtools/federation/src/main/java/org/eclipse/rdf4j/federated/util/FileUtil.java
The file was removedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/provider/ProviderUtil.java
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/FederationContext.java (diff)
The file was removedtools/federation/src/test/java/demos/MonitoringDemo.java
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/endpoint/EndpointBase.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/repository/FedXRepository.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/endpoint/EndpointFactoryTest.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/evaluation/TripleSourceBase.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/structures/QueryInfo.java (diff)
The file was modifiedtools/federation/src/test/java/org/eclipse/rdf4j/federated/endpoint/provider/NativeStoreProvideTest.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/repository/FedXRepositoryWrapper.java (diff)
The file was modifiedtools/federation/src/test/java/demos/QueryPlanLogDemo.java (diff)
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/evaluation/FederationEvaluationStrategyFactory.java (diff)
The file was removedtools/federation/src/test/resources/tests/rdf4jserver/fedxConfig.prop
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/monitoring/QueryPlanLog.java (diff)
The file was modifiedtools/federation/src/test/java/demos/Demo.java (diff)
The file was modifiedtools/federation/src/test/java/demos/Demo3.java (diff)
The file was removedtools/federation/src/test/java/demos/Demo7.java
The file was modifiedtools/federation/src/test/resources/tests/rdf4jserver/config-withDataConfig.ttl (diff)
The file was removedtools/federation/src/main/java/org/eclipse/rdf4j/federated/Config.java
The file was modifiedtools/federation/src/main/java/org/eclipse/rdf4j/federated/evaluation/join/ControlledWorkerBoundJoin.java (diff)
Commit e09d1c0fcf149e4258789ab8a2b3f4a4f12e9e93 by noreply
GH-1692 mark LuceneSpinSail as deprecated (#1705)

* GH-1692 mark LuceneSpinSail as deprecated

* fix formatting
(commit: e09d1c0)
The file was modifiedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/sail/lucene/fn/QueryTupleFunction.java (diff)
The file was modifiedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/lucene/spin/LuceneSpinSail.java (diff)
The file was addedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/lucene/spin/package-info.java
The file was modifiedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/lucene/spin/LuceneSpinSailConnection.java (diff)
The file was addedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/lucene/spin/config/package-info.java
The file was modifiedcore/sail/lucene-spin/src/main/java/org/eclipse/rdf4j/sail/lucene/fn/DistanceTupleFunction.java (diff)
The file was added.github/workflows/compliance.yml
Commit cd96be41d4ae6a867cf20fd63b26f3cb6a238764 by Jeen Broekstra
next development iteration: 3.0.4-SNAPSHOT

Signed-off-by: Jeen Broekstra <jeen.broekstra@gmail.com>
(commit: cd96be4)
The file was modifiedcore/repository/sail/pom.xml (diff)
The file was modifiedtools/pom.xml (diff)
The file was modifiedcore/repository/dataset/pom.xml (diff)
The file was modifiedcore/repository/http/pom.xml (diff)
The file was modifiedcore/sail/solr/pom.xml (diff)
The file was modifiedcompliance/lucene/pom.xml (diff)
The file was modifiedcompliance/sparql/pom.xml (diff)
The file was modifiedcore/http/pom.xml (diff)
The file was modifiedcore/queryparser/serql/pom.xml (diff)
The file was modifiedcore/rio/n3/pom.xml (diff)
The file was modifiedtools/runtime/pom.xml (diff)
The file was modifiedcore/rio/jsonld/pom.xml (diff)
The file was modifiedtools/workbench/pom.xml (diff)
The file was modifiedcore/query/pom.xml (diff)
The file was modifiedcore/sail/inferencer/pom.xml (diff)
The file was modifiedcore/queryalgebra/model/pom.xml (diff)
The file was modifiedcore/rio/nquads/pom.xml (diff)
The file was modifiedcore/sail/elasticsearch/pom.xml (diff)
The file was modifiedcompliance/serql/pom.xml (diff)
The file was modifiedcore/queryparser/api/pom.xml (diff)
The file was modifiedcore/util/pom.xml (diff)
The file was modifiedcore/sail/lucene/pom.xml (diff)
The file was modifiedcore/sail/sail-spin/pom.xml (diff)
The file was modifiedcore/queryparser/sparql/pom.xml (diff)
The file was modifiedcore/repository/event/pom.xml (diff)
The file was modifiedcore/client/pom.xml (diff)
The file was modifiedcore/queryresultio/pom.xml (diff)
The file was modifiedcompliance/elasticsearch/pom.xml (diff)
The file was modifiedcore/rio/rdfxml/pom.xml (diff)
The file was modifiedcore/queryalgebra/geosparql/pom.xml (diff)
The file was modifiedcompliance/model/pom.xml (diff)
The file was modifiedcore/model/pom.xml (diff)
The file was modifiedtools/server/pom.xml (diff)
The file was modifiedcore/sail/model/pom.xml (diff)
The file was modifiedcore/pom.xml (diff)
The file was modifiedcore/repository/pom.xml (diff)
The file was modifiedcore/http/protocol/pom.xml (diff)
The file was modifiedcore/sparqlbuilder/pom.xml (diff)
The file was modifiedcore/queryresultio/sparqljson/pom.xml (diff)
The file was modifiedtools/config/pom.xml (diff)
The file was modifiedtestsuites/benchmark/pom.xml (diff)
The file was modifiedcore/queryresultio/binary/pom.xml (diff)
The file was modifiedcore/queryparser/pom.xml (diff)
The file was modifiedpom.xml (diff)
The file was modifiedassembly/pom.xml (diff)
The file was modifiedcore/http/client/pom.xml (diff)
The file was modifiedcore/storage/pom.xml (diff)
The file was modifiedcore/queryalgebra/evaluation/pom.xml (diff)
The file was modifiedtestsuites/pom.xml (diff)
The file was modifiedcore/sail/base/pom.xml (diff)
The file was modifiedtools/runtime-osgi/pom.xml (diff)
The file was modifiedcore/rio/rdfjson/pom.xml (diff)
The file was modifiedcore/rio/datatypes/pom.xml (diff)
The file was modifiedcompliance/rio/pom.xml (diff)
The file was modifiedcore/repository/sparql/pom.xml (diff)
The file was modifiedcore/queryalgebra/pom.xml (diff)
The file was modifiedcompliance/repository/pom.xml (diff)
The file was modifiedcore/rio/ntriples/pom.xml (diff)
The file was modifiedtestsuites/sparql/pom.xml (diff)
The file was modifiedcore/repository/manager/pom.xml (diff)
The file was modifiedcore/rio/pom.xml (diff)
The file was modifiedcore/sail/lucene-api/pom.xml (diff)
The file was modifiedcore/queryresultio/api/pom.xml (diff)
The file was modifiedcore/spin/pom.xml (diff)
The file was modifiedcore/sail/shacl/pom.xml (diff)
The file was modifiedcore/queryrender/pom.xml (diff)
The file was modifiedcompliance/pom.xml (diff)
The file was modifiedcore/sail/api/pom.xml (diff)
The file was modifiedcompliance/geosparql/pom.xml (diff)
The file was modifiedcore/sail/memory/pom.xml (diff)
The file was modifiedcore/queryresultio/text/pom.xml (diff)
The file was modifiedcore/rio/languages/pom.xml (diff)
The file was modifiedcore/rio/turtle/pom.xml (diff)
The file was modifiedcore/repository/contextaware/pom.xml (diff)
The file was modifiedbom/pom.xml (diff)
The file was modifiedcore/queryresultio/sparqlxml/pom.xml (diff)
The file was modifiedcore/rio/trig/pom.xml (diff)
The file was modifiedtestsuites/rio/pom.xml (diff)
The file was modifiedcompliance/solr/pom.xml (diff)
The file was modifiedtools/console/pom.xml (diff)
The file was modifiedtestsuites/serql/pom.xml (diff)
The file was modifiedtestsuites/shacl/pom.xml (diff)
The file was modifiedcore/repository/api/pom.xml (diff)
The file was modifiedcore/sail/pom.xml (diff)
The file was modifiedtestsuites/lucene/pom.xml (diff)
The file was modifiedcore/rio/api/pom.xml (diff)
The file was modifiedcompliance/shacl/pom.xml (diff)
The file was modifiedtestsuites/geosparql/pom.xml (diff)
The file was modifiedcore/rio/trix/pom.xml (diff)
The file was modifiedcore/sail/federation/pom.xml (diff)
The file was modifiedcore/sail/lucene-spin/pom.xml (diff)
The file was modifiedtools/server-spring/pom.xml (diff)
The file was modifiedcore/sail/nativerdf/pom.xml (diff)
The file was modifiedcore/rio/binary/pom.xml (diff)
Commit fb855bd41a22c35798472692ae487da500de6de2 by Jeen Broekstra
set correct version

Signed-off-by: Jeen Broekstra <jeen.broekstra@gmail.com>
(commit: fb855bd)
The file was modifiedcore/queryresultio/text/pom.xml (diff)
The file was modifiedcore/storage/pom.xml (diff)
The file was modifiedcore/http/client/pom.xml (diff)
The file was modifiedcore/repository/sparql/pom.xml (diff)
The file was modifiedtools/runtime-osgi/pom.xml (diff)
The file was modifiedcore/queryresultio/pom.xml (diff)
The file was modifiedcore/repository/dataset/pom.xml (diff)
The file was modifiedcore/repository/sail/pom.xml (diff)
The file was modifiedcore/sail/lucene-spin/pom.xml (diff)
The file was modifiedcore/client/pom.xml (diff)
The file was modifiedcompliance/elasticsearch/pom.xml (diff)
The file was modifiedcore/sail/inferencer/pom.xml (diff)
The file was modifiedcore/rio/api/pom.xml (diff)
The file was modifiedcompliance/shacl/pom.xml (diff)
The file was modifiedcore/query/pom.xml (diff)
The file was modifiedassembly/pom.xml (diff)
The file was modifiedcore/repository/manager/pom.xml (diff)
The file was modifiedcore/model/pom.xml (diff)
The file was modifiedcore/sail/memory/pom.xml (diff)
The file was modifiedtestsuites/geosparql/pom.xml (diff)
The file was modifiedcore/rio/datatypes/pom.xml (diff)
The file was modifiedcompliance/rio/pom.xml (diff)
The file was modifiedtools/runtime/pom.xml (diff)
The file was modifiedcore/queryalgebra/evaluation/pom.xml (diff)
The file was modifiedcompliance/model/pom.xml (diff)
The file was modifiedcompliance/pom.xml (diff)
The file was modifiedcompliance/serql/pom.xml (diff)
The file was modifiedbom/pom.xml (diff)
The file was modifiedcore/sail/shacl/pom.xml (diff)
The file was modifiedcore/queryalgebra/geosparql/pom.xml (diff)
The file was modifiedcore/util/pom.xml (diff)
The file was modifiedtools/console/pom.xml (diff)
The file was modifiedcompliance/sparql/pom.xml (diff)
The file was modifiedcore/sail/base/pom.xml (diff)
The file was modifiedtools/config/pom.xml (diff)
The file was modifiedcore/queryresultio/binary/pom.xml (diff)
The file was modifiedcore/rio/binary/pom.xml (diff)
The file was modifiedcore/sail/solr/pom.xml (diff)
The file was modifiedcompliance/geosparql/pom.xml (diff)
The file was modifiedcore/sail/elasticsearch/pom.xml (diff)
The file was modifiedcore/rio/rdfxml/pom.xml (diff)
The file was modifiedcore/sail/federation/pom.xml (diff)
The file was modifiedcompliance/lucene/pom.xml (diff)
The file was modifiedtools/workbench/pom.xml (diff)
The file was modifiedcore/http/pom.xml (diff)
The file was modifiedtools/pom.xml (diff)
The file was modifiedcore/repository/api/pom.xml (diff)
The file was modifiedcore/rio/nquads/pom.xml (diff)
The file was modifiedcore/sail/lucene/pom.xml (diff)
The file was modifiedcore/repository/contextaware/pom.xml (diff)
The file was modifiedcore/rio/n3/pom.xml (diff)
The file was modifiedcore/http/protocol/pom.xml (diff)
The file was modifiedtestsuites/shacl/pom.xml (diff)
The file was modifiedcore/repository/event/pom.xml (diff)
The file was modifiedcore/sail/model/pom.xml (diff)
The file was modifiedtestsuites/rio/pom.xml (diff)
The file was modifiedcore/pom.xml (diff)
The file was modifiedcore/rio/turtle/pom.xml (diff)
The file was modifiedcore/spin/pom.xml (diff)
The file was modifiedtools/server-spring/pom.xml (diff)
The file was modifiedcompliance/solr/pom.xml (diff)
The file was modifiedcore/queryresultio/api/pom.xml (diff)
The file was modifiedcore/repository/pom.xml (diff)
The file was modifiedcore/sail/sail-spin/pom.xml (diff)
The file was modifiedcore/queryrender/pom.xml (diff)
The file was modifiedpom.xml (diff)
The file was modifiedcore/rio/trix/pom.xml (diff)
The file was modifiedcore/sail/lucene-api/pom.xml (diff)
The file was modifiedtestsuites/pom.xml (diff)
The file was modifiedcore/rio/languages/pom.xml (diff)
The file was modifiedcore/rio/trig/pom.xml (diff)
The file was modifiedcore/sparqlbuilder/pom.xml (diff)
The file was modifiedcore/rio/ntriples/pom.xml (diff)
The file was modifiedcore/repository/http/pom.xml (diff)
The file was modifiedcore/rio/rdfjson/pom.xml (diff)
The file was modifiedcore/queryalgebra/model/pom.xml (diff)
The file was modifiedtools/server/pom.xml (diff)
The file was modifiedcore/queryparser/serql/pom.xml (diff)
The file was modifiedcore/queryparser/sparql/pom.xml (diff)
The file was modifiedcore/queryresultio/sparqlxml/pom.xml (diff)
The file was modifiedcore/rio/pom.xml (diff)
The file was modifiedcore/sail/nativerdf/pom.xml (diff)
The file was modifiedcore/queryalgebra/pom.xml (diff)
The file was modifiedcore/rio/jsonld/pom.xml (diff)
The file was modifiedcompliance/repository/pom.xml (diff)
The file was modifiedcore/sail/pom.xml (diff)
The file was modifiedtestsuites/sparql/pom.xml (diff)
The file was modifiedcore/queryparser/api/pom.xml (diff)
The file was modifiedcore/queryresultio/sparqljson/pom.xml (diff)
The file was modifiedcore/sail/api/pom.xml (diff)
The file was modifiedtestsuites/benchmark/pom.xml (diff)
The file was modifiedtestsuites/lucene/pom.xml (diff)
The file was modifiedcore/queryparser/pom.xml (diff)
The file was modifiedtestsuites/serql/pom.xml (diff)
Commit 00ebebbfc09a3536c8c631a94cc3d2f82166df8f by hmottestad
#1662 created WAL test

Signed-off-by: Håvard Ottestad <hmottestad@gmail.com>
(commit: 00ebebb)
The file was addedcore/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ClientWithStats.java
The file was addedcore/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStoreWALTest.java
The file was modifiedcore/sail/elasticsearch-store/src/main/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchStore.java (diff)
The file was modifiedcore/sail/elasticsearch-store/src/main/java/org/eclipse/rdf4j/sail/elasticsearchstore/UnclosableClientProvider.java (diff)
The file was addedcore/sail/elasticsearch-store/src/test/java/org/eclipse/rdf4j/sail/elasticsearchstore/ClientProviderWithDebugStats.java
The file was modifiedcore/sail/elasticsearch-store/src/main/java/org/eclipse/rdf4j/sail/elasticsearchstore/ElasticsearchDataStructure.java (diff)