Skip to content

Commit c19f020

Browse files
committed
translator fixes
1 parent 624f5a6 commit c19f020

9 files changed

Lines changed: 34 additions & 11 deletions

File tree

tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/emitter/EmitterManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public class EmitterManager {
4646
private final Map<String, Emitter> emitterMap = new ConcurrentHashMap<>();
4747

4848
public static EmitterManager load(PluginManager pluginManager, TikaConfigs tikaConfigs) throws IOException, TikaConfigException {
49-
JsonNode fetchersNode = tikaConfigs.getRoot().get(CONFIG_KEY);
49+
JsonNode fetchersNode = tikaConfigs.getTikaJsonConfig()
50+
.getRootNode().get(CONFIG_KEY);
5051
Map<String, Emitter> fetchers =
5152
PluginComponentLoader.loadInstances(pluginManager, EmitterFactory.class, fetchersNode);
5253
return new EmitterManager(fetchers);

tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/fetcher/FetcherManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ public class FetcherManager {
4545

4646

4747
public static FetcherManager load(PluginManager pluginManager, TikaConfigs tikaConfigs) throws TikaConfigException, IOException {
48-
JsonNode fetchersNode = tikaConfigs.getRoot().get(CONFIG_KEY);
48+
JsonNode fetchersNode = tikaConfigs.getTikaJsonConfig()
49+
.getRootNode().get(CONFIG_KEY);
4950
Map<String, Fetcher> fetchers =
5051
PluginComponentLoader.loadInstances(pluginManager, FetcherFactory.class, fetchersNode);
5152
return new FetcherManager(fetchers);

tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/pipesiterator/PipesIteratorManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ public class PipesIteratorManager {
3939

4040
public static Optional<PipesIterator> load(PluginManager pluginManager, TikaConfigs tikaConfigs) throws IOException, TikaConfigException {
4141

42-
JsonNode node = tikaConfigs.getRoot().get(CONFIG_KEY);
42+
JsonNode node = tikaConfigs.getTikaJsonConfig()
43+
.getRootNode().get(CONFIG_KEY);
4344

4445
return PluginComponentLoader.loadSingleton(pluginManager, PipesIteratorFactory.class, node);
4546
}

tika-pipes/tika-pipes-core/src/main/java/org/apache/tika/pipes/core/reporter/ReporterManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ public class ReporterManager {
3939

4040
public static PipesReporter load(PluginManager pluginManager, TikaConfigs tikaConfigs) throws IOException, TikaConfigException {
4141

42-
JsonNode node = tikaConfigs.getRoot().get(CONFIG_KEY);
42+
JsonNode node = tikaConfigs.getTikaJsonConfig()
43+
.getRootNode().get(CONFIG_KEY);
4344

4445
List<PipesReporter> reporters = PluginComponentLoader.loadUnnamedInstances(pluginManager, PipesReporterFactory.class, node);
4546
if (reporters.isEmpty()) {

tika-plugins-core/src/main/java/org/apache/tika/plugins/TikaPluginManager.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@
2323
import java.util.List;
2424

2525
import com.fasterxml.jackson.core.type.TypeReference;
26+
import com.fasterxml.jackson.databind.DeserializationFeature;
2627
import com.fasterxml.jackson.databind.JsonNode;
28+
import com.fasterxml.jackson.databind.ObjectMapper;
2729
import org.pf4j.DefaultExtensionFinder;
2830
import org.pf4j.DefaultPluginManager;
2931
import org.pf4j.ExtensionFinder;
3032
import org.slf4j.Logger;
3133
import org.slf4j.LoggerFactory;
3234

33-
import org.apache.tika.config.loader.PolymorphicObjectMapperFactory;
3435
import org.apache.tika.config.loader.TikaJsonConfig;
3536
import org.apache.tika.exception.TikaConfigException;
3637

@@ -44,6 +45,14 @@ public class TikaPluginManager extends DefaultPluginManager {
4445

4546
private static final Logger LOG = LoggerFactory.getLogger(TikaPluginManager.class);
4647

48+
//we're only using this to convert a single path or a list of paths to a list
49+
//we don't need all the functionality of the polymorphic objectmapper in tika-serialization
50+
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
51+
52+
static {
53+
OBJECT_MAPPER.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
54+
}
55+
4756
/**
4857
* Loads plugin manager from a pre-parsed TikaJsonConfig.
4958
* This is the preferred method when sharing configuration across
@@ -89,7 +98,7 @@ public static TikaPluginManager load(TikaConfigs tikaConfigs)
8998
if (pluginRoots == null) {
9099
throw new TikaConfigException("plugin-roots must be specified");
91100
}
92-
List<Path> roots = PolymorphicObjectMapperFactory.getMapper().convertValue(pluginRoots,
101+
List<Path> roots = OBJECT_MAPPER.convertValue(pluginRoots,
93102
new TypeReference<List<Path>>() {});
94103
if (roots.isEmpty()) {
95104
throw new TikaConfigException("plugin-roots must not be empty");

tika-serialization/src/main/java/org/apache/tika/config/loader/PolymorphicObjectMapperFactory.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,6 @@ public static ObjectMapper createPolymorphicMapper() {
9292
//Need to allow creation of classes without setters/getters -- we may want to revisit this
9393
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
9494

95-
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
96-
97-
98-
9995
// Build polymorphic type validator
10096
BasicPolymorphicTypeValidator.Builder builder = BasicPolymorphicTypeValidator.builder()
10197
.allowIfSubType("org.apache.tika.")

tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceFetcherTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ protected String getPipesInputPath() {
9494
protected InputStreamFactory getInputStreamFactory(InputStream is) {
9595
try (TikaInputStream tis = TikaInputStream.get(is)) {
9696
TikaConfigs tikaConfigs = TikaConfigs.load(tis.getPath());
97+
System.out.println(tikaConfigs.getTikaJsonConfig().getRootNode().toPrettyString());
9798
TikaPluginManager pluginManager = TikaPluginManager.load(tikaConfigs);
9899
FetcherManager fetcherManager = FetcherManager.load(pluginManager, tikaConfigs);
99100
return new FetcherStreamFactory(fetcherManager);

tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
2828
import org.apache.cxf.jaxrs.client.WebClient;
2929
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
30-
import org.junit.jupiter.api.Disabled;
3130
import org.junit.jupiter.api.Test;
3231

3332
import org.apache.tika.server.core.resource.TranslateResource;

tika-translate/pom.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@
143143
org.apache.tika.*,
144144
*;resolution:=optional
145145
</Import-Package>
146+
<Include-Resource>{maven-resources},META-INF=target/classes/META-INF</Include-Resource>
146147
</instructions>
147148
</configuration>
148149
</plugin>
@@ -172,6 +173,19 @@
172173
<artifactId>maven-site-plugin</artifactId>
173174
<version>3.21.0</version>
174175
</plugin>
176+
<plugin>
177+
<groupId>org.apache.maven.plugins</groupId>
178+
<artifactId>maven-compiler-plugin</artifactId>
179+
<configuration>
180+
<annotationProcessorPaths>
181+
<path>
182+
<groupId>org.apache.tika</groupId>
183+
<artifactId>tika-annotation-processor</artifactId>
184+
<version>${project.version}</version>
185+
</path>
186+
</annotationProcessorPaths>
187+
</configuration>
188+
</plugin>
175189
</plugins>
176190

177191
<pluginManagement>

0 commit comments

Comments
 (0)