Skip to content

Commit 29533e8

Browse files
Adding lombok support (#393)
Signed-off-by: Martin Gaievski <[email protected]>
1 parent ce99fe9 commit 29533e8

File tree

5 files changed

+59
-85
lines changed

5 files changed

+59
-85
lines changed

build.gradle

+8
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ plugins {
3737
id 'idea'
3838
id 'jacoco'
3939
id "com.diffplug.spotless" version "6.3.0" apply false
40+
id 'io.freefair.lombok' version '6.4.3'
4041
}
4142

4243
apply from: 'gradle/formatting.gradle'
@@ -79,6 +80,13 @@ allprojects {
7980
}
8081
}
8182

83+
compileJava {
84+
options.compilerArgs.addAll(["-processor", 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor'])
85+
}
86+
compileTestJava {
87+
options.compilerArgs.addAll(["-processor", 'lombok.launch.AnnotationProcessorHider$AnnotationProcessor'])
88+
}
89+
8290
def usingRemoteCluster = System.properties.containsKey('tests.rest.cluster') || System.properties.containsKey('tests.cluster')
8391
def usingMultiNode = project.properties.containsKey('numNodes')
8492
// Only apply jacoco test coverage if we are running a local single node cluster

lombok.config

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# This file is generated by the 'io.freefair.lombok' Gradle plugin
2+
config.stopBubbling = true
3+
lombok.addLombokGeneratedAnnotation = true

src/test/java/org/opensearch/knn/index/codec/KNN80Codec/KNN80CompoundFormatTests.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,12 @@ public void testWrite() throws IOException {
6565
String.format("%s_faiss3%s", segmentName, KNNEngine.FAISS.getExtension())
6666
);
6767

68-
SegmentInfo segmentInfo = KNNCodecTestUtil.SegmentInfoBuilder.builder(directory, segmentName, segmentFiles.size(), codec).build();
68+
SegmentInfo segmentInfo = KNNCodecTestUtil.segmentInfoBuilder()
69+
.directory(directory)
70+
.segmentName(segmentName)
71+
.docsInSegment(segmentFiles.size())
72+
.codec(codec)
73+
.build();
6974

7075
for (String name : segmentFiles) {
7176
IndexOutput indexOutput = directory.createOutput(name, IOContext.DEFAULT);

src/test/java/org/opensearch/knn/index/codec/KNN80Codec/KNN80DocValuesConsumerTests.java

+24-4
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,12 @@ public void testAddKNNBinaryField_fromScratch_nmslibCurrent() throws IOException
146146
SpaceType spaceType = SpaceType.COSINESIMIL;
147147
int dimension = 16;
148148

149-
SegmentInfo segmentInfo = KNNCodecTestUtil.SegmentInfoBuilder.builder(directory, segmentName, docsInSegment, codec).build();
149+
SegmentInfo segmentInfo = KNNCodecTestUtil.segmentInfoBuilder()
150+
.directory(directory)
151+
.segmentName(segmentName)
152+
.docsInSegment(docsInSegment)
153+
.codec(codec)
154+
.build();
150155

151156
KNNMethodContext knnMethodContext = new KNNMethodContext(
152157
knnEngine,
@@ -198,7 +203,12 @@ public void testAddKNNBinaryField_fromScratch_nmslibLegacy() throws IOException
198203
SpaceType spaceType = SpaceType.COSINESIMIL;
199204
int dimension = 16;
200205

201-
SegmentInfo segmentInfo = KNNCodecTestUtil.SegmentInfoBuilder.builder(directory, segmentName, docsInSegment, codec).build();
206+
SegmentInfo segmentInfo = KNNCodecTestUtil.segmentInfoBuilder()
207+
.directory(directory)
208+
.segmentName(segmentName)
209+
.docsInSegment(docsInSegment)
210+
.codec(codec)
211+
.build();
202212

203213
FieldInfo[] fieldInfoArray = new FieldInfo[] {
204214
KNNCodecTestUtil.FieldInfoBuilder.builder(fieldName)
@@ -241,7 +251,12 @@ public void testAddKNNBinaryField_fromScratch_faissCurrent() throws IOException
241251
SpaceType spaceType = SpaceType.INNER_PRODUCT;
242252
int dimension = 16;
243253

244-
SegmentInfo segmentInfo = KNNCodecTestUtil.SegmentInfoBuilder.builder(directory, segmentName, docsInSegment, codec).build();
254+
SegmentInfo segmentInfo = KNNCodecTestUtil.segmentInfoBuilder()
255+
.directory(directory)
256+
.segmentName(segmentName)
257+
.docsInSegment(docsInSegment)
258+
.codec(codec)
259+
.build();
245260

246261
KNNMethodContext knnMethodContext = new KNNMethodContext(
247262
knnEngine,
@@ -327,7 +342,12 @@ public void testAddKNNBinaryField_fromModel_faiss() throws IOException, Executio
327342
int docsInSegment = 100;
328343
String fieldName = String.format("test_field%s", randomAlphaOfLength(4));
329344

330-
SegmentInfo segmentInfo = KNNCodecTestUtil.SegmentInfoBuilder.builder(directory, segmentName, docsInSegment, codec).build();
345+
SegmentInfo segmentInfo = KNNCodecTestUtil.segmentInfoBuilder()
346+
.directory(directory)
347+
.segmentName(segmentName)
348+
.docsInSegment(docsInSegment)
349+
.codec(codec)
350+
.build();
331351

332352
FieldInfo[] fieldInfoArray = new FieldInfo[] {
333353
KNNCodecTestUtil.FieldInfoBuilder.builder(fieldName)

src/test/java/org/opensearch/knn/index/codec/KNNCodecTestUtil.java

+18-80
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import com.google.common.collect.ImmutableMap;
99
import com.google.common.collect.Maps;
10+
import lombok.Builder;
1011
import org.apache.lucene.codecs.Codec;
1112
import org.apache.lucene.codecs.CodecUtil;
1213
import org.apache.lucene.codecs.DocValuesProducer;
@@ -52,86 +53,6 @@
5253

5354
public class KNNCodecTestUtil {
5455

55-
// Utility class to help build SegmentInfo with reasonable defaults
56-
public static class SegmentInfoBuilder {
57-
58-
private final Directory directory;
59-
private final String segmentName;
60-
private final int docsInSegment;
61-
private final Codec codec;
62-
63-
private Version version;
64-
private Version minVersion;
65-
private boolean isCompoundFile;
66-
private byte[] segmentId;
67-
private final Map<String, String> attributes;
68-
private Sort indexSort;
69-
70-
public static SegmentInfoBuilder builder(Directory directory, String segmentName, int docsInSegment, Codec codec) {
71-
return new SegmentInfoBuilder(directory, segmentName, docsInSegment, codec);
72-
}
73-
74-
private SegmentInfoBuilder(Directory directory, String segmentName, int docsInSegment, Codec codec) {
75-
this.directory = directory;
76-
this.segmentName = segmentName;
77-
this.docsInSegment = docsInSegment;
78-
this.codec = codec;
79-
80-
this.version = Version.LATEST;
81-
this.minVersion = Version.LATEST;
82-
this.isCompoundFile = false;
83-
this.segmentId = randomByteArrayOfLength(StringHelper.ID_LENGTH);
84-
this.attributes = new HashMap<>();
85-
this.indexSort = Sort.INDEXORDER;
86-
}
87-
88-
public SegmentInfoBuilder version(Version version) {
89-
this.version = version;
90-
return this;
91-
}
92-
93-
public SegmentInfoBuilder minVersion(Version minVersion) {
94-
this.minVersion = minVersion;
95-
return this;
96-
}
97-
98-
public SegmentInfoBuilder isCompoundFile(boolean isCompoundFile) {
99-
this.isCompoundFile = isCompoundFile;
100-
return this;
101-
}
102-
103-
public SegmentInfoBuilder segmentId(byte[] segmentId) {
104-
this.segmentId = segmentId;
105-
return this;
106-
}
107-
108-
public SegmentInfoBuilder addAttribute(String key, String value) {
109-
this.attributes.put(key, value);
110-
return this;
111-
}
112-
113-
public SegmentInfoBuilder indexSort(Sort indexSort) {
114-
this.indexSort = indexSort;
115-
return this;
116-
}
117-
118-
public SegmentInfo build() {
119-
return new SegmentInfo(
120-
directory,
121-
version,
122-
minVersion,
123-
segmentName,
124-
docsInSegment,
125-
isCompoundFile,
126-
codec,
127-
Collections.emptyMap(),
128-
segmentId,
129-
attributes,
130-
indexSort
131-
);
132-
}
133-
}
134-
13556
// Utility class to help build FieldInfo
13657
public static class FieldInfoBuilder {
13758
private final String fieldName;
@@ -430,4 +351,21 @@ public static float[] getRandomVector(int dimension) {
430351
}
431352
return data;
432353
}
354+
355+
@Builder(builderMethodName = "segmentInfoBuilder")
356+
public static SegmentInfo newSegmentInfo(final Directory directory, final String segmentName, int docsInSegment, final Codec codec) {
357+
return new SegmentInfo(
358+
directory,
359+
Version.LATEST,
360+
Version.LATEST,
361+
segmentName,
362+
docsInSegment,
363+
false,
364+
codec,
365+
Collections.emptyMap(),
366+
randomByteArrayOfLength(StringHelper.ID_LENGTH),
367+
ImmutableMap.of(),
368+
Sort.INDEXORDER
369+
);
370+
}
433371
}

0 commit comments

Comments
 (0)