Skip to content

Commit e4d774b

Browse files
authored
TIKA-4289 -- improve serializability for the metadatafilters (#1868)
1 parent 137c0d1 commit e4d774b

10 files changed

Lines changed: 60 additions & 6 deletions

tika-core/src/main/java/org/apache/tika/metadata/filter/CaptureGroupMetadataFilter.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,18 @@ public void setTargetField(String targetField) {
8787
this.targetField = targetField;
8888
}
8989

90+
public String getRegex() {
91+
return regexString;
92+
}
93+
94+
public String getSourceField() {
95+
return sourceField;
96+
}
97+
98+
public String getTargetField() {
99+
return targetField;
100+
}
101+
90102
@Override
91103
public void initialize(Map<String, Param> params) throws TikaConfigException {
92104
try {

tika-core/src/main/java/org/apache/tika/metadata/filter/ClearByAttachmentTypeMetadataFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.tika.metadata.filter;
1818

19+
import java.util.ArrayList;
1920
import java.util.HashSet;
2021
import java.util.List;
2122
import java.util.Set;
@@ -82,4 +83,8 @@ public void setTypes(List<String> types) throws TikaConfigException {
8283
}
8384
this.types.addAll(types);
8485
}
86+
87+
public List<String> getTypes() {
88+
return new ArrayList<>(types);
89+
}
8590
}

tika-core/src/main/java/org/apache/tika/metadata/filter/ClearByMimeMetadataFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.tika.metadata.filter;
1818

19+
import java.util.ArrayList;
1920
import java.util.HashSet;
2021
import java.util.List;
2122
import java.util.Set;
@@ -65,4 +66,8 @@ public void filter(Metadata metadata) throws TikaException {
6566
public void setMimes(List<String> mimes) {
6667
this.mimes.addAll(mimes);
6768
}
69+
70+
public List<String> getMimes() {
71+
return new ArrayList<>(mimes);
72+
}
6873
}

tika-core/src/main/java/org/apache/tika/metadata/filter/CompositeMetadataFilter.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,33 @@
1616
*/
1717
package org.apache.tika.metadata.filter;
1818

19+
import java.util.ArrayList;
1920
import java.util.List;
2021

2122
import org.apache.tika.exception.TikaException;
2223
import org.apache.tika.metadata.Metadata;
2324

2425
public class CompositeMetadataFilter extends MetadataFilter {
2526

26-
private final List<MetadataFilter> filters;
27+
//no longer final to allow for no arg initialization during serialization
28+
private List<MetadataFilter> filters;
2729

30+
public CompositeMetadataFilter() {
31+
filters = new ArrayList<>();
32+
}
2833
public CompositeMetadataFilter(List<MetadataFilter> filters) {
2934
this.filters = filters;
3035
}
3136

37+
public void setFilters(List<MetadataFilter> filters) {
38+
this.filters.clear();
39+
this.filters.addAll(filters);
40+
}
41+
42+
public List<MetadataFilter> getFilters() {
43+
return filters;
44+
}
45+
3246
@Override
3347
public void filter(Metadata metadata) throws TikaException {
3448
for (MetadataFilter filter : filters) {

tika-core/src/main/java/org/apache/tika/metadata/filter/DateNormalizingMetadataFilter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,8 @@ public void filter(Metadata metadata) throws TikaException {
8787
public void setDefaultTimeZone(String timeZoneId) {
8888
this.defaultTimeZone = TimeZone.getTimeZone(ZoneId.of(timeZoneId));
8989
}
90+
91+
public String getDefaultTimeZone() {
92+
return this.defaultTimeZone.toZoneId().toString();
93+
}
9094
}

tika-core/src/main/java/org/apache/tika/metadata/filter/ExcludeFieldMetadataFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.tika.metadata.filter;
1818

19+
import java.util.ArrayList;
1920
import java.util.HashSet;
2021
import java.util.List;
2122
import java.util.Set;
@@ -49,4 +50,8 @@ public void filter(Metadata metadata) throws TikaException {
4950
public void setExclude(List<String> exclude) {
5051
this.excludeSet.addAll(exclude);
5152
}
53+
54+
public List<String> getExclude() {
55+
return new ArrayList<>(excludeSet);
56+
}
5257
}

tika-core/src/main/java/org/apache/tika/metadata/filter/FieldNameMappingFilter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ public void setMappings(Map<String, String> mappings) {
7676
}
7777
}
7878

79+
public Map<String, String> getMappins() {
80+
return mappings;
81+
}
82+
7983
@Override
8084
public String toString() {
8185
return "FieldNameMappingFilter{" + "mappings=" + mappings + ", excludeUnmapped=" + excludeUnmapped + '}';

tika-core/src/main/java/org/apache/tika/metadata/filter/GeoPointMetadataFilter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ public void setGeoPointFieldName(String geoPointFieldName) {
4444
this.geoPointFieldName = geoPointFieldName;
4545
}
4646

47+
public String getGeoPointFieldName() {
48+
return geoPointFieldName;
49+
}
50+
4751
@Override
4852
public void filter(Metadata metadata) throws TikaException {
4953
String lat = metadata.get(TikaCoreProperties.LATITUDE);

tika-core/src/main/java/org/apache/tika/metadata/filter/IncludeFieldMetadataFilter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.tika.metadata.filter;
1818

19+
import java.util.ArrayList;
1920
import java.util.HashSet;
2021
import java.util.List;
2122
import java.util.Set;
@@ -43,6 +44,10 @@ public void setInclude(List<String> include) {
4344
includeSet.addAll(include);
4445
}
4546

47+
public List<String> getInclude() {
48+
return new ArrayList<>(includeSet);
49+
}
50+
4651
@Override
4752
public void filter(Metadata metadata) throws TikaException {
4853

tika-serialization/src/main/java/org/apache/tika/serialization/TikaJsonSerializer.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public static void serializeObject(String fieldName, Object obj, Class superClas
106106
.getClass()
107107
.getConstructor();
108108
} catch (NoSuchMethodException e) {
109-
throw new IllegalArgumentException("class (" + obj.getClass() + ") doesn't have a no-arg constructor. Respectfully not seralizing.");
109+
throw new IllegalArgumentException("class (" + obj.getClass() + ") doesn't have a no-arg constructor. Respectfully not serializing.");
110110
}
111111
try {
112112
if (fieldName != null) {
@@ -221,10 +221,6 @@ private static void serializeCollection(String fieldName, Object obj, JsonGenera
221221
}
222222
}
223223

224-
private static void serializeItem(String field, Object obj, Class<?> generalType, JsonGenerator jsonGenerator) {
225-
226-
}
227-
228224
private static void serializePrimitiveAndBoxed(String paramName, Object obj, JsonGenerator jsonGenerator) throws IOException {
229225
Class clazz = obj.getClass();
230226
if (paramName != null) {

0 commit comments

Comments
 (0)