-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
scaffold for catalog diff, needs fixing on type handling and tests
add catalog diff with tests use lombok lombok formatting update JsonSchemas#traversal to use simplified path reuse jsonschemas add javadocs tests for lists add
- Loading branch information
Showing
14 changed files
with
556 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
33 changes: 33 additions & 0 deletions
33
...l-models/src/main/java/io/airbyte/protocol/models/transform_models/AddFieldTransform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
import com.fasterxml.jackson.databind.JsonNode; | ||
import java.util.ArrayList; | ||
import java.util.List; | ||
import lombok.AllArgsConstructor; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Represents the addition of a field to an {@link io.airbyte.protocol.models.AirbyteStream}. | ||
*/ | ||
@AllArgsConstructor | ||
@EqualsAndHashCode | ||
@ToString | ||
public class AddFieldTransform { | ||
|
||
private final List<String> fieldName; | ||
private final JsonNode schema; | ||
|
||
public List<String> getFieldName() { | ||
return new ArrayList<>(fieldName); | ||
} | ||
|
||
public JsonNode getSchema() { | ||
return schema; | ||
} | ||
|
||
} |
27 changes: 27 additions & 0 deletions
27
...-models/src/main/java/io/airbyte/protocol/models/transform_models/AddStreamTransform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
import io.airbyte.protocol.models.StreamDescriptor; | ||
import lombok.AllArgsConstructor; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Represents the addition of an {@link io.airbyte.protocol.models.AirbyteStream} to a | ||
* {@link io.airbyte.protocol.models.AirbyteCatalog}. | ||
*/ | ||
@AllArgsConstructor | ||
@EqualsAndHashCode | ||
@ToString | ||
public class AddStreamTransform { | ||
|
||
private final StreamDescriptor streamDescriptor; | ||
|
||
public StreamDescriptor getStreamDescriptor() { | ||
return streamDescriptor; | ||
} | ||
|
||
} |
46 changes: 46 additions & 0 deletions
46
...ocol-models/src/main/java/io/airbyte/protocol/models/transform_models/FieldTransform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
import com.fasterxml.jackson.databind.JsonNode; | ||
import java.util.List; | ||
import lombok.AllArgsConstructor; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Represents the diff between two fields. | ||
*/ | ||
@AllArgsConstructor | ||
@EqualsAndHashCode | ||
@ToString | ||
public final class FieldTransform { | ||
|
||
private final FieldTransformType transformType; | ||
private final AddFieldTransform addFieldTransform; | ||
private final RemoveFieldTransform removeFieldTransform; | ||
private final UpdateFieldTransform updateFieldTransform; | ||
|
||
public static FieldTransform createAddFieldTransform(final List<String> fieldName, final JsonNode schema) { | ||
return createAddFieldTransform(new AddFieldTransform(fieldName, schema)); | ||
} | ||
|
||
public static FieldTransform createAddFieldTransform(final AddFieldTransform addFieldTransform) { | ||
return new FieldTransform(FieldTransformType.ADD_FIELD, addFieldTransform, null, null); | ||
} | ||
|
||
public static FieldTransform createRemoveFieldTransform(final List<String> fieldName, final JsonNode schema) { | ||
return createRemoveFieldTransform(new RemoveFieldTransform(fieldName, schema)); | ||
} | ||
|
||
public static FieldTransform createRemoveFieldTransform(final RemoveFieldTransform removeFieldTransform) { | ||
return new FieldTransform(FieldTransformType.REMOVE_FIELD, null, removeFieldTransform, null); | ||
} | ||
|
||
public static FieldTransform createUpdateFieldTransform(final UpdateFieldTransform updateFieldTransform) { | ||
return new FieldTransform(FieldTransformType.UPDATE_FIELD, null, null, updateFieldTransform); | ||
} | ||
|
||
} |
14 changes: 14 additions & 0 deletions
14
...-models/src/main/java/io/airbyte/protocol/models/transform_models/FieldTransformType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
/** | ||
* Types of transformations possible for a field. | ||
*/ | ||
public enum FieldTransformType { | ||
ADD_FIELD, | ||
REMOVE_FIELD, | ||
UPDATE_FIELD | ||
} |
33 changes: 33 additions & 0 deletions
33
...odels/src/main/java/io/airbyte/protocol/models/transform_models/RemoveFieldTransform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
import com.fasterxml.jackson.databind.JsonNode; | ||
import java.util.ArrayList; | ||
import java.util.List; | ||
import lombok.AllArgsConstructor; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Represents the removal of a field to an {@link io.airbyte.protocol.models.AirbyteStream}. | ||
*/ | ||
@AllArgsConstructor | ||
@EqualsAndHashCode | ||
@ToString | ||
public class RemoveFieldTransform { | ||
|
||
private final List<String> fieldName; | ||
private final JsonNode schema; | ||
|
||
public List<String> getFieldName() { | ||
return new ArrayList<>(fieldName); | ||
} | ||
|
||
public JsonNode getSchema() { | ||
return schema; | ||
} | ||
|
||
} |
23 changes: 23 additions & 0 deletions
23
...dels/src/main/java/io/airbyte/protocol/models/transform_models/RemoveStreamTransform.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/* | ||
* Copyright (c) 2022 Airbyte, Inc., all rights reserved. | ||
*/ | ||
|
||
package io.airbyte.protocol.models.transform_models; | ||
|
||
import io.airbyte.protocol.models.StreamDescriptor; | ||
import lombok.AllArgsConstructor; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.ToString; | ||
|
||
/** | ||
* Represents the removal of an {@link io.airbyte.protocol.models.AirbyteStream} to a | ||
* {@link io.airbyte.protocol.models.AirbyteCatalog}. | ||
*/ | ||
@AllArgsConstructor | ||
@EqualsAndHashCode | ||
@ToString | ||
public class RemoveStreamTransform { | ||
|
||
private final StreamDescriptor streamDescriptor; | ||
|
||
} |
Oops, something went wrong.