Skip to content

Commit 17f246c

Browse files
committed
refactor: use records for WeaviateObject and ObjectMetadata
1 parent 6158af5 commit 17f246c

File tree

6 files changed

+28
-50
lines changed

6 files changed

+28
-50
lines changed

src/it/java/io/weaviate/client6/v1/DataITest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ public void testCreateGetDelete() throws IOException {
3939
Assertions.assertThat(object)
4040
.as("object exists after insert").get()
4141
.satisfies(obj -> {
42-
Assertions.assertThat(obj.metadata.id)
42+
Assertions.assertThat(obj.metadata().id())
4343
.as("object id").isEqualTo(id);
4444

45-
Assertions.assertThat(obj.metadata.vectors).extracting(Vectors::getSingle)
45+
Assertions.assertThat(obj.metadata().vectors()).extracting(Vectors::getSingle)
4646
.asInstanceOf(InstanceOfAssertFactories.OPTIONAL).as("has single vector").get()
4747
.asInstanceOf(InstanceOfAssertFactories.array(Float[].class)).containsExactly(vector);
4848

49-
Assertions.assertThat(obj.properties)
49+
Assertions.assertThat(obj.properties())
5050
.as("has expected properties")
5151
.containsEntry("username", "john doe");
5252
});

src/it/java/io/weaviate/client6/v1/query/NearVectorQueryITest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ private static Map<String, Float[]> createVectors(int n) throws IOException {
6868
.id(randomUUID())
6969
.vectors(Vectors.of(VECTOR_INDEX, vector)));
7070

71-
created.put(object.metadata.id, vector);
71+
created.put(object.metadata().id(), vector);
7272
}
7373

7474
return created;

src/main/java/io/weaviate/client6/v1/ObjectMetadata.java

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,11 @@
22

33
import java.util.function.Consumer;
44

