Skip to content

Commit 2846dc9

Browse files
committed
migrate MetadataBridge to interface pattern
1 parent 771e8b5 commit 2846dc9

File tree

2 files changed

+70
-36
lines changed

2 files changed

+70
-36
lines changed

libs/logstash-bridge/src/main/java/org/elasticsearch/logstashbridge/ingest/IngestDocumentBridge.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ static IngestDocumentBridge create(final Map<String, Object> sourceAndMetadata,
6969

7070
class ProxyInternal extends StableBridgeAPI.ProxyInternal<IngestDocument> implements IngestDocumentBridge {
7171

72+
private MetadataBridge metadataBridge;
73+
7274
public ProxyInternal(final Map<String, Object> sourceAndMetadata, final Map<String, Object> ingestMetadata) {
7375
this(new IngestDocument(sourceAndMetadata, ingestMetadata));
7476
}
@@ -79,7 +81,10 @@ private ProxyInternal(IngestDocument inner) {
7981

8082
@Override
8183
public MetadataBridge getMetadata() {
82-
return new MetadataBridge(internalDelegate.getMetadata());
84+
if (metadataBridge == null) {
85+
this.metadataBridge = MetadataBridge.fromInternal(internalDelegate.getMetadata());
86+
}
87+
return this.metadataBridge;
8388
}
8489

8590
@Override

libs/logstash-bridge/src/main/java/org/elasticsearch/logstashbridge/script/MetadataBridge.java

Lines changed: 64 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -16,52 +16,81 @@
1616
/**
1717
* An external bridge for {@link Metadata}
1818
*/
19-
public class MetadataBridge extends StableBridgeAPI.ProxyInternal<Metadata> {
20-
public MetadataBridge(final Metadata delegate) {
21-
super(delegate);
22-
}
19+
public interface MetadataBridge extends StableBridgeAPI<Metadata> {
2320

24-
public String getIndex() {
25-
return internalDelegate.getIndex();
26-
}
21+
String getIndex();
2722

28-
public void setIndex(final String index) {
29-
internalDelegate.setIndex(index);
30-
}
23+
void setIndex(String index);
3124

32-
public String getId() {
33-
return internalDelegate.getId();
34-
}
25+
String getId();
3526

36-
public void setId(final String id) {
37-
internalDelegate.setId(id);
38-
}
27+
void setId(String id);
3928

40-
public long getVersion() {
41-
return internalDelegate.getVersion();
42-
}
29+
long getVersion();
4330

44-
public void setVersion(final long version) {
45-
internalDelegate.setVersion(version);
46-
}
31+
void setVersion(long version);
4732

48-
public String getVersionType() {
49-
return internalDelegate.getVersionType();
50-
}
33+
String getVersionType();
5134

52-
public void setVersionType(final String versionType) {
53-
internalDelegate.setVersionType(versionType);
54-
}
35+
void setVersionType(String versionType);
5536

56-
public String getRouting() {
57-
return internalDelegate.getRouting();
58-
}
37+
String getRouting();
38+
39+
void setRouting(String routing);
40+
41+
ZonedDateTime getNow();
5942

60-
public void setRouting(final String routing) {
61-
internalDelegate.setRouting(routing);
43+
static MetadataBridge fromInternal(final Metadata metadata) {
44+
return new ProxyInternal(metadata);
6245
}
6346

64-
public ZonedDateTime getNow() {
65-
return internalDelegate.getNow();
47+
class ProxyInternal extends StableBridgeAPI.ProxyInternal<Metadata> implements MetadataBridge {
48+
ProxyInternal(final Metadata delegate) {
49+
super(delegate);
50+
}
51+
52+
public String getIndex() {
53+
return internalDelegate.getIndex();
54+
}
55+
56+
public void setIndex(final String index) {
57+
internalDelegate.setIndex(index);
58+
}
59+
60+
public String getId() {
61+
return internalDelegate.getId();
62+
}
63+
64+
public void setId(final String id) {
65+
internalDelegate.setId(id);
66+
}
67+
68+
public long getVersion() {
69+
return internalDelegate.getVersion();
70+
}
71+
72+
public void setVersion(final long version) {
73+
internalDelegate.setVersion(version);
74+
}
75+
76+
public String getVersionType() {
77+
return internalDelegate.getVersionType();
78+
}
79+
80+
public void setVersionType(final String versionType) {
81+
internalDelegate.setVersionType(versionType);
82+
}
83+
84+
public String getRouting() {
85+
return internalDelegate.getRouting();
86+
}
87+
88+
public void setRouting(final String routing) {
89+
internalDelegate.setRouting(routing);
90+
}
91+
92+
public ZonedDateTime getNow() {
93+
return internalDelegate.getNow();
94+
}
6695
}
6796
}

0 commit comments

Comments
 (0)