You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ni...@apache.org on 2015/04/29 21:05:21 UTC
svn commit: r1676819 -
/tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java
Author: nick
Date: Wed Apr 29 19:05:20 2015
New Revision: 1676819
URL: http://svn.apache.org/r1676819
Log:
Add a parsers equivalent OSGi test to mirror the detectors one, spotted while working on TIKA-1617
Modified:
tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java
Modified: tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java?rev=1676819&r1=1676818&r2=1676819&view=diff
==============================================================================
--- tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java (original)
+++ tika/trunk/tika-bundle/src/test/java/org/apache/tika/bundle/BundleIT.java Wed Apr 29 19:05:20 2015
@@ -23,6 +23,7 @@ import static org.ops4j.pax.exam.CoreOpt
import static org.ops4j.pax.exam.CoreOptions.options;
import javax.inject.Inject;
+
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -35,12 +36,13 @@ import java.util.HashSet;
import java.util.Set;
import org.apache.tika.Tika;
-import org.apache.tika.config.TikaConfig;
import org.apache.tika.detect.DefaultDetector;
import org.apache.tika.detect.Detector;
import org.apache.tika.fork.ForkParser;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.mime.MediaType;
+import org.apache.tika.parser.CompositeParser;
+import org.apache.tika.parser.DefaultParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.parser.Parser;
import org.apache.tika.parser.internal.Activator;
@@ -181,9 +183,32 @@ public class BundleIT {
@Test
public void testBundleParsers() throws Exception {
- TikaConfig tika = new TikaConfig();
+ // Get the classes found within OSGi
+ ServiceReference<Parser> parserRef = bc.getServiceReference(Parser.class);
+ DefaultParser parserService = (DefaultParser)bc.getService(parserRef);
+
+ Set<String> osgiParsers = new HashSet<String>();
+ for (Parser p : parserService.getAllComponentParsers()) {
+ osgiParsers.add(p.getClass().getName());
+ }
+
+ // Check we did get a few, just in case...
+ assertTrue("Should have lots Parser names, found " + osgiParsers.size(),
+ osgiParsers.size() > 15);
- // TODO Implement as with Detectors
+ // Get the raw parsers list from the traditional service loading mechanism
+ CompositeParser parser = (CompositeParser)defaultParser;
+ Set<String> rawParsers = new HashSet<String>();
+ for (Parser p : parser.getAllComponentParsers()) {
+ if (p instanceof DefaultParser) {
+ for (Parser pChild : ((DefaultParser)p).getAllComponentParsers()) {
+ rawParsers.add(pChild.getClass().getName());
+ }
+ } else {
+ rawParsers.add(p.getClass().getName());
+ }
+ }
+ assertEquals(rawParsers, osgiParsers);
}