5-
public class ObjectMetadata {
6-
public final String id;
7-
public final Vectors vectors;
5+
public record ObjectMetadata(String id, Vectors vectors) {
86

9-
// ObjectMetadata(String id, Vectors vectors) {
10-
// this(m -> m.id(id).vectors(vectors));
11-
// }
12-
13-
public ObjectMetadata(String id, Vectors vectors) {
14-
this.id = id;
15-
this.vectors = vectors;
16-
}
17-
18-
public ObjectMetadata(Consumer<Builder> options) {
7+
public static ObjectMetadata with(Consumer<Builder> options) {
198
var opt = new Builder(options);
20-
21-
this.id = opt.id;
22-
this.vectors = opt.vectors;
9+
return new ObjectMetadata(opt.id, opt.vectors);
2310
}
2411

2512
public static class Builder {

src/main/java/io/weaviate/client6/v1/data/WeaviateObject.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,13 @@
99
import com.google.gson.Gson;
1010

1111
import io.weaviate.client6.v1.ObjectMetadata;
12-
import lombok.AccessLevel;
13-
import lombok.AllArgsConstructor;
1412

1513
// TODO: unify this with collections.SearchObject
1614

17-
@AllArgsConstructor(access = AccessLevel.PACKAGE)
18-
public class WeaviateObject<T> {
19-
public final String collection;
20-
public final T properties;
21-
public final ObjectMetadata metadata;
15+
public record WeaviateObject<T>(String collection, T properties, ObjectMetadata metadata) {
2216

2317
WeaviateObject(String collection, T properties, Consumer<ObjectMetadata.Builder> options) {
24-
25-
this.collection = collection;
26-
this.properties = properties;
27-
this.metadata = new ObjectMetadata(options);
18+
this(collection, properties, ObjectMetadata.with(options));
2819
}
2920

3021
// JSON serialization ----------------

src/main/java/io/weaviate/client6/v1/data/WeaviateObjectDTO.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ class WeaviateObjectDTO<T> {
2020
Map<String, Object> vectors;
2121

2222
WeaviateObjectDTO(WeaviateObject<T> object) {
23-
this.collection = object.collection;
24-
this.properties = object.properties;
23+
this.collection = object.collection();
24+
this.properties = object.properties();
2525

26-
if (object.metadata != null) {
27-
this.id = object.metadata.id;
28-
this.vectors = object.metadata.vectors.asMap();
26+
if (object.metadata() != null) {
27+
this.id = object.metadata().id();
28+
this.vectors = object.metadata().vectors().asMap();
2929
}
3030
}
3131

src/test/java/io/weaviate/client6/v1/ObjectMetadataTest.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ public class ObjectMetadataTest {
99

1010
@Test
1111
public final void testMetadata_id() {
12-
var metadata = new ObjectMetadata(m -> m.id("object-1"));
13-
Assertions.assertThat(metadata.id)
12+
var metadata = ObjectMetadata.with(m -> m.id("object-1"));
13+
Assertions.assertThat(metadata.id())
1414
.as("object id").isEqualTo("object-1");
1515
}
1616

1717
@Test
1818
public final void testVectorsMetadata_unnamed() {
1919
Float[] vector = { 1f, 2f, 3f };
20-
var metadata = new ObjectMetadata(m -> m.vectors(Vectors.unnamed(vector)));
20+
var metadata = ObjectMetadata.with(m -> m.vectors(Vectors.unnamed(vector)));
2121

22-
Assertions.assertThat(metadata.vectors)
22+
Assertions.assertThat(metadata.vectors())
2323
.as("unnamed vector").isNotNull()
2424
.returns(Optional.of(vector), Vectors::getUnnamed)
2525
.returns(Optional.empty(), Vectors::getSingle);
@@ -28,9 +28,9 @@ public final void testVectorsMetadata_unnamed() {
2828
@Test
2929
public final void testVectorsMetadata_default() {
3030
Float[] vector = { 1f, 2f, 3f };
31-
var metadata = new ObjectMetadata(m -> m.vectors(vector));
31+
var metadata = ObjectMetadata.with(m -> m.vectors(vector));
3232

33-
Assertions.assertThat(metadata.vectors)
33+
Assertions.assertThat(metadata.vectors())
3434
.as("default vector").isNotNull()
3535
.returns(vector, Vectors::getDefaultSingle)
3636
.returns(Optional.of(vector), Vectors::getSingle)
@@ -40,9 +40,9 @@ public final void testVectorsMetadata_default() {
4040
@Test
4141
public final void testVectorsMetadata_default_2d() {
4242
Float[][] vector = { { 1f, 2f, 3f }, { 1f, 2f, 3f } };
43-
var metadata = new ObjectMetadata(m -> m.vectors(vector));
43+
var metadata = ObjectMetadata.with(m -> m.vectors(vector));
4444

45-
Assertions.assertThat(metadata.vectors)
45+
Assertions.assertThat(metadata.vectors())
4646
.as("default 2d vector").isNotNull()
4747
.returns(vector, Vectors::getDefaultMulti)
4848
.returns(Optional.of(vector), Vectors::getMulti)
@@ -52,9 +52,9 @@ public final void testVectorsMetadata_default_2d() {
5252
@Test
5353
public final void testVectorsMetadata_named() {
5454
Float[] vector = { 1f, 2f, 3f };
55-
var metadata = new ObjectMetadata(m -> m.vectors("vector-1", vector));
55+
var metadata = ObjectMetadata.with(m -> m.vectors("vector-1", vector));
5656

57-
Assertions.assertThat(metadata.vectors)
57+
Assertions.assertThat(metadata.vectors())
5858
.as("named vector").isNotNull()
5959
.returns(vector, v -> v.getSingle("vector-1"))
6060
.returns(Optional.of(vector), Vectors::getSingle)
@@ -64,9 +64,9 @@ public final void testVectorsMetadata_named() {
6464
@Test
6565
public final void testVectorsMetadata_named_2d() {
6666
Float[][] vector = { { 1f, 2f, 3f }, { 1f, 2f, 3f } };
67-
var metadata = new ObjectMetadata(m -> m.vectors("vector-1", vector));
67+
var metadata = ObjectMetadata.with(m -> m.vectors("vector-1", vector));
6868

69-
Assertions.assertThat(metadata.vectors)
69+
Assertions.assertThat(metadata.vectors())
7070
.as("named 2d vector").isNotNull()
7171
.returns(vector, v -> v.getMulti("vector-1"))
7272
.returns(Optional.of(vector), Vectors::getMulti)
@@ -77,12 +77,12 @@ public final void testVectorsMetadata_named_2d() {
7777
public final void testVectorsMetadata_multiple_named() {
7878
Float[][] vector_1 = { { 1f, 2f, 3f }, { 1f, 2f, 3f } };
7979
Float[] vector_2 = { 4f, 5f, 6f };
80-
var metadata = new ObjectMetadata(m -> m.vectors(
80+
var metadata = ObjectMetadata.with(m -> m.vectors(
8181
named -> named
8282
.vector("vector-1", vector_1)
8383
.vector("vector-2", vector_2)));
8484

85-
Assertions.assertThat(metadata.vectors)
85+
Assertions.assertThat(metadata.vectors())
8686
.as("multiple named vectors").isNotNull()
8787
.returns(vector_1, v -> v.getMulti("vector-1"))
8888
.returns(vector_2, v -> v.getSingle("vector-2"))

0 commit comments

Comments
 (0)