You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xtable.apache.org by jc...@apache.org on 2024/03/10 01:27:55 UTC
(incubator-xtable) branch main updated: Repackaging code under the apache namespace
This is an automated email from the ASF dual-hosted git repository.
jcamacho pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-xtable.git
The following commit(s) were added to refs/heads/main by this push:
new 243e981d Repackaging code under the apache namespace
243e981d is described below
commit 243e981d9458d9fb731842ddaaa0b551bbfdff77
Author: Jesus Camacho Rodriguez <jc...@apache.org>
AuthorDate: Sat Mar 9 17:24:58 2024 -0800
Repackaging code under the apache namespace
Closes #374
---
README.md | 4 +-
api/pom.xml | 6 +-
.../apache/xtable}/client/CatalogConfig.java | 2 +-
.../apache/xtable}/client/HudiSourceConfig.java | 4 +-
.../apache/xtable}/client/PerTableConfig.java | 4 +-
.../apache/xtable}/model/CommitsBacklog.java | 2 +-
.../xtable}/model/IncrementalTableChanges.java | 2 +-
.../xtable}/model/InstantsForIncrementalSync.java | 2 +-
.../apache/xtable}/model/OneSnapshot.java | 6 +-
.../apache/xtable}/model/OneTable.java | 8 +-
.../apache/xtable}/model/OneTableMetadata.java | 2 +-
.../apache/xtable}/model/TableChange.java | 4 +-
.../xtable}/model/exception/OneParseException.java | 2 +-
.../xtable}/model/exception/OneTableErrorCode.java | 2 +-
.../xtable}/model/exception/OneTableException.java | 2 +-
.../apache/xtable}/model/schema/OneField.java | 2 +-
.../xtable}/model/schema/OnePartitionField.java | 2 +-
.../apache/xtable}/model/schema/OneSchema.java | 2 +-
.../apache/xtable}/model/schema/OneType.java | 2 +-
.../model/schema/PartitionTransformType.java | 2 +-
.../apache/xtable}/model/schema/SchemaCatalog.java | 2 +-
.../apache/xtable}/model/schema/SchemaVersion.java | 2 +-
.../apache/xtable}/model/stat/ColumnStat.java | 4 +-
.../apache/xtable}/model/stat/PartitionValue.java | 4 +-
.../apache/xtable}/model/stat/Range.java | 10 +--
.../xtable}/model/storage/DataFilesDiff.java | 2 +-
.../xtable}/model/storage/DataLayoutStrategy.java | 2 +-
.../apache/xtable}/model/storage/FileFormat.java | 2 +-
.../apache/xtable}/model/storage/OneDataFile.java | 8 +-
.../xtable}/model/storage/OneDataFilesDiff.java | 2 +-
.../apache/xtable}/model/storage/OneFileGroup.java | 4 +-
.../apache/xtable}/model/storage/TableFormat.java | 2 +-
.../apache/xtable}/model/sync/SyncMode.java | 2 +-
.../apache/xtable}/model/sync/SyncResult.java | 2 +-
.../xtable}/model/validation/ValidationCheck.java | 2 +-
.../model/validation/ValidationChecker.java | 6 +-
.../xtable}/model/validation/ValidationResult.java | 2 +-
.../xtable}/spi/extractor/ChangesExtractor.java | 4 +-
.../xtable}/spi/extractor/DataFileIterator.java | 4 +-
.../xtable}/spi/extractor/ExtractFromSource.java | 9 +-
.../spi/extractor/SchemaCatalogExtractor.java | 4 +-
.../xtable}/spi/extractor/SchemaExtractor.java | 4 +-
.../xtable}/spi/extractor/SnapshotExtractor.java | 4 +-
.../apache/xtable}/spi/extractor/SourceClient.java | 11 ++-
.../extractor/SourcePartitionSpecExtractor.java | 8 +-
.../xtable}/spi/extractor/TableExtractor.java | 4 +-
.../apache/xtable}/spi/sync/TableFormatSync.java | 16 ++--
.../apache/xtable}/spi/sync/TargetClient.java | 16 ++--
.../xtable}/model/storage/TestDataFilesDiff.java | 2 +-
.../model/storage/TestOneDataFilesDiff.java | 2 +-
.../spi/extractor/TestExtractFromSource.java | 18 ++--
.../xtable}/spi/sync/TestTableFormatSync.java | 32 ++++----
core/pom.xml | 12 +--
.../apache/xtable}/avro/AvroSchemaConverter.java | 33 ++++----
.../apache/xtable}/client/OneTableClient.java | 24 +++---
.../apache/xtable}/client/PerTableConfigImpl.java | 8 +-
.../xtable}/client/SourceClientProvider.java | 4 +-
.../xtable}/client/TableFormatClientFactory.java | 6 +-
.../xtable}/collectors/CustomCollectors.java | 2 +-
.../xtable}/constants/OneTableConstants.java | 2 +-
.../xtable}/delta/DeltaActionsConverter.java | 14 ++--
.../apache/xtable}/delta/DeltaClient.java | 22 ++---
.../apache/xtable}/delta/DeltaClientUtils.java | 2 +-
.../xtable}/delta/DeltaDataFileExtractor.java | 14 ++--
.../delta/DeltaDataFileUpdatesExtractor.java | 25 +++---
.../delta/DeltaIncrementalChangesState.java | 2 +-
.../xtable}/delta/DeltaPartitionExtractor.java | 24 +++---
.../apache/xtable}/delta/DeltaSchemaExtractor.java | 37 +++++----
.../apache/xtable}/delta/DeltaSourceClient.java | 29 ++++---
.../xtable}/delta/DeltaSourceClientProvider.java | 6 +-
.../apache/xtable}/delta/DeltaStatsExtractor.java | 23 +++---
.../apache/xtable}/delta/DeltaTableExtractor.java | 12 +--
.../apache/xtable}/delta/DeltaValueConverter.java | 12 +--
.../apache/xtable}/delta/ScalaUtils.java | 2 +-
.../xtable}/exception/ConfigurationException.java | 6 +-
.../xtable}/exception/NotSupportedException.java | 6 +-
.../apache/xtable}/exception/OneIOException.java | 6 +-
.../xtable}/exception/PartitionSpecException.java | 6 +-
.../PartitionValuesExtractorException.java | 6 +-
.../exception/SchemaExtractorException.java | 6 +-
.../exception/UnsupportedSchemaTypeException.java | 6 +-
.../xtable}/hudi/BaseFileUpdatesExtractor.java | 18 ++--
.../ConfigurationBasedPartitionSpecExtractor.java | 10 +--
.../apache/xtable}/hudi/HudiClient.java | 39 +++++----
.../apache/xtable}/hudi/HudiDataFileExtractor.java | 25 +++---
.../apache/xtable}/hudi/HudiFileStats.java | 4 +-
.../xtable}/hudi/HudiFileStatsExtractor.java | 24 +++---
.../apache/xtable}/hudi/HudiInstantUtils.java | 4 +-
.../xtable}/hudi/HudiPartitionValuesExtractor.java | 12 +--
.../apache/xtable}/hudi/HudiPathUtils.java | 2 +-
.../xtable}/hudi/HudiSchemaCatalogExtractor.java | 12 +--
.../apache/xtable}/hudi/HudiSchemaExtractor.java | 10 +--
.../xtable}/hudi/HudiSourceClientProvider.java | 6 +-
.../apache/xtable}/hudi/HudiSourceConfigImpl.java | 8 +-
.../hudi/HudiSourcePartitionSpecExtractor.java | 4 +-
.../apache/xtable}/hudi/HudiTableExtractor.java | 24 +++---
.../apache/xtable}/hudi/HudiTableManager.java | 12 +--
.../apache/xtable}/hudi/HudiTargetClient.java | 40 ++++-----
.../xtable}/iceberg/IcebergCatalogConfig.java | 6 +-
.../apache/xtable}/iceberg/IcebergClient.java | 24 +++---
.../iceberg/IcebergColumnStatsConverter.java | 13 ++-
.../xtable}/iceberg/IcebergDataFileExtractor.java | 14 ++--
.../iceberg/IcebergDataFileUpdatesSync.java | 19 +++--
.../iceberg/IcebergPartitionSpecExtractor.java | 14 ++--
.../xtable}/iceberg/IcebergPartitionSpecSync.java | 2 +-
.../iceberg/IcebergPartitionValueConverter.java | 20 ++---
.../iceberg/IcebergPartitionValueExtractor.java | 6 +-
.../xtable}/iceberg/IcebergSchemaExtractor.java | 22 ++---
.../apache/xtable}/iceberg/IcebergSchemaSync.java | 4 +-
.../xtable}/iceberg/IcebergSourceClient.java | 34 ++++----
.../iceberg/IcebergSourceClientProvider.java | 6 +-
.../xtable}/iceberg/IcebergTableManager.java | 2 +-
.../apache/xtable}/paths/PathUtils.java | 2 +-
.../apache/xtable}/reflection/ReflectionUtils.java | 4 +-
.../apache/xtable}/schema/SchemaFieldFinder.java | 6 +-
.../apache/xtable}/schema/SchemaUtils.java | 2 +-
...ent => org.apache.xtable.spi.sync.TargetClient} | 6 +-
.../apache/xtable}/GenericTable.java | 8 +-
.../apache/xtable}/ITOneTableClient.java | 34 ++++----
.../apache/xtable}/TestAbstractHudiTable.java | 4 +-
.../apache/xtable}/TestIcebergTable.java | 7 +-
.../apache/xtable}/TestJavaHudiTable.java | 2 +-
.../apache/xtable}/TestSparkDeltaTable.java | 9 +-
.../apache/xtable}/TestSparkHudiTable.java | 2 +-
.../apache/xtable}/ValidationTestHelper.java | 8 +-
.../xtable}/avro/TestAvroSchemaConverter.java | 10 +--
.../apache/xtable}/client/TestOneTableClient.java | 30 +++----
.../apache/xtable}/client/TestPerTableConfig.java | 8 +-
.../client/TestTableFormatClientFactory.java | 12 +--
.../apache/xtable}/delta/ITDeltaSourceClient.java | 96 ++++++++++++----------
.../apache/xtable}/delta/TestDeltaHelper.java | 8 +-
.../xtable}/delta/TestDeltaPartitionExtractor.java | 16 ++--
.../xtable}/delta/TestDeltaSchemaExtractor.java | 8 +-
.../xtable}/delta/TestDeltaStatsExtractor.java | 16 ++--
.../apache/xtable}/delta/TestDeltaSync.java | 36 ++++----
.../xtable}/delta/TestDeltaValueConverter.java | 8 +-
.../apache/xtable}/hudi/HudiTestUtil.java | 4 +-
.../apache/xtable}/hudi/ITHudiSourceClient.java | 92 ++++++++++++---------
.../apache/xtable}/hudi/ITHudiTargetClient.java | 46 +++++------
.../xtable}/hudi/TestBaseFileUpdatesExtractor.java | 40 ++++-----
.../xtable}/hudi/TestHudiFileStatsExtractor.java | 22 ++---
.../apache/xtable}/hudi/TestHudiInstantUtils.java | 2 +-
.../hudi/TestHudiPartitionValuesExtractor.java | 18 ++--
.../xtable}/hudi/TestHudiSchemaExtractor.java | 6 +-
.../apache/xtable}/hudi/TestHudiTableManager.java | 16 ++--
.../apache/xtable}/hudi/TestHudiTargetClient.java | 24 +++---
.../xtable}/iceberg/ITIcebergSourceClient.java | 28 +++----
.../apache/xtable}/iceberg/IcebergTestUtils.java | 2 +-
.../apache/xtable}/iceberg/StubCatalog.java | 2 +-
.../iceberg/TestIcebergColumnStatsConverter.java | 12 +--
.../xtable}/iceberg/TestIcebergDataHelper.java | 4 +-
.../iceberg/TestIcebergPartitionSpecExtractor.java | 14 ++--
.../iceberg/TestIcebergPartitionSpecSync.java | 2 +-
.../TestIcebergPartitionValueConverter.java | 16 ++--
.../iceberg/TestIcebergSchemaExtractor.java | 8 +-
.../xtable}/iceberg/TestIcebergSchemaSync.java | 4 +-
.../xtable}/iceberg/TestIcebergSourceClient.java | 35 +++++---
.../apache/xtable}/iceberg/TestIcebergSync.java | 44 +++++-----
.../xtable}/iceberg/TestIcebergTableManager.java | 2 +-
.../apache/xtable}/loadtest/LoadTest.java | 18 ++--
.../apache/xtable}/paths/TestPathUtils.java | 2 +-
.../apache/xtable}/testutil/ColumnStatMapUtil.java | 12 +--
.../apache/xtable}/testutil/Issues.java | 2 +-
core/src/test/resources/log4j2.xml | 2 +-
demo/notebook/demo.ipynb | 16 ++--
demo/start_demo.sh | 4 +-
hudi-support/extensions/README.md | 6 +-
hudi-support/extensions/pom.xml | 8 +-
.../extensions/AddFieldIdsClientInitCallback.java | 4 +-
.../HoodieAvroWriteSupportWithFieldIds.java | 8 +-
.../xtable}/hudi/sync/OneTableSyncConfig.java | 2 +-
.../apache/xtable}/hudi/sync/OneTableSyncTool.java | 18 ++--
.../TestAddFieldIdsClientInitCallback.java | 4 +-
.../xtable}/hudi/sync/TestOneTableSyncTool.java | 2 +-
hudi-support/pom.xml | 4 +-
hudi-support/utils/pom.xml | 2 +-
.../apache/xtable}/hudi/idtracking/IdTracker.java | 6 +-
.../xtable}/hudi/idtracking/models/IdMapping.java | 2 +-
.../xtable}/hudi/idtracking/models/IdTracking.java | 2 +-
.../xtable}/hudi/idtracking/TestIdTracker.java | 6 +-
pom.xml | 25 ++----
utilities/pom.xml | 14 ++--
.../apache/xtable}/utilities/RunSync.java | 24 +++---
.../main/resources/onetable-client-defaults.yaml | 10 +--
.../apache/xtable}/utilities/TestRunSync.java | 24 +++---
website/docs/biglake-metastore.md | 2 +-
website/docs/bigquery.md | 4 +-
187 files changed, 1061 insertions(+), 1012 deletions(-)
diff --git a/README.md b/README.md
index f3c4afdb..71061d9a 100644
--- a/README.md
+++ b/README.md
@@ -77,9 +77,9 @@ datasets:
# configuration: A map of configuration values specific to this client.
tableFormatsClients:
HUDI:
- sourceClientProviderClass: io.onetable.hudi.HudiSourceClientProvider
+ sourceClientProviderClass: org.apache.xtable.hudi.HudiSourceClientProvider
DELTA:
- targetClientProviderClass: io.onetable.delta.DeltaClient
+ targetClientProviderClass: org.apache.xtable.delta.DeltaClient
configuration:
spark.master: local[2]
spark.app.name: onetableclient
diff --git a/api/pom.xml b/api/pom.xml
index 09d35d20..53bdce11 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -3,12 +3,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <artifactId>onetable-api</artifactId>
+ <artifactId>xtable-api</artifactId>
<name>api</name>
<parent>
- <artifactId>onetable</artifactId>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
diff --git a/api/src/main/java/io/onetable/client/CatalogConfig.java b/api/src/main/java/org/apache/xtable/client/CatalogConfig.java
similarity index 97%
rename from api/src/main/java/io/onetable/client/CatalogConfig.java
rename to api/src/main/java/org/apache/xtable/client/CatalogConfig.java
index 4fca6fc3..0bd49687 100644
--- a/api/src/main/java/io/onetable/client/CatalogConfig.java
+++ b/api/src/main/java/org/apache/xtable/client/CatalogConfig.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.util.Map;
diff --git a/api/src/main/java/io/onetable/client/HudiSourceConfig.java b/api/src/main/java/org/apache/xtable/client/HudiSourceConfig.java
similarity index 90%
rename from api/src/main/java/io/onetable/client/HudiSourceConfig.java
rename to api/src/main/java/org/apache/xtable/client/HudiSourceConfig.java
index 78d08231..113fcb75 100644
--- a/api/src/main/java/io/onetable/client/HudiSourceConfig.java
+++ b/api/src/main/java/org/apache/xtable/client/HudiSourceConfig.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
-import io.onetable.spi.extractor.SourcePartitionSpecExtractor;
+import org.apache.xtable.spi.extractor.SourcePartitionSpecExtractor;
public interface HudiSourceConfig {
public String getPartitionSpecExtractorClass();
diff --git a/api/src/main/java/io/onetable/client/PerTableConfig.java b/api/src/main/java/org/apache/xtable/client/PerTableConfig.java
similarity index 93%
rename from api/src/main/java/io/onetable/client/PerTableConfig.java
rename to api/src/main/java/org/apache/xtable/client/PerTableConfig.java
index 53efd36b..f9179439 100644
--- a/api/src/main/java/io/onetable/client/PerTableConfig.java
+++ b/api/src/main/java/org/apache/xtable/client/PerTableConfig.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.util.List;
-import io.onetable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncMode;
public interface PerTableConfig {
int getTargetMetadataRetentionInHours();
diff --git a/api/src/main/java/io/onetable/model/CommitsBacklog.java b/api/src/main/java/org/apache/xtable/model/CommitsBacklog.java
similarity index 99%
rename from api/src/main/java/io/onetable/model/CommitsBacklog.java
rename to api/src/main/java/org/apache/xtable/model/CommitsBacklog.java
index 8ae53eed..9ecf5fb8 100644
--- a/api/src/main/java/io/onetable/model/CommitsBacklog.java
+++ b/api/src/main/java/org/apache/xtable/model/CommitsBacklog.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.Collections;
diff --git a/api/src/main/java/io/onetable/model/IncrementalTableChanges.java b/api/src/main/java/org/apache/xtable/model/IncrementalTableChanges.java
similarity index 97%
rename from api/src/main/java/io/onetable/model/IncrementalTableChanges.java
rename to api/src/main/java/org/apache/xtable/model/IncrementalTableChanges.java
index 68accd33..2d840b8b 100644
--- a/api/src/main/java/io/onetable/model/IncrementalTableChanges.java
+++ b/api/src/main/java/org/apache/xtable/model/IncrementalTableChanges.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.Collections;
diff --git a/api/src/main/java/io/onetable/model/InstantsForIncrementalSync.java b/api/src/main/java/org/apache/xtable/model/InstantsForIncrementalSync.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/InstantsForIncrementalSync.java
rename to api/src/main/java/org/apache/xtable/model/InstantsForIncrementalSync.java
index 4ac24882..7c00bf21 100644
--- a/api/src/main/java/io/onetable/model/InstantsForIncrementalSync.java
+++ b/api/src/main/java/org/apache/xtable/model/InstantsForIncrementalSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.Collections;
diff --git a/api/src/main/java/io/onetable/model/OneSnapshot.java b/api/src/main/java/org/apache/xtable/model/OneSnapshot.java
similarity index 93%
rename from api/src/main/java/io/onetable/model/OneSnapshot.java
rename to api/src/main/java/org/apache/xtable/model/OneSnapshot.java
index cd0ba03a..7708ae60 100644
--- a/api/src/main/java/io/onetable/model/OneSnapshot.java
+++ b/api/src/main/java/org/apache/xtable/model/OneSnapshot.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.Collections;
@@ -25,8 +25,8 @@ import java.util.List;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.storage.OneFileGroup;
/**
* Snapshot represents the view of the table at a specific point in time. Snapshot captures all the
diff --git a/api/src/main/java/io/onetable/model/OneTable.java b/api/src/main/java/org/apache/xtable/model/OneTable.java
similarity index 88%
rename from api/src/main/java/io/onetable/model/OneTable.java
rename to api/src/main/java/org/apache/xtable/model/OneTable.java
index 6578e66a..207e1d9c 100644
--- a/api/src/main/java/io/onetable/model/OneTable.java
+++ b/api/src/main/java/org/apache/xtable/model/OneTable.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.List;
@@ -24,9 +24,9 @@ import java.util.List;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
/**
* Represents a reference to the table in the format {@link #tableFormat}.
diff --git a/api/src/main/java/io/onetable/model/OneTableMetadata.java b/api/src/main/java/org/apache/xtable/model/OneTableMetadata.java
similarity index 99%
rename from api/src/main/java/io/onetable/model/OneTableMetadata.java
rename to api/src/main/java/org/apache/xtable/model/OneTableMetadata.java
index 95e24329..78aadba5 100644
--- a/api/src/main/java/io/onetable/model/OneTableMetadata.java
+++ b/api/src/main/java/org/apache/xtable/model/OneTableMetadata.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import java.time.Instant;
import java.util.Arrays;
diff --git a/api/src/main/java/io/onetable/model/TableChange.java b/api/src/main/java/org/apache/xtable/model/TableChange.java
similarity index 93%
rename from api/src/main/java/io/onetable/model/TableChange.java
rename to api/src/main/java/org/apache/xtable/model/TableChange.java
index 5c04393b..76627c9f 100644
--- a/api/src/main/java/io/onetable/model/TableChange.java
+++ b/api/src/main/java/org/apache/xtable/model/TableChange.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.model;
+package org.apache.xtable.model;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
/**
* Captures the changes in a single commit/instant from the source table.
diff --git a/api/src/main/java/io/onetable/model/exception/OneParseException.java b/api/src/main/java/org/apache/xtable/model/exception/OneParseException.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/exception/OneParseException.java
rename to api/src/main/java/org/apache/xtable/model/exception/OneParseException.java
index 10f312c7..e615d01b 100644
--- a/api/src/main/java/io/onetable/model/exception/OneParseException.java
+++ b/api/src/main/java/org/apache/xtable/model/exception/OneParseException.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.exception;
+package org.apache.xtable.model.exception;
public class OneParseException extends OneTableException {
public OneParseException(String message, Throwable e) {
diff --git a/api/src/main/java/io/onetable/model/exception/OneTableErrorCode.java b/api/src/main/java/org/apache/xtable/model/exception/OneTableErrorCode.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/exception/OneTableErrorCode.java
rename to api/src/main/java/org/apache/xtable/model/exception/OneTableErrorCode.java
index 5ee207f7..89342abb 100644
--- a/api/src/main/java/io/onetable/model/exception/OneTableErrorCode.java
+++ b/api/src/main/java/org/apache/xtable/model/exception/OneTableErrorCode.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.exception;
+package org.apache.xtable.model.exception;
public enum OneTableErrorCode {
INVALID_CONFIGURATION(10001),
diff --git a/api/src/main/java/io/onetable/model/exception/OneTableException.java b/api/src/main/java/org/apache/xtable/model/exception/OneTableException.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/exception/OneTableException.java
rename to api/src/main/java/org/apache/xtable/model/exception/OneTableException.java
index 0c5453aa..7cdcef49 100644
--- a/api/src/main/java/io/onetable/model/exception/OneTableException.java
+++ b/api/src/main/java/org/apache/xtable/model/exception/OneTableException.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.exception;
+package org.apache.xtable.model.exception;
import lombok.ToString;
diff --git a/api/src/main/java/io/onetable/model/schema/OneField.java b/api/src/main/java/org/apache/xtable/model/schema/OneField.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/schema/OneField.java
rename to api/src/main/java/org/apache/xtable/model/schema/OneField.java
index ee525dbc..409e5ee6 100644
--- a/api/src/main/java/io/onetable/model/schema/OneField.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/OneField.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import lombok.Builder;
import lombok.Getter;
diff --git a/api/src/main/java/io/onetable/model/schema/OnePartitionField.java b/api/src/main/java/org/apache/xtable/model/schema/OnePartitionField.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/schema/OnePartitionField.java
rename to api/src/main/java/org/apache/xtable/model/schema/OnePartitionField.java
index d5af0470..d438b2c5 100644
--- a/api/src/main/java/io/onetable/model/schema/OnePartitionField.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/OnePartitionField.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import java.util.Collections;
import java.util.List;
diff --git a/api/src/main/java/io/onetable/model/schema/OneSchema.java b/api/src/main/java/org/apache/xtable/model/schema/OneSchema.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/schema/OneSchema.java
rename to api/src/main/java/org/apache/xtable/model/schema/OneSchema.java
index 431f593d..fb0b5117 100644
--- a/api/src/main/java/io/onetable/model/schema/OneSchema.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/OneSchema.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import java.util.ArrayDeque;
import java.util.ArrayList;
diff --git a/api/src/main/java/io/onetable/model/schema/OneType.java b/api/src/main/java/org/apache/xtable/model/schema/OneType.java
similarity index 97%
rename from api/src/main/java/io/onetable/model/schema/OneType.java
rename to api/src/main/java/org/apache/xtable/model/schema/OneType.java
index dcc9988d..d6c89334 100644
--- a/api/src/main/java/io/onetable/model/schema/OneType.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/OneType.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import java.util.Collections;
import java.util.HashSet;
diff --git a/api/src/main/java/io/onetable/model/schema/PartitionTransformType.java b/api/src/main/java/org/apache/xtable/model/schema/PartitionTransformType.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/schema/PartitionTransformType.java
rename to api/src/main/java/org/apache/xtable/model/schema/PartitionTransformType.java
index b5e3c3be..76e65bff 100644
--- a/api/src/main/java/io/onetable/model/schema/PartitionTransformType.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/PartitionTransformType.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
/**
* The type of transformation to apply to a field in the schema to generate the partition value.
diff --git a/api/src/main/java/io/onetable/model/schema/SchemaCatalog.java b/api/src/main/java/org/apache/xtable/model/schema/SchemaCatalog.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/schema/SchemaCatalog.java
rename to api/src/main/java/org/apache/xtable/model/schema/SchemaCatalog.java
index 3cbd710d..b9729580 100644
--- a/api/src/main/java/io/onetable/model/schema/SchemaCatalog.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/SchemaCatalog.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import java.util.Map;
diff --git a/api/src/main/java/io/onetable/model/schema/SchemaVersion.java b/api/src/main/java/org/apache/xtable/model/schema/SchemaVersion.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/schema/SchemaVersion.java
rename to api/src/main/java/org/apache/xtable/model/schema/SchemaVersion.java
index 20f0a0cc..9e6130b6 100644
--- a/api/src/main/java/io/onetable/model/schema/SchemaVersion.java
+++ b/api/src/main/java/org/apache/xtable/model/schema/SchemaVersion.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.schema;
+package org.apache.xtable.model.schema;
import lombok.EqualsAndHashCode;
import lombok.Getter;
diff --git a/api/src/main/java/io/onetable/model/stat/ColumnStat.java b/api/src/main/java/org/apache/xtable/model/stat/ColumnStat.java
similarity index 92%
rename from api/src/main/java/io/onetable/model/stat/ColumnStat.java
rename to api/src/main/java/org/apache/xtable/model/stat/ColumnStat.java
index c7db014a..716b67a7 100644
--- a/api/src/main/java/io/onetable/model/stat/ColumnStat.java
+++ b/api/src/main/java/org/apache/xtable/model/stat/ColumnStat.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.model.stat;
+package org.apache.xtable.model.stat;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneField;
/**
* Captures column level statistics for a field.
diff --git a/api/src/main/java/io/onetable/model/stat/PartitionValue.java b/api/src/main/java/org/apache/xtable/model/stat/PartitionValue.java
similarity index 91%
rename from api/src/main/java/io/onetable/model/stat/PartitionValue.java
rename to api/src/main/java/org/apache/xtable/model/stat/PartitionValue.java
index a164174b..9f35621f 100644
--- a/api/src/main/java/io/onetable/model/stat/PartitionValue.java
+++ b/api/src/main/java/org/apache/xtable/model/stat/PartitionValue.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.model.stat;
+package org.apache.xtable.model.stat;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OnePartitionField;
/** Associates the partition value with the partition field. */
@Value
diff --git a/api/src/main/java/io/onetable/model/stat/Range.java b/api/src/main/java/org/apache/xtable/model/stat/Range.java
similarity index 92%
rename from api/src/main/java/io/onetable/model/stat/Range.java
rename to api/src/main/java/org/apache/xtable/model/stat/Range.java
index e200b37d..dbba7db0 100644
--- a/api/src/main/java/io/onetable/model/stat/Range.java
+++ b/api/src/main/java/org/apache/xtable/model/stat/Range.java
@@ -16,16 +16,16 @@
* limitations under the License.
*/
-package io.onetable.model.stat;
+package org.apache.xtable.model.stat;
import java.util.Objects;
import lombok.Value;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.storage.OneDataFile;
/**
* Represents a range of values in the specified data type. Can represent a scalar value when the
diff --git a/api/src/main/java/io/onetable/model/storage/DataFilesDiff.java b/api/src/main/java/org/apache/xtable/model/storage/DataFilesDiff.java
similarity index 99%
rename from api/src/main/java/io/onetable/model/storage/DataFilesDiff.java
rename to api/src/main/java/org/apache/xtable/model/storage/DataFilesDiff.java
index efcf45b2..4a42cc3a 100644
--- a/api/src/main/java/io/onetable/model/storage/DataFilesDiff.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/DataFilesDiff.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import java.util.*;
import java.util.function.Function;
diff --git a/api/src/main/java/io/onetable/model/storage/DataLayoutStrategy.java b/api/src/main/java/org/apache/xtable/model/storage/DataLayoutStrategy.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/storage/DataLayoutStrategy.java
rename to api/src/main/java/org/apache/xtable/model/storage/DataLayoutStrategy.java
index 143c966d..68de33cb 100644
--- a/api/src/main/java/io/onetable/model/storage/DataLayoutStrategy.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/DataLayoutStrategy.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import lombok.Getter;
diff --git a/api/src/main/java/io/onetable/model/storage/FileFormat.java b/api/src/main/java/org/apache/xtable/model/storage/FileFormat.java
similarity index 95%
rename from api/src/main/java/io/onetable/model/storage/FileFormat.java
rename to api/src/main/java/org/apache/xtable/model/storage/FileFormat.java
index 677cc21f..618a1ff5 100644
--- a/api/src/main/java/io/onetable/model/storage/FileFormat.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/FileFormat.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
/**
* Supported FileFormat list
diff --git a/api/src/main/java/io/onetable/model/storage/OneDataFile.java b/api/src/main/java/org/apache/xtable/model/storage/OneDataFile.java
similarity index 89%
rename from api/src/main/java/io/onetable/model/storage/OneDataFile.java
rename to api/src/main/java/org/apache/xtable/model/storage/OneDataFile.java
index 77c18dda..b89e066b 100644
--- a/api/src/main/java/io/onetable/model/storage/OneDataFile.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/OneDataFile.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import java.util.Collections;
import java.util.List;
@@ -25,9 +25,9 @@ import lombok.Builder;
import lombok.NonNull;
import lombok.Value;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.PartitionValue;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.PartitionValue;
/**
* Represents a data file in the table.
diff --git a/api/src/main/java/io/onetable/model/storage/OneDataFilesDiff.java b/api/src/main/java/org/apache/xtable/model/storage/OneDataFilesDiff.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/storage/OneDataFilesDiff.java
rename to api/src/main/java/org/apache/xtable/model/storage/OneDataFilesDiff.java
index 394a6904..f01ba7f4 100644
--- a/api/src/main/java/io/onetable/model/storage/OneDataFilesDiff.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/OneDataFilesDiff.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import java.util.List;
import java.util.Map;
diff --git a/api/src/main/java/io/onetable/model/storage/OneFileGroup.java b/api/src/main/java/org/apache/xtable/model/storage/OneFileGroup.java
similarity index 95%
rename from api/src/main/java/io/onetable/model/storage/OneFileGroup.java
rename to api/src/main/java/org/apache/xtable/model/storage/OneFileGroup.java
index 01d27302..219a97a9 100644
--- a/api/src/main/java/io/onetable/model/storage/OneFileGroup.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/OneFileGroup.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import java.util.List;
import java.util.Map;
@@ -26,7 +26,7 @@ import java.util.stream.Stream;
import lombok.Builder;
import lombok.Value;
-import io.onetable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.PartitionValue;
/** Represents a grouping of {@link OneDataFile} with the same partition values. */
@Value
diff --git a/api/src/main/java/io/onetable/model/storage/TableFormat.java b/api/src/main/java/org/apache/xtable/model/storage/TableFormat.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/storage/TableFormat.java
rename to api/src/main/java/org/apache/xtable/model/storage/TableFormat.java
index 91b58326..bea0b477 100644
--- a/api/src/main/java/io/onetable/model/storage/TableFormat.java
+++ b/api/src/main/java/org/apache/xtable/model/storage/TableFormat.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
/**
* Default constants for supported Table Formats
diff --git a/api/src/main/java/io/onetable/model/sync/SyncMode.java b/api/src/main/java/org/apache/xtable/model/sync/SyncMode.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/sync/SyncMode.java
rename to api/src/main/java/org/apache/xtable/model/sync/SyncMode.java
index 2033b951..417dbab0 100644
--- a/api/src/main/java/io/onetable/model/sync/SyncMode.java
+++ b/api/src/main/java/org/apache/xtable/model/sync/SyncMode.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.sync;
+package org.apache.xtable.model.sync;
/**
* Mode of a sync
diff --git a/api/src/main/java/io/onetable/model/sync/SyncResult.java b/api/src/main/java/org/apache/xtable/model/sync/SyncResult.java
similarity index 98%
rename from api/src/main/java/io/onetable/model/sync/SyncResult.java
rename to api/src/main/java/org/apache/xtable/model/sync/SyncResult.java
index 75c2f807..d158b38c 100644
--- a/api/src/main/java/io/onetable/model/sync/SyncResult.java
+++ b/api/src/main/java/org/apache/xtable/model/sync/SyncResult.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.sync;
+package org.apache.xtable.model.sync;
import java.time.Duration;
import java.time.Instant;
diff --git a/api/src/main/java/io/onetable/model/validation/ValidationCheck.java b/api/src/main/java/org/apache/xtable/model/validation/ValidationCheck.java
similarity index 95%
rename from api/src/main/java/io/onetable/model/validation/ValidationCheck.java
rename to api/src/main/java/org/apache/xtable/model/validation/ValidationCheck.java
index b0a77c2e..4a0a4cac 100644
--- a/api/src/main/java/io/onetable/model/validation/ValidationCheck.java
+++ b/api/src/main/java/org/apache/xtable/model/validation/ValidationCheck.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.validation;
+package org.apache.xtable.model.validation;
/**
* List of supported validation checks
diff --git a/api/src/main/java/io/onetable/model/validation/ValidationChecker.java b/api/src/main/java/org/apache/xtable/model/validation/ValidationChecker.java
similarity index 89%
rename from api/src/main/java/io/onetable/model/validation/ValidationChecker.java
rename to api/src/main/java/org/apache/xtable/model/validation/ValidationChecker.java
index bb59f89c..a92ea50b 100644
--- a/api/src/main/java/io/onetable/model/validation/ValidationChecker.java
+++ b/api/src/main/java/org/apache/xtable/model/validation/ValidationChecker.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.model.validation;
+package org.apache.xtable.model.validation;
import java.util.Map;
-import io.onetable.model.OneTable;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.storage.TableFormat;
/**
* Interface to implement a validation checker. Runs the specified list of {@link ValidationCheck}
diff --git a/api/src/main/java/io/onetable/model/validation/ValidationResult.java b/api/src/main/java/org/apache/xtable/model/validation/ValidationResult.java
similarity index 96%
rename from api/src/main/java/io/onetable/model/validation/ValidationResult.java
rename to api/src/main/java/org/apache/xtable/model/validation/ValidationResult.java
index fa38f92f..f4ad9853 100644
--- a/api/src/main/java/io/onetable/model/validation/ValidationResult.java
+++ b/api/src/main/java/org/apache/xtable/model/validation/ValidationResult.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.validation;
+package org.apache.xtable.model.validation;
import java.time.Instant;
diff --git a/api/src/main/java/io/onetable/spi/extractor/ChangesExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/ChangesExtractor.java
similarity index 92%
rename from api/src/main/java/io/onetable/spi/extractor/ChangesExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/ChangesExtractor.java
index f236b21b..a1c20b08 100644
--- a/api/src/main/java/io/onetable/spi/extractor/ChangesExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/ChangesExtractor.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
-import io.onetable.model.IncrementalTableChanges;
+import org.apache.xtable.model.IncrementalTableChanges;
/**
* Use the source {@link CLIENT} to extract the canonical representation of delta changes since the
diff --git a/api/src/main/java/io/onetable/spi/extractor/DataFileIterator.java b/api/src/main/java/org/apache/xtable/spi/extractor/DataFileIterator.java
similarity index 91%
rename from api/src/main/java/io/onetable/spi/extractor/DataFileIterator.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/DataFileIterator.java
index cd6c7438..767650e9 100644
--- a/api/src/main/java/io/onetable/spi/extractor/DataFileIterator.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/DataFileIterator.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import java.util.Iterator;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFile;
/** DataFileIterator lets the consumer iterate over the files of a table. */
public interface DataFileIterator extends Iterator<OneDataFile>, AutoCloseable {}
diff --git a/api/src/main/java/io/onetable/spi/extractor/ExtractFromSource.java b/api/src/main/java/org/apache/xtable/spi/extractor/ExtractFromSource.java
similarity index 86%
rename from api/src/main/java/io/onetable/spi/extractor/ExtractFromSource.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/ExtractFromSource.java
index 17175a47..5619eb8d 100644
--- a/api/src/main/java/io/onetable/spi/extractor/ExtractFromSource.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/ExtractFromSource.java
@@ -16,15 +16,18 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import java.util.Iterator;
import lombok.AllArgsConstructor;
import lombok.Getter;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.TableChange;
@AllArgsConstructor(staticName = "of")
@Getter
diff --git a/api/src/main/java/io/onetable/spi/extractor/SchemaCatalogExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/SchemaCatalogExtractor.java
similarity index 92%
rename from api/src/main/java/io/onetable/spi/extractor/SchemaCatalogExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/SchemaCatalogExtractor.java
index b38ece73..12a078e5 100644
--- a/api/src/main/java/io/onetable/spi/extractor/SchemaCatalogExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/SchemaCatalogExtractor.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
-import io.onetable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaCatalog;
/**
* Extracts and holds versioned schemas from {@link CLIENT}
diff --git a/api/src/main/java/io/onetable/spi/extractor/SchemaExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/SchemaExtractor.java
similarity index 92%
rename from api/src/main/java/io/onetable/spi/extractor/SchemaExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/SchemaExtractor.java
index c358d324..37088c06 100644
--- a/api/src/main/java/io/onetable/spi/extractor/SchemaExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/SchemaExtractor.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
-import io.onetable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneSchema;
/**
* Interface to implement to extract canonical schema from a table format
diff --git a/api/src/main/java/io/onetable/spi/extractor/SnapshotExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/SnapshotExtractor.java
similarity index 92%
rename from api/src/main/java/io/onetable/spi/extractor/SnapshotExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/SnapshotExtractor.java
index d4261159..07109f2c 100644
--- a/api/src/main/java/io/onetable/spi/extractor/SnapshotExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/SnapshotExtractor.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import java.util.Optional;
-import io.onetable.model.OneSnapshot;
+import org.apache.xtable.model.OneSnapshot;
/**
* Use the table client to extract the canonical {@link OneSnapshot} model.
diff --git a/api/src/main/java/io/onetable/spi/extractor/SourceClient.java b/api/src/main/java/org/apache/xtable/spi/extractor/SourceClient.java
similarity index 91%
rename from api/src/main/java/io/onetable/spi/extractor/SourceClient.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/SourceClient.java
index 355e1410..a96b78ef 100644
--- a/api/src/main/java/io/onetable/spi/extractor/SourceClient.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/SourceClient.java
@@ -16,14 +16,17 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import java.io.Closeable;
import java.time.Instant;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.SchemaCatalog;
/**
* A client that provides the major functionality for extracting the state at a given instant in a
diff --git a/api/src/main/java/io/onetable/spi/extractor/SourcePartitionSpecExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/SourcePartitionSpecExtractor.java
similarity index 80%
rename from api/src/main/java/io/onetable/spi/extractor/SourcePartitionSpecExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/SourcePartitionSpecExtractor.java
index b8008f9a..f7250694 100644
--- a/api/src/main/java/io/onetable/spi/extractor/SourcePartitionSpecExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/SourcePartitionSpecExtractor.java
@@ -16,16 +16,16 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import java.util.List;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
/**
* Interface to implement to extract partition fields from given canonical schema. Refer @see
- * io.onetable.onetable.hudi.ConfigurationBasedPartitionSpecExtractor for an example implementation.
+ * org.apache.xtable.hudi.ConfigurationBasedPartitionSpecExtractor for an example implementation.
*/
public interface SourcePartitionSpecExtractor {
List<OnePartitionField> spec(OneSchema tableSchema);
diff --git a/api/src/main/java/io/onetable/spi/extractor/TableExtractor.java b/api/src/main/java/org/apache/xtable/spi/extractor/TableExtractor.java
similarity index 92%
rename from api/src/main/java/io/onetable/spi/extractor/TableExtractor.java
rename to api/src/main/java/org/apache/xtable/spi/extractor/TableExtractor.java
index c72a8a32..854d1358 100644
--- a/api/src/main/java/io/onetable/spi/extractor/TableExtractor.java
+++ b/api/src/main/java/org/apache/xtable/spi/extractor/TableExtractor.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
-import io.onetable.model.OneTable;
+import org.apache.xtable.model.OneTable;
/**
* Extracts {@link OneTable} from given {@link CLIENT}.
diff --git a/api/src/main/java/io/onetable/spi/sync/TableFormatSync.java b/api/src/main/java/org/apache/xtable/spi/sync/TableFormatSync.java
similarity index 94%
rename from api/src/main/java/io/onetable/spi/sync/TableFormatSync.java
rename to api/src/main/java/org/apache/xtable/spi/sync/TableFormatSync.java
index e2896102..f7bd3db9 100644
--- a/api/src/main/java/io/onetable/spi/sync/TableFormatSync.java
+++ b/api/src/main/java/org/apache/xtable/spi/sync/TableFormatSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.spi.sync;
+package org.apache.xtable.spi.sync;
import java.time.Duration;
import java.time.Instant;
@@ -33,13 +33,13 @@ import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.log4j.Log4j2;
-import io.onetable.model.IncrementalTableChanges;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.TableChange;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.model.sync.SyncResult;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncResult;
/** Provides the functionality to sync from the OneTable format to the target format. */
@Log4j2
diff --git a/api/src/main/java/io/onetable/spi/sync/TargetClient.java b/api/src/main/java/org/apache/xtable/spi/sync/TargetClient.java
similarity index 87%
rename from api/src/main/java/io/onetable/spi/sync/TargetClient.java
rename to api/src/main/java/org/apache/xtable/spi/sync/TargetClient.java
index bd9b4962..ad647649 100644
--- a/api/src/main/java/io/onetable/spi/sync/TargetClient.java
+++ b/api/src/main/java/org/apache/xtable/spi/sync/TargetClient.java
@@ -16,20 +16,20 @@
* limitations under the License.
*/
-package io.onetable.spi.sync;
+package org.apache.xtable.spi.sync;
import java.util.List;
import java.util.Optional;
import org.apache.hadoop.conf.Configuration;
-import io.onetable.client.PerTableConfig;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
/** A client that provides the major functionality for syncing changes to a target system. */
public interface TargetClient {
diff --git a/api/src/test/java/io/onetable/model/storage/TestDataFilesDiff.java b/api/src/test/java/org/apache/xtable/model/storage/TestDataFilesDiff.java
similarity index 99%
rename from api/src/test/java/io/onetable/model/storage/TestDataFilesDiff.java
rename to api/src/test/java/org/apache/xtable/model/storage/TestDataFilesDiff.java
index 83f8ae79..22e6ffeb 100644
--- a/api/src/test/java/io/onetable/model/storage/TestDataFilesDiff.java
+++ b/api/src/test/java/org/apache/xtable/model/storage/TestDataFilesDiff.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/api/src/test/java/io/onetable/model/storage/TestOneDataFilesDiff.java b/api/src/test/java/org/apache/xtable/model/storage/TestOneDataFilesDiff.java
similarity index 98%
rename from api/src/test/java/io/onetable/model/storage/TestOneDataFilesDiff.java
rename to api/src/test/java/org/apache/xtable/model/storage/TestOneDataFilesDiff.java
index fb729f8e..bfe38f0a 100644
--- a/api/src/test/java/io/onetable/model/storage/TestOneDataFilesDiff.java
+++ b/api/src/test/java/org/apache/xtable/model/storage/TestOneDataFilesDiff.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.model.storage;
+package org.apache.xtable.model.storage;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/api/src/test/java/io/onetable/spi/extractor/TestExtractFromSource.java b/api/src/test/java/org/apache/xtable/spi/extractor/TestExtractFromSource.java
similarity index 91%
rename from api/src/test/java/io/onetable/spi/extractor/TestExtractFromSource.java
rename to api/src/test/java/org/apache/xtable/spi/extractor/TestExtractFromSource.java
index 8d778a25..1f97b48a 100644
--- a/api/src/test/java/io/onetable/spi/extractor/TestExtractFromSource.java
+++ b/api/src/test/java/org/apache/xtable/spi/extractor/TestExtractFromSource.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.spi.extractor;
+package org.apache.xtable.spi.extractor;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
@@ -35,12 +35,16 @@ import lombok.ToString;
import org.junit.jupiter.api.Test;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
public class TestExtractFromSource {
private final SourceClient<TestCommit> mockSourceClient = mock(SourceClient.class);
diff --git a/api/src/test/java/io/onetable/spi/sync/TestTableFormatSync.java b/api/src/test/java/org/apache/xtable/spi/sync/TestTableFormatSync.java
similarity index 95%
rename from api/src/test/java/io/onetable/spi/sync/TestTableFormatSync.java
rename to api/src/test/java/org/apache/xtable/spi/sync/TestTableFormatSync.java
index 87f1a9d9..e0e57cee 100644
--- a/api/src/test/java/io/onetable/spi/sync/TestTableFormatSync.java
+++ b/api/src/test/java/org/apache/xtable/spi/sync/TestTableFormatSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.spi.sync;
+package org.apache.xtable.spi.sync;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -39,21 +39,21 @@ import java.util.Map;
import org.junit.jupiter.api.Test;
-import io.onetable.model.IncrementalTableChanges;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.TableChange;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.model.sync.SyncResult;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncResult;
public class TestTableFormatSync {
private final TargetClient mockTargetClient1 = mock(TargetClient.class);
diff --git a/core/pom.xml b/core/pom.xml
index 8402f9e4..e3355802 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -3,22 +3,22 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <artifactId>onetable-core</artifactId>
+ <artifactId>xtable-core</artifactId>
<name>core</name>
<parent>
- <artifactId>onetable</artifactId>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-api</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-api</artifactId>
</dependency>
<dependency>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
<artifactId>hudi-utils</artifactId>
</dependency>
<dependency>
diff --git a/core/src/main/java/io/onetable/avro/AvroSchemaConverter.java b/core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java
similarity index 94%
rename from core/src/main/java/io/onetable/avro/AvroSchemaConverter.java
rename to core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java
index 31319500..8058b7a0 100644
--- a/core/src/main/java/io/onetable/avro/AvroSchemaConverter.java
+++ b/core/src/main/java/org/apache/xtable/avro/AvroSchemaConverter.java
@@ -16,10 +16,7 @@
* limitations under the License.
*/
-package io.onetable.avro;
-
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.schema.SchemaUtils.getFullyQualifiedPath;
+package org.apache.xtable.avro;
import java.util.ArrayList;
import java.util.Arrays;
@@ -38,13 +35,15 @@ import org.apache.avro.LogicalType;
import org.apache.avro.LogicalTypes;
import org.apache.avro.Schema;
-import io.onetable.exception.SchemaExtractorException;
-import io.onetable.exception.UnsupportedSchemaTypeException;
-import io.onetable.hudi.idtracking.IdTracker;
-import io.onetable.hudi.idtracking.models.IdMapping;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.SchemaExtractorException;
+import org.apache.xtable.exception.UnsupportedSchemaTypeException;
+import org.apache.xtable.hudi.idtracking.IdTracker;
+import org.apache.xtable.hudi.idtracking.models.IdMapping;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.schema.SchemaUtils;
/**
* Class that converts Avro Schema {@link Schema} to Canonical Schema {@link OneSchema} and
@@ -176,7 +175,7 @@ public class AvroSchemaConverter {
OneSchema subFieldSchema =
toOneSchema(
avroField.schema(),
- getFullyQualifiedPath(parentPath, avroField.name()),
+ SchemaUtils.getFullyQualifiedPath(parentPath, avroField.name()),
getChildIdMap(idMapping));
Object defaultValue = getDefaultValue(avroField);
subFields.add(
@@ -200,7 +199,8 @@ public class AvroSchemaConverter {
OneSchema elementSchema =
toOneSchema(
schema.getElementType(),
- getFullyQualifiedPath(parentPath, OneField.Constants.ARRAY_ELEMENT_FIELD_NAME),
+ SchemaUtils.getFullyQualifiedPath(
+ parentPath, OneField.Constants.ARRAY_ELEMENT_FIELD_NAME),
getChildIdMap(elementMapping));
OneField elementField =
OneField.builder()
@@ -222,7 +222,8 @@ public class AvroSchemaConverter {
OneSchema valueSchema =
toOneSchema(
schema.getValueType(),
- getFullyQualifiedPath(parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
+ SchemaUtils.getFullyQualifiedPath(
+ parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
getChildIdMap(valueMapping));
OneField valueField =
OneField.builder()
@@ -321,12 +322,12 @@ public class AvroSchemaConverter {
field.getName(),
fromOneSchema(
field.getSchema(),
- getFullyQualifiedPath(currentPath, field.getName())),
+ SchemaUtils.getFullyQualifiedPath(currentPath, field.getName())),
field.getSchema().getComment(),
OneField.Constants.NULL_DEFAULT_VALUE == field.getDefaultValue()
? Schema.Field.NULL_VALUE
: field.getDefaultValue()))
- .collect(toList(oneSchema.getFields().size()));
+ .collect(CustomCollectors.toList(oneSchema.getFields().size()));
return finalizeSchema(
Schema.createRecord(
oneSchema.getName(), oneSchema.getComment(), currentPath, false, fields),
diff --git a/core/src/main/java/io/onetable/client/OneTableClient.java b/core/src/main/java/org/apache/xtable/client/OneTableClient.java
similarity index 95%
rename from core/src/main/java/io/onetable/client/OneTableClient.java
rename to core/src/main/java/org/apache/xtable/client/OneTableClient.java
index 0881546f..fc62266f 100644
--- a/core/src/main/java/io/onetable/client/OneTableClient.java
+++ b/core/src/main/java/org/apache/xtable/client/OneTableClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.io.IOException;
import java.time.Instant;
@@ -38,17 +38,17 @@ import lombok.extern.log4j.Log4j2;
import org.apache.hadoop.conf.Configuration;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.IncrementalTableChanges;
-import io.onetable.model.InstantsForIncrementalSync;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.model.sync.SyncResult;
-import io.onetable.spi.extractor.ExtractFromSource;
-import io.onetable.spi.extractor.SourceClient;
-import io.onetable.spi.sync.TableFormatSync;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncResult;
+import org.apache.xtable.spi.extractor.ExtractFromSource;
+import org.apache.xtable.spi.extractor.SourceClient;
+import org.apache.xtable.spi.sync.TableFormatSync;
+import org.apache.xtable.spi.sync.TargetClient;
/**
* Responsible for completing the entire lifecycle of the sync process given {@link
diff --git a/core/src/main/java/io/onetable/client/PerTableConfigImpl.java b/core/src/main/java/org/apache/xtable/client/PerTableConfigImpl.java
similarity index 96%
rename from core/src/main/java/io/onetable/client/PerTableConfigImpl.java
rename to core/src/main/java/org/apache/xtable/client/PerTableConfigImpl.java
index a17aeae7..37bacd4d 100644
--- a/core/src/main/java/io/onetable/client/PerTableConfigImpl.java
+++ b/core/src/main/java/org/apache/xtable/client/PerTableConfigImpl.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.util.List;
@@ -30,9 +30,9 @@ import org.apache.hadoop.fs.Path;
import com.google.common.base.Preconditions;
-import io.onetable.hudi.HudiSourceConfigImpl;
-import io.onetable.iceberg.IcebergCatalogConfig;
-import io.onetable.model.sync.SyncMode;
+import org.apache.xtable.hudi.HudiSourceConfigImpl;
+import org.apache.xtable.iceberg.IcebergCatalogConfig;
+import org.apache.xtable.model.sync.SyncMode;
/** Represents input configuration to the sync process. */
@Value
diff --git a/core/src/main/java/io/onetable/client/SourceClientProvider.java b/core/src/main/java/org/apache/xtable/client/SourceClientProvider.java
similarity index 96%
rename from core/src/main/java/io/onetable/client/SourceClientProvider.java
rename to core/src/main/java/org/apache/xtable/client/SourceClientProvider.java
index 098ae145..9c4c91bb 100644
--- a/core/src/main/java/io/onetable/client/SourceClientProvider.java
+++ b/core/src/main/java/org/apache/xtable/client/SourceClientProvider.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.util.Map;
import org.apache.hadoop.conf.Configuration;
-import io.onetable.spi.extractor.SourceClient;
+import org.apache.xtable.spi.extractor.SourceClient;
/**
* Provides the functionality to provide an instance of the {@link SourceClient} for a given table
diff --git a/core/src/main/java/io/onetable/client/TableFormatClientFactory.java b/core/src/main/java/org/apache/xtable/client/TableFormatClientFactory.java
similarity index 94%
rename from core/src/main/java/io/onetable/client/TableFormatClientFactory.java
rename to core/src/main/java/org/apache/xtable/client/TableFormatClientFactory.java
index 9d085d52..6b6a8796 100644
--- a/core/src/main/java/io/onetable/client/TableFormatClientFactory.java
+++ b/core/src/main/java/org/apache/xtable/client/TableFormatClientFactory.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import java.util.ServiceLoader;
@@ -25,8 +25,8 @@ import lombok.NoArgsConstructor;
import org.apache.hadoop.conf.Configuration;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.spi.sync.TargetClient;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class TableFormatClientFactory {
diff --git a/core/src/main/java/io/onetable/collectors/CustomCollectors.java b/core/src/main/java/org/apache/xtable/collectors/CustomCollectors.java
similarity index 96%
rename from core/src/main/java/io/onetable/collectors/CustomCollectors.java
rename to core/src/main/java/org/apache/xtable/collectors/CustomCollectors.java
index 00025ec0..e92036dd 100644
--- a/core/src/main/java/io/onetable/collectors/CustomCollectors.java
+++ b/core/src/main/java/org/apache/xtable/collectors/CustomCollectors.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.collectors;
+package org.apache.xtable.collectors;
import java.util.ArrayList;
import java.util.List;
diff --git a/core/src/main/java/io/onetable/constants/OneTableConstants.java b/core/src/main/java/org/apache/xtable/constants/OneTableConstants.java
similarity index 97%
rename from core/src/main/java/io/onetable/constants/OneTableConstants.java
rename to core/src/main/java/org/apache/xtable/constants/OneTableConstants.java
index a795acc5..aeb43202 100644
--- a/core/src/main/java/io/onetable/constants/OneTableConstants.java
+++ b/core/src/main/java/org/apache/xtable/constants/OneTableConstants.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.constants;
+package org.apache.xtable.constants;
import lombok.Builder;
import lombok.Value;
diff --git a/core/src/main/java/io/onetable/delta/DeltaActionsConverter.java b/core/src/main/java/org/apache/xtable/delta/DeltaActionsConverter.java
similarity index 91%
rename from core/src/main/java/io/onetable/delta/DeltaActionsConverter.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaActionsConverter.java
index 2e3ca686..6394d4c4 100644
--- a/core/src/main/java/io/onetable/delta/DeltaActionsConverter.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaActionsConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.util.Collections;
import java.util.List;
@@ -30,12 +30,12 @@ import org.apache.spark.sql.delta.Snapshot;
import org.apache.spark.sql.delta.actions.AddFile;
import org.apache.spark.sql.delta.actions.RemoveFile;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class DeltaActionsConverter {
diff --git a/core/src/main/java/io/onetable/delta/DeltaClient.java b/core/src/main/java/org/apache/xtable/delta/DeltaClient.java
similarity index 94%
rename from core/src/main/java/io/onetable/delta/DeltaClient.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaClient.java
index e40f4bdd..f1c62561 100644
--- a/core/src/main/java/io/onetable/delta/DeltaClient.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.time.Instant;
import java.util.ArrayList;
@@ -54,16 +54,16 @@ import scala.collection.Seq;
import com.google.common.annotations.VisibleForTesting;
-import io.onetable.client.PerTableConfig;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.spi.sync.TargetClient;
public class DeltaClient implements TargetClient {
private static final String MIN_READER_VERSION = String.valueOf(1);
diff --git a/core/src/main/java/io/onetable/delta/DeltaClientUtils.java b/core/src/main/java/org/apache/xtable/delta/DeltaClientUtils.java
similarity index 98%
rename from core/src/main/java/io/onetable/delta/DeltaClientUtils.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaClientUtils.java
index 6f1a997e..fb5817bb 100644
--- a/core/src/main/java/io/onetable/delta/DeltaClientUtils.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaClientUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/core/src/main/java/io/onetable/delta/DeltaDataFileExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaDataFileExtractor.java
similarity index 90%
rename from core/src/main/java/io/onetable/delta/DeltaDataFileExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaDataFileExtractor.java
index 28f7da16..89e22fe0 100644
--- a/core/src/main/java/io/onetable/delta/DeltaDataFileExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaDataFileExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.util.Iterator;
import java.util.List;
@@ -25,12 +25,12 @@ import lombok.Builder;
import org.apache.spark.sql.delta.Snapshot;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.spi.extractor.DataFileIterator;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.spi.extractor.DataFileIterator;
/** DeltaDataFileExtractor lets the consumer iterate over partitions. */
@Builder
diff --git a/core/src/main/java/io/onetable/delta/DeltaDataFileUpdatesExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaDataFileUpdatesExtractor.java
similarity index 86%
rename from core/src/main/java/io/onetable/delta/DeltaDataFileUpdatesExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaDataFileUpdatesExtractor.java
index 60834480..5ad7dd29 100644
--- a/core/src/main/java/io/onetable/delta/DeltaDataFileUpdatesExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaDataFileUpdatesExtractor.java
@@ -16,10 +16,9 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.delta.ScalaUtils.convertJavaMapToScala;
+import static org.apache.xtable.delta.ScalaUtils.convertJavaMapToScala;
import java.util.*;
import java.util.stream.Collectors;
@@ -37,13 +36,14 @@ import scala.collection.Seq;
import com.fasterxml.jackson.core.JsonProcessingException;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.storage.DataFilesDiff;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.paths.PathUtils;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.storage.DataFilesDiff;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.paths.PathUtils;
@Builder
public class DeltaDataFileUpdatesExtractor {
@@ -85,7 +85,7 @@ public class DeltaDataFileUpdatesExtractor {
oneDataFilesDiff.getFilesRemoved().stream()
.flatMap(dFile -> createAddFileAction(dFile, tableSchema, tableBasePath))
.map(AddFile::remove)
- .collect(toList(oneDataFilesDiff.getFilesRemoved().size()));
+ .collect(CustomCollectors.toList(oneDataFilesDiff.getFilesRemoved().size()));
return applyDiff(oneDataFilesDiff.getFilesAdded(), removeActions, tableSchema, tableBasePath);
}
@@ -99,7 +99,8 @@ public class DeltaDataFileUpdatesExtractor {
.flatMap(dFile -> createAddFileAction(dFile, tableSchema, tableBasePath));
int totalActions = filesAdded.size() + removeFileActions.size();
List<Action> allActions =
- Stream.concat(addActions, removeFileActions.stream()).collect(toList(totalActions));
+ Stream.concat(addActions, removeFileActions.stream())
+ .collect(CustomCollectors.toList(totalActions));
return JavaConverters.asScalaBuffer(allActions).toSeq();
}
diff --git a/core/src/main/java/io/onetable/delta/DeltaIncrementalChangesState.java b/core/src/main/java/org/apache/xtable/delta/DeltaIncrementalChangesState.java
similarity index 99%
rename from core/src/main/java/io/onetable/delta/DeltaIncrementalChangesState.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaIncrementalChangesState.java
index 15f5272f..59e462bd 100644
--- a/core/src/main/java/io/onetable/delta/DeltaIncrementalChangesState.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaIncrementalChangesState.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/core/src/main/java/io/onetable/delta/DeltaPartitionExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaPartitionExtractor.java
similarity index 96%
rename from core/src/main/java/io/onetable/delta/DeltaPartitionExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaPartitionExtractor.java
index 93b2bcad..b7ba5f23 100644
--- a/core/src/main/java/io/onetable/delta/DeltaPartitionExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaPartitionExtractor.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.delta.DeltaValueConverter.convertFromDeltaPartitionValue;
-import static io.onetable.delta.DeltaValueConverter.convertToDeltaPartitionValue;
+import static org.apache.xtable.collectors.CustomCollectors.toList;
+import static org.apache.xtable.delta.DeltaValueConverter.convertFromDeltaPartitionValue;
+import static org.apache.xtable.delta.DeltaValueConverter.convertToDeltaPartitionValue;
import java.util.ArrayList;
import java.util.Arrays;
@@ -50,14 +50,14 @@ import scala.collection.JavaConverters;
import com.google.common.collect.Iterators;
import com.google.common.collect.PeekingIterator;
-import io.onetable.exception.PartitionSpecException;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.schema.SchemaFieldFinder;
+import org.apache.xtable.exception.PartitionSpecException;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.schema.SchemaFieldFinder;
/**
* DeltaPartitionExtractor handles extracting partition columns, also creating generated columns in
diff --git a/core/src/main/java/io/onetable/delta/DeltaSchemaExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaSchemaExtractor.java
similarity index 89%
rename from core/src/main/java/io/onetable/delta/DeltaSchemaExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaSchemaExtractor.java
index 9f2b172c..898a33c0 100644
--- a/core/src/main/java/io/onetable/delta/DeltaSchemaExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaSchemaExtractor.java
@@ -16,11 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
-
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.delta.DeltaPartitionExtractor.DELTA_GENERATION_EXPRESSION;
-import static io.onetable.schema.SchemaUtils.getFullyQualifiedPath;
+package org.apache.xtable.delta;
import java.util.Arrays;
import java.util.Collections;
@@ -40,11 +36,13 @@ import org.apache.spark.sql.types.Metadata;
import org.apache.spark.sql.types.StructField;
import org.apache.spark.sql.types.StructType;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.exception.SchemaExtractorException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.exception.SchemaExtractorException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.schema.SchemaUtils;
/**
* Converts between Delta and OneTable schemas. Some items to be aware of:
@@ -189,7 +187,11 @@ public class DeltaSchemaExtractor {
StructType structType = (StructType) dataType;
fields =
Arrays.stream(structType.fields())
- .filter(field -> !field.metadata().contains(DELTA_GENERATION_EXPRESSION))
+ .filter(
+ field ->
+ !field
+ .metadata()
+ .contains(DeltaPartitionExtractor.DELTA_GENERATION_EXPRESSION))
.map(
field -> {
Integer fieldId =
@@ -201,7 +203,7 @@ public class DeltaSchemaExtractor {
OneSchema schema =
toOneSchema(
field.dataType(),
- getFullyQualifiedPath(parentPath, field.name()),
+ SchemaUtils.getFullyQualifiedPath(parentPath, field.name()),
field.nullable(),
fieldComment);
return OneField.builder()
@@ -213,7 +215,7 @@ public class DeltaSchemaExtractor {
field.nullable() ? OneField.Constants.NULL_DEFAULT_VALUE : null)
.build();
})
- .collect(toList(structType.fields().length));
+ .collect(CustomCollectors.toList(structType.fields().length));
type = OneType.RECORD;
break;
case "decimal":
@@ -228,7 +230,8 @@ public class DeltaSchemaExtractor {
OneSchema elementSchema =
toOneSchema(
arrayType.elementType(),
- getFullyQualifiedPath(parentPath, OneField.Constants.ARRAY_ELEMENT_FIELD_NAME),
+ SchemaUtils.getFullyQualifiedPath(
+ parentPath, OneField.Constants.ARRAY_ELEMENT_FIELD_NAME),
arrayType.containsNull(),
null);
OneField elementField =
@@ -245,7 +248,8 @@ public class DeltaSchemaExtractor {
OneSchema keySchema =
toOneSchema(
mapType.keyType(),
- getFullyQualifiedPath(parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
+ SchemaUtils.getFullyQualifiedPath(
+ parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
false,
null);
OneField keyField =
@@ -257,7 +261,8 @@ public class DeltaSchemaExtractor {
OneSchema valueSchema =
toOneSchema(
mapType.valueType(),
- getFullyQualifiedPath(parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
+ SchemaUtils.getFullyQualifiedPath(
+ parentPath, OneField.Constants.MAP_VALUE_FIELD_NAME),
mapType.valueContainsNull(),
null);
OneField valueField =
diff --git a/core/src/main/java/io/onetable/delta/DeltaSourceClient.java b/core/src/main/java/org/apache/xtable/delta/DeltaSourceClient.java
similarity index 90%
rename from core/src/main/java/io/onetable/delta/DeltaSourceClient.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaSourceClient.java
index 1b000a10..bb344be7 100644
--- a/core/src/main/java/io/onetable/delta/DeltaSourceClient.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaSourceClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.sql.Timestamp;
import java.time.Instant;
@@ -44,18 +44,21 @@ import scala.Option;
import io.delta.tables.DeltaTable;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.spi.extractor.DataFileIterator;
-import io.onetable.spi.extractor.SourceClient;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.spi.extractor.DataFileIterator;
+import org.apache.xtable.spi.extractor.SourceClient;
@Log4j2
@Builder
diff --git a/core/src/main/java/io/onetable/delta/DeltaSourceClientProvider.java b/core/src/main/java/org/apache/xtable/delta/DeltaSourceClientProvider.java
similarity index 92%
rename from core/src/main/java/io/onetable/delta/DeltaSourceClientProvider.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaSourceClientProvider.java
index 78098d06..c885efba 100644
--- a/core/src/main/java/io/onetable/delta/DeltaSourceClientProvider.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaSourceClientProvider.java
@@ -16,14 +16,14 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import org.apache.spark.sql.SparkSession;
import io.delta.tables.DeltaTable;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.SourceClientProvider;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.SourceClientProvider;
/** A concrete implementation of {@link SourceClientProvider} for Delta Lake table format. */
public class DeltaSourceClientProvider extends SourceClientProvider<Long> {
diff --git a/core/src/main/java/io/onetable/delta/DeltaStatsExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaStatsExtractor.java
similarity index 93%
rename from core/src/main/java/io/onetable/delta/DeltaStatsExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaStatsExtractor.java
index 9c41b94f..be2fba12 100644
--- a/core/src/main/java/io/onetable/delta/DeltaStatsExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaStatsExtractor.java
@@ -16,10 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
-
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.delta.DeltaValueConverter.convertToDeltaColumnStatValue;
+package org.apache.xtable.delta;
import java.io.IOException;
import java.util.ArrayDeque;
@@ -44,12 +41,13 @@ import org.apache.spark.sql.delta.actions.AddFile;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
/**
* DeltaStatsExtractor extracts column stats and also responsible for their serialization leveraging
@@ -131,7 +129,8 @@ public class DeltaStatsExtractor {
insertValueAtPath(
jsonObject,
pathParts,
- convertToDeltaColumnStatValue(valueExtractor.apply(columnStat), field.getSchema()));
+ DeltaValueConverter.convertToDeltaColumnStatValue(
+ valueExtractor.apply(columnStat), field.getSchema()));
});
return jsonObject;
}
@@ -200,7 +199,7 @@ public class DeltaStatsExtractor {
.range(range)
.build();
})
- .collect(toList(fields.size()));
+ .collect(CustomCollectors.toList(fields.size()));
} catch (IOException ex) {
throw new OneIOException("Unable to parse stats json", ex);
}
diff --git a/core/src/main/java/io/onetable/delta/DeltaTableExtractor.java b/core/src/main/java/org/apache/xtable/delta/DeltaTableExtractor.java
similarity index 88%
rename from core/src/main/java/io/onetable/delta/DeltaTableExtractor.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaTableExtractor.java
index bb07fca7..091f933d 100644
--- a/core/src/main/java/io/onetable/delta/DeltaTableExtractor.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaTableExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.time.Instant;
import java.util.List;
@@ -28,11 +28,11 @@ import org.apache.spark.sql.delta.Snapshot;
import scala.Option;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.TableFormat;
/** Extracts {@link OneTable} canonical representation of a table at a point in time for Delta. */
@Builder
diff --git a/core/src/main/java/io/onetable/delta/DeltaValueConverter.java b/core/src/main/java/org/apache/xtable/delta/DeltaValueConverter.java
similarity index 96%
rename from core/src/main/java/io/onetable/delta/DeltaValueConverter.java
rename to core/src/main/java/org/apache/xtable/delta/DeltaValueConverter.java
index c3ac7c0e..09db128e 100644
--- a/core/src/main/java/io/onetable/delta/DeltaValueConverter.java
+++ b/core/src/main/java/org/apache/xtable/delta/DeltaValueConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -32,11 +32,11 @@ import java.time.format.DateTimeParseException;
import java.util.TimeZone;
import java.util.concurrent.TimeUnit;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
/**
* DeltaValueConverter is specialized in (de)serializing column stats and partition values depending
diff --git a/core/src/main/java/io/onetable/delta/ScalaUtils.java b/core/src/main/java/org/apache/xtable/delta/ScalaUtils.java
similarity index 97%
rename from core/src/main/java/io/onetable/delta/ScalaUtils.java
rename to core/src/main/java/org/apache/xtable/delta/ScalaUtils.java
index 8280e5f7..ddee57ac 100644
--- a/core/src/main/java/io/onetable/delta/ScalaUtils.java
+++ b/core/src/main/java/org/apache/xtable/delta/ScalaUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.util.List;
import java.util.Map;
diff --git a/core/src/main/java/io/onetable/exception/ConfigurationException.java b/core/src/main/java/org/apache/xtable/exception/ConfigurationException.java
similarity index 87%
rename from core/src/main/java/io/onetable/exception/ConfigurationException.java
rename to core/src/main/java/org/apache/xtable/exception/ConfigurationException.java
index c84bbf5d..88f81934 100644
--- a/core/src/main/java/io/onetable/exception/ConfigurationException.java
+++ b/core/src/main/java/org/apache/xtable/exception/ConfigurationException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class ConfigurationException extends OneTableException {
public ConfigurationException(String message, Throwable e) {
diff --git a/core/src/main/java/io/onetable/exception/NotSupportedException.java b/core/src/main/java/org/apache/xtable/exception/NotSupportedException.java
similarity index 87%
rename from core/src/main/java/io/onetable/exception/NotSupportedException.java
rename to core/src/main/java/org/apache/xtable/exception/NotSupportedException.java
index 56ea2cdd..03743511 100644
--- a/core/src/main/java/io/onetable/exception/NotSupportedException.java
+++ b/core/src/main/java/org/apache/xtable/exception/NotSupportedException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class NotSupportedException extends OneTableException {
public NotSupportedException(String message, Throwable e) {
diff --git a/core/src/main/java/io/onetable/exception/OneIOException.java b/core/src/main/java/org/apache/xtable/exception/OneIOException.java
similarity index 87%
rename from core/src/main/java/io/onetable/exception/OneIOException.java
rename to core/src/main/java/org/apache/xtable/exception/OneIOException.java
index 03edbf79..a6fbbb05 100644
--- a/core/src/main/java/io/onetable/exception/OneIOException.java
+++ b/core/src/main/java/org/apache/xtable/exception/OneIOException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class OneIOException extends OneTableException {
public OneIOException(String message, Throwable e) {
diff --git a/core/src/main/java/io/onetable/exception/PartitionSpecException.java b/core/src/main/java/org/apache/xtable/exception/PartitionSpecException.java
similarity index 87%
rename from core/src/main/java/io/onetable/exception/PartitionSpecException.java
rename to core/src/main/java/org/apache/xtable/exception/PartitionSpecException.java
index e56f189f..7214bf89 100644
--- a/core/src/main/java/io/onetable/exception/PartitionSpecException.java
+++ b/core/src/main/java/org/apache/xtable/exception/PartitionSpecException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class PartitionSpecException extends OneTableException {
public PartitionSpecException(String message) {
diff --git a/core/src/main/java/io/onetable/exception/PartitionValuesExtractorException.java b/core/src/main/java/org/apache/xtable/exception/PartitionValuesExtractorException.java
similarity index 88%
rename from core/src/main/java/io/onetable/exception/PartitionValuesExtractorException.java
rename to core/src/main/java/org/apache/xtable/exception/PartitionValuesExtractorException.java
index 0e2e29c9..90ba7e7c 100644
--- a/core/src/main/java/io/onetable/exception/PartitionValuesExtractorException.java
+++ b/core/src/main/java/org/apache/xtable/exception/PartitionValuesExtractorException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class PartitionValuesExtractorException extends OneTableException {
public PartitionValuesExtractorException(String message) {
diff --git a/core/src/main/java/io/onetable/exception/SchemaExtractorException.java b/core/src/main/java/org/apache/xtable/exception/SchemaExtractorException.java
similarity index 88%
rename from core/src/main/java/io/onetable/exception/SchemaExtractorException.java
rename to core/src/main/java/org/apache/xtable/exception/SchemaExtractorException.java
index 5442967c..10552b2c 100644
--- a/core/src/main/java/io/onetable/exception/SchemaExtractorException.java
+++ b/core/src/main/java/org/apache/xtable/exception/SchemaExtractorException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
/** Exception to report for errors during Schema Extraction. */
public class SchemaExtractorException extends OneTableException {
diff --git a/core/src/main/java/io/onetable/exception/UnsupportedSchemaTypeException.java b/core/src/main/java/org/apache/xtable/exception/UnsupportedSchemaTypeException.java
similarity index 88%
rename from core/src/main/java/io/onetable/exception/UnsupportedSchemaTypeException.java
rename to core/src/main/java/org/apache/xtable/exception/UnsupportedSchemaTypeException.java
index 0cbec403..a81961c8 100644
--- a/core/src/main/java/io/onetable/exception/UnsupportedSchemaTypeException.java
+++ b/core/src/main/java/org/apache/xtable/exception/UnsupportedSchemaTypeException.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.exception;
+package org.apache.xtable.exception;
-import io.onetable.model.exception.OneTableErrorCode;
-import io.onetable.model.exception.OneTableException;
+import org.apache.xtable.model.exception.OneTableErrorCode;
+import org.apache.xtable.model.exception.OneTableException;
public class UnsupportedSchemaTypeException extends OneTableException {
public UnsupportedSchemaTypeException(String message) {
diff --git a/core/src/main/java/io/onetable/hudi/BaseFileUpdatesExtractor.java b/core/src/main/java/org/apache/xtable/hudi/BaseFileUpdatesExtractor.java
similarity index 95%
rename from core/src/main/java/io/onetable/hudi/BaseFileUpdatesExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/BaseFileUpdatesExtractor.java
index 43b22362..7d7f7558 100644
--- a/core/src/main/java/io/onetable/hudi/BaseFileUpdatesExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/BaseFileUpdatesExtractor.java
@@ -16,10 +16,9 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.hudi.HudiSchemaExtractor.convertFromOneTablePath;
+import static org.apache.xtable.hudi.HudiSchemaExtractor.convertFromOneTablePath;
import java.util.ArrayList;
import java.util.Collections;
@@ -52,11 +51,12 @@ import org.apache.hudi.common.util.ExternalFilePathUtil;
import org.apache.hudi.hadoop.CachingPath;
import org.apache.hudi.metadata.HoodieMetadataFileSystemView;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
@AllArgsConstructor(staticName = "of")
public class BaseFileUpdatesExtractor {
@@ -179,7 +179,7 @@ public class BaseFileUpdatesExtractor {
List<WriteStatus> writeStatuses =
oneDataFilesDiff.getFilesAdded().stream()
.map(file -> toWriteStatus(tableBasePath, commit, file, Optional.empty()))
- .collect(toList(oneDataFilesDiff.getFilesAdded().size()));
+ .collect(CustomCollectors.toList(oneDataFilesDiff.getFilesAdded().size()));
return ReplaceMetadata.of(partitionToReplacedFileIds, writeStatuses);
}
diff --git a/core/src/main/java/io/onetable/hudi/ConfigurationBasedPartitionSpecExtractor.java b/core/src/main/java/org/apache/xtable/hudi/ConfigurationBasedPartitionSpecExtractor.java
similarity index 91%
rename from core/src/main/java/io/onetable/hudi/ConfigurationBasedPartitionSpecExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/ConfigurationBasedPartitionSpecExtractor.java
index 9cb679a0..e3bed5f2 100644
--- a/core/src/main/java/io/onetable/hudi/ConfigurationBasedPartitionSpecExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/ConfigurationBasedPartitionSpecExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.util.ArrayList;
import java.util.HashMap;
@@ -25,10 +25,10 @@ import java.util.Map;
import lombok.AllArgsConstructor;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.schema.SchemaFieldFinder;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.schema.SchemaFieldFinder;
/**
* Parses the OnePartitionFields from a configured list of specs with the format path:type:format
diff --git a/core/src/main/java/io/onetable/hudi/HudiClient.java b/core/src/main/java/org/apache/xtable/hudi/HudiClient.java
similarity index 90%
rename from core/src/main/java/io/onetable/hudi/HudiClient.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiClient.java
index a6acabfa..9723d100 100644
--- a/core/src/main/java/io/onetable/hudi/HudiClient.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiClient.java
@@ -16,11 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
-
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.hudi.HudiInstantUtils.convertInstantToCommit;
-import static io.onetable.hudi.HudiInstantUtils.parseFromInstantTime;
+package org.apache.xtable.hudi;
import java.time.Instant;
import java.util.ArrayList;
@@ -46,11 +42,15 @@ import org.apache.hudi.common.util.Option;
import com.google.common.collect.Iterators;
import com.google.common.collect.PeekingIterator;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.spi.extractor.SourceClient;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.spi.extractor.SourceClient;
public class HudiClient implements SourceClient<HoodieInstant> {
@@ -104,8 +104,10 @@ public class HudiClient implements SourceClient<HoodieInstant> {
.partitionedDataFiles(dataFileExtractor.getFilesCurrentState(table))
.pendingCommits(
pendingInstants.stream()
- .map(hoodieInstant -> parseFromInstantTime(hoodieInstant.getTimestamp()))
- .collect(toList(pendingInstants.size())))
+ .map(
+ hoodieInstant ->
+ HudiInstantUtils.parseFromInstantTime(hoodieInstant.getTimestamp()))
+ .collect(CustomCollectors.toList(pendingInstants.size())))
.build();
}
@@ -183,7 +185,9 @@ public class HudiClient implements SourceClient<HoodieInstant> {
List<Instant> lastPendingHoodieInstantsStillPending =
lastPendingHoodieInstants.stream()
.filter(hoodieInstant -> hoodieInstant.isInflight() || hoodieInstant.isRequested())
- .map(hoodieInstant -> parseFromInstantTime(hoodieInstant.getTimestamp()))
+ .map(
+ hoodieInstant ->
+ HudiInstantUtils.parseFromInstantTime(hoodieInstant.getTimestamp()))
.collect(Collectors.toList());
return CommitsPair.builder()
.completedCommits(lastPendingHoodieInstantsCompleted)
@@ -216,7 +220,9 @@ public class HudiClient implements SourceClient<HoodieInstant> {
hoodieInstant ->
hoodieInstant.compareTo(completedInstants.get(completedInstants.size() - 1))
<= 0)
- .map(hoodieInstant -> parseFromInstantTime(hoodieInstant.getTimestamp()))
+ .map(
+ hoodieInstant ->
+ HudiInstantUtils.parseFromInstantTime(hoodieInstant.getTimestamp()))
.collect(Collectors.toList());
return CommitsPair.builder()
.completedCommits(completedInstants)
@@ -226,7 +232,7 @@ public class HudiClient implements SourceClient<HoodieInstant> {
private HoodieInstant getCommitAtInstant(Instant instant) {
return getCompletedCommits()
- .findInstantsBeforeOrEquals(convertInstantToCommit(instant))
+ .findInstantsBeforeOrEquals(HudiInstantUtils.convertInstantToCommit(instant))
.lastInstant()
.orElse(null);
}
@@ -242,7 +248,8 @@ public class HudiClient implements SourceClient<HoodieInstant> {
.filter(instant -> !HoodieTimeline.SAVEPOINT_ACTION.equals(instant.getAction()))
.collect(
Collectors.toMap(
- hoodieInstant -> parseFromInstantTime(hoodieInstant.getTimestamp()),
+ hoodieInstant ->
+ HudiInstantUtils.parseFromInstantTime(hoodieInstant.getTimestamp()),
hoodieInstant -> hoodieInstant));
return instants.stream()
.map(instantHoodieInstantMap::get)
diff --git a/core/src/main/java/io/onetable/hudi/HudiDataFileExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiDataFileExtractor.java
similarity index 96%
rename from core/src/main/java/io/onetable/hudi/HudiDataFileExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiDataFileExtractor.java
index b22e7430..ee8cbe63 100644
--- a/core/src/main/java/io/onetable/hudi/HudiDataFileExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiDataFileExtractor.java
@@ -16,9 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
-
-import static io.onetable.collectors.CustomCollectors.toList;
+package org.apache.xtable.hudi;
import java.io.IOException;
import java.net.URI;
@@ -60,15 +58,16 @@ import org.apache.hudi.common.table.view.SyncableFileSystemView;
import org.apache.hudi.common.table.view.TableFileSystemView;
import org.apache.hudi.metadata.HoodieTableMetadata;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
/** Extracts all the files for Hudi table represented by {@link OneTable}. */
public class HudiDataFileExtractor implements AutoCloseable {
@@ -274,7 +273,7 @@ public class HudiDataFileExtractor implements AutoCloseable {
.filter(uri -> !FSUtils.isLogFile(new Path(uri).getName()))
.map(HoodieBaseFile::new)
.map(baseFile -> buildFileWithoutStats(partitionValues, baseFile))
- .collect(toList(deletedPaths.size()));
+ .collect(CustomCollectors.toList(deletedPaths.size()));
}
private AddedAndRemovedFiles getUpdatesToPartition(
diff --git a/core/src/main/java/io/onetable/hudi/HudiFileStats.java b/core/src/main/java/org/apache/xtable/hudi/HudiFileStats.java
similarity index 92%
rename from core/src/main/java/io/onetable/hudi/HudiFileStats.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiFileStats.java
index 694f1c4a..d1a71f40 100644
--- a/core/src/main/java/io/onetable/hudi/HudiFileStats.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiFileStats.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.util.List;
import lombok.Value;
-import io.onetable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.ColumnStat;
@Value
public class HudiFileStats {
diff --git a/core/src/main/java/io/onetable/hudi/HudiFileStatsExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiFileStatsExtractor.java
similarity index 94%
rename from core/src/main/java/io/onetable/hudi/HudiFileStatsExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiFileStatsExtractor.java
index 265b5770..cdb96d04 100644
--- a/core/src/main/java/io/onetable/hudi/HudiFileStatsExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiFileStatsExtractor.java
@@ -16,9 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
-
-import static io.onetable.collectors.CustomCollectors.toList;
+package org.apache.xtable.hudi;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -49,12 +47,13 @@ import org.apache.hudi.hadoop.CachingPath;
import org.apache.hudi.metadata.HoodieTableMetadata;
import org.apache.hudi.metadata.MetadataPartitionType;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.OneDataFile;
/** Responsible for Column stats extraction for Hudi. */
@AllArgsConstructor
@@ -149,7 +148,8 @@ public class HudiFileStatsExtractor {
.collect(
Collectors.groupingBy(
Map.Entry::getKey,
- Collectors.mapping(Map.Entry::getValue, toList(nameFieldMap.size()))));
+ Collectors.mapping(
+ Map.Entry::getValue, CustomCollectors.toList(nameFieldMap.size()))));
return filePathsToDataFile.entrySet().stream()
.map(
pathToDataFile -> {
@@ -160,7 +160,7 @@ public class HudiFileStatsExtractor {
List<ColumnStat> columnStats =
fileStats.stream()
.map(pair -> getColumnStatFromHudiStat(pair.getLeft(), pair.getRight()))
- .collect(toList(fileStats.size()));
+ .collect(CustomCollectors.toList(fileStats.size()));
long recordCount = getMaxFromColumnStats(columnStats).orElse(0L);
return file.toBuilder().columnStats(columnStats).recordCount(recordCount).build();
});
@@ -184,7 +184,7 @@ public class HudiFileStatsExtractor {
.map(
colRange ->
getColumnStatFromColRange(nameFieldMap.get(colRange.getColumnName()), colRange))
- .collect(toList(columnRanges.size()));
+ .collect(CustomCollectors.toList(columnRanges.size()));
Long rowCount = getMaxFromColumnStats(columnStats).orElse(null);
if (rowCount == null) {
rowCount = UTILS.getRowCount(metaClient.getHadoopConf(), filePath);
diff --git a/core/src/main/java/io/onetable/hudi/HudiInstantUtils.java b/core/src/main/java/org/apache/xtable/hudi/HudiInstantUtils.java
similarity index 97%
rename from core/src/main/java/io/onetable/hudi/HudiInstantUtils.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiInstantUtils.java
index b2ac9661..2a56c242 100644
--- a/core/src/main/java/io/onetable/hudi/HudiInstantUtils.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiInstantUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator.MILLIS_INSTANT_TIMESTAMP_FORMAT_LENGTH;
import static org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator.SECS_INSTANT_ID_LENGTH;
@@ -32,7 +32,7 @@ import java.time.temporal.ChronoField;
import org.apache.hudi.common.table.timeline.HoodieInstantTimeGenerator;
-import io.onetable.model.exception.OneParseException;
+import org.apache.xtable.model.exception.OneParseException;
class HudiInstantUtils {
private static final ZoneId ZONE_ID = ZoneId.of("UTC");
diff --git a/core/src/main/java/io/onetable/hudi/HudiPartitionValuesExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiPartitionValuesExtractor.java
similarity index 95%
rename from core/src/main/java/io/onetable/hudi/HudiPartitionValuesExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiPartitionValuesExtractor.java
index 1d2c6768..e0a1fdc8 100644
--- a/core/src/main/java/io/onetable/hudi/HudiPartitionValuesExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiPartitionValuesExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
@@ -32,11 +32,11 @@ import lombok.AllArgsConstructor;
import lombok.NonNull;
import lombok.Value;
-import io.onetable.exception.PartitionValuesExtractorException;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.exception.PartitionValuesExtractorException;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
/** Extracts Partition Values for Hudi from Partition Path. */
@AllArgsConstructor
diff --git a/core/src/main/java/io/onetable/hudi/HudiPathUtils.java b/core/src/main/java/org/apache/xtable/hudi/HudiPathUtils.java
similarity index 97%
rename from core/src/main/java/io/onetable/hudi/HudiPathUtils.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiPathUtils.java
index 1100abd7..545f3215 100644
--- a/core/src/main/java/io/onetable/hudi/HudiPathUtils.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiPathUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import org.apache.hadoop.fs.Path;
diff --git a/core/src/main/java/io/onetable/hudi/HudiSchemaCatalogExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiSchemaCatalogExtractor.java
similarity index 85%
rename from core/src/main/java/io/onetable/hudi/HudiSchemaCatalogExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiSchemaCatalogExtractor.java
index 2d60eabf..b2c2bb47 100644
--- a/core/src/main/java/io/onetable/hudi/HudiSchemaCatalogExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiSchemaCatalogExtractor.java
@@ -16,18 +16,18 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.util.HashMap;
import java.util.Map;
import org.apache.hudi.common.table.HoodieTableMetaClient;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.spi.extractor.SchemaCatalogExtractor;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.spi.extractor.SchemaCatalogExtractor;
/** Implementation of {@link SchemaCatalogExtractor} for Hudi. */
public class HudiSchemaCatalogExtractor implements SchemaCatalogExtractor<HoodieTableMetaClient> {
diff --git a/core/src/main/java/io/onetable/hudi/HudiSchemaExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiSchemaExtractor.java
similarity index 90%
rename from core/src/main/java/io/onetable/hudi/HudiSchemaExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiSchemaExtractor.java
index 1175144d..980a8271 100644
--- a/core/src/main/java/io/onetable/hudi/HudiSchemaExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiSchemaExtractor.java
@@ -16,16 +16,16 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import org.apache.avro.Schema;
import com.google.common.annotations.VisibleForTesting;
-import io.onetable.avro.AvroSchemaConverter;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.spi.extractor.SchemaExtractor;
+import org.apache.xtable.avro.AvroSchemaConverter;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.spi.extractor.SchemaExtractor;
/**
* Extracts the canonical {@link OneSchema} from {@link Schema} represented in Hudi. This uses logic
diff --git a/core/src/main/java/io/onetable/hudi/HudiSourceClientProvider.java b/core/src/main/java/org/apache/xtable/hudi/HudiSourceClientProvider.java
similarity index 93%
rename from core/src/main/java/io/onetable/hudi/HudiSourceClientProvider.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiSourceClientProvider.java
index 5bd20ebe..2c49f60e 100644
--- a/core/src/main/java/io/onetable/hudi/HudiSourceClientProvider.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiSourceClientProvider.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import lombok.extern.log4j.Log4j2;
@@ -24,8 +24,8 @@ import org.apache.hudi.common.model.HoodieTableType;
import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.table.timeline.HoodieInstant;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.SourceClientProvider;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.SourceClientProvider;
/** A concrete implementation of {@link SourceClientProvider} for Hudi table format. */
@Log4j2
diff --git a/core/src/main/java/io/onetable/hudi/HudiSourceConfigImpl.java b/core/src/main/java/org/apache/xtable/hudi/HudiSourceConfigImpl.java
similarity index 93%
rename from core/src/main/java/io/onetable/hudi/HudiSourceConfigImpl.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiSourceConfigImpl.java
index ee5b802b..e5fcf820 100644
--- a/core/src/main/java/io/onetable/hudi/HudiSourceConfigImpl.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiSourceConfigImpl.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.util.ArrayList;
import java.util.Collections;
@@ -28,9 +28,9 @@ import lombok.Value;
import com.google.common.base.Preconditions;
-import io.onetable.client.HudiSourceConfig;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.reflection.ReflectionUtils;
+import org.apache.xtable.client.HudiSourceConfig;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.reflection.ReflectionUtils;
/** Configuration of Hudi source format for the sync process. */
@Value
diff --git a/core/src/main/java/io/onetable/hudi/HudiSourcePartitionSpecExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiSourcePartitionSpecExtractor.java
similarity index 91%
rename from core/src/main/java/io/onetable/hudi/HudiSourcePartitionSpecExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiSourcePartitionSpecExtractor.java
index c526e804..c69a8b8d 100644
--- a/core/src/main/java/io/onetable/hudi/HudiSourcePartitionSpecExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiSourcePartitionSpecExtractor.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.util.Map;
-import io.onetable.spi.extractor.SourcePartitionSpecExtractor;
+import org.apache.xtable.spi.extractor.SourcePartitionSpecExtractor;
/**
* Partition spec extractor interface specifically designed for Hudi to parse partition values
diff --git a/core/src/main/java/io/onetable/hudi/HudiTableExtractor.java b/core/src/main/java/org/apache/xtable/hudi/HudiTableExtractor.java
similarity index 85%
rename from core/src/main/java/io/onetable/hudi/HudiTableExtractor.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiTableExtractor.java
index aefc7f91..aa89da93 100644
--- a/core/src/main/java/io/onetable/hudi/HudiTableExtractor.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiTableExtractor.java
@@ -16,9 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
-
-import static io.onetable.hudi.HudiInstantUtils.parseFromInstantTime;
+package org.apache.xtable.hudi;
import java.util.Arrays;
import java.util.Collections;
@@ -34,15 +32,15 @@ import org.apache.hudi.common.table.TableSchemaResolver;
import org.apache.hudi.common.table.timeline.HoodieInstant;
import org.apache.hudi.common.util.Option;
-import io.onetable.exception.SchemaExtractorException;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.schema.SchemaFieldFinder;
-import io.onetable.spi.extractor.SourcePartitionSpecExtractor;
+import org.apache.xtable.exception.SchemaExtractorException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.schema.SchemaFieldFinder;
+import org.apache.xtable.spi.extractor.SourcePartitionSpecExtractor;
/** Extracts {@link OneTable} a canonical representation of table at a point in time for Hudi. */
@Singleton
@@ -86,7 +84,7 @@ public class HudiTableExtractor {
.layoutStrategy(dataLayoutStrategy)
.partitioningFields(partitionFields)
.readSchema(canonicalSchema)
- .latestCommitTime(parseFromInstantTime(commit.getTimestamp()))
+ .latestCommitTime(HudiInstantUtils.parseFromInstantTime(commit.getTimestamp()))
.build();
}
diff --git a/core/src/main/java/io/onetable/hudi/HudiTableManager.java b/core/src/main/java/org/apache/xtable/hudi/HudiTableManager.java
similarity index 95%
rename from core/src/main/java/io/onetable/hudi/HudiTableManager.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiTableManager.java
index c388ca75..b78498ce 100644
--- a/core/src/main/java/io/onetable/hudi/HudiTableManager.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiTableManager.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.io.IOException;
import java.util.List;
@@ -35,11 +35,11 @@ import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.util.VisibleForTesting;
import org.apache.hudi.exception.TableNotFoundException;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
/** A class used to initialize new Hudi tables and load the metadata of existing tables. */
@Log4j2
diff --git a/core/src/main/java/io/onetable/hudi/HudiTargetClient.java b/core/src/main/java/org/apache/xtable/hudi/HudiTargetClient.java
similarity index 95%
rename from core/src/main/java/io/onetable/hudi/HudiTargetClient.java
rename to core/src/main/java/org/apache/xtable/hudi/HudiTargetClient.java
index 3c34b91a..b7eb4c11 100644
--- a/core/src/main/java/io/onetable/hudi/HudiTargetClient.java
+++ b/core/src/main/java/org/apache/xtable/hudi/HudiTargetClient.java
@@ -16,10 +16,8 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.hudi.HudiInstantUtils.convertInstantToCommit;
-import static io.onetable.hudi.HudiInstantUtils.parseFromInstantTime;
import static org.apache.hudi.index.HoodieIndex.IndexType.INMEMORY;
import java.io.IOException;
@@ -80,19 +78,19 @@ import org.apache.hudi.table.action.clean.CleanPlanner;
import com.google.common.annotations.VisibleForTesting;
-import io.onetable.avro.AvroSchemaConverter;
-import io.onetable.client.PerTableConfig;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.avro.AvroSchemaConverter;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.spi.sync.TargetClient;
@Log4j2
public class HudiTargetClient implements TargetClient {
@@ -267,7 +265,7 @@ public class HudiTargetClient implements TargetClient {
// make sure meta client has up-to-date view of the timeline
getMetaClient().reloadActiveTimeline();
}
- String instant = convertInstantToCommit(table.getLatestCommitTime());
+ String instant = HudiInstantUtils.convertInstantToCommit(table.getLatestCommitTime());
this.commitState =
commitStateCreator.create(
getMetaClient(), instant, timelineRetentionInHours, maxNumDeltaCommitsBeforeCompaction);
@@ -401,8 +399,9 @@ public class HudiTargetClient implements TargetClient {
private int getNumInstantsToRetain() {
String commitCutoff =
- convertInstantToCommit(
- parseFromInstantTime(instantTime).minus(timelineRetentionInHours, ChronoUnit.HOURS));
+ HudiInstantUtils.convertInstantToCommit(
+ HudiInstantUtils.parseFromInstantTime(instantTime)
+ .minus(timelineRetentionInHours, ChronoUnit.HOURS));
// count number of completed commits after the cutoff
return metaClient
.getActiveTimeline()
@@ -470,7 +469,8 @@ public class HudiTargetClient implements TargetClient {
}
// create a clean instant write after this latest commit
String cleanTime =
- convertInstantToCommit(parseFromInstantTime(instantTime).plus(1, ChronoUnit.SECONDS));
+ HudiInstantUtils.convertInstantToCommit(
+ HudiInstantUtils.parseFromInstantTime(instantTime).plus(1, ChronoUnit.SECONDS));
// create a metadata table writer in order to mark files as deleted in the table
// the deleted entries are cleaned up in the metadata table during compaction to control the
// growth of the table
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergCatalogConfig.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergCatalogConfig.java
similarity index 88%
rename from core/src/main/java/io/onetable/iceberg/IcebergCatalogConfig.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergCatalogConfig.java
index 76beaa49..317ddc0e 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergCatalogConfig.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergCatalogConfig.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.Collections;
import java.util.Map;
@@ -25,9 +25,11 @@ import lombok.Builder;
import lombok.NonNull;
import lombok.Value;
+import org.apache.xtable.client.CatalogConfig;
+
@Value
@Builder
-public class IcebergCatalogConfig implements io.onetable.client.CatalogConfig {
+public class IcebergCatalogConfig implements CatalogConfig {
@NonNull String catalogImpl;
@NonNull String catalogName;
@NonNull @Builder.Default Map<String, String> catalogOptions = Collections.emptyMap();
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergClient.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergClient.java
similarity index 93%
rename from core/src/main/java/io/onetable/iceberg/IcebergClient.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergClient.java
index 36f48a07..9c72c09e 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergClient.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergClient.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
-import static io.onetable.model.OneTableMetadata.INFLIGHT_COMMITS_TO_CONSIDER_FOR_NEXT_SYNC_PROP;
-import static io.onetable.model.OneTableMetadata.ONETABLE_LAST_INSTANT_SYNCED_PROP;
+import static org.apache.xtable.model.OneTableMetadata.INFLIGHT_COMMITS_TO_CONSIDER_FOR_NEXT_SYNC_PROP;
+import static org.apache.xtable.model.OneTableMetadata.ONETABLE_LAST_INSTANT_SYNCED_PROP;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
@@ -43,15 +43,15 @@ import org.apache.iceberg.catalog.Namespace;
import org.apache.iceberg.catalog.TableIdentifier;
import org.apache.iceberg.exceptions.NotFoundException;
-import io.onetable.client.PerTableConfig;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.spi.sync.TargetClient;
@Log4j2
public class IcebergClient implements TargetClient {
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergColumnStatsConverter.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergColumnStatsConverter.java
similarity index 94%
rename from core/src/main/java/io/onetable/iceberg/IcebergColumnStatsConverter.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergColumnStatsConverter.java
index 25a5e47c..13489cc8 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergColumnStatsConverter.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergColumnStatsConverter.java
@@ -16,9 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
-
-import static io.onetable.collectors.CustomCollectors.toList;
+package org.apache.xtable.iceberg;
import java.nio.ByteBuffer;
import java.util.Collections;
@@ -36,9 +34,10 @@ import org.apache.iceberg.types.Conversions;
import org.apache.iceberg.types.Type;
import org.apache.iceberg.types.Types;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
/** Column stats extractor for iceberg table format. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
@@ -117,7 +116,7 @@ public class IcebergColumnStatsConverter {
.range(range)
.build();
})
- .collect(toList(fields.size()));
+ .collect(CustomCollectors.toList(fields.size()));
}
private Object convertFromIcebergValue(Type fieldType, ByteBuffer value) {
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergDataFileExtractor.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileExtractor.java
similarity index 90%
rename from core/src/main/java/io/onetable/iceberg/IcebergDataFileExtractor.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileExtractor.java
index 21c28b95..f68da230 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergDataFileExtractor.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.Collections;
import java.util.List;
@@ -25,12 +25,12 @@ import lombok.Builder;
import org.apache.iceberg.DataFile;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
/** Extractor of data files for Iceberg */
@Builder
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergDataFileUpdatesSync.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileUpdatesSync.java
similarity index 88%
rename from core/src/main/java/io/onetable/iceberg/IcebergDataFileUpdatesSync.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileUpdatesSync.java
index e7cfb408..f0cff732 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergDataFileUpdatesSync.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergDataFileUpdatesSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.*;
import java.util.stream.Collectors;
@@ -27,13 +27,13 @@ import lombok.AllArgsConstructor;
import org.apache.iceberg.*;
import org.apache.iceberg.io.CloseableIterable;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.OneTable;
-import io.onetable.model.storage.DataFilesDiff;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.storage.DataFilesDiff;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
@AllArgsConstructor(staticName = "of")
public class IcebergDataFileUpdatesSync {
@@ -105,7 +105,8 @@ public class IcebergDataFileUpdatesSync {
return builder.build();
}
- private static FileFormat convertFileFormat(io.onetable.model.storage.FileFormat fileFormat) {
+ private static FileFormat convertFileFormat(
+ org.apache.xtable.model.storage.FileFormat fileFormat) {
switch (fileFormat) {
case APACHE_PARQUET:
return FileFormat.PARQUET;
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecExtractor.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecExtractor.java
similarity index 92%
rename from core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecExtractor.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecExtractor.java
index d6a98dad..b98ef84d 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecExtractor.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.ArrayList;
import java.util.Collections;
@@ -31,12 +31,12 @@ import org.apache.iceberg.Schema;
import org.apache.iceberg.transforms.Transform;
import org.apache.iceberg.types.Types;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.schema.SchemaFieldFinder;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.schema.SchemaFieldFinder;
/** Partition spec builder and extractor for Iceberg. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecSync.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecSync.java
similarity index 98%
rename from core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecSync.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecSync.java
index bfb47ccf..88a406dc 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergPartitionSpecSync.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionSpecSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.List;
import java.util.Set;
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergPartitionValueConverter.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueConverter.java
similarity index 94%
rename from core/src/main/java/io/onetable/iceberg/IcebergPartitionValueConverter.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueConverter.java
index 17d22860..7c7a230f 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergPartitionValueConverter.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.time.Instant;
import java.time.OffsetDateTime;
@@ -42,15 +42,15 @@ import org.apache.iceberg.StructLike;
import org.apache.iceberg.transforms.Transforms;
import org.apache.iceberg.types.Types;
-import io.onetable.avro.AvroSchemaConverter;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.schema.SchemaFieldFinder;
+import org.apache.xtable.avro.AvroSchemaConverter;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.schema.SchemaFieldFinder;
/** Partition value extractor for Iceberg. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergPartitionValueExtractor.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueExtractor.java
similarity index 95%
rename from core/src/main/java/io/onetable/iceberg/IcebergPartitionValueExtractor.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueExtractor.java
index 7531f048..46212005 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergPartitionValueExtractor.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergPartitionValueExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.time.Instant;
import java.time.OffsetDateTime;
@@ -30,8 +30,8 @@ import lombok.NoArgsConstructor;
import org.apache.iceberg.StructLike;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.stat.Range;
/** Partition value extractor for Iceberg. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergSchemaExtractor.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaExtractor.java
similarity index 95%
rename from core/src/main/java/io/onetable/iceberg/IcebergSchemaExtractor.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaExtractor.java
index 8551df71..7d9b4861 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergSchemaExtractor.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaExtractor.java
@@ -16,10 +16,9 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
-import static io.onetable.collectors.CustomCollectors.toList;
-import static io.onetable.schema.SchemaUtils.getFullyQualifiedPath;
+import static org.apache.xtable.schema.SchemaUtils.getFullyQualifiedPath;
import java.util.ArrayList;
import java.util.Arrays;
@@ -40,11 +39,12 @@ import org.apache.iceberg.Schema;
import org.apache.iceberg.types.Type;
import org.apache.iceberg.types.Types;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.exception.SchemaExtractorException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.collectors.CustomCollectors;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.exception.SchemaExtractorException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
/**
* Schema extractor for Iceberg which converts canonical representation of the schema{@link
@@ -91,7 +91,7 @@ public class IcebergSchemaExtractor {
recordKeyFields.stream()
.map(OneField::getPath)
.filter(path -> partialSchema.findField(convertFromOneTablePath(path)) == null)
- .collect(toList(recordKeyFields.size()));
+ .collect(CustomCollectors.toList(recordKeyFields.size()));
log.error("Missing field IDs for record key field paths: " + missingFieldPaths);
throw new SchemaExtractorException(
String.format("Mismatches in converting record key fields: %s", missingFieldPaths));
@@ -131,7 +131,7 @@ public class IcebergSchemaExtractor {
iceField.isOptional() ? OneField.Constants.NULL_DEFAULT_VALUE : null)
.build();
})
- .collect(toList(iceFields.size()));
+ .collect(CustomCollectors.toList(iceFields.size()));
}
static String convertFromOneTablePath(String path) {
@@ -149,7 +149,7 @@ public class IcebergSchemaExtractor {
field.getFieldId() == null
? fieldIdTracker.incrementAndGet()
: field.getFieldId())
- .collect(toList(schema.getFields().size()));
+ .collect(CustomCollectors.toList(schema.getFields().size()));
List<Types.NestedField> nestedFields = new ArrayList<>(schema.getFields().size());
for (int i = 0; i < schema.getFields().size(); i++) {
OneField field = schema.getFields().get(i);
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergSchemaSync.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaSync.java
similarity index 98%
rename from core/src/main/java/io/onetable/iceberg/IcebergSchemaSync.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaSync.java
index 817f8be5..713f7498 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergSchemaSync.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergSchemaSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.HashMap;
import java.util.HashSet;
@@ -32,7 +32,7 @@ import org.apache.iceberg.Transaction;
import org.apache.iceberg.UpdateSchema;
import org.apache.iceberg.types.Types;
-import io.onetable.exception.NotSupportedException;
+import org.apache.xtable.exception.NotSupportedException;
/** Syncs schema updates for Iceberg. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergSourceClient.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClient.java
similarity index 91%
rename from core/src/main/java/io/onetable/iceberg/IcebergSourceClient.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClient.java
index 1ad53c1f..a7e49584 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergSourceClient.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.io.IOException;
import java.time.Instant;
@@ -36,20 +36,24 @@ import org.apache.iceberg.hadoop.HadoopFileIO;
import org.apache.iceberg.io.CloseableIterable;
import org.apache.iceberg.io.FileIO;
-import io.onetable.client.PerTableConfig;
-import io.onetable.exception.OneIOException;
-import io.onetable.model.*;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.spi.extractor.SourceClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.exception.OneIOException;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.spi.extractor.SourceClient;
@Log4j2
@Builder
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergSourceClientProvider.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClientProvider.java
similarity index 90%
rename from core/src/main/java/io/onetable/iceberg/IcebergSourceClientProvider.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClientProvider.java
index ac67f218..d3abf238 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergSourceClientProvider.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergSourceClientProvider.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import org.apache.iceberg.Snapshot;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.SourceClientProvider;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.SourceClientProvider;
/** A concrete implementation of {@link SourceClientProvider} for Hudi table format. */
public class IcebergSourceClientProvider extends SourceClientProvider<Snapshot> {
diff --git a/core/src/main/java/io/onetable/iceberg/IcebergTableManager.java b/core/src/main/java/org/apache/xtable/iceberg/IcebergTableManager.java
similarity index 99%
rename from core/src/main/java/io/onetable/iceberg/IcebergTableManager.java
rename to core/src/main/java/org/apache/xtable/iceberg/IcebergTableManager.java
index 81597da8..431184ce 100644
--- a/core/src/main/java/io/onetable/iceberg/IcebergTableManager.java
+++ b/core/src/main/java/org/apache/xtable/iceberg/IcebergTableManager.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.Collections;
import java.util.Map;
diff --git a/core/src/main/java/io/onetable/paths/PathUtils.java b/core/src/main/java/org/apache/xtable/paths/PathUtils.java
similarity index 98%
rename from core/src/main/java/io/onetable/paths/PathUtils.java
rename to core/src/main/java/org/apache/xtable/paths/PathUtils.java
index 1e441c7e..9df0b2ee 100644
--- a/core/src/main/java/io/onetable/paths/PathUtils.java
+++ b/core/src/main/java/org/apache/xtable/paths/PathUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.paths;
+package org.apache.xtable.paths;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/core/src/main/java/io/onetable/reflection/ReflectionUtils.java b/core/src/main/java/org/apache/xtable/reflection/ReflectionUtils.java
similarity index 95%
rename from core/src/main/java/io/onetable/reflection/ReflectionUtils.java
rename to core/src/main/java/org/apache/xtable/reflection/ReflectionUtils.java
index eb27ec16..4790d0d6 100644
--- a/core/src/main/java/io/onetable/reflection/ReflectionUtils.java
+++ b/core/src/main/java/org/apache/xtable/reflection/ReflectionUtils.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.reflection;
+package org.apache.xtable.reflection;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
-import io.onetable.exception.ConfigurationException;
+import org.apache.xtable.exception.ConfigurationException;
/** Creates a instance of class from the class name and provided constructor arguments. */
public class ReflectionUtils {
diff --git a/core/src/main/java/io/onetable/schema/SchemaFieldFinder.java b/core/src/main/java/org/apache/xtable/schema/SchemaFieldFinder.java
similarity index 94%
rename from core/src/main/java/io/onetable/schema/SchemaFieldFinder.java
rename to core/src/main/java/org/apache/xtable/schema/SchemaFieldFinder.java
index 87ea26cb..16001bdb 100644
--- a/core/src/main/java/io/onetable/schema/SchemaFieldFinder.java
+++ b/core/src/main/java/org/apache/xtable/schema/SchemaFieldFinder.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package io.onetable.schema;
+package org.apache.xtable.schema;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
/**
* SchemaFieldFinder finds the {@link OneField} in the given {@link OneSchema} identified by the
diff --git a/core/src/main/java/io/onetable/schema/SchemaUtils.java b/core/src/main/java/org/apache/xtable/schema/SchemaUtils.java
similarity index 97%
rename from core/src/main/java/io/onetable/schema/SchemaUtils.java
rename to core/src/main/java/org/apache/xtable/schema/SchemaUtils.java
index adb569ca..63e1d100 100644
--- a/core/src/main/java/io/onetable/schema/SchemaUtils.java
+++ b/core/src/main/java/org/apache/xtable/schema/SchemaUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.schema;
+package org.apache.xtable.schema;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/core/src/main/resources/META-INF/services/io.onetable.spi.sync.TargetClient b/core/src/main/resources/META-INF/services/org.apache.xtable.spi.sync.TargetClient
similarity index 88%
rename from core/src/main/resources/META-INF/services/io.onetable.spi.sync.TargetClient
rename to core/src/main/resources/META-INF/services/org.apache.xtable.spi.sync.TargetClient
index c031e175..07eda44e 100644
--- a/core/src/main/resources/META-INF/services/io.onetable.spi.sync.TargetClient
+++ b/core/src/main/resources/META-INF/services/org.apache.xtable.spi.sync.TargetClient
@@ -16,6 +16,6 @@
# limitations under the License.
##########################################################################
-io.onetable.hudi.HudiTargetClient
-io.onetable.delta.DeltaClient
-io.onetable.iceberg.IcebergClient
+org.apache.xtable.hudi.HudiTargetClient
+org.apache.xtable.delta.DeltaClient
+org.apache.xtable.iceberg.IcebergClient
diff --git a/core/src/test/java/io/onetable/GenericTable.java b/core/src/test/java/org/apache/xtable/GenericTable.java
similarity index 95%
rename from core/src/test/java/io/onetable/GenericTable.java
rename to core/src/test/java/org/apache/xtable/GenericTable.java
index 373e8f2c..c6b75c31 100644
--- a/core/src/test/java/io/onetable/GenericTable.java
+++ b/core/src/test/java/org/apache/xtable/GenericTable.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
-import static io.onetable.model.storage.TableFormat.DELTA;
-import static io.onetable.model.storage.TableFormat.HUDI;
-import static io.onetable.model.storage.TableFormat.ICEBERG;
+import static org.apache.xtable.model.storage.TableFormat.DELTA;
+import static org.apache.xtable.model.storage.TableFormat.HUDI;
+import static org.apache.xtable.model.storage.TableFormat.ICEBERG;
import java.nio.file.Path;
import java.util.Arrays;
diff --git a/core/src/test/java/io/onetable/ITOneTableClient.java b/core/src/test/java/org/apache/xtable/ITOneTableClient.java
similarity index 97%
rename from core/src/test/java/io/onetable/ITOneTableClient.java
rename to core/src/test/java/org/apache/xtable/ITOneTableClient.java
index 56e87c9c..6f59e676 100644
--- a/core/src/test/java/io/onetable/ITOneTableClient.java
+++ b/core/src/test/java/org/apache/xtable/ITOneTableClient.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
-import static io.onetable.GenericTable.getTableName;
-import static io.onetable.hudi.HudiTestUtil.PartitionConfig;
-import static io.onetable.model.storage.TableFormat.DELTA;
-import static io.onetable.model.storage.TableFormat.HUDI;
-import static io.onetable.model.storage.TableFormat.ICEBERG;
+import static org.apache.xtable.GenericTable.getTableName;
+import static org.apache.xtable.hudi.HudiTestUtil.PartitionConfig;
+import static org.apache.xtable.model.storage.TableFormat.DELTA;
+import static org.apache.xtable.model.storage.TableFormat.HUDI;
+import static org.apache.xtable.model.storage.TableFormat.ICEBERG;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -81,17 +81,17 @@ import org.apache.spark.sql.delta.DeltaLog;
import com.google.common.collect.ImmutableList;
-import io.onetable.client.OneTableClient;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.client.SourceClientProvider;
-import io.onetable.delta.DeltaSourceClientProvider;
-import io.onetable.hudi.HudiSourceClientProvider;
-import io.onetable.hudi.HudiSourceConfigImpl;
-import io.onetable.hudi.HudiTestUtil;
-import io.onetable.iceberg.IcebergSourceClientProvider;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
+import org.apache.xtable.client.OneTableClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.client.SourceClientProvider;
+import org.apache.xtable.delta.DeltaSourceClientProvider;
+import org.apache.xtable.hudi.HudiSourceClientProvider;
+import org.apache.xtable.hudi.HudiSourceConfigImpl;
+import org.apache.xtable.hudi.HudiTestUtil;
+import org.apache.xtable.iceberg.IcebergSourceClientProvider;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
public class ITOneTableClient {
@TempDir public static Path tempDir;
diff --git a/core/src/test/java/io/onetable/TestAbstractHudiTable.java b/core/src/test/java/org/apache/xtable/TestAbstractHudiTable.java
similarity index 99%
rename from core/src/test/java/io/onetable/TestAbstractHudiTable.java
rename to core/src/test/java/org/apache/xtable/TestAbstractHudiTable.java
index b3dfb109..3e9a133a 100644
--- a/core/src/test/java/io/onetable/TestAbstractHudiTable.java
+++ b/core/src/test/java/org/apache/xtable/TestAbstractHudiTable.java
@@ -16,10 +16,10 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
-import static io.onetable.hudi.HudiTestUtil.getHoodieWriteConfig;
import static org.apache.hudi.keygen.constant.KeyGeneratorOptions.PARTITIONPATH_FIELD_NAME;
+import static org.apache.xtable.hudi.HudiTestUtil.getHoodieWriteConfig;
import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/core/src/test/java/io/onetable/TestIcebergTable.java b/core/src/test/java/org/apache/xtable/TestIcebergTable.java
similarity index 98%
rename from core/src/test/java/io/onetable/TestIcebergTable.java
rename to core/src/test/java/org/apache/xtable/TestIcebergTable.java
index ada0880d..bb63667a 100644
--- a/core/src/test/java/io/onetable/TestIcebergTable.java
+++ b/core/src/test/java/org/apache/xtable/TestIcebergTable.java
@@ -16,9 +16,8 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
-import static io.onetable.iceberg.TestIcebergDataHelper.createIcebergDataHelper;
import static org.apache.iceberg.SnapshotSummary.TOTAL_RECORDS_PROP;
import static org.junit.jupiter.api.Assertions.*;
@@ -66,7 +65,7 @@ import org.apache.iceberg.types.Types;
import com.google.common.base.Preconditions;
-import io.onetable.iceberg.TestIcebergDataHelper;
+import org.apache.xtable.iceberg.TestIcebergDataHelper;
@Getter
public class TestIcebergTable implements GenericTable<Record, String> {
@@ -113,7 +112,7 @@ public class TestIcebergTable implements GenericTable<Record, String> {
this.tableName = tableName;
this.basePath = tempDir.toUri().toString();
this.icebergDataHelper =
- createIcebergDataHelper(
+ TestIcebergDataHelper.createIcebergDataHelper(
recordKeyField, filterNullFields(partitionFields), includeAdditionalColumns);
this.schema = icebergDataHelper.getTableSchema();
diff --git a/core/src/test/java/io/onetable/TestJavaHudiTable.java b/core/src/test/java/org/apache/xtable/TestJavaHudiTable.java
similarity index 99%
rename from core/src/test/java/io/onetable/TestJavaHudiTable.java
rename to core/src/test/java/org/apache/xtable/TestJavaHudiTable.java
index 01307870..ce3b25bd 100644
--- a/core/src/test/java/io/onetable/TestJavaHudiTable.java
+++ b/core/src/test/java/org/apache/xtable/TestJavaHudiTable.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
import java.io.IOException;
import java.io.UncheckedIOException;
diff --git a/core/src/test/java/io/onetable/TestSparkDeltaTable.java b/core/src/test/java/org/apache/xtable/TestSparkDeltaTable.java
similarity index 97%
rename from core/src/test/java/io/onetable/TestSparkDeltaTable.java
rename to core/src/test/java/org/apache/xtable/TestSparkDeltaTable.java
index 89bc9f2d..a458070b 100644
--- a/core/src/test/java/io/onetable/TestSparkDeltaTable.java
+++ b/core/src/test/java/org/apache/xtable/TestSparkDeltaTable.java
@@ -16,9 +16,7 @@
* limitations under the License.
*/
-package io.onetable;
-
-import static io.onetable.delta.TestDeltaHelper.createTestDataHelper;
+package org.apache.xtable;
import java.io.Closeable;
import java.io.IOException;
@@ -46,7 +44,7 @@ import com.google.common.base.Preconditions;
import io.delta.tables.DeltaTable;
-import io.onetable.delta.TestDeltaHelper;
+import org.apache.xtable.delta.TestDeltaHelper;
@Getter
public class TestSparkDeltaTable implements GenericTable<Row, Object>, Closeable {
@@ -83,7 +81,8 @@ public class TestSparkDeltaTable implements GenericTable<Row, Object>, Closeable
this.sparkSession = sparkSession;
this.partitionField = partitionField;
this.includeAdditionalColumns = includeAdditionalColumns;
- this.testDeltaHelper = createTestDataHelper(partitionField, includeAdditionalColumns);
+ this.testDeltaHelper =
+ TestDeltaHelper.createTestDataHelper(partitionField, includeAdditionalColumns);
testDeltaHelper.createTable(sparkSession, tableName, basePath);
this.deltaLog = DeltaLog.forTable(sparkSession, basePath);
this.deltaTable = DeltaTable.forPath(sparkSession, basePath);
diff --git a/core/src/test/java/io/onetable/TestSparkHudiTable.java b/core/src/test/java/org/apache/xtable/TestSparkHudiTable.java
similarity index 99%
rename from core/src/test/java/io/onetable/TestSparkHudiTable.java
rename to core/src/test/java/org/apache/xtable/TestSparkHudiTable.java
index 205d54c6..79316f5d 100644
--- a/core/src/test/java/io/onetable/TestSparkHudiTable.java
+++ b/core/src/test/java/org/apache/xtable/TestSparkHudiTable.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
import java.nio.file.Path;
import java.time.Instant;
diff --git a/core/src/test/java/io/onetable/ValidationTestHelper.java b/core/src/test/java/org/apache/xtable/ValidationTestHelper.java
similarity index 96%
rename from core/src/test/java/io/onetable/ValidationTestHelper.java
rename to core/src/test/java/org/apache/xtable/ValidationTestHelper.java
index 1861ba4d..49b50b39 100644
--- a/core/src/test/java/io/onetable/ValidationTestHelper.java
+++ b/core/src/test/java/org/apache/xtable/ValidationTestHelper.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable;
+package org.apache.xtable;
import static org.junit.jupiter.api.Assertions.*;
@@ -27,9 +27,9 @@ import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.TableChange;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.storage.OneDataFile;
public class ValidationTestHelper {
diff --git a/core/src/test/java/io/onetable/avro/TestAvroSchemaConverter.java b/core/src/test/java/org/apache/xtable/avro/TestAvroSchemaConverter.java
similarity index 99%
rename from core/src/test/java/io/onetable/avro/TestAvroSchemaConverter.java
rename to core/src/test/java/org/apache/xtable/avro/TestAvroSchemaConverter.java
index beadb176..761622b8 100644
--- a/core/src/test/java/io/onetable/avro/TestAvroSchemaConverter.java
+++ b/core/src/test/java/org/apache/xtable/avro/TestAvroSchemaConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.avro;
+package org.apache.xtable.avro;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -30,10 +30,10 @@ import org.junit.jupiter.api.Test;
import org.apache.hudi.common.util.Option;
-import io.onetable.hudi.idtracking.IdTracker;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.hudi.idtracking.IdTracker;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
public class TestAvroSchemaConverter {
@Test
diff --git a/core/src/test/java/io/onetable/client/TestOneTableClient.java b/core/src/test/java/org/apache/xtable/client/TestOneTableClient.java
similarity index 96%
rename from core/src/test/java/io/onetable/client/TestOneTableClient.java
rename to core/src/test/java/org/apache/xtable/client/TestOneTableClient.java
index fc349d3b..35fc218d 100644
--- a/core/src/test/java/io/onetable/client/TestOneTableClient.java
+++ b/core/src/test/java/org/apache/xtable/client/TestOneTableClient.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
-import static io.onetable.GenericTable.getTableName;
+import static org.apache.xtable.GenericTable.getTableName;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
@@ -43,19 +43,19 @@ import org.apache.hadoop.conf.Configuration;
import org.junit.jupiter.api.Test;
import org.mockito.ArgumentMatcher;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.IncrementalTableChanges;
-import io.onetable.model.InstantsForIncrementalSync;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.TableChange;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.model.sync.SyncResult;
-import io.onetable.spi.extractor.SourceClient;
-import io.onetable.spi.sync.TableFormatSync;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.IncrementalTableChanges;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncResult;
+import org.apache.xtable.spi.extractor.SourceClient;
+import org.apache.xtable.spi.sync.TableFormatSync;
+import org.apache.xtable.spi.sync.TargetClient;
public class TestOneTableClient {
diff --git a/core/src/test/java/io/onetable/client/TestPerTableConfig.java b/core/src/test/java/org/apache/xtable/client/TestPerTableConfig.java
similarity index 95%
rename from core/src/test/java/io/onetable/client/TestPerTableConfig.java
rename to core/src/test/java/org/apache/xtable/client/TestPerTableConfig.java
index 2bcd8d37..1687cd1c 100644
--- a/core/src/test/java/io/onetable/client/TestPerTableConfig.java
+++ b/core/src/test/java/org/apache/xtable/client/TestPerTableConfig.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -26,9 +26,9 @@ import java.util.Collections;
import org.junit.jupiter.api.Test;
-import io.onetable.hudi.HudiSourceConfigImpl;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
+import org.apache.xtable.hudi.HudiSourceConfigImpl;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
class TestPerTableConfig {
diff --git a/core/src/test/java/io/onetable/client/TestTableFormatClientFactory.java b/core/src/test/java/org/apache/xtable/client/TestTableFormatClientFactory.java
similarity index 92%
rename from core/src/test/java/io/onetable/client/TestTableFormatClientFactory.java
rename to core/src/test/java/org/apache/xtable/client/TestTableFormatClientFactory.java
index 5cffe450..9a7e4175 100644
--- a/core/src/test/java/io/onetable/client/TestTableFormatClientFactory.java
+++ b/core/src/test/java/org/apache/xtable/client/TestTableFormatClientFactory.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.client;
+package org.apache.xtable.client;
-import static io.onetable.GenericTable.getTableName;
+import static org.apache.xtable.GenericTable.getTableName;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -30,10 +30,10 @@ import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.junit.jupiter.api.Test;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.spi.sync.TargetClient;
public class TestTableFormatClientFactory {
diff --git a/core/src/test/java/io/onetable/delta/ITDeltaSourceClient.java b/core/src/test/java/org/apache/xtable/delta/ITDeltaSourceClient.java
similarity index 91%
rename from core/src/test/java/io/onetable/delta/ITDeltaSourceClient.java
rename to core/src/test/java/org/apache/xtable/delta/ITDeltaSourceClient.java
index 4dca16f6..38ce5e31 100644
--- a/core/src/test/java/io/onetable/delta/ITDeltaSourceClient.java
+++ b/core/src/test/java/org/apache/xtable/delta/ITDeltaSourceClient.java
@@ -16,12 +16,8 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
-import static io.onetable.GenericTable.getTableName;
-import static io.onetable.ValidationTestHelper.getAllFilePaths;
-import static io.onetable.ValidationTestHelper.validateOneSnapshot;
-import static io.onetable.ValidationTestHelper.validateTableChanges;
import static org.junit.jupiter.api.Assertions.*;
import java.net.URI;
@@ -54,26 +50,31 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import io.onetable.TestSparkDeltaTable;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.*;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.GenericTable;
+import org.apache.xtable.TestSparkDeltaTable;
+import org.apache.xtable.ValidationTestHelper;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
public class ITDeltaSourceClient {
@@ -151,7 +152,7 @@ public class ITDeltaSourceClient {
@Test
void getCurrentSnapshotNonPartitionedTest() throws URISyntaxException {
// Table name
- final String tableName = getTableName();
+ final String tableName = GenericTable.getTableName();
final Path basePath = tempDir.resolve(tableName);
// Create table with a single row using Spark
sparkSession.sql(
@@ -208,7 +209,7 @@ public class ITDeltaSourceClient {
@Test
void getCurrentSnapshotPartitionedTest() throws URISyntaxException {
// Table name
- final String tableName = getTableName();
+ final String tableName = GenericTable.getTableName();
final Path basePath = tempDir.resolve(tableName);
// Create table with a single row using Spark
sparkSession.sql(
@@ -292,7 +293,7 @@ public class ITDeltaSourceClient {
@Test
void getCurrentSnapshotGenColPartitionedTest() {
// Table name
- final String tableName = getTableName();
+ final String tableName = GenericTable.getTableName();
final Path basePath = tempDir.resolve(tableName);
// Create table with a single row using Spark
sparkSession.sql(
@@ -322,7 +323,7 @@ public class ITDeltaSourceClient {
@ParameterizedTest
@MethodSource("testWithPartitionToggle")
public void testInsertsUpsertsAndDeletes(boolean isPartitioned) {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(
tableName, tempDir, sparkSession, isPartitioned ? "yearOfBirth" : null, false);
@@ -359,7 +360,8 @@ public class ITDeltaSourceClient {
if (isPartitioned) {
validateDeltaPartitioning(oneSnapshot);
}
- validateOneSnapshot(oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
// Get changes in incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -371,13 +373,13 @@ public class ITDeltaSourceClient {
TableChange tableChange = deltaSourceClient.getTableChangeForCommit(version);
allTableChanges.add(tableChange);
}
- validateTableChanges(allActiveFiles, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allActiveFiles, allTableChanges);
}
@Test
public void testsShowingVacuumHasNoEffectOnIncrementalSync() {
boolean isPartitioned = true;
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(
tableName, tempDir, sparkSession, isPartitioned ? "yearOfBirth" : null, false);
@@ -392,7 +394,7 @@ public class ITDeltaSourceClient {
.build();
DeltaSourceClient deltaSourceClient = clientProvider.getSourceClientInstance(tableConfig);
OneSnapshot snapshotAfterCommit1 = deltaSourceClient.getCurrentSnapshot();
- List<String> allActivePaths = getAllFilePaths(snapshotAfterCommit1);
+ List<String> allActivePaths = ValidationTestHelper.getAllFilePaths(snapshotAfterCommit1);
assertEquals(1, allActivePaths.size());
String activePathAfterCommit1 = allActivePaths.get(0);
@@ -427,7 +429,7 @@ public class ITDeltaSourceClient {
@ParameterizedTest
@MethodSource("testWithPartitionToggle")
public void testVacuum(boolean isPartitioned) {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(
tableName, tempDir, sparkSession, isPartitioned ? "yearOfBirth" : null, false);
@@ -463,7 +465,8 @@ public class ITDeltaSourceClient {
if (isPartitioned) {
validateDeltaPartitioning(oneSnapshot);
}
- validateOneSnapshot(oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
// Get changes in incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -475,13 +478,13 @@ public class ITDeltaSourceClient {
TableChange tableChange = deltaSourceClient.getTableChangeForCommit(version);
allTableChanges.add(tableChange);
}
- validateTableChanges(allActiveFiles, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allActiveFiles, allTableChanges);
}
@ParameterizedTest
@MethodSource("testWithPartitionToggle")
public void testAddColumns(boolean isPartitioned) {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(
tableName, tempDir, sparkSession, isPartitioned ? "yearOfBirth" : null, true);
@@ -509,7 +512,8 @@ public class ITDeltaSourceClient {
if (isPartitioned) {
validateDeltaPartitioning(oneSnapshot);
}
- validateOneSnapshot(oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
// Get changes in incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -521,12 +525,12 @@ public class ITDeltaSourceClient {
TableChange tableChange = deltaSourceClient.getTableChangeForCommit(version);
allTableChanges.add(tableChange);
}
- validateTableChanges(allActiveFiles, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allActiveFiles, allTableChanges);
}
@Test
public void testDropPartition() {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(tableName, tempDir, sparkSession, "yearOfBirth", false);
List<List<String>> allActiveFiles = new ArrayList<>();
@@ -564,7 +568,8 @@ public class ITDeltaSourceClient {
OneSnapshot oneSnapshot = deltaSourceClient.getCurrentSnapshot();
validateDeltaPartitioning(oneSnapshot);
- validateOneSnapshot(oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
// Get changes in incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -576,13 +581,13 @@ public class ITDeltaSourceClient {
TableChange tableChange = deltaSourceClient.getTableChangeForCommit(version);
allTableChanges.add(tableChange);
}
- validateTableChanges(allActiveFiles, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allActiveFiles, allTableChanges);
}
@ParameterizedTest
@MethodSource("testWithPartitionToggle")
public void testOptimizeAndClustering(boolean isPartitioned) {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
TestSparkDeltaTable testSparkDeltaTable =
new TestSparkDeltaTable(
tableName, tempDir, sparkSession, isPartitioned ? "yearOfBirth" : null, false);
@@ -622,7 +627,8 @@ public class ITDeltaSourceClient {
if (isPartitioned) {
validateDeltaPartitioning(oneSnapshot);
}
- validateOneSnapshot(oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allActiveFiles.get(allActiveFiles.size() - 1));
// Get changes in incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -634,7 +640,7 @@ public class ITDeltaSourceClient {
TableChange tableChange = deltaSourceClient.getTableChangeForCommit(version);
allTableChanges.add(tableChange);
}
- validateTableChanges(allActiveFiles, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allActiveFiles, allTableChanges);
}
private void validateDeltaPartitioning(OneSnapshot oneSnapshot) {
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaHelper.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaHelper.java
similarity index 98%
rename from core/src/test/java/io/onetable/delta/TestDeltaHelper.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaHelper.java
index a1d1ad16..a677f57e 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaHelper.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaHelper.java
@@ -16,9 +16,8 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
-import static io.onetable.GenericTable.LEVEL_VALUES;
import static org.apache.spark.sql.types.DataTypes.BinaryType;
import static org.apache.spark.sql.types.DataTypes.BooleanType;
import static org.apache.spark.sql.types.DataTypes.DateType;
@@ -65,6 +64,8 @@ import org.apache.spark.sql.types.StructType;
import io.delta.tables.DeltaTable;
import io.delta.tables.DeltaTableBuilder;
+import org.apache.xtable.GenericTable;
+
@Builder
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@@ -164,7 +165,8 @@ public class TestDeltaHelper {
public Row generateRandomRow() {
int year = 2013 + RANDOM.nextInt(11);
- String levelValue = LEVEL_VALUES.get(RANDOM.nextInt(LEVEL_VALUES.size()));
+ String levelValue =
+ GenericTable.LEVEL_VALUES.get(RANDOM.nextInt(GenericTable.LEVEL_VALUES.size()));
return generateRandomRowForGivenYearAndLevel(year, levelValue);
}
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaPartitionExtractor.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaPartitionExtractor.java
similarity index 98%
rename from core/src/test/java/io/onetable/delta/TestDeltaPartitionExtractor.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaPartitionExtractor.java
index 8e9da45e..bc4b9928 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaPartitionExtractor.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaPartitionExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import static org.junit.jupiter.api.Assertions.*;
@@ -34,13 +34,13 @@ import org.junit.jupiter.api.Test;
import scala.collection.JavaConverters;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
/** Validates the partition extraction logic from Delta tables. */
public class TestDeltaPartitionExtractor {
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaSchemaExtractor.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaSchemaExtractor.java
similarity index 99%
rename from core/src/test/java/io/onetable/delta/TestDeltaSchemaExtractor.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaSchemaExtractor.java
index 39957452..03809894 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaSchemaExtractor.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaSchemaExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import java.util.Arrays;
import java.util.Collections;
@@ -29,9 +29,9 @@ import org.apache.spark.sql.types.StructType;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
public class TestDeltaSchemaExtractor {
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaStatsExtractor.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaStatsExtractor.java
similarity index 96%
rename from core/src/test/java/io/onetable/delta/TestDeltaStatsExtractor.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaStatsExtractor.java
index d084a5b4..3c38620a 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaStatsExtractor.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaStatsExtractor.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
-import static io.onetable.testutil.ColumnStatMapUtil.getColumnStats;
+import static org.apache.xtable.testutil.ColumnStatMapUtil.getColumnStats;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
@@ -36,12 +36,12 @@ import org.apache.spark.sql.delta.actions.AddFile;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
-import io.onetable.testutil.ColumnStatMapUtil;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.testutil.ColumnStatMapUtil;
public class TestDeltaStatsExtractor {
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaSync.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaSync.java
similarity index 95%
rename from core/src/test/java/io/onetable/delta/TestDeltaSync.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaSync.java
index bcb90eaf..807e6d2d 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaSync.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -76,23 +76,23 @@ import io.delta.standalone.expressions.Literal;
import io.delta.standalone.types.IntegerType;
import io.delta.standalone.types.StringType;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.schema.SchemaFieldFinder;
-import io.onetable.spi.sync.TableFormatSync;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.schema.SchemaFieldFinder;
+import org.apache.xtable.spi.sync.TableFormatSync;
/**
* Validates that the delta log is properly created/updated. Also validates that our assumptions
diff --git a/core/src/test/java/io/onetable/delta/TestDeltaValueConverter.java b/core/src/test/java/org/apache/xtable/delta/TestDeltaValueConverter.java
similarity index 97%
rename from core/src/test/java/io/onetable/delta/TestDeltaValueConverter.java
rename to core/src/test/java/org/apache/xtable/delta/TestDeltaValueConverter.java
index 37a9d598..e8e96f8f 100644
--- a/core/src/test/java/io/onetable/delta/TestDeltaValueConverter.java
+++ b/core/src/test/java/org/apache/xtable/delta/TestDeltaValueConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.delta;
+package org.apache.xtable.delta;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -33,9 +33,9 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
public class TestDeltaValueConverter {
diff --git a/core/src/test/java/io/onetable/hudi/HudiTestUtil.java b/core/src/test/java/org/apache/xtable/hudi/HudiTestUtil.java
similarity index 98%
rename from core/src/test/java/io/onetable/hudi/HudiTestUtil.java
rename to core/src/test/java/org/apache/xtable/hudi/HudiTestUtil.java
index 8bfa8bf4..617f7ce3 100644
--- a/core/src/test/java/io/onetable/hudi/HudiTestUtil.java
+++ b/core/src/test/java/org/apache/xtable/hudi/HudiTestUtil.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.apache.hudi.index.HoodieIndex.IndexType.INMEMORY;
@@ -48,7 +48,7 @@ import org.apache.hudi.config.HoodieArchivalConfig;
import org.apache.hudi.config.HoodieIndexConfig;
import org.apache.hudi.config.HoodieWriteConfig;
-import io.onetable.model.schema.SchemaVersion;
+import org.apache.xtable.model.schema.SchemaVersion;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class HudiTestUtil {
diff --git a/core/src/test/java/io/onetable/hudi/ITHudiSourceClient.java b/core/src/test/java/org/apache/xtable/hudi/ITHudiSourceClient.java
similarity index 89%
rename from core/src/test/java/io/onetable/hudi/ITHudiSourceClient.java
rename to core/src/test/java/org/apache/xtable/hudi/ITHudiSourceClient.java
index aabb76b4..8a2ddef4 100644
--- a/core/src/test/java/io/onetable/hudi/ITHudiSourceClient.java
+++ b/core/src/test/java/org/apache/xtable/hudi/ITHudiSourceClient.java
@@ -16,13 +16,8 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.GenericTable.getTableName;
-import static io.onetable.ValidationTestHelper.validateOneSnapshot;
-import static io.onetable.ValidationTestHelper.validateTableChange;
-import static io.onetable.ValidationTestHelper.validateTableChanges;
-import static io.onetable.hudi.HudiTestUtil.PartitionConfig;
import static java.util.stream.Collectors.groupingBy;
import static org.junit.jupiter.api.Assertions.*;
@@ -63,12 +58,14 @@ import org.apache.hudi.common.model.HoodieTableType;
import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.table.timeline.HoodieInstant;
-import io.onetable.TestJavaHudiTable;
-import io.onetable.TestSparkHudiTable;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.InstantsForIncrementalSync;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.TableChange;
+import org.apache.xtable.GenericTable;
+import org.apache.xtable.TestJavaHudiTable;
+import org.apache.xtable.TestSparkHudiTable;
+import org.apache.xtable.ValidationTestHelper;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.TableChange;
/**
* A suite of functional tests that the extraction from Hudi to Intermediate representation works.
@@ -103,8 +100,9 @@ public class ITHudiSourceClient {
@ParameterizedTest
@MethodSource("testsForAllTableTypesAndPartitions")
- public void insertAndUpsertData(HoodieTableType tableType, PartitionConfig partitionConfig) {
- String tableName = getTableName();
+ public void insertAndUpsertData(
+ HoodieTableType tableType, HudiTestUtil.PartitionConfig partitionConfig) {
+ String tableName = GenericTable.getTableName();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
tableName, tempDir, partitionConfig.getHudiConfig(), tableType)) {
@@ -140,7 +138,8 @@ public class ITHudiSourceClient {
CONFIGURATION, table.getBasePath(), partitionConfig.getOneTableConfig());
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get second change in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -152,14 +151,14 @@ public class ITHudiSourceClient {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
allTableChanges.add(tableChange);
}
- validateTableChanges(allBaseFilePaths, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allBaseFilePaths, allTableChanges);
}
}
@Test
public void testOnlyUpsertsAfterInserts() {
HoodieTableType tableType = HoodieTableType.MERGE_ON_READ;
- PartitionConfig partitionConfig = PartitionConfig.of(null, null);
+ HudiTestUtil.PartitionConfig partitionConfig = HudiTestUtil.PartitionConfig.of(null, null);
String tableName = "test_table_" + UUID.randomUUID();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
@@ -187,7 +186,8 @@ public class ITHudiSourceClient {
CONFIGURATION, table.getBasePath(), partitionConfig.getOneTableConfig());
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get second change in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -199,15 +199,15 @@ public class ITHudiSourceClient {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
allTableChanges.add(tableChange);
}
- validateTableChanges(allBaseFilePaths, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allBaseFilePaths, allTableChanges);
}
}
@Test
public void testForIncrementalSyncSafetyCheck() {
HoodieTableType tableType = HoodieTableType.COPY_ON_WRITE;
- PartitionConfig partitionConfig = PartitionConfig.of(null, null);
- String tableName = getTableName();
+ HudiTestUtil.PartitionConfig partitionConfig = HudiTestUtil.PartitionConfig.of(null, null);
+ String tableName = GenericTable.getTableName();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
tableName, tempDir, partitionConfig.getHudiConfig(), tableType)) {
@@ -274,7 +274,8 @@ public class ITHudiSourceClient {
getHudiSourceClient(CONFIGURATION, table.getBasePath(), "level:VALUE");
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get changes in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -286,7 +287,7 @@ public class ITHudiSourceClient {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
allTableChanges.add(tableChange);
}
- validateTableChanges(allBaseFilePaths, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allBaseFilePaths, allTableChanges);
}
}
@@ -325,7 +326,8 @@ public class ITHudiSourceClient {
getHudiSourceClient(CONFIGURATION, table.getBasePath(), "level:VALUE");
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get changes in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -337,13 +339,14 @@ public class ITHudiSourceClient {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
allTableChanges.add(tableChange);
}
- validateTableChanges(allBaseFilePaths, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allBaseFilePaths, allTableChanges);
}
}
@ParameterizedTest
@MethodSource("testsForAllTableTypesAndPartitions")
- public void testsForClustering(HoodieTableType tableType, PartitionConfig partitionConfig) {
+ public void testsForClustering(
+ HoodieTableType tableType, HudiTestUtil.PartitionConfig partitionConfig) {
String tableName = "test_table_" + UUID.randomUUID();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
@@ -390,7 +393,8 @@ public class ITHudiSourceClient {
CONFIGURATION, table.getBasePath(), partitionConfig.getOneTableConfig());
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get changes in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -402,13 +406,14 @@ public class ITHudiSourceClient {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
allTableChanges.add(tableChange);
}
- validateTableChanges(allBaseFilePaths, allTableChanges);
+ ValidationTestHelper.validateTableChanges(allBaseFilePaths, allTableChanges);
}
}
@ParameterizedTest
@MethodSource("testsForAllTableTypesAndPartitions")
- public void testsForSavepointRestore(HoodieTableType tableType, PartitionConfig partitionConfig) {
+ public void testsForSavepointRestore(
+ HoodieTableType tableType, HudiTestUtil.PartitionConfig partitionConfig) {
String tableName = "test_table_" + UUID.randomUUID();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
@@ -443,7 +448,8 @@ public class ITHudiSourceClient {
CONFIGURATION, table.getBasePath(), partitionConfig.getOneTableConfig());
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
+ ValidationTestHelper.validateOneSnapshot(
+ oneSnapshot, allBaseFilePaths.get(allBaseFilePaths.size() - 1));
// Get changes in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -461,10 +467,10 @@ public class ITHudiSourceClient {
i -> {
if (i == 1) {
// Savepoint: no change
- validateTableChange(
+ ValidationTestHelper.validateTableChange(
allBaseFilePaths.get(i), allBaseFilePaths.get(i), allTableChanges.get(i));
} else {
- validateTableChange(
+ ValidationTestHelper.validateTableChange(
allBaseFilePaths.get(i), allBaseFilePaths.get(i + 1), allTableChanges.get(i));
}
});
@@ -473,7 +479,8 @@ public class ITHudiSourceClient {
@ParameterizedTest
@MethodSource("testsForAllTableTypesAndPartitions")
- public void testsForRollbacks(HoodieTableType tableType, PartitionConfig partitionConfig) {
+ public void testsForRollbacks(
+ HoodieTableType tableType, HudiTestUtil.PartitionConfig partitionConfig) {
String tableName = "test_table_" + UUID.randomUUID();
try (TestJavaHudiTable table =
TestJavaHudiTable.forStandardSchema(
@@ -507,7 +514,7 @@ public class ITHudiSourceClient {
CONFIGURATION, table.getBasePath(), partitionConfig.getOneTableConfig());
// Get the current snapshot
OneSnapshot oneSnapshot = hudiClient.getCurrentSnapshot();
- validateOneSnapshot(oneSnapshot, baseFilesAfterCommit4);
+ ValidationTestHelper.validateOneSnapshot(oneSnapshot, baseFilesAfterCommit4);
// Get changes in Incremental format.
InstantsForIncrementalSync instantsForIncrementalSync =
InstantsForIncrementalSync.builder()
@@ -518,11 +525,14 @@ public class ITHudiSourceClient {
for (HoodieInstant instant : instantCommitsBacklog.getCommitsToProcess()) {
TableChange tableChange = hudiClient.getTableChangeForCommit(instant);
if (commitInstant2.equals(instant.getTimestamp())) {
- validateTableChange(baseFilesAfterCommit1, baseFilesAfterCommit2, tableChange);
+ ValidationTestHelper.validateTableChange(
+ baseFilesAfterCommit1, baseFilesAfterCommit2, tableChange);
} else if ("rollback".equals(instant.getAction())) {
- validateTableChange(baseFilesAfterCommit3, baseFilesAfterRollback, tableChange);
+ ValidationTestHelper.validateTableChange(
+ baseFilesAfterCommit3, baseFilesAfterRollback, tableChange);
} else if (commitInstant4.equals(instant.getTimestamp())) {
- validateTableChange(baseFilesAfterRollback, baseFilesAfterCommit4, tableChange);
+ ValidationTestHelper.validateTableChange(
+ baseFilesAfterRollback, baseFilesAfterCommit4, tableChange);
} else {
fail("Please add proper asserts here");
}
@@ -536,9 +546,11 @@ public class ITHudiSourceClient {
}
private static Stream<Arguments> testsForAllTableTypesAndPartitions() {
- PartitionConfig unPartitionedConfig = PartitionConfig.of(null, null);
- PartitionConfig partitionedConfig = PartitionConfig.of("level:SIMPLE", "level:VALUE");
- List<PartitionConfig> partitionConfigs = Arrays.asList(unPartitionedConfig, partitionedConfig);
+ HudiTestUtil.PartitionConfig unPartitionedConfig = HudiTestUtil.PartitionConfig.of(null, null);
+ HudiTestUtil.PartitionConfig partitionedConfig =
+ HudiTestUtil.PartitionConfig.of("level:SIMPLE", "level:VALUE");
+ List<HudiTestUtil.PartitionConfig> partitionConfigs =
+ Arrays.asList(unPartitionedConfig, partitionedConfig);
List<HoodieTableType> tableTypes =
Arrays.asList(HoodieTableType.COPY_ON_WRITE, HoodieTableType.MERGE_ON_READ);
diff --git a/core/src/test/java/io/onetable/hudi/ITHudiTargetClient.java b/core/src/test/java/org/apache/xtable/hudi/ITHudiTargetClient.java
similarity index 95%
rename from core/src/test/java/io/onetable/hudi/ITHudiTargetClient.java
rename to core/src/test/java/org/apache/xtable/hudi/ITHudiTargetClient.java
index e3706768..0cf012a2 100644
--- a/core/src/test/java/io/onetable/hudi/ITHudiTargetClient.java
+++ b/core/src/test/java/org/apache/xtable/hudi/ITHudiTargetClient.java
@@ -16,12 +16,12 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.hudi.HudiTestUtil.SCHEMA_VERSION;
-import static io.onetable.hudi.HudiTestUtil.createWriteStatus;
-import static io.onetable.hudi.HudiTestUtil.getHoodieWriteConfig;
-import static io.onetable.hudi.HudiTestUtil.initTableAndGetMetaClient;
+import static org.apache.xtable.hudi.HudiTestUtil.SCHEMA_VERSION;
+import static org.apache.xtable.hudi.HudiTestUtil.createWriteStatus;
+import static org.apache.xtable.hudi.HudiTestUtil.getHoodieWriteConfig;
+import static org.apache.xtable.hudi.HudiTestUtil.initTableAndGetMetaClient;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.nio.file.Path;
@@ -70,24 +70,24 @@ import org.apache.hudi.config.HoodieWriteConfig;
import org.apache.hudi.metadata.HoodieBackedTableMetadata;
import org.apache.hudi.metadata.HoodieMetadataFileSystemView;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.spi.sync.TargetClient;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.spi.sync.TargetClient;
/**
* A suite of functional tests that assert that the metadata for the hudi table is properly written
diff --git a/core/src/test/java/io/onetable/hudi/TestBaseFileUpdatesExtractor.java b/core/src/test/java/org/apache/xtable/hudi/TestBaseFileUpdatesExtractor.java
similarity index 94%
rename from core/src/test/java/io/onetable/hudi/TestBaseFileUpdatesExtractor.java
rename to core/src/test/java/org/apache/xtable/hudi/TestBaseFileUpdatesExtractor.java
index 4075f912..f183d418 100644
--- a/core/src/test/java/io/onetable/hudi/TestBaseFileUpdatesExtractor.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestBaseFileUpdatesExtractor.java
@@ -16,13 +16,13 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.hudi.HudiTestUtil.SCHEMA_VERSION;
-import static io.onetable.hudi.HudiTestUtil.createWriteStatus;
-import static io.onetable.hudi.HudiTestUtil.getHoodieWriteConfig;
-import static io.onetable.hudi.HudiTestUtil.initTableAndGetMetaClient;
-import static io.onetable.testutil.ColumnStatMapUtil.getColumnStats;
+import static org.apache.xtable.hudi.HudiTestUtil.SCHEMA_VERSION;
+import static org.apache.xtable.hudi.HudiTestUtil.createWriteStatus;
+import static org.apache.xtable.hudi.HudiTestUtil.getHoodieWriteConfig;
+import static org.apache.xtable.hudi.HudiTestUtil.initTableAndGetMetaClient;
+import static org.apache.xtable.testutil.ColumnStatMapUtil.getColumnStats;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
@@ -52,18 +52,19 @@ import org.apache.hudi.common.util.Option;
import org.apache.hudi.config.HoodieWriteConfig;
import org.apache.hudi.hadoop.CachingPath;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.testutil.ColumnStatMapUtil;
public class TestBaseFileUpdatesExtractor {
@TempDir public static java.nio.file.Path tempDir;
@@ -411,8 +412,7 @@ public class TestBaseFileUpdatesExtractor {
* Get expected col stats for a file.
*
* @param fileName name of the file
- * @return stats matching the column stats in {@link
- * io.onetable.testutil.ColumnStatMapUtil#getColumnStats()}
+ * @return stats matching the column stats in {@link ColumnStatMapUtil#getColumnStats()}
*/
private Map<String, HoodieColumnRangeMetadata<Comparable>> getExpectedColumnStats(
String fileName) {
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiFileStatsExtractor.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiFileStatsExtractor.java
similarity index 97%
rename from core/src/test/java/io/onetable/hudi/TestHudiFileStatsExtractor.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiFileStatsExtractor.java
index d64a0236..994b239d 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiFileStatsExtractor.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiFileStatsExtractor.java
@@ -16,9 +16,8 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
-import static io.onetable.GenericTable.getTableName;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
@@ -65,14 +64,15 @@ import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.util.Option;
import org.apache.hudi.metadata.HoodieTableMetadata;
-import io.onetable.TestJavaHudiTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
+import org.apache.xtable.GenericTable;
+import org.apache.xtable.TestJavaHudiTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
public class TestHudiFileStatsExtractor {
private static final Schema AVRO_SCHEMA =
@@ -121,7 +121,7 @@ public class TestHudiFileStatsExtractor {
@Test
void columnStatsWithMetadataTable(@TempDir Path tempDir) throws Exception {
- String tableName = getTableName();
+ String tableName = GenericTable.getTableName();
String basePath;
try (TestJavaHudiTable table =
TestJavaHudiTable.withSchema(
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiInstantUtils.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiInstantUtils.java
similarity index 98%
rename from core/src/test/java/io/onetable/hudi/TestHudiInstantUtils.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiInstantUtils.java
index 59f82ff8..a471c27b 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiInstantUtils.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiInstantUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiPartitionValuesExtractor.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiPartitionValuesExtractor.java
similarity index 97%
rename from core/src/test/java/io/onetable/hudi/TestHudiPartitionValuesExtractor.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiPartitionValuesExtractor.java
index fcd68295..db0de953 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiPartitionValuesExtractor.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiPartitionValuesExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import java.time.Instant;
import java.util.Arrays;
@@ -32,14 +32,14 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
-import io.onetable.exception.PartitionValuesExtractorException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.exception.PartitionValuesExtractorException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
public class TestHudiPartitionValuesExtractor {
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiSchemaExtractor.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiSchemaExtractor.java
similarity index 92%
rename from core/src/test/java/io/onetable/hudi/TestHudiSchemaExtractor.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiSchemaExtractor.java
index ab443145..92ebb2ec 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiSchemaExtractor.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiSchemaExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.mock;
@@ -27,8 +27,8 @@ import org.apache.avro.Schema;
import org.apache.avro.SchemaBuilder;
import org.junit.jupiter.api.Test;
-import io.onetable.avro.AvroSchemaConverter;
-import io.onetable.model.schema.OneSchema;
+import org.apache.xtable.avro.AvroSchemaConverter;
+import org.apache.xtable.model.schema.OneSchema;
public class TestHudiSchemaExtractor {
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiTableManager.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiTableManager.java
similarity index 95%
rename from core/src/test/java/io/onetable/hudi/TestHudiTableManager.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiTableManager.java
index 3ad8fd02..19e20c88 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiTableManager.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiTableManager.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -38,13 +38,13 @@ import org.junit.jupiter.params.provider.MethodSource;
import org.apache.hudi.common.table.HoodieTableMetaClient;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.TableFormat;
public class TestHudiTableManager {
diff --git a/core/src/test/java/io/onetable/hudi/TestHudiTargetClient.java b/core/src/test/java/org/apache/xtable/hudi/TestHudiTargetClient.java
similarity index 94%
rename from core/src/test/java/io/onetable/hudi/TestHudiTargetClient.java
rename to core/src/test/java/org/apache/xtable/hudi/TestHudiTargetClient.java
index 964c581d..2c132ead 100644
--- a/core/src/test/java/io/onetable/hudi/TestHudiTargetClient.java
+++ b/core/src/test/java/org/apache/xtable/hudi/TestHudiTargetClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi;
+package org.apache.xtable.hudi;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.mock;
@@ -40,17 +40,17 @@ import org.apache.hudi.common.table.HoodieTableConfig;
import org.apache.hudi.common.table.HoodieTableMetaClient;
import org.apache.hudi.common.util.Option;
-import io.onetable.avro.AvroSchemaConverter;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.storage.OneDataFilesDiff;
-import io.onetable.model.storage.OneFileGroup;
+import org.apache.xtable.avro.AvroSchemaConverter;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.storage.OneDataFilesDiff;
+import org.apache.xtable.model.storage.OneFileGroup;
/**
* Unit tests that focus on the basic control flow of the HudiTargetClient. Functional tests are in
diff --git a/core/src/test/java/io/onetable/iceberg/ITIcebergSourceClient.java b/core/src/test/java/org/apache/xtable/iceberg/ITIcebergSourceClient.java
similarity index 95%
rename from core/src/test/java/io/onetable/iceberg/ITIcebergSourceClient.java
rename to core/src/test/java/org/apache/xtable/iceberg/ITIcebergSourceClient.java
index 2e6c83ff..ec19baec 100644
--- a/core/src/test/java/io/onetable/iceberg/ITIcebergSourceClient.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/ITIcebergSourceClient.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
-import static io.onetable.GenericTable.getTableName;
-import static io.onetable.ValidationTestHelper.validateOneSnapshot;
-import static io.onetable.ValidationTestHelper.validateTableChanges;
+import static org.apache.xtable.GenericTable.getTableName;
+import static org.apache.xtable.ValidationTestHelper.validateOneSnapshot;
+import static org.apache.xtable.ValidationTestHelper.validateTableChanges;
import static org.junit.jupiter.api.Assertions.*;
import java.nio.file.Path;
@@ -43,16 +43,16 @@ import org.junit.jupiter.params.provider.ValueSource;
import org.apache.iceberg.Snapshot;
import org.apache.iceberg.data.Record;
-import io.onetable.TestIcebergTable;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.CommitsBacklog;
-import io.onetable.model.InstantsForIncrementalSync;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.TableChange;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.TestIcebergTable;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.storage.TableFormat;
public class ITIcebergSourceClient {
private static final Configuration hadoopConf = new Configuration();
diff --git a/core/src/test/java/io/onetable/iceberg/IcebergTestUtils.java b/core/src/test/java/org/apache/xtable/iceberg/IcebergTestUtils.java
similarity index 98%
rename from core/src/test/java/io/onetable/iceberg/IcebergTestUtils.java
rename to core/src/test/java/org/apache/xtable/iceberg/IcebergTestUtils.java
index 84a9525c..04ffa8a9 100644
--- a/core/src/test/java/io/onetable/iceberg/IcebergTestUtils.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/IcebergTestUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import org.apache.iceberg.Schema;
import org.apache.iceberg.types.Types;
diff --git a/core/src/test/java/io/onetable/iceberg/StubCatalog.java b/core/src/test/java/org/apache/xtable/iceberg/StubCatalog.java
similarity index 98%
rename from core/src/test/java/io/onetable/iceberg/StubCatalog.java
rename to core/src/test/java/org/apache/xtable/iceberg/StubCatalog.java
index 740888cf..a25063c4 100644
--- a/core/src/test/java/io/onetable/iceberg/StubCatalog.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/StubCatalog.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.HashMap;
import java.util.List;
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergColumnStatsConverter.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergColumnStatsConverter.java
similarity index 98%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergColumnStatsConverter.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergColumnStatsConverter.java
index 56c0840e..72991d29 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergColumnStatsConverter.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergColumnStatsConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -39,11 +39,11 @@ import org.apache.iceberg.Schema;
import org.apache.iceberg.types.Conversions;
import org.apache.iceberg.types.Types;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
public class TestIcebergColumnStatsConverter {
private static final CharsetEncoder ENCODER = StandardCharsets.UTF_8.newEncoder();
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergDataHelper.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergDataHelper.java
similarity index 99%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergDataHelper.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergDataHelper.java
index f2ad0c61..cf806fd6 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergDataHelper.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergDataHelper.java
@@ -16,9 +16,9 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
-import static io.onetable.GenericTable.LEVEL_VALUES;
+import static org.apache.xtable.GenericTable.LEVEL_VALUES;
import java.math.BigDecimal;
import java.math.RoundingMode;
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecExtractor.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecExtractor.java
similarity index 97%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecExtractor.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecExtractor.java
index e6d13c43..d3420363 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecExtractor.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import java.util.Arrays;
import java.util.Collections;
@@ -30,12 +30,12 @@ import org.apache.iceberg.Schema;
import org.apache.iceberg.transforms.Transforms;
import org.apache.iceberg.types.Types;
-import io.onetable.exception.NotSupportedException;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
+import org.apache.xtable.exception.NotSupportedException;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
public class TestIcebergPartitionSpecExtractor {
// TODO assert error cases and add wrap errors in Onetable exceptions
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecSync.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecSync.java
similarity index 99%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecSync.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecSync.java
index 537a87ad..0212798c 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionSpecSync.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionSpecSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionValueConverter.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionValueConverter.java
similarity index 94%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergPartitionValueConverter.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionValueConverter.java
index 7a3c8848..3d0f39d2 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergPartitionValueConverter.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergPartitionValueConverter.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.*;
@@ -32,13 +32,13 @@ import org.apache.iceberg.StructLike;
import org.apache.iceberg.avro.AvroSchemaUtil;
import org.apache.iceberg.types.Types;
-import io.onetable.model.OneTable;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
public class TestIcebergPartitionValueConverter {
private IcebergPartitionValueConverter partitionValueConverter =
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergSchemaExtractor.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaExtractor.java
similarity index 99%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergSchemaExtractor.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaExtractor.java
index bbd57ae5..83a6dab7 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergSchemaExtractor.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaExtractor.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -29,9 +29,9 @@ import org.junit.jupiter.api.Test;
import org.apache.iceberg.Schema;
import org.apache.iceberg.types.Types;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
public class TestIcebergSchemaExtractor {
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergSchemaSync.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaSync.java
similarity index 99%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergSchemaSync.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaSync.java
index fb9adb51..347eb309 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergSchemaSync.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSchemaSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -37,7 +37,7 @@ import org.apache.iceberg.UpdateSchema;
import org.apache.iceberg.types.Type;
import org.apache.iceberg.types.Types;
-import io.onetable.exception.NotSupportedException;
+import org.apache.xtable.exception.NotSupportedException;
public class TestIcebergSchemaSync {
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergSourceClient.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSourceClient.java
similarity index 94%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergSourceClient.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergSourceClient.java
index fa164a58..9d799884 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergSourceClient.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSourceClient.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
@@ -35,6 +35,7 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
+import org.mockito.Mockito;
import org.apache.iceberg.*;
import org.apache.iceberg.data.GenericRecord;
@@ -45,16 +46,24 @@ import org.apache.iceberg.io.DataWriter;
import org.apache.iceberg.parquet.Parquet;
import org.apache.iceberg.types.Types;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.*;
-import io.onetable.model.schema.*;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.CommitsBacklog;
+import org.apache.xtable.model.InstantsForIncrementalSync;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.TableChange;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
class TestIcebergSourceClient {
@@ -98,7 +107,7 @@ class TestIcebergSourceClient {
assertEquals(snapshot.timestampMillis(), oneTable.getLatestCommitTime().toEpochMilli());
Assertions.assertNotNull(oneTable.getReadSchema());
- assertEquals(7, oneTable.getReadSchema().getFields().size());
+ Assertions.assertEquals(7, oneTable.getReadSchema().getFields().size());
validateSchema(oneTable.getReadSchema(), catalogSales.schema());
assertEquals(1, oneTable.getPartitioningFields().size());
@@ -122,7 +131,7 @@ class TestIcebergSourceClient {
PerTableConfig sourceTableConfig = getPerTableConfig(catalogSales);
IcebergSourceClient client = clientProvider.getSourceClientInstance(sourceTableConfig);
- IcebergSourceClient spyClient = spy(client);
+ IcebergSourceClient spyClient = Mockito.spy(client);
SchemaCatalog schemaCatalog = spyClient.getSchemaCatalog(null, iceCurrentSnapshot);
Assertions.assertNotNull(schemaCatalog);
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergSync.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSync.java
similarity index 96%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergSync.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergSync.java
index e442e764..3cc9dd95 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergSync.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -81,27 +81,27 @@ import org.apache.iceberg.types.Types;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
-import io.onetable.ITOneTableClient;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.model.OneSnapshot;
-import io.onetable.model.OneTable;
-import io.onetable.model.OneTableMetadata;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OnePartitionField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.schema.SchemaCatalog;
-import io.onetable.model.schema.SchemaVersion;
-import io.onetable.model.stat.PartitionValue;
-import io.onetable.model.stat.Range;
-import io.onetable.model.storage.DataLayoutStrategy;
-import io.onetable.model.storage.FileFormat;
-import io.onetable.model.storage.OneDataFile;
-import io.onetable.model.storage.OneFileGroup;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.schema.SchemaFieldFinder;
-import io.onetable.spi.sync.TableFormatSync;
+import org.apache.xtable.ITOneTableClient;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.model.OneSnapshot;
+import org.apache.xtable.model.OneTable;
+import org.apache.xtable.model.OneTableMetadata;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OnePartitionField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.schema.SchemaCatalog;
+import org.apache.xtable.model.schema.SchemaVersion;
+import org.apache.xtable.model.stat.PartitionValue;
+import org.apache.xtable.model.stat.Range;
+import org.apache.xtable.model.storage.DataLayoutStrategy;
+import org.apache.xtable.model.storage.FileFormat;
+import org.apache.xtable.model.storage.OneDataFile;
+import org.apache.xtable.model.storage.OneFileGroup;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.schema.SchemaFieldFinder;
+import org.apache.xtable.spi.sync.TableFormatSync;
/**
* Validates that the metadata for the table is properly created/updated. {@link ITOneTableClient}
diff --git a/core/src/test/java/io/onetable/iceberg/TestIcebergTableManager.java b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergTableManager.java
similarity index 99%
rename from core/src/test/java/io/onetable/iceberg/TestIcebergTableManager.java
rename to core/src/test/java/org/apache/xtable/iceberg/TestIcebergTableManager.java
index ba16e759..f81f1336 100644
--- a/core/src/test/java/io/onetable/iceberg/TestIcebergTableManager.java
+++ b/core/src/test/java/org/apache/xtable/iceberg/TestIcebergTableManager.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.iceberg;
+package org.apache.xtable.iceberg;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.ArgumentMatchers.any;
diff --git a/core/src/test/java/io/onetable/loadtest/LoadTest.java b/core/src/test/java/org/apache/xtable/loadtest/LoadTest.java
similarity index 91%
rename from core/src/test/java/io/onetable/loadtest/LoadTest.java
rename to core/src/test/java/org/apache/xtable/loadtest/LoadTest.java
index 4a392ce4..a5020fff 100644
--- a/core/src/test/java/io/onetable/loadtest/LoadTest.java
+++ b/core/src/test/java/org/apache/xtable/loadtest/LoadTest.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.loadtest;
+package org.apache.xtable.loadtest;
import java.nio.file.Path;
import java.util.Arrays;
@@ -34,14 +34,14 @@ import org.apache.hudi.common.model.HoodieTableType;
import org.apache.hudi.common.table.timeline.HoodieInstant;
import org.apache.hudi.config.HoodieArchivalConfig;
-import io.onetable.TestJavaHudiTable;
-import io.onetable.client.OneTableClient;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.client.SourceClientProvider;
-import io.onetable.hudi.HudiSourceClientProvider;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
+import org.apache.xtable.TestJavaHudiTable;
+import org.apache.xtable.client.OneTableClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.client.SourceClientProvider;
+import org.apache.xtable.hudi.HudiSourceClientProvider;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
/**
* Tests that can be run manually to simulate lots of commits/partitions/files/etc. to understand
diff --git a/core/src/test/java/io/onetable/paths/TestPathUtils.java b/core/src/test/java/org/apache/xtable/paths/TestPathUtils.java
similarity index 98%
rename from core/src/test/java/io/onetable/paths/TestPathUtils.java
rename to core/src/test/java/org/apache/xtable/paths/TestPathUtils.java
index 5c3707ef..7dc23af9 100644
--- a/core/src/test/java/io/onetable/paths/TestPathUtils.java
+++ b/core/src/test/java/org/apache/xtable/paths/TestPathUtils.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.paths;
+package org.apache.xtable.paths;
import static org.junit.jupiter.api.Assertions.assertEquals;
diff --git a/core/src/test/java/io/onetable/testutil/ColumnStatMapUtil.java b/core/src/test/java/org/apache/xtable/testutil/ColumnStatMapUtil.java
similarity index 97%
rename from core/src/test/java/io/onetable/testutil/ColumnStatMapUtil.java
rename to core/src/test/java/org/apache/xtable/testutil/ColumnStatMapUtil.java
index 8d8599ab..4c3d6c81 100644
--- a/core/src/test/java/io/onetable/testutil/ColumnStatMapUtil.java
+++ b/core/src/test/java/org/apache/xtable/testutil/ColumnStatMapUtil.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.testutil;
+package org.apache.xtable.testutil;
import java.math.BigDecimal;
import java.util.Arrays;
@@ -26,11 +26,11 @@ import java.util.List;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import io.onetable.model.schema.OneField;
-import io.onetable.model.schema.OneSchema;
-import io.onetable.model.schema.OneType;
-import io.onetable.model.stat.ColumnStat;
-import io.onetable.model.stat.Range;
+import org.apache.xtable.model.schema.OneField;
+import org.apache.xtable.model.schema.OneSchema;
+import org.apache.xtable.model.schema.OneType;
+import org.apache.xtable.model.stat.ColumnStat;
+import org.apache.xtable.model.stat.Range;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ColumnStatMapUtil {
diff --git a/core/src/test/java/io/onetable/testutil/Issues.java b/core/src/test/java/org/apache/xtable/testutil/Issues.java
similarity index 96%
rename from core/src/test/java/io/onetable/testutil/Issues.java
rename to core/src/test/java/org/apache/xtable/testutil/Issues.java
index 490ddd98..27608a90 100644
--- a/core/src/test/java/io/onetable/testutil/Issues.java
+++ b/core/src/test/java/org/apache/xtable/testutil/Issues.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.testutil;
+package org.apache.xtable.testutil;
public class Issues {
diff --git a/core/src/test/resources/log4j2.xml b/core/src/test/resources/log4j2.xml
index da1ebeea..512a5555 100644
--- a/core/src/test/resources/log4j2.xml
+++ b/core/src/test/resources/log4j2.xml
@@ -14,7 +14,7 @@
<Root level="warn" additivity="false">
<AppenderRef ref="console" />
</Root>
- <Logger name="io.onetable" level="info" additivity="false">
+ <Logger name="org.apache.xtable" level="info" additivity="false">
<AppenderRef ref="console"/>
</Logger>
</Loggers>
diff --git a/demo/notebook/demo.ipynb b/demo/notebook/demo.ipynb
index 273fc3b8..f7379365 100644
--- a/demo/notebook/demo.ipynb
+++ b/demo/notebook/demo.ipynb
@@ -27,17 +27,17 @@
"import $ivy.`org.apache.hudi:hudi-spark3.2-bundle_2.12:0.14.0`\n",
"import $ivy.`org.apache.hudi:hudi-java-client:0.14.0`\n",
"import $ivy.`io.delta:delta-core_2.12:2.0.2`\n",
- "import $cp.`/home/jars/onetable-core-0.1.0-SNAPSHOT.jar`\n",
- "import $cp.`/home/jars/onetable-api-0.1.0-SNAPSHOT.jar`\n",
+ "import $cp.`/home/jars/xtable-core-0.1.0-SNAPSHOT.jar`\n",
+ "import $cp.`/home/jars/xtable-api-0.1.0-SNAPSHOT.jar`\n",
"import $cp.`/home/jars/hudi-utils-0.1.0-SNAPSHOT.jar`\n",
"import $ivy.`org.apache.iceberg:iceberg-hive-runtime:1.3.1`\n",
"import $ivy.`io.trino:trino-jdbc:431`\n",
"import java.util._\n",
- "import io.onetable.client._\n",
- "import io.onetable.model.sync._\n",
- "import io.onetable.model.storage._\n",
- "import io.onetable.hudi._\n",
- "import io.onetable.iceberg._"
+ "import org.apache.xtable.client._\n",
+ "import org.apache.xtable.model.sync._\n",
+ "import org.apache.xtable.model.storage._\n",
+ "import org.apache.xtable.hudi._\n",
+ "import org.apache.xtable.iceberg._"
]
},
{
@@ -239,7 +239,7 @@
"outputs": [],
"source": [
"// Sync from a Delta Lake table to Hudi\n",
- "import io.onetable.delta._\n",
+ "import org.apache.xtable.delta._\n",
"val deltaSourceClientProvider = new DeltaSourceClientProvider()\n",
"deltaSourceClientProvider.init(spark.sparkContext.hadoopConfiguration, Collections.emptyMap())\n",
"val deltaSourcePerTableConfig = PerTableConfigImpl.builder()\n",
diff --git a/demo/start_demo.sh b/demo/start_demo.sh
index 253b405c..62cb7d17 100755
--- a/demo/start_demo.sh
+++ b/demo/start_demo.sh
@@ -3,8 +3,8 @@
cd .. && mvn install -am -pl core -DskipTests -T 2
mkdir -p demo/jars
cp hudi-support/utils/target/hudi-utils-0.1.0-SNAPSHOT.jar demo/jars
-cp api/target/onetable-api-0.1.0-SNAPSHOT.jar demo/jars
-cp core/target/onetable-core-0.1.0-SNAPSHOT.jar demo/jars
+cp api/target/xtable-api-0.1.0-SNAPSHOT.jar demo/jars
+cp core/target/xtable-core-0.1.0-SNAPSHOT.jar demo/jars
cd demo
docker-compose up
\ No newline at end of file
diff --git a/hudi-support/extensions/README.md b/hudi-support/extensions/README.md
index b01490fb..51ea57b6 100644
--- a/hudi-support/extensions/README.md
+++ b/hudi-support/extensions/README.md
@@ -6,8 +6,8 @@ The Hudi extensions provide the ability to add field IDs to the parquet schema w
1. Add the extensions jar (`hudi-extensions-0.1.0-SNAPSHOT-bundled.jar`) to your class path.
For example, if you're using the Hudi [quick-start guide](https://hudi.apache.org/docs/quick-start-guide#spark-shellsql) for spark you can just add `--jars hudi-extensions-0.1.0-SNAPSHOT-bundled.jar` to the end of the command.
2. Set the following configurations in your writer options:
- `hoodie.avro.write.support.class: io.onetable.hudi.extensions.HoodieAvroWriteSupportWithFieldIds`
- `hoodie.client.init.callback.classes: io.onetable.hudi.extensions.AddFieldIdsClientInitCallback`
+ `hoodie.avro.write.support.class: org.apache.xtable.hudi.extensions.HoodieAvroWriteSupportWithFieldIds`
+ `hoodie.client.init.callback.classes: org.apache.xtable.hudi.extensions.AddFieldIdsClientInitCallback`
`hoodie.datasource.write.row.writer.enable : false` (RowWriter support is coming soon)
3. Run your existing code that use Hudi writers
@@ -16,7 +16,7 @@ For example, if you're using the Hudi [quick-start guide](https://hudi.apache.or
If you want to use OneTable with Hudi [streaming ingestion](https://hudi.apache.org/docs/hoodie_streaming_ingestion) to sync each commit into other table formats.
### How do you use them?
1. Add the extensions jar (`hudi-extensions-0.1.0-SNAPSHOT-bundled.jar`) to your class path.
-2. Add `io.onetable.hudi.sync.OneTableSyncTool` to your list of sync classes
+2. Add `org.apache.xtable.hudi.sync.OneTableSyncTool` to your list of sync classes
3. Set the following configurations based on your preferences:
`hoodie.onetable.formats: "ICEBERG,DELTA"` (or simply use one format)
`hoodie.onetable.target.metadata.retention.hr: 168` (default retention for target format metadata is 168 hours)
\ No newline at end of file
diff --git a/hudi-support/extensions/pom.xml b/hudi-support/extensions/pom.xml
index 1f3507cf..8e972b93 100644
--- a/hudi-support/extensions/pom.xml
+++ b/hudi-support/extensions/pom.xml
@@ -6,19 +6,19 @@
<artifactId>hudi-extensions</artifactId>
<parent>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
<artifactId>hudi-support</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
<artifactId>hudi-utils</artifactId>
</dependency>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-core</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-core</artifactId>
</dependency>
<!-- Logging API -->
diff --git a/hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/AddFieldIdsClientInitCallback.java b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/AddFieldIdsClientInitCallback.java
similarity index 97%
rename from hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/AddFieldIdsClientInitCallback.java
rename to hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/AddFieldIdsClientInitCallback.java
index 29efd66c..ac82063e 100644
--- a/hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/AddFieldIdsClientInitCallback.java
+++ b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/AddFieldIdsClientInitCallback.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.extensions;
+package org.apache.xtable.hudi.extensions;
import lombok.extern.slf4j.Slf4j;
@@ -35,7 +35,7 @@ import org.apache.hudi.exception.HoodieException;
import com.google.common.annotations.VisibleForTesting;
-import io.onetable.hudi.idtracking.IdTracker;
+import org.apache.xtable.hudi.idtracking.IdTracker;
/**
* An implementation of {@link HoodieClientInitCallback} that adds field ID metadata to the schema.
diff --git a/hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java
similarity index 95%
rename from hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java
rename to hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java
index 7b134021..d3a1e788 100644
--- a/hudi-support/extensions/src/main/java/io/onetable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java
+++ b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/extensions/HoodieAvroWriteSupportWithFieldIds.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.extensions;
+package org.apache.xtable.hudi.extensions;
import java.util.List;
import java.util.Properties;
@@ -35,9 +35,9 @@ import org.apache.iceberg.mapping.MappedFields;
import org.apache.iceberg.mapping.NameMapping;
import org.apache.iceberg.parquet.ParquetSchemaUtil;
-import io.onetable.hudi.idtracking.IdTracker;
-import io.onetable.hudi.idtracking.models.IdMapping;
-import io.onetable.hudi.idtracking.models.IdTracking;
+import org.apache.xtable.hudi.idtracking.IdTracker;
+import org.apache.xtable.hudi.idtracking.models.IdMapping;
+import org.apache.xtable.hudi.idtracking.models.IdTracking;
/**
* An extension of the standard {@link HoodieAvroWriteSupport} that adds field IDs to the parquet
diff --git a/hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncConfig.java b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncConfig.java
similarity index 97%
rename from hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncConfig.java
rename to hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncConfig.java
index 2773c3cf..fe716ad4 100644
--- a/hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncConfig.java
+++ b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncConfig.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.sync;
+package org.apache.xtable.hudi.sync;
import java.io.Serializable;
import java.util.Properties;
diff --git a/hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncTool.java b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncTool.java
similarity index 92%
rename from hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncTool.java
rename to hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncTool.java
index 71902a5f..3d067d1a 100644
--- a/hudi-support/extensions/src/main/java/io/onetable/hudi/sync/OneTableSyncTool.java
+++ b/hudi-support/extensions/src/main/java/org/apache/xtable/hudi/sync/OneTableSyncTool.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.sync;
+package org.apache.xtable.hudi.sync;
import java.util.Arrays;
import java.util.Collections;
@@ -34,14 +34,14 @@ import org.apache.hudi.keygen.constant.KeyGeneratorOptions;
import org.apache.hudi.sync.common.HoodieSyncConfig;
import org.apache.hudi.sync.common.HoodieSyncTool;
-import io.onetable.client.OneTableClient;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.hudi.HudiSourceClientProvider;
-import io.onetable.hudi.HudiSourceConfigImpl;
-import io.onetable.model.schema.PartitionTransformType;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.model.sync.SyncResult;
+import org.apache.xtable.client.OneTableClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.hudi.HudiSourceClientProvider;
+import org.apache.xtable.hudi.HudiSourceConfigImpl;
+import org.apache.xtable.model.schema.PartitionTransformType;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.model.sync.SyncResult;
/** A HoodieSyncTool for syncing a Hudi table to other formats (Delta and Iceberg) with OneTable. */
public class OneTableSyncTool extends HoodieSyncTool {
diff --git a/hudi-support/extensions/src/test/java/io/onetable/hudi/extensions/TestAddFieldIdsClientInitCallback.java b/hudi-support/extensions/src/test/java/org/apache/xtable/hudi/extensions/TestAddFieldIdsClientInitCallback.java
similarity index 98%
rename from hudi-support/extensions/src/test/java/io/onetable/hudi/extensions/TestAddFieldIdsClientInitCallback.java
rename to hudi-support/extensions/src/test/java/org/apache/xtable/hudi/extensions/TestAddFieldIdsClientInitCallback.java
index aa1c1081..e856d07a 100644
--- a/hudi-support/extensions/src/test/java/io/onetable/hudi/extensions/TestAddFieldIdsClientInitCallback.java
+++ b/hudi-support/extensions/src/test/java/org/apache/xtable/hudi/extensions/TestAddFieldIdsClientInitCallback.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.extensions;
+package org.apache.xtable.hudi.extensions;
import static org.apache.hudi.common.table.HoodieTableConfig.HOODIE_TABLE_NAME_KEY;
import static org.apache.hudi.common.table.HoodieTableConfig.VERSION;
@@ -58,7 +58,7 @@ import org.apache.hudi.config.HoodieIndexConfig;
import org.apache.hudi.config.HoodieWriteConfig;
import org.apache.hudi.index.HoodieIndex;
-import io.onetable.hudi.idtracking.IdTracker;
+import org.apache.xtable.hudi.idtracking.IdTracker;
public class TestAddFieldIdsClientInitCallback {
@TempDir static Path tempDir;
diff --git a/hudi-support/extensions/src/test/java/io/onetable/hudi/sync/TestOneTableSyncTool.java b/hudi-support/extensions/src/test/java/org/apache/xtable/hudi/sync/TestOneTableSyncTool.java
similarity index 99%
rename from hudi-support/extensions/src/test/java/io/onetable/hudi/sync/TestOneTableSyncTool.java
rename to hudi-support/extensions/src/test/java/org/apache/xtable/hudi/sync/TestOneTableSyncTool.java
index b6179f3c..21922811 100644
--- a/hudi-support/extensions/src/test/java/io/onetable/hudi/sync/TestOneTableSyncTool.java
+++ b/hudi-support/extensions/src/test/java/org/apache/xtable/hudi/sync/TestOneTableSyncTool.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.sync;
+package org.apache.xtable.hudi.sync;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git a/hudi-support/pom.xml b/hudi-support/pom.xml
index 8aad155d..57b2685d 100644
--- a/hudi-support/pom.xml
+++ b/hudi-support/pom.xml
@@ -4,8 +4,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>io.onetable</groupId>
- <artifactId>onetable</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
diff --git a/hudi-support/utils/pom.xml b/hudi-support/utils/pom.xml
index f957de62..5697499a 100644
--- a/hudi-support/utils/pom.xml
+++ b/hudi-support/utils/pom.xml
@@ -6,7 +6,7 @@
<artifactId>hudi-utils</artifactId>
<parent>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
<artifactId>hudi-support</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
diff --git a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/IdTracker.java b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/IdTracker.java
similarity index 98%
rename from hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/IdTracker.java
rename to hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/IdTracker.java
index 17f30624..bdf3c04a 100644
--- a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/IdTracker.java
+++ b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/IdTracker.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.idtracking;
+package org.apache.xtable.hudi.idtracking;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -42,8 +42,8 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectReader;
-import io.onetable.hudi.idtracking.models.IdMapping;
-import io.onetable.hudi.idtracking.models.IdTracking;
+import org.apache.xtable.hudi.idtracking.models.IdMapping;
+import org.apache.xtable.hudi.idtracking.models.IdTracking;
/** Utility class for reading and writing the IdTracking information from a schema. */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
diff --git a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdMapping.java b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdMapping.java
similarity index 97%
rename from hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdMapping.java
rename to hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdMapping.java
index 18f61789..e4035c6f 100644
--- a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdMapping.java
+++ b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdMapping.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.idtracking.models;
+package org.apache.xtable.hudi.idtracking.models;
import java.util.ArrayList;
import java.util.List;
diff --git a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdTracking.java b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdTracking.java
similarity index 96%
rename from hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdTracking.java
rename to hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdTracking.java
index 5739984e..50a9429a 100644
--- a/hudi-support/utils/src/main/java/io/onetable/hudi/idtracking/models/IdTracking.java
+++ b/hudi-support/utils/src/main/java/org/apache/xtable/hudi/idtracking/models/IdTracking.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.idtracking.models;
+package org.apache.xtable.hudi.idtracking.models;
import java.util.Collections;
import java.util.List;
diff --git a/hudi-support/utils/src/test/java/io/onetable/hudi/idtracking/TestIdTracker.java b/hudi-support/utils/src/test/java/org/apache/xtable/hudi/idtracking/TestIdTracker.java
similarity index 99%
rename from hudi-support/utils/src/test/java/io/onetable/hudi/idtracking/TestIdTracker.java
rename to hudi-support/utils/src/test/java/org/apache/xtable/hudi/idtracking/TestIdTracker.java
index 02cfc3b1..6a728d6d 100644
--- a/hudi-support/utils/src/test/java/io/onetable/hudi/idtracking/TestIdTracker.java
+++ b/hudi-support/utils/src/test/java/org/apache/xtable/hudi/idtracking/TestIdTracker.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.hudi.idtracking;
+package org.apache.xtable.hudi.idtracking;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -29,8 +29,8 @@ import org.junit.jupiter.api.Test;
import org.apache.hudi.common.util.Option;
-import io.onetable.hudi.idtracking.models.IdMapping;
-import io.onetable.hudi.idtracking.models.IdTracking;
+import org.apache.xtable.hudi.idtracking.models.IdMapping;
+import org.apache.xtable.hudi.idtracking.models.IdTracking;
public class TestIdTracker {
diff --git a/pom.xml b/pom.xml
index 4d381be3..4f1b4743 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,9 +3,9 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>io.onetable</groupId>
- <artifactId>onetable</artifactId>
- <name>onetable</name>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable</artifactId>
+ <name>xtable</name>
<version>0.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
@@ -56,17 +56,17 @@
<dependencyManagement>
<dependencies>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-api</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-core</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
<artifactId>hudi-utils</artifactId>
<version>${project.version}</version>
</dependency>
@@ -533,7 +533,7 @@
<groupArtifact>com.google.googlejavaformat:google-java-format</groupArtifact>
</googleJavaFormat>
<importOrder>
- <order>java,javax,lombok,org,org.apache.hudi,org.apache.iceberg,org.apache.spark.sql.delta,scala,com,io.delta,io.onetable</order>
+ <order>java,javax,lombok,org,org.apache.hudi,org.apache.iceberg,org.apache.spark.sql.delta,scala,com,io.delta,org.apache.xtable</order>
</importOrder>
<removeUnusedImports/>
<licenseHeader>
@@ -552,11 +552,4 @@
</plugins>
</build>
- <distributionManagement>
- <repository>
- <id>github</id>
- <name>GitHub Packages</name>
- <url>https://maven.pkg.github.com/onetable-io/onetable</url>
- </repository>
- </distributionManagement>
</project>
diff --git a/utilities/pom.xml b/utilities/pom.xml
index 06a20a11..3bfb3e5a 100644
--- a/utilities/pom.xml
+++ b/utilities/pom.xml
@@ -3,8 +3,8 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
- <artifactId>onetable</artifactId>
- <groupId>io.onetable</groupId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -13,12 +13,12 @@
<dependencies>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-api</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-api</artifactId>
</dependency>
<dependency>
- <groupId>io.onetable</groupId>
- <artifactId>onetable-core</artifactId>
+ <groupId>org.apache.xtable</groupId>
+ <artifactId>xtable-core</artifactId>
</dependency>
<!-- command line arg parsing -->
@@ -127,7 +127,7 @@
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>io.onetable.utilities.RunSync</mainClass>
+ <mainClass>org.apache.xtable.utilities.RunSync</mainClass>
</transformer>
</transformers>
</configuration>
diff --git a/utilities/src/main/java/io/onetable/utilities/RunSync.java b/utilities/src/main/java/org/apache/xtable/utilities/RunSync.java
similarity index 93%
rename from utilities/src/main/java/io/onetable/utilities/RunSync.java
rename to utilities/src/main/java/org/apache/xtable/utilities/RunSync.java
index 5ece0c29..33dd67c2 100644
--- a/utilities/src/main/java/io/onetable/utilities/RunSync.java
+++ b/utilities/src/main/java/org/apache/xtable/utilities/RunSync.java
@@ -16,7 +16,7 @@
* limitations under the License.
*/
-package io.onetable.utilities;
+package org.apache.xtable.utilities;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -44,17 +44,17 @@ import com.fasterxml.jackson.databind.ObjectReader;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import com.google.common.annotations.VisibleForTesting;
-import io.onetable.client.OneTableClient;
-import io.onetable.client.PerTableConfig;
-import io.onetable.client.PerTableConfigImpl;
-import io.onetable.client.SourceClientProvider;
-import io.onetable.hudi.ConfigurationBasedPartitionSpecExtractor;
-import io.onetable.hudi.HudiSourceConfigImpl;
-import io.onetable.iceberg.IcebergCatalogConfig;
-import io.onetable.model.storage.TableFormat;
-import io.onetable.model.sync.SyncMode;
-import io.onetable.reflection.ReflectionUtils;
-import io.onetable.utilities.RunSync.TableFormatClients.ClientConfig;
+import org.apache.xtable.client.OneTableClient;
+import org.apache.xtable.client.PerTableConfig;
+import org.apache.xtable.client.PerTableConfigImpl;
+import org.apache.xtable.client.SourceClientProvider;
+import org.apache.xtable.hudi.ConfigurationBasedPartitionSpecExtractor;
+import org.apache.xtable.hudi.HudiSourceConfigImpl;
+import org.apache.xtable.iceberg.IcebergCatalogConfig;
+import org.apache.xtable.model.storage.TableFormat;
+import org.apache.xtable.model.sync.SyncMode;
+import org.apache.xtable.reflection.ReflectionUtils;
+import org.apache.xtable.utilities.RunSync.TableFormatClients.ClientConfig;
/**
* Provides a standalone runner for the sync process. See README.md for more details on how to run
diff --git a/utilities/src/main/resources/onetable-client-defaults.yaml b/utilities/src/main/resources/onetable-client-defaults.yaml
index b0c96ec3..914d6122 100644
--- a/utilities/src/main/resources/onetable-client-defaults.yaml
+++ b/utilities/src/main/resources/onetable-client-defaults.yaml
@@ -12,13 +12,13 @@
tableFormatsClients:
HUDI:
- sourceClientProviderClass: io.onetable.hudi.HudiSourceClientProvider
+ sourceClientProviderClass: org.apache.xtable.hudi.HudiSourceClientProvider
DELTA:
- sourceClientProviderClass: io.onetable.delta.DeltaSourceClientProvider
- targetClientProviderClass: io.onetable.delta.DeltaClient
+ sourceClientProviderClass: org.apache.xtable.delta.DeltaSourceClientProvider
+ targetClientProviderClass: org.apache.xtable.delta.DeltaClient
configuration:
spark.master: local[2]
spark.app.name: onetableclient
ICEBERG:
- sourceClientProviderClass: io.onetable.iceberg.IcebergSourceClientProvider
- targetClientProviderClass: io.onetable.iceberg.IcebergTargetClient
\ No newline at end of file
+ sourceClientProviderClass: org.apache.xtable.iceberg.IcebergSourceClientProvider
+ targetClientProviderClass: org.apache.xtable.iceberg.IcebergTargetClient
\ No newline at end of file
diff --git a/utilities/src/test/java/io/onetable/utilities/TestRunSync.java b/utilities/src/test/java/org/apache/xtable/utilities/TestRunSync.java
similarity index 87%
rename from utilities/src/test/java/io/onetable/utilities/TestRunSync.java
rename to utilities/src/test/java/org/apache/xtable/utilities/TestRunSync.java
index d65281fa..1249f736 100644
--- a/utilities/src/test/java/io/onetable/utilities/TestRunSync.java
+++ b/utilities/src/test/java/org/apache/xtable/utilities/TestRunSync.java
@@ -16,11 +16,11 @@
* limitations under the License.
*/
-package io.onetable.utilities;
+package org.apache.xtable.utilities;
-import static io.onetable.model.storage.TableFormat.DELTA;
-import static io.onetable.model.storage.TableFormat.HUDI;
-import static io.onetable.model.storage.TableFormat.ICEBERG;
+import static org.apache.xtable.model.storage.TableFormat.DELTA;
+import static org.apache.xtable.model.storage.TableFormat.HUDI;
+import static org.apache.xtable.model.storage.TableFormat.ICEBERG;
import java.io.IOException;
import java.util.Map;
@@ -29,9 +29,9 @@ import org.apache.hadoop.conf.Configuration;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
-import io.onetable.iceberg.IcebergCatalogConfig;
-import io.onetable.utilities.RunSync.TableFormatClients;
-import io.onetable.utilities.RunSync.TableFormatClients.ClientConfig;
+import org.apache.xtable.iceberg.IcebergCatalogConfig;
+import org.apache.xtable.utilities.RunSync.TableFormatClients;
+import org.apache.xtable.utilities.RunSync.TableFormatClients.ClientConfig;
class TestRunSync {
@@ -86,13 +86,13 @@ class TestRunSync {
Assertions.assertNotNull(tfClients.get(ICEBERG));
Assertions.assertEquals(
- "io.onetable.hudi.HudiSourceClientProvider",
+ "org.apache.xtable.hudi.HudiSourceClientProvider",
tfClients.get(HUDI).getSourceClientProviderClass());
Assertions.assertEquals(
- "io.onetable.iceberg.IcebergTargetClient",
+ "org.apache.xtable.iceberg.IcebergTargetClient",
tfClients.get(ICEBERG).getTargetClientProviderClass());
Assertions.assertEquals(
- "io.onetable.iceberg.IcebergSourceClientProvider",
+ "org.apache.xtable.iceberg.IcebergSourceClientProvider",
tfClients.get(ICEBERG).getSourceClientProviderClass());
}
@@ -126,13 +126,13 @@ class TestRunSync {
@Test
public void testIcebergCatalogConfig() throws IOException {
String icebergConfig =
- "catalogImpl: io.onetable.CatalogImpl\n"
+ "catalogImpl: org.apache.xtable.CatalogImpl\n"
+ "catalogName: test\n"
+ "catalogOptions: \n"
+ " option1: value1\n"
+ " option2: value2";
IcebergCatalogConfig catalogConfig = RunSync.loadIcebergCatalogConfig(icebergConfig.getBytes());
- Assertions.assertEquals("io.onetable.CatalogImpl", catalogConfig.getCatalogImpl());
+ Assertions.assertEquals("org.apache.xtable.CatalogImpl", catalogConfig.getCatalogImpl());
Assertions.assertEquals("test", catalogConfig.getCatalogName());
Assertions.assertEquals(2, catalogConfig.getCatalogOptions().size());
Assertions.assertEquals("value1", catalogConfig.getCatalogOptions().get("option1"));
diff --git a/website/docs/biglake-metastore.md b/website/docs/biglake-metastore.md
index bceaa6f4..cb07e933 100644
--- a/website/docs/biglake-metastore.md
+++ b/website/docs/biglake-metastore.md
@@ -117,7 +117,7 @@ catalogOptions:
From your terminal under the cloned Apache XTableâ„¢ (Incubating) directory, run the sync process using the below command.
```shell md title="shell"
-java -cp utilities/target/utilities-0.1.0-SNAPSHOT-bundled.jar:/path/to/downloaded/biglake-catalog-iceberg1.2.0-0.1.0-with-dependencies.jar io.onetable.utilities.RunSync --datasetConfig my_config.yaml --icebergCatalogConfig catalog.yaml
+java -cp utilities/target/utilities-0.1.0-SNAPSHOT-bundled.jar:/path/to/downloaded/biglake-catalog-iceberg1.2.0-0.1.0-with-dependencies.jar org.apache.xtable.utilities.RunSync --datasetConfig my_config.yaml --icebergCatalogConfig catalog.yaml
```
:::tip Note:
diff --git a/website/docs/bigquery.md b/website/docs/bigquery.md
index 934f86e1..14265afa 100644
--- a/website/docs/bigquery.md
+++ b/website/docs/bigquery.md
@@ -40,8 +40,8 @@ If you are not planning on using Iceberg, then you do not need to add these to y
for spark you can just add `--jars hudi-extensions-0.1.0-SNAPSHOT-bundled.jar` to the end of the command.
2. Set the following configurations in your writer options:
```shell md title="shell"
- hoodie.avro.write.support.class: io.onetable.hudi.extensions.HoodieAvroWriteSupportWithFieldIds
- hoodie.client.init.callback.classes: io.onetable.hudi.extensions.AddFieldIdsClientInitCallback
+ hoodie.avro.write.support.class: org.apache.xtable.hudi.extensions.HoodieAvroWriteSupportWithFieldIds
+ hoodie.client.init.callback.classes: org.apache.xtable.hudi.extensions.AddFieldIdsClientInitCallback
hoodie.datasource.write.row.writer.enable : false
```
3. Run your existing code that use Hudi writers