diff --git a/tika-app/src/main/java/org/apache/tika/cli/BatchCommandLineBuilder.java b/tika-app/src/main/java/org/apache/tika/cli/BatchCommandLineBuilder.java index be4d0a0ae4..eb9545f87f 100644 --- a/tika-app/src/main/java/org/apache/tika/cli/BatchCommandLineBuilder.java +++ b/tika-app/src/main/java/org/apache/tika/cli/BatchCommandLineBuilder.java @@ -45,8 +45,8 @@ class BatchCommandLineBuilder { protected static String[] build(String[] args) throws IOException { - Map processArgs = new LinkedHashMap(); - Map jvmOpts = new LinkedHashMap(); + Map processArgs = new LinkedHashMap<>(); + Map jvmOpts = new LinkedHashMap<>(); //take the args, and divide them into process args and options for //the forked jvm process (i.e. log files, etc) mapifyArgs(args, processArgs, jvmOpts); @@ -72,7 +72,7 @@ protected static String[] build(String[] args) throws IOException { jvmOpts.put("-Dlog4j.configuration=log4j_batch_process.properties", ""); } //now build the full command line - List fullCommand = new ArrayList(); + List fullCommand = new ArrayList<>(); fullCommand.add("java"); boolean foundHeadlessOption = false; for (Map.Entry e : jvmOpts.entrySet()) { diff --git a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java index e906fdb29e..1581692a94 100644 --- a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java +++ b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java @@ -686,11 +686,7 @@ private void configure() throws TikaException, IOException, SAXException { private void displayMetModels(){ Class[] modelClasses = Metadata.class.getInterfaces(); - Arrays.sort(modelClasses, new Comparator>() { - public int compare(Class o1, Class o2) { - return o1.getName().compareTo(o2.getName()); - } - }); + Arrays.sort(modelClasses, Comparator.comparing(Class::getName)); for (Class modelClass: modelClasses) { // we don't care about internal Tika met classes @@ -698,11 +694,7 @@ public int compare(Class o1, Class o2) { if (!modelClass.getSimpleName().contains("Tika")) { System.out.println(modelClass.getSimpleName()); Field[] keyFields = modelClass.getFields(); - Arrays.sort(keyFields, new Comparator() { - public int compare(Field o1, Field o2) { - return o1.getName().compareTo(o2.getName()); - } - }); + Arrays.sort(keyFields, Comparator.comparing(Field::getName)); for (Field keyField: keyFields) { System.out.println(" "+keyField.getName()); } @@ -784,21 +776,19 @@ private String indent(int indent) { private Parser[] sortParsers(Map> parsers) { // Get a nicely sorted list of the parsers Parser[] sortedParsers = parsers.keySet().toArray(new Parser[0]); - Arrays.sort(sortedParsers, new Comparator() { - public int compare(Parser p1, Parser p2) { - String name1 = p1.getClass().getName(); - String name2 = p2.getClass().getName(); - return name1.compareTo(name2); - } + Arrays.sort(sortedParsers, (p1, p2) -> { + String name1 = p1.getClass().getName(); + String name2 = p2.getClass().getName(); + return name1.compareTo(name2); }); return sortedParsers; } private Map> invertMediaTypeMap(Map supported) { - Map> parsers = new HashMap>(); + Map> parsers = new HashMap<>(); for(Entry e : supported.entrySet()) { if (!parsers.containsKey(e.getValue())) { - parsers.put(e.getValue(), new HashSet()); + parsers.put(e.getValue(), new HashSet<>()); } parsers.get(e.getValue()).add(e.getKey()); } @@ -839,8 +829,8 @@ private void displaySupportedTypes() { * @param magicDir Path to the magic directory */ private void compareFileMagic(String magicDir) throws Exception { - Set tikaLacking = new TreeSet(); - Set tikaNoMagic = new TreeSet(); + Set tikaLacking = new TreeSet<>(); + Set tikaNoMagic = new TreeSet<>(); // Sanity check File dir = new File(magicDir); @@ -854,7 +844,7 @@ private void compareFileMagic(String magicDir) throws Exception { } // Find all the mimetypes in the directory - Set fileMimes = new HashSet(); + Set fileMimes = new HashSet<>(); for (File mf : dir.listFiles()) { if (mf.isFile()) { BufferedReader r = new BufferedReader(new InputStreamReader( diff --git a/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java b/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java index 927a43a2f0..7d9eb079fc 100644 --- a/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java +++ b/tika-app/src/main/java/org/apache/tika/gui/ParsingTransferHandler.java @@ -113,7 +113,7 @@ public Icon getVisualRepresentation(Transferable arg0) { } private static List uriToFileList(Object data) { - List list = new ArrayList(); + List list = new ArrayList<>(); StringTokenizer st = new StringTokenizer(data.toString(), "\r\n"); while (st.hasMoreTokens()) { diff --git a/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java b/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java index 3f9587be8e..49e11f3d1a 100644 --- a/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java +++ b/tika-app/src/main/java/org/apache/tika/gui/TikaGUI.java @@ -28,7 +28,6 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextPane; -import javax.swing.ProgressMonitorInputStream; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.event.HyperlinkEvent; @@ -72,7 +71,6 @@ import org.apache.tika.mime.MediaType; import org.apache.tika.parser.AbstractParser; import org.apache.tika.parser.AutoDetectParser; -import org.apache.tika.parser.DelegatingParser; import org.apache.tika.parser.DigestingParser; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.Parser; @@ -123,16 +121,12 @@ public static void main(String[] args) throws Exception { } UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); final TikaConfig finalConfig = config; - SwingUtilities.invokeLater(new Runnable() { - public void run() { - new TikaGUI(new DigestingParser( - new AutoDetectParser(finalConfig), - new CommonsDigester(MAX_MARK, - CommonsDigester.DigestAlgorithm.MD5, - CommonsDigester.DigestAlgorithm.SHA256) - )).setVisible(true); - } - }); + SwingUtilities.invokeLater(() -> new TikaGUI(new DigestingParser( + new AutoDetectParser(finalConfig), + new CommonsDigester(MAX_MARK, + CommonsDigester.DigestAlgorithm.MD5, + CommonsDigester.DigestAlgorithm.SHA256) + )).setVisible(true)); } /** @@ -628,7 +622,7 @@ public boolean select(Metadata metadata) { * parser. */ private static class ImageSavingParser extends AbstractParser { - private Map wanted = new HashMap(); + private Map wanted = new HashMap<>(); private Parser downstreamParser; private File tmpDir; diff --git a/tika-app/src/test/java/org/apache/tika/cli/TikaCLIBatchIntegrationTest.java b/tika-app/src/test/java/org/apache/tika/cli/TikaCLIBatchIntegrationTest.java index 5344cf2b46..f4ada065ac 100644 --- a/tika-app/src/test/java/org/apache/tika/cli/TikaCLIBatchIntegrationTest.java +++ b/tika-app/src/test/java/org/apache/tika/cli/TikaCLIBatchIntegrationTest.java @@ -37,7 +37,6 @@ import org.apache.tika.metadata.Metadata; import org.apache.tika.metadata.TikaCoreProperties; import org.apache.tika.metadata.serialization.JsonMetadataList; -import org.apache.tika.utils.ProcessUtils; import org.junit.After; import org.junit.Before; diff --git a/tika-app/src/test/java/org/apache/tika/extractor/TestEmbeddedDocumentUtil.java b/tika-app/src/test/java/org/apache/tika/extractor/TestEmbeddedDocumentUtil.java index 98905aca2c..8498ee7efa 100644 --- a/tika-app/src/test/java/org/apache/tika/extractor/TestEmbeddedDocumentUtil.java +++ b/tika-app/src/test/java/org/apache/tika/extractor/TestEmbeddedDocumentUtil.java @@ -23,7 +23,6 @@ import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.Parser; import org.apache.tika.parser.RecursiveParserWrapper; -import org.apache.tika.sax.BasicContentHandlerFactory; import org.junit.Test; import static org.junit.Assert.assertEquals; diff --git a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java index d7df606200..5ab60c1faa 100644 --- a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java +++ b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java @@ -341,13 +341,11 @@ private void startConsumersManager() { consumersManager.init(); return; } - Thread timed = new Thread() { - public void run() { - LOG.trace("about to start consumers manager"); - consumersManager.init(); - LOG.trace("finished starting consumers manager"); - } - }; + Thread timed = new Thread(() -> { + LOG.trace("about to start consumers manager"); + consumersManager.init(); + LOG.trace("finished starting consumers manager"); + }); //don't allow this thread to keep process alive timed.setDaemon(true); timed.start(); @@ -368,13 +366,11 @@ private void shutdownConsumersManager() { consumersManager.shutdown(); return; } - Thread timed = new Thread() { - public void run() { - LOG.trace("starting to shutdown consumers manager"); - consumersManager.shutdown(); - LOG.trace("finished shutting down consumers manager"); - } - }; + Thread timed = new Thread(() -> { + LOG.trace("starting to shutdown consumers manager"); + consumersManager.shutdown(); + LOG.trace("finished shutting down consumers manager"); + }); timed.setDaemon(true); timed.start(); try { diff --git a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java index 6c32da57b0..a3e66e6f4c 100644 --- a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java +++ b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java @@ -78,12 +78,7 @@ public static void main(String[] args) throws Exception { final BatchProcessDriverCLI runner = new BatchProcessDriverCLI(args); //make absolutely certain that the forked process is terminated - Runtime.getRuntime().addShutdownHook(new Thread() { - @Override - public void run() { - runner.stop(); - } - }); + Runtime.getRuntime().addShutdownHook(new Thread(runner::stop)); runner.execute(); System.out.println("FSBatchProcessDriver has gracefully completed"); @@ -91,7 +86,7 @@ public void run() { } private String[] tryToReadMaxRestarts(String[] commandLine) { - List args = new ArrayList(); + List args = new ArrayList<>(); for (int i = 0; i < commandLine.length; i++) { String arg = commandLine[i]; if (arg.equals("-maxRestarts")) { diff --git a/tika-batch/src/main/java/org/apache/tika/batch/builders/BatchProcessBuilder.java b/tika-batch/src/main/java/org/apache/tika/batch/builders/BatchProcessBuilder.java index aecffa1150..1ee13d5ca8 100644 --- a/tika-batch/src/main/java/org/apache/tika/batch/builders/BatchProcessBuilder.java +++ b/tika-batch/src/main/java/org/apache/tika/batch/builders/BatchProcessBuilder.java @@ -145,7 +145,7 @@ public BatchProcess build(Node docElement, Map incomingRuntimeAt ArrayBlockingQueue queue = buildQueue(docElement, runtimeAttributes); NodeList children = docElement.getChildNodes(); - Map keyNodes = new HashMap(); + Map keyNodes = new HashMap<>(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child.getNodeType() != Node.ELEMENT_NODE) { @@ -220,7 +220,7 @@ private StatusReporter buildReporter(FileResourceCrawler crawler, private Map setNumConsumersInRuntimeAttributes(Node docElement, Map incomingRuntimeAttributes) { - Map runtimeAttributes = new HashMap(); + Map runtimeAttributes = new HashMap<>(); for (Map.Entry e : incomingRuntimeAttributes.entrySet()) { runtimeAttributes.put(e.getKey(), e.getValue()); @@ -271,7 +271,7 @@ private ArrayBlockingQueue buildQueue(Node docElement, maxQueueSize = DEFAULT_MAX_QUEUE_SIZE; } - return new ArrayBlockingQueue(maxQueueSize); + return new ArrayBlockingQueue<>(maxQueueSize); } private ConsumersManager buildConsumersManager(Node node, Map runtimeAttributes, diff --git a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSBatchProcessCLI.java b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSBatchProcessCLI.java index ee4087ef1e..5501b20634 100644 --- a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSBatchProcessCLI.java +++ b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSBatchProcessCLI.java @@ -113,7 +113,7 @@ private void execute(String[] args) throws Exception { System.exit(BatchProcessDriverCLI.PROCESS_NO_RESTART_EXIT_CODE); } - Map mapArgs = new HashMap(); + Map mapArgs = new HashMap<>(); for (Option option : line.getOptions()) { String v = option.getValue(); if (v == null || v.equals("")) { diff --git a/tika-batch/src/main/java/org/apache/tika/batch/fs/builders/BasicTikaFSConsumersBuilder.java b/tika-batch/src/main/java/org/apache/tika/batch/fs/builders/BasicTikaFSConsumersBuilder.java index 643b95f576..9818f7477f 100644 --- a/tika-batch/src/main/java/org/apache/tika/batch/fs/builders/BasicTikaFSConsumersBuilder.java +++ b/tika-batch/src/main/java/org/apache/tika/batch/fs/builders/BasicTikaFSConsumersBuilder.java @@ -120,7 +120,7 @@ public ConsumersManager build(Node node, Map runtimeAttributes, config = TikaConfig.getDefaultConfig(); } - List consumers = new LinkedList(); + List consumers = new LinkedList<>(); int numConsumers = BatchProcessBuilder.getNumConsumers(runtimeAttributes); NodeList nodeList = node.getChildNodes(); @@ -131,12 +131,16 @@ public ConsumersManager build(Node node, Map runtimeAttributes, for (int i = 0; i < nodeList.getLength(); i++) { Node child = nodeList.item(i); String cn = child.getNodeName(); - if (cn.equals("parser")) { - parserFactoryNode = child; - } else if (cn.equals("contenthandler")) { - contentHandlerFactoryNode = child; - } else if (cn.equals("outputstream")) { - outputStreamFactoryNode = child; + switch (cn) { + case "parser": + parserFactoryNode = child; + break; + case "contenthandler": + contentHandlerFactoryNode = child; + break; + case "outputstream": + outputStreamFactoryNode = child; + break; } } diff --git a/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java b/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java index 62027fc950..c0ad512f28 100644 --- a/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java +++ b/tika-batch/src/main/java/org/apache/tika/util/ClassLoaderUtil.java @@ -29,12 +29,8 @@ public static T buildClass(Class iface, String className) { return (T) clazz.newInstance(); } throw new IllegalArgumentException( - iface.toString() + " is not assignable from " + className); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } catch (InstantiationException e) { - throw new RuntimeException(e); - } catch (IllegalAccessException e) { + iface + " is not assignable from " + className); + } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } diff --git a/tika-batch/src/main/java/org/apache/tika/util/XMLDOMUtil.java b/tika-batch/src/main/java/org/apache/tika/util/XMLDOMUtil.java index cb1d2c3583..fe7faa9589 100644 --- a/tika-batch/src/main/java/org/apache/tika/util/XMLDOMUtil.java +++ b/tika-batch/src/main/java/org/apache/tika/util/XMLDOMUtil.java @@ -33,7 +33,7 @@ public class XMLDOMUtil { * @return map of attributes */ public static Map mapifyAttrs(Node node, Map overwrite) { - Map map = new HashMap(); + Map map = new HashMap<>(); NamedNodeMap nnMap = node.getAttributes(); for (int i = 0; i < nnMap.getLength(); i++) { Node attr = nnMap.item(i); diff --git a/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java b/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java index 5e9691e464..797c32cb2c 100644 --- a/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java +++ b/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java @@ -51,7 +51,7 @@ public void testEmbeddedWithNPE() throws Exception { final Metadata metadata = new Metadata(); metadata.add(TikaCoreProperties.RESOURCE_NAME_KEY, "embedded_with_npe.xml"); - ArrayBlockingQueue queue = new ArrayBlockingQueue(2); + ArrayBlockingQueue queue = new ArrayBlockingQueue<>(2); queue.add(new FileResource() { @Override @@ -102,7 +102,7 @@ public void testEmbeddedThenNPE() throws Exception { final Metadata metadata = new Metadata(); metadata.add(TikaCoreProperties.RESOURCE_NAME_KEY, "embedded_then_npe.xml"); - ArrayBlockingQueue queue = new ArrayBlockingQueue(2); + ArrayBlockingQueue queue = new ArrayBlockingQueue<>(2); queue.add(new FileResource() { @Override @@ -145,7 +145,7 @@ public InputStream openInputStream() throws IOException { private class MockOSFactory implements OutputStreamFactory { - List streams = new ArrayList(); + List streams = new ArrayList<>(); @Override public OutputStream getOutputStream(Metadata metadata) throws IOException { diff --git a/tika-bundles/tika-bundle-classic/src/test/java/org/apache/tika/bundle/BundleIT.java b/tika-bundles/tika-bundle-classic/src/test/java/org/apache/tika/bundle/BundleIT.java index 7d066c48be..d263abcf4d 100644 --- a/tika-bundles/tika-bundle-classic/src/test/java/org/apache/tika/bundle/BundleIT.java +++ b/tika-bundles/tika-bundle-classic/src/test/java/org/apache/tika/bundle/BundleIT.java @@ -205,7 +205,7 @@ public void testBundleDetectors() throws Exception { // Get the raw detectors list from the traditional service loading mechanism DefaultDetector detector = new DefaultDetector(); - Set rawDetectors = new HashSet(); + Set rawDetectors = new HashSet<>(); for (Detector d : detector.getDetectors()) { if (d instanceof DefaultDetector) { for (Detector dChild : ((DefaultDetector) d).getDetectors()) { diff --git a/tika-core/src/main/java/org/apache/tika/concurrent/SimpleThreadPoolExecutor.java b/tika-core/src/main/java/org/apache/tika/concurrent/SimpleThreadPoolExecutor.java index 839983efe1..a4385e279e 100644 --- a/tika-core/src/main/java/org/apache/tika/concurrent/SimpleThreadPoolExecutor.java +++ b/tika-core/src/main/java/org/apache/tika/concurrent/SimpleThreadPoolExecutor.java @@ -17,7 +17,6 @@ package org.apache.tika.concurrent; import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -30,13 +29,7 @@ public class SimpleThreadPoolExecutor extends ThreadPoolExecutor implements ConfigurableThreadPoolExecutor { public SimpleThreadPoolExecutor() { - super(1, 2, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue(), - new ThreadFactory() { - - @Override - public Thread newThread(Runnable r) { - return new Thread(r, "Tika Executor Thread"); - } - }); + super(1, 2, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), + r -> new Thread(r, "Tika Executor Thread")); } } diff --git a/tika-core/src/main/java/org/apache/tika/config/Param.java b/tika-core/src/main/java/org/apache/tika/config/Param.java index caefaf126d..8013c0f1bc 100644 --- a/tika-core/src/main/java/org/apache/tika/config/Param.java +++ b/tika-core/src/main/java/org/apache/tika/config/Param.java @@ -130,7 +130,7 @@ public static Param load(Node node) throws TikaConfigException { value = valueAttr; } - Param ret = new Param(); + Param ret = new Param<>(); ret.name = nameAttr.getTextContent(); if (typeAttr != null) { ret.setTypeString(typeAttr.getTextContent()); diff --git a/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java b/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java index 90b4a9c5ad..5a31dbf2da 100644 --- a/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java +++ b/tika-core/src/main/java/org/apache/tika/config/ServiceLoader.java @@ -47,7 +47,7 @@ public class ServiceLoader { * source of service instances in the {@link #loadServiceProviders(Class)} * method. */ - private static final Map services = new HashMap(); + private static final Map services = new HashMap<>(); private static final Pattern COMMENT = Pattern.compile("#.*"); private static final Pattern WHITESPACE = Pattern.compile("\\s+"); /** @@ -245,7 +245,7 @@ public Enumeration findServiceResources(String filePattern) { * @return available service providers */ public List loadServiceProviders(Class iface) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.addAll(loadDynamicServiceProviders(iface)); providers.addAll(loadStaticServiceProviders(iface)); return providers; @@ -264,10 +264,10 @@ public List loadServiceProviders(Class iface) { public List loadDynamicServiceProviders(Class iface) { if (dynamic) { synchronized (services) { - List list = new ArrayList(services.values()); + List list = new ArrayList<>(services.values()); Collections.sort(list); - List providers = new ArrayList(list.size()); + List providers = new ArrayList<>(list.size()); for (RankedService service : list) { if (service.isInstanceOf(iface)) { providers.add((T) service.service); @@ -276,7 +276,7 @@ public List loadDynamicServiceProviders(Class iface) { return providers; } } else { - return new ArrayList(0); + return new ArrayList<>(0); } } @@ -291,7 +291,7 @@ public List loadDynamicServiceProviders(Class iface) { * @since Apache Tika 1.6 */ protected List identifyStaticServiceProviders(Class iface) { - List names = new ArrayList(); + List names = new ArrayList<>(); if (loader != null) { String serviceName = iface.getName(); @@ -326,7 +326,7 @@ public List loadStaticServiceProviders(Class iface) { @SuppressWarnings("unchecked") public List loadStaticServiceProviders(Class iface, Collection> excludes) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); if (loader != null) { List names = identifyStaticServiceProviders(iface); diff --git a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java index d8957b09c5..a561ca378b 100644 --- a/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java +++ b/tika-core/src/main/java/org/apache/tika/config/TikaConfig.java @@ -369,7 +369,7 @@ private static List getTopLevelElementChildren(Element element, String if (parentNode != null) { // Find only the direct child parser/detector objects NodeList nodes = parentNode.getChildNodes(); - List elements = new ArrayList(); + List elements = new ArrayList<>(); for (int i = 0; i < nodes.getLength(); i++) { Node node = nodes.item(i); if (node instanceof Element) { @@ -610,7 +610,7 @@ abstract T decorate(T created, Element element) @SuppressWarnings("unchecked") CT loadOverall(Element element, MimeTypes mimeTypes, ServiceLoader loader) throws TikaException, IOException { - List loaded = new ArrayList(); + List loaded = new ArrayList<>(); // Find the children of the parent tag, if any for (Element le : getTopLevelElementChildren(element, getParentTagName(), @@ -684,7 +684,7 @@ T loadOne(Element element, MimeTypes mimeTypes, ServiceLoader loader) // Is this a composite or decorated class? If so, support recursion if (isComposite(loadedClass)) { // Get the child objects for it - List children = new ArrayList(); + List children = new ArrayList<>(); NodeList childNodes = element.getElementsByTagName(getLoaderTagName()); if (childNodes.getLength() > 0) { for (int i = 0; i < childNodes.getLength(); i++) { @@ -697,7 +697,7 @@ T loadOne(Element element, MimeTypes mimeTypes, ServiceLoader loader) } // Get the list of children to exclude - Set> excludeChildren = new HashSet>(); + Set> excludeChildren = new HashSet<>(); NodeList excludeChildNodes = element.getElementsByTagName(getLoaderTagName() + "-exclude"); if (excludeChildNodes.getLength() > 0) { diff --git a/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java b/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java index 7d75efb66b..22a306d611 100644 --- a/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java +++ b/tika-core/src/main/java/org/apache/tika/detect/CompositeDetector.java @@ -48,7 +48,7 @@ public CompositeDetector(MediaTypeRegistry registry, List detectors, if (excludeDetectors == null || excludeDetectors.isEmpty()) { this.detectors = detectors; } else { - this.detectors = new ArrayList(); + this.detectors = new ArrayList<>(); for (Detector d : detectors) { if (!isExcluded(excludeDetectors, d.getClass())) { this.detectors.add(d); diff --git a/tika-core/src/main/java/org/apache/tika/detect/FileCommandDetector.java b/tika-core/src/main/java/org/apache/tika/detect/FileCommandDetector.java index dd35d95bc3..130f02aa62 100644 --- a/tika-core/src/main/java/org/apache/tika/detect/FileCommandDetector.java +++ b/tika-core/src/main/java/org/apache/tika/detect/FileCommandDetector.java @@ -102,13 +102,11 @@ public MediaType detect(InputStream input, Metadata metadata) throws IOException } input.mark(maxBytes); - TemporaryResources tmp = new TemporaryResources(); - try { + try (TemporaryResources tmp = new TemporaryResources()) { Path tmpFile = tmp.createTempFile(); Files.copy(new BoundedInputStream(maxBytes, input), tmpFile, REPLACE_EXISTING); return detectOnPath(tmpFile); } finally { - tmp.close(); input.reset(); } } diff --git a/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java b/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java index 9577d8c85e..bb9ec1da02 100644 --- a/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java +++ b/tika-core/src/main/java/org/apache/tika/detect/MagicDetector.java @@ -227,27 +227,43 @@ private static byte[] decodeValue(String value, String type) { radix = 8; } - if (type.equals("string") || type.equals("regex") || type.equals("unicodeLE") || - type.equals("unicodeBE")) { - decoded = decodeString(value, type); - } else if (type.equals("stringignorecase")) { - decoded = decodeString(value.toLowerCase(Locale.ROOT), type); - } else if (type.equals("byte")) { - decoded = tmpVal.getBytes(UTF_8); - } else if (type.equals("host16") || type.equals("little16")) { - int i = Integer.parseInt(tmpVal, radix); - decoded = new byte[]{(byte) (i & 0x00FF), (byte) (i >> 8)}; - } else if (type.equals("big16")) { - int i = Integer.parseInt(tmpVal, radix); - decoded = new byte[]{(byte) (i >> 8), (byte) (i & 0x00FF)}; - } else if (type.equals("host32") || type.equals("little32")) { - long i = Long.parseLong(tmpVal, radix); - decoded = new byte[]{(byte) ((i & 0x000000FF)), (byte) ((i & 0x0000FF00) >> 8), - (byte) ((i & 0x00FF0000) >> 16), (byte) ((i & 0xFF000000) >> 24)}; - } else if (type.equals("big32")) { - long i = Long.parseLong(tmpVal, radix); - decoded = new byte[]{(byte) ((i & 0xFF000000) >> 24), (byte) ((i & 0x00FF0000) >> 16), - (byte) ((i & 0x0000FF00) >> 8), (byte) ((i & 0x000000FF))}; + switch (type) { + case "string": + case "regex": + case "unicodeLE": + case "unicodeBE": + decoded = decodeString(value, type); + break; + case "stringignorecase": + decoded = decodeString(value.toLowerCase(Locale.ROOT), type); + break; + case "byte": + decoded = tmpVal.getBytes(UTF_8); + break; + case "host16": + case "little16": { + int i = Integer.parseInt(tmpVal, radix); + decoded = new byte[]{(byte) (i & 0x00FF), (byte) (i >> 8)}; + break; + } + case "big16": { + int i = Integer.parseInt(tmpVal, radix); + decoded = new byte[]{(byte) (i >> 8), (byte) (i & 0x00FF)}; + break; + } + case "host32": + case "little32": { + long i = Long.parseLong(tmpVal, radix); + decoded = new byte[]{(byte) ((i & 0x000000FF)), (byte) ((i & 0x0000FF00) >> 8), + (byte) ((i & 0x00FF0000) >> 16), (byte) ((i & 0xFF000000) >> 24)}; + break; + } + case "big32": { + long i = Long.parseLong(tmpVal, radix); + decoded = new byte[]{(byte) ((i & 0xFF000000) >> 24), (byte) ((i & 0x00FF0000) >> 16), + (byte) ((i & 0x0000FF00) >> 8), (byte) ((i & 0x000000FF))}; + break; + } } return decoded; } diff --git a/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java b/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java index 7ffaf5e82e..40d8df7959 100644 --- a/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java +++ b/tika-core/src/main/java/org/apache/tika/embedder/ExternalEmbedder.java @@ -140,10 +140,7 @@ public static boolean check(String[] checkCmd, int... errorValue) { } } return true; - } catch (IOException e) { - // Some problem, command is there or is broken - return false; - } catch (InterruptedException ie) { + } catch (IOException | InterruptedException e) { // Some problem, command is there or is broken return false; } @@ -159,7 +156,7 @@ public Set getSupportedEmbedTypes() { public void setSupportedEmbedTypes(Set supportedEmbedTypes) { this.supportedEmbedTypes = - Collections.unmodifiableSet(new HashSet(supportedEmbedTypes)); + Collections.unmodifiableSet(new HashSet<>(supportedEmbedTypes)); } /** @@ -290,7 +287,7 @@ public void setMetadataCommandArguments(Map arguments) { * @return the metadata-related command line arguments */ protected List getCommandMetadataSegments(Metadata metadata) { - List commandMetadataSegments = new ArrayList(); + List commandMetadataSegments = new ArrayList<>(); if (metadata == null || metadata.names() == null) { return commandMetadataSegments; } @@ -354,23 +351,23 @@ public void embed(final Metadata metadata, final InputStream inputStream, // Build our command String[] origCmd = command; - List cmd = new ArrayList(); + List cmd = new ArrayList<>(); for (String commandSegment : origCmd) { - if (commandSegment.indexOf(ExternalParser.INPUT_FILE_TOKEN) != -1) { + if (commandSegment.contains(ExternalParser.INPUT_FILE_TOKEN)) { commandSegment = commandSegment.replace(ExternalParser.INPUT_FILE_TOKEN, tikaInputStream.getFile().toString()); inputToStdIn = false; } - if (commandSegment.indexOf(ExternalParser.OUTPUT_FILE_TOKEN) != -1) { + if (commandSegment.contains(ExternalParser.OUTPUT_FILE_TOKEN)) { tempOutputFile = tmp.createTemporaryFile(); commandSegment = commandSegment .replace(ExternalParser.OUTPUT_FILE_TOKEN, tempOutputFile.toString()); outputFromStdOut = false; } - if (commandSegment.indexOf(METADATA_COMMAND_ARGUMENTS_SERIALIZED_TOKEN) != -1) { + if (commandSegment.contains(METADATA_COMMAND_ARGUMENTS_SERIALIZED_TOKEN)) { serializeMetadataCommandArgumentsToken = true; } - if (commandSegment.indexOf(METADATA_COMMAND_ARGUMENTS_TOKEN) != -1) { + if (commandSegment.contains(METADATA_COMMAND_ARGUMENTS_TOKEN)) { if (hasMetadataCommandArguments) { cmd.addAll(commandMetadataSegments); } @@ -384,7 +381,7 @@ public void embed(final Metadata metadata, final InputStream inputStream, // Find all metadata tokens and replace with encapsulated metadata int i = 0; for (String commandSegment : cmd) { - if (commandSegment.indexOf(METADATA_COMMAND_ARGUMENTS_SERIALIZED_TOKEN) != -1) { + if (commandSegment.contains(METADATA_COMMAND_ARGUMENTS_SERIALIZED_TOKEN)) { commandSegment = commandSegment .replace(METADATA_COMMAND_ARGUMENTS_SERIALIZED_TOKEN, serializeMetadata(commandMetadataSegments)); @@ -468,13 +465,11 @@ public void embed(final Metadata metadata, final InputStream inputStream, */ private void multiThreadedStreamCopy(final InputStream inputStream, final OutputStream outputStream) { - new Thread(new Runnable() { - public void run() { - try { - IOUtils.copy(inputStream, outputStream); - } catch (IOException e) { - System.out.println("ERROR: " + e.getMessage()); - } + new Thread(() -> { + try { + IOUtils.copy(inputStream, outputStream); + } catch (IOException e) { + System.out.println("ERROR: " + e.getMessage()); } }).start(); } diff --git a/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentUtil.java b/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentUtil.java index 8f73da1e89..dfb38dbe82 100644 --- a/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentUtil.java +++ b/tika-core/src/main/java/org/apache/tika/extractor/EmbeddedDocumentUtil.java @@ -185,9 +185,7 @@ public String getExtension(TikaInputStream is, Metadata metadata) { mimeType = localMimeTypes.forName(mediaType.toString()); detected = true; is.reset(); - } catch (IOException e) { - //swallow - } catch (MimeTypeException e) { + } catch (IOException | MimeTypeException e) { //swallow } } diff --git a/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java b/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java index 2b21b4a6dc..792b6cb031 100644 --- a/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java +++ b/tika-core/src/main/java/org/apache/tika/fork/ClassLoaderProxy.java @@ -40,7 +40,7 @@ class ClassLoaderProxy extends ClassLoader implements ForkProxy { * lookup of commonly accessed, but often not present, resources like * META-INF/services/javax.xml.parsers.SAXParserFactory. */ - private final Set notFound = new HashSet(); + private final Set notFound = new HashSet<>(); private final int resource; @@ -92,7 +92,7 @@ protected synchronized Enumeration findResources(String name) throws IOExce output.flush(); // Receive the response - List resources = new ArrayList(); + List resources = new ArrayList<>(); while (input.readBoolean()) { resources.add(MemoryURLStreamHandler.createURL(readStream())); } diff --git a/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java b/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java index 160674dfc3..bfbb886c21 100644 --- a/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java +++ b/tika-core/src/main/java/org/apache/tika/fork/MemoryURLStreamHandler.java @@ -32,7 +32,7 @@ class MemoryURLStreamHandler extends URLStreamHandler { private static final AtomicInteger counter = new AtomicInteger(); private static final List records = - new LinkedList(); + new LinkedList<>(); public static URL createURL(byte[] data) { try { @@ -40,7 +40,7 @@ public static URL createURL(byte[] data) { URL url = new URL("tika-in-memory", "localhost", "/" + i); MemoryURLStreamRecord record = new MemoryURLStreamRecord(); - record.url = new WeakReference(url); + record.url = new WeakReference<>(url); record.data = data; records.add(record); diff --git a/tika-core/src/main/java/org/apache/tika/io/FilenameUtils.java b/tika-core/src/main/java/org/apache/tika/io/FilenameUtils.java index ad0011a545..42a9b4bbe1 100644 --- a/tika-core/src/main/java/org/apache/tika/io/FilenameUtils.java +++ b/tika-core/src/main/java/org/apache/tika/io/FilenameUtils.java @@ -31,7 +31,7 @@ public class FilenameUtils { 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, '?', ':', '*', '<', '>', '|'}; - private final static HashSet RESERVED = new HashSet(38); + private final static HashSet RESERVED = new HashSet<>(38); static { diff --git a/tika-core/src/main/java/org/apache/tika/io/TemporaryResources.java b/tika-core/src/main/java/org/apache/tika/io/TemporaryResources.java index 2d874a2254..c323083613 100644 --- a/tika-core/src/main/java/org/apache/tika/io/TemporaryResources.java +++ b/tika-core/src/main/java/org/apache/tika/io/TemporaryResources.java @@ -83,15 +83,13 @@ public void setTemporaryFileDirectory(File tempFileDir) { public Path createTempFile() throws IOException { final Path path = tempFileDir == null ? Files.createTempFile("apache-tika-", ".tmp") : Files.createTempFile(tempFileDir, "apache-tika-", ".tmp"); - addResource(new Closeable() { - public void close() throws IOException { - try { - Files.delete(path); - } catch (IOException e) { - // delete when exit if current delete fail - LOG.warn("delete tmp file fail, will delete it on exit"); - path.toFile().deleteOnExit(); - } + addResource(() -> { + try { + Files.delete(path); + } catch (IOException e) { + // delete when exit if current delete fail + LOG.warn("delete tmp file fail, will delete it on exit"); + path.toFile().deleteOnExit(); } }); return path; diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java b/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java index c106ef1187..b50d91fc09 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/Metadata.java @@ -62,7 +62,7 @@ public class Metadata * Constructs a new, empty metadata. */ public Metadata() { - metadata = new HashMap(); + metadata = new HashMap<>(); } private static DateFormat createDateFormat(String format, TimeZone timezone) { diff --git a/tika-core/src/main/java/org/apache/tika/metadata/Property.java b/tika-core/src/main/java/org/apache/tika/metadata/Property.java index 9bdc27975b..40ccb68de4 100644 --- a/tika-core/src/main/java/org/apache/tika/metadata/Property.java +++ b/tika-core/src/main/java/org/apache/tika/metadata/Property.java @@ -36,7 +36,7 @@ */ public final class Property implements Comparable { - private static final Map properties = new HashMap(); + private static final Map properties = new HashMap<>(); private final String name; private final boolean internal; private final PropertyType propertyType; @@ -57,7 +57,7 @@ private Property(String name, boolean internal, PropertyType propertyType, Value this.valueType = valueType; if (choices != null) { this.choices = Collections - .unmodifiableSet(new HashSet(Arrays.asList(choices.clone()))); + .unmodifiableSet(new HashSet<>(Arrays.asList(choices.clone()))); } else { this.choices = null; } @@ -120,7 +120,7 @@ public static Property get(String key) { } public static SortedSet getProperties(String prefix) { - SortedSet set = new TreeSet(); + SortedSet set = new TreeSet<>(); String p = prefix + ":"; synchronized (properties) { for (String name : properties.keySet()) { diff --git a/tika-core/src/main/java/org/apache/tika/mime/MediaType.java b/tika-core/src/main/java/org/apache/tika/mime/MediaType.java index 7e7be05d93..13ad6ed9cd 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MediaType.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MediaType.java @@ -62,7 +62,7 @@ public final class MediaType implements Comparable, Serializable { * Used to optimize type lookup and to avoid having too many * {@link MediaType} instances in memory. */ - private static final Map SIMPLE_TYPES = new HashMap(); + private static final Map SIMPLE_TYPES = new HashMap<>(); public static final MediaType OCTET_STREAM = parse("application/octet-stream"); @@ -111,7 +111,7 @@ public MediaType(String type, String subtype, Map parameters) { builder.append('/'); builder.append(subtype); - SortedMap map = new TreeMap(); + SortedMap map = new TreeMap<>(); for (Map.Entry entry : parameters.entrySet()) { String key = entry.getKey().trim().toLowerCase(Locale.ENGLISH); map.put(key, entry.getValue()); @@ -206,7 +206,7 @@ public static MediaType video(String type) { * @since Apache Tika 1.2 */ public static Set set(MediaType... types) { - Set set = new HashSet(); + Set set = new HashSet<>(); for (MediaType type : types) { if (type != null) { set.add(type); @@ -224,7 +224,7 @@ public static Set set(MediaType... types) { * @since Apache Tika 1.2 */ public static Set set(String... types) { - Set set = new HashSet(); + Set set = new HashSet<>(); for (String type : types) { MediaType mt = parse(type); if (mt != null) { @@ -301,7 +301,7 @@ private static Map parseParameters(String string) { // Extracts k1=v1, k2=v2 from mime/type; k1=v1; k2=v2 // Note - this logic isn't fully RFC2045 compliant yet, as it // doesn't fully handle quoted keys or values (eg containing ; or =) - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); while (string.length() > 0) { String key = string; String value = ""; @@ -351,7 +351,7 @@ private static Map union(Map a, Map union = new HashMap(); + Map union = new HashMap<>(); union.putAll(a); union.putAll(b); return union; diff --git a/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java b/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java index 338e09fec4..ac5b3add87 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MediaTypeRegistry.java @@ -42,7 +42,7 @@ public class MediaTypeRegistry implements Serializable { * Known type inheritance relationships. The mapping is from a media type * to the closest supertype. */ - private final Map inheritance = new HashMap(); + private final Map inheritance = new HashMap<>(); /** * Returns the built-in media type registry included in Tika. @@ -62,7 +62,7 @@ public static MediaTypeRegistry getDefaultRegistry() { * @since Apache Tika 0.8 */ public SortedSet getTypes() { - return new TreeSet(registry.values()); + return new TreeSet<>(registry.values()); } /** @@ -90,7 +90,7 @@ public SortedSet getAliases(MediaType type) { * @since Apache Tika 1.8 */ public SortedSet getChildTypes(MediaType type) { - SortedSet children = new TreeSet(); + SortedSet children = new TreeSet<>(); for (Map.Entry entry : inheritance.entrySet()) { if (entry.getValue().equals(type)) { children.add(entry.getKey()); diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeType.java b/tika-core/src/main/java/org/apache/tika/mime/MimeType.java index b185db7cc2..8dc3ddba54 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MimeType.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MimeType.java @@ -233,7 +233,7 @@ void addLink(URI link) { if (link == null) { throw new IllegalArgumentException("Missing Link"); } - List copy = new ArrayList(links.size() + 1); + List copy = new ArrayList<>(links.size() + 1); copy.addAll(links); copy.add(link); links = Collections.unmodifiableList(copy); @@ -248,7 +248,7 @@ void addLink(URI link) { */ void addRootXML(String namespaceURI, String localName) { if (rootXML == null) { - rootXML = new ArrayList(); + rootXML = new ArrayList<>(); } rootXML.add(new RootXML(this, namespaceURI, localName)); } @@ -281,7 +281,7 @@ void addMagic(Magic magic) { return; } if (magics == null) { - magics = new ArrayList(); + magics = new ArrayList<>(); } magics.add(magic); } @@ -388,7 +388,7 @@ void addExtension(String extension) { if (extensions == null) { extensions = Collections.singletonList(extension); } else if (extensions.size() == 1) { - extensions = new ArrayList(extensions); + extensions = new ArrayList<>(extensions); } if (!extensions.contains(extension)) { extensions.add(extension); diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java b/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java index 0e5da740ec..bb42201ea3 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MimeTypes.java @@ -73,7 +73,7 @@ public final class MimeTypes implements Detector, Serializable { */ private static final long serialVersionUID = -1350863170146349036L; private static final Map CLASSLOADER_SPECIFIC_DEFAULT_TYPES = - new HashMap(); + new HashMap<>(); private static MimeTypes DEFAULT_TYPES = null; /** * Root type, application/octet-stream. @@ -107,11 +107,11 @@ public final class MimeTypes implements Detector, Serializable { /** * Sorted list of all registered magics */ - private final List magics = new ArrayList(); + private final List magics = new ArrayList<>(); /** * Sorted list of all registered rootXML */ - private final List xmls = new ArrayList(); + private final List xmls = new ArrayList<>(); public MimeTypes() { rootMimeType = new MimeType(MediaType.OCTET_STREAM); @@ -227,7 +227,7 @@ List getMimeType(byte[] data) { } // Then, check for magic bytes - List result = new ArrayList(1); + List result = new ArrayList<>(1); int currentPriority = -1; for (Magic magic : magics) { if (currentPriority > 0 && currentPriority > magic.getPriority()) { diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java index eee1a2fb66..973a9dac81 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesFactory.java @@ -173,7 +173,7 @@ public static MimeTypes create(String coreFilePath, String extensionFilePath, Collections.list(classLoader.getResources(classPrefix + extensionFilePath)); // Swap that into an Array, and process - List urls = new ArrayList(); + List urls = new ArrayList<>(); urls.add(coreURL); urls.addAll(extensionURLs); diff --git a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java index 456853f245..7d53ab9eb4 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java +++ b/tika-core/src/main/java/org/apache/tika/mime/MimeTypesReader.java @@ -279,7 +279,7 @@ public void startElement(String uri, String localName, String qName, Attributes String isRegex = attributes.getValue(ISREGEX_ATTR); if (pattern != null) { try { - types.addPattern(type, pattern, Boolean.valueOf(isRegex)); + types.addPattern(type, pattern, Boolean.parseBoolean(isRegex)); } catch (MimeTypeException e) { handleGlobError(type, pattern, e, qName, attributes); } @@ -424,7 +424,7 @@ public void stop() { parent.subclauses = Collections.singletonList(clause); } else { if (parent.subclauses.size() == 1) { - parent.subclauses = new ArrayList(parent.subclauses); + parent.subclauses = new ArrayList<>(parent.subclauses); } parent.subclauses.add(clause); } diff --git a/tika-core/src/main/java/org/apache/tika/mime/Patterns.java b/tika-core/src/main/java/org/apache/tika/mime/Patterns.java index 308a7ebbbb..48c0329f06 100644 --- a/tika-core/src/main/java/org/apache/tika/mime/Patterns.java +++ b/tika-core/src/main/java/org/apache/tika/mime/Patterns.java @@ -38,17 +38,17 @@ class Patterns implements Serializable { /** * Index of exact name patterns. */ - private final Map names = new HashMap(); + private final Map names = new HashMap<>(); /** * Index of extension patterns of the form "*extension". */ - private final Map extensions = new HashMap(); + private final Map extensions = new HashMap<>(); /** * Index of generic glob patterns, sorted by length. */ private final SortedMap globs = - new TreeMap(new LengthComparator()); + new TreeMap<>(new LengthComparator()); private int minExtensionLength = Integer.MAX_VALUE; private int maxExtensionLength = 0; diff --git a/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java b/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java index b838cc8acf..b64c35cb07 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java +++ b/tika-core/src/main/java/org/apache/tika/parser/CompositeParser.java @@ -74,7 +74,7 @@ public CompositeParser(MediaTypeRegistry registry, List parsers, if (excludeParsers == null || excludeParsers.isEmpty()) { this.parsers = parsers; } else { - this.parsers = new ArrayList(); + this.parsers = new ArrayList<>(); for (Parser p : parsers) { if (!isExcluded(excludeParsers, p.getClass())) { this.parsers.add(p); @@ -97,7 +97,7 @@ public CompositeParser() { } public Map getParsers(ParseContext context) { - Map map = new HashMap(); + Map map = new HashMap<>(); for (Parser parser : parsers) { for (MediaType type : parser.getSupportedTypes(context)) { map.put(registry.normalize(type), parser); @@ -132,15 +132,15 @@ private boolean assignableFrom(Collection> excludeParser * @since Apache Tika 0.10 */ public Map> findDuplicateParsers(ParseContext context) { - Map types = new HashMap(); - Map> duplicates = new HashMap>(); + Map types = new HashMap<>(); + Map> duplicates = new HashMap<>(); for (Parser parser : parsers) { for (MediaType type : parser.getSupportedTypes(context)) { MediaType canonicalType = registry.normalize(type); if (types.containsKey(canonicalType)) { List list = duplicates.get(canonicalType); if (list == null) { - list = new ArrayList(); + list = new ArrayList<>(); list.add(types.get(canonicalType)); duplicates.put(canonicalType, list); } @@ -197,7 +197,7 @@ public Map getParsers() { * @param parsers component parsers, keyed by media type */ public void setParsers(Map parsers) { - this.parsers = new ArrayList(parsers.size()); + this.parsers = new ArrayList<>(parsers.size()); for (Map.Entry entry : parsers.entrySet()) { this.parsers.add(ParserDecorator .withTypes(entry.getValue(), Collections.singleton(entry.getKey()))); diff --git a/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java b/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java index 2728d11f4d..2abeeed529 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java +++ b/tika-core/src/main/java/org/apache/tika/parser/DefaultParser.java @@ -145,7 +145,7 @@ public Map getParsers(ParseContext context) { public List getAllComponentParsers() { List parsers = super.getAllComponentParsers(); if (loader != null) { - parsers = new ArrayList(parsers); + parsers = new ArrayList<>(parsers); parsers.addAll(loader.loadDynamicServiceProviders(Parser.class)); } return parsers; diff --git a/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java b/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java index bd7bbb45ee..531f1daa04 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java +++ b/tika-core/src/main/java/org/apache/tika/parser/ParseContext.java @@ -53,7 +53,7 @@ public class ParseContext implements Serializable { /** * Map of objects in this context */ - private final Map context = new HashMap(); + private final Map context = new HashMap<>(); /** * Adds the given value to the context as an implementation of the given @@ -157,9 +157,7 @@ public SAXParserFactory getSAXParserFactory() { factory.setValidating(false); try { factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true); - } catch (ParserConfigurationException e) { - //swallow - } catch (SAXNotSupportedException e) { + } catch (ParserConfigurationException | SAXNotSupportedException e) { //swallow } catch (SAXNotRecognizedException e) { // TIKA-271: Some XML parsers do not support the diff --git a/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java b/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java index 31459ae3c9..a2440f1227 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java +++ b/tika-core/src/main/java/org/apache/tika/parser/ParserDecorator.java @@ -100,7 +100,7 @@ public static final Parser withoutTypes(Parser parser, final Set excl public Set getSupportedTypes(ParseContext context) { // Get our own, writable copy of the types the parser supports Set parserTypes = - new HashSet(super.getSupportedTypes(context)); + new HashSet<>(super.getSupportedTypes(context)); // Remove anything on our excludes list parserTypes.removeAll(excludeTypes); // Return whatever is left diff --git a/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java b/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java index fdb15c202d..5ff41e0f3f 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java +++ b/tika-core/src/main/java/org/apache/tika/parser/ParsingReader.java @@ -147,18 +147,16 @@ public ParsingReader(File file) throws FileNotFoundException, IOException { */ public ParsingReader(Parser parser, InputStream stream, final Metadata metadata, ParseContext context) throws IOException { - this(parser, stream, metadata, context, new Executor() { - public void execute(Runnable command) { - String name = metadata.get(TikaCoreProperties.RESOURCE_NAME_KEY); - if (name != null) { - name = "Apache Tika: " + name; - } else { - name = "Apache Tika"; - } - Thread thread = new Thread(command, name); - thread.setDaemon(true); - thread.start(); + this(parser, stream, metadata, context, command -> { + String name = metadata.get(TikaCoreProperties.RESOURCE_NAME_KEY); + if (name != null) { + name = "Apache Tika: " + name; + } else { + name = "Apache Tika"; } + Thread thread = new Thread(command, name); + thread.setDaemon(true); + thread.start(); }); } diff --git a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java index 863a4fbbcc..32a179ad66 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java +++ b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java @@ -116,17 +116,15 @@ private static void ignoreStream(final InputStream stream) { * @return The thread that is created and started */ private static Thread ignoreStream(final InputStream stream, boolean waitForDeath) { - Thread t = new Thread() { - public void run() { - try { - IOUtils.copy(stream, NULL_OUTPUT_STREAM); - } catch (IOException e) { - //swallow - } finally { - IOUtils.closeQuietly(stream); - } + Thread t = new Thread(() -> { + try { + IOUtils.copy(stream, NULL_OUTPUT_STREAM); + } catch (IOException e) { + //swallow + } finally { + IOUtils.closeQuietly(stream); } - }; + }); t.start(); if (waitForDeath) { try { @@ -173,10 +171,7 @@ public static boolean check(String[] checkCmd, int... errorValue) { } } return true; - } catch (IOException e) { - // Some problem, command is there or is broken - return false; - } catch (InterruptedException | TimeoutException ie) { + } catch (IOException | InterruptedException | TimeoutException e) { // Some problem, command is there or is broken return false; } catch (SecurityException se) { @@ -207,7 +202,7 @@ public Set getSupportedTypes() { } public void setSupportedTypes(Set supportedTypes) { - this.supportedTypes = Collections.unmodifiableSet(new HashSet(supportedTypes)); + this.supportedTypes = Collections.unmodifiableSet(new HashSet<>(supportedTypes)); } public String[] getCommand() { @@ -292,11 +287,11 @@ private void parse(TikaInputStream stream, XHTMLContentHandler xhtml, Metadata m System.arraycopy(command, 0, cmd, 0, command.length); } for (int i = 0; i < cmd.length; i++) { - if (cmd[i].indexOf(INPUT_FILE_TOKEN) != -1) { + if (cmd[i].contains(INPUT_FILE_TOKEN)) { cmd[i] = cmd[i].replace(INPUT_FILE_TOKEN, stream.getFile().getPath()); inputToStdIn = false; } - if (cmd[i].indexOf(OUTPUT_FILE_TOKEN) != -1) { + if (cmd[i].contains(OUTPUT_FILE_TOKEN)) { output = tmp.createTemporaryFile(); outputFromStdOut = false; cmd[i] = cmd[i].replace(OUTPUT_FILE_TOKEN, output.getPath()); @@ -390,16 +385,14 @@ private void extractOutput(InputStream stream, XHTMLContentHandler xhtml) * @param stream input stream */ private void sendInput(final Process process, final InputStream stream) { - Thread t = new Thread() { - public void run() { - OutputStream stdin = process.getOutputStream(); - try { - IOUtils.copy(stream, stdin); - } catch (IOException e) { - //swallow - } + Thread t = new Thread(() -> { + OutputStream stdin = process.getOutputStream(); + try { + IOUtils.copy(stream, stdin); + } catch (IOException e) { + //swallow } - }; + }); t.start(); try { t.join(); @@ -408,38 +401,36 @@ public void run() { } private void extractMetadata(final InputStream stream, final Metadata metadata) { - Thread t = new Thread() { - public void run() { - BufferedReader reader; - reader = new BufferedReader(new InputStreamReader(stream, UTF_8)); - try { - String line; - while ((line = reader.readLine()) != null) { - boolean consumed = false; - for (Pattern p : metadataPatterns.keySet()) { - Matcher m = p.matcher(line); - if (m.find()) { - consumed = true; - if (metadataPatterns.get(p) != null && - !metadataPatterns.get(p).equals("")) { - metadata.add(metadataPatterns.get(p), m.group(1)); - } else { - metadata.add(m.group(1), m.group(2)); - } + Thread t = new Thread(() -> { + BufferedReader reader; + reader = new BufferedReader(new InputStreamReader(stream, UTF_8)); + try { + String line; + while ((line = reader.readLine()) != null) { + boolean consumed = false; + for (Pattern p : metadataPatterns.keySet()) { + Matcher m = p.matcher(line); + if (m.find()) { + consumed = true; + if (metadataPatterns.get(p) != null && + !metadataPatterns.get(p).equals("")) { + metadata.add(metadataPatterns.get(p), m.group(1)); + } else { + metadata.add(m.group(1), m.group(2)); } } - if (!consumed) { - ignoredLineConsumer.consume(line); - } } - } catch (IOException e) { - // Ignore - } finally { - IOUtils.closeQuietly(reader); - IOUtils.closeQuietly(stream); + if (!consumed) { + ignoredLineConsumer.consume(line); + } } + } catch (IOException e) { + // Ignore + } finally { + IOUtils.closeQuietly(reader); + IOUtils.closeQuietly(stream); } - }; + }); t.start(); try { t.join(); @@ -456,11 +447,8 @@ public interface LineConsumer extends Serializable { /** * A null consumer */ - LineConsumer NULL = new LineConsumer() { - @Override - public void consume(String line) { - // ignores - } + LineConsumer NULL = line -> { + // ignores }; /** diff --git a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java index 13af722df3..9fe06df0eb 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java +++ b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersConfigReader.java @@ -68,7 +68,7 @@ public static List read(Document document) throws TikaException, } public static List read(Element element) throws TikaException, IOException { - List parsers = new ArrayList(); + List parsers = new ArrayList<>(); if (element != null && element.getTagName().equals(EXTERNAL_PARSERS_TAG)) { NodeList nodes = element.getChildNodes(); @@ -105,17 +105,22 @@ private static ExternalParser readParser(Element parserDef) throws TikaException Node node = children.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element child = (Element) node; - if (child.getTagName().equals(CHECK_TAG)) { - boolean present = readCheckTagAndCheck(child); - if (!present) { - return null; - } - } else if (child.getTagName().equals(COMMAND_TAG)) { - parser.setCommand(getString(child)); - } else if (child.getTagName().equals(MIMETYPES_TAG)) { - parser.setSupportedTypes(readMimeTypes(child)); - } else if (child.getTagName().equals(METADATA_TAG)) { - parser.setMetadataExtractionPatterns(readMetadataPatterns(child)); + switch (child.getTagName()) { + case CHECK_TAG: + boolean present = readCheckTagAndCheck(child); + if (!present) { + return null; + } + break; + case COMMAND_TAG: + parser.setCommand(getString(child)); + break; + case MIMETYPES_TAG: + parser.setSupportedTypes(readMimeTypes(child)); + break; + case METADATA_TAG: + parser.setMetadataExtractionPatterns(readMetadataPatterns(child)); + break; } } } @@ -124,7 +129,7 @@ private static ExternalParser readParser(Element parserDef) throws TikaException } private static Set readMimeTypes(Element mimeTypes) { - Set types = new HashSet(); + Set types = new HashSet<>(); NodeList children = mimeTypes.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { @@ -141,7 +146,7 @@ private static Set readMimeTypes(Element mimeTypes) { } private static Map readMetadataPatterns(Element metadataDef) { - Map metadata = new HashMap(); + Map metadata = new HashMap<>(); NodeList children = metadataDef.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { @@ -161,7 +166,7 @@ private static Map readMetadataPatterns(Element metadataDef) { private static boolean readCheckTagAndCheck(Element checkDef) { String command = null; - List errorVals = new ArrayList(); + List errorVals = new ArrayList<>(); NodeList children = checkDef.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { diff --git a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java index e94c803033..561cbe7d00 100644 --- a/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java +++ b/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParsersFactory.java @@ -61,7 +61,7 @@ public static List create(String filename, ServiceLoader loader) } public static List create(URL... urls) throws IOException, TikaException { - List parsers = new ArrayList(); + List parsers = new ArrayList<>(); for (URL url : urls) { try (InputStream stream = url.openStream()) { parsers.addAll(ExternalParsersConfigReader.read(stream)); diff --git a/tika-core/src/main/java/org/apache/tika/pipes/FetchEmitTuple.java b/tika-core/src/main/java/org/apache/tika/pipes/FetchEmitTuple.java index 092c323c20..3a8ec2bdde 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/FetchEmitTuple.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/FetchEmitTuple.java @@ -17,6 +17,7 @@ package org.apache.tika.pipes; import java.io.Serializable; +import java.util.Objects; import org.apache.tika.metadata.Metadata; import org.apache.tika.pipes.emitter.EmitKey; @@ -100,15 +101,14 @@ public boolean equals(Object o) { FetchEmitTuple that = (FetchEmitTuple) o; - if (id != null ? !id.equals(that.id) : that.id != null) return false; - if (fetchKey != null ? !fetchKey.equals(that.fetchKey) : that.fetchKey != null) + if (!Objects.equals(id, that.id)) return false; + if (!Objects.equals(fetchKey, that.fetchKey)) return false; - if (emitKey != null ? !emitKey.equals(that.emitKey) : that.emitKey != null) return false; - if (metadata != null ? !metadata.equals(that.metadata) : that.metadata != null) + if (!Objects.equals(emitKey, that.emitKey)) return false; + if (!Objects.equals(metadata, that.metadata)) return false; if (onParseException != that.onParseException) return false; - return handlerConfig != null ? handlerConfig.equals(that.handlerConfig) : - that.handlerConfig == null; + return Objects.equals(handlerConfig, that.handlerConfig); } @Override diff --git a/tika-core/src/main/java/org/apache/tika/pipes/async/AsyncEmitter.java b/tika-core/src/main/java/org/apache/tika/pipes/async/AsyncEmitter.java index 9d40b47d19..15989ac159 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/async/AsyncEmitter.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/async/AsyncEmitter.java @@ -111,11 +111,7 @@ void add(EmitData data) { (estimatedSize + sz), maxBytes); emitAll(); } - List cached = map.get(data.getEmitKey().getEmitterName()); - if (cached == null) { - cached = new ArrayList<>(); - map.put(data.getEmitKey().getEmitterName(), cached); - } + List cached = map.computeIfAbsent(data.getEmitKey().getEmitterName(), k -> new ArrayList<>()); updateEstimatedSize(sz); cached.add(data); } diff --git a/tika-core/src/main/java/org/apache/tika/pipes/emitter/EmitKey.java b/tika-core/src/main/java/org/apache/tika/pipes/emitter/EmitKey.java index 08d798de64..e570064805 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/emitter/EmitKey.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/emitter/EmitKey.java @@ -17,6 +17,7 @@ package org.apache.tika.pipes.emitter; import java.io.Serializable; +import java.util.Objects; public class EmitKey implements Serializable { @@ -62,11 +63,10 @@ public boolean equals(Object o) { EmitKey emitKey1 = (EmitKey) o; - if (emitterName != null ? !emitterName.equals(emitKey1.emitterName) : - emitKey1.emitterName != null) { + if (!Objects.equals(emitterName, emitKey1.emitterName)) { return false; } - return emitKey != null ? emitKey.equals(emitKey1.emitKey) : emitKey1.emitKey == null; + return Objects.equals(emitKey, emitKey1.emitKey); } @Override diff --git a/tika-core/src/main/java/org/apache/tika/pipes/fetcher/FetchKey.java b/tika-core/src/main/java/org/apache/tika/pipes/fetcher/FetchKey.java index 090001e171..3a47d195e8 100644 --- a/tika-core/src/main/java/org/apache/tika/pipes/fetcher/FetchKey.java +++ b/tika-core/src/main/java/org/apache/tika/pipes/fetcher/FetchKey.java @@ -17,6 +17,7 @@ package org.apache.tika.pipes.fetcher; import java.io.Serializable; +import java.util.Objects; /** * Pair of fetcherName (which fetcher to call) and the key @@ -66,12 +67,10 @@ public boolean equals(Object o) { FetchKey fetchKey = (FetchKey) o; - if (fetcherName != null ? !fetcherName.equals(fetchKey.fetcherName) : - fetchKey.fetcherName != null) { + if (!Objects.equals(fetcherName, fetchKey.fetcherName)) { return false; } - return this.fetchKey != null ? this.fetchKey.equals(fetchKey.fetchKey) : - fetchKey.fetchKey == null; + return Objects.equals(this.fetchKey, fetchKey.fetchKey); } @Override diff --git a/tika-core/src/main/java/org/apache/tika/sax/CleanPhoneText.java b/tika-core/src/main/java/org/apache/tika/sax/CleanPhoneText.java index 7ddf7a6a5d..6e6ddcde99 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/CleanPhoneText.java +++ b/tika-core/src/main/java/org/apache/tika/sax/CleanPhoneText.java @@ -158,7 +158,7 @@ public static ArrayList extractPhoneNumbers(String text) { int idx = 0; Pattern p = Pattern.compile(cleanPhoneRegex); Matcher m = p.matcher(text); - ArrayList phoneNumbers = new ArrayList(); + ArrayList phoneNumbers = new ArrayList<>(); while (m.find(idx)) { String digits = m.group(1); int start = m.start(1); diff --git a/tika-core/src/main/java/org/apache/tika/sax/DIFContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/DIFContentHandler.java index 07e579398c..9764437fbb 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/DIFContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/DIFContentHandler.java @@ -42,8 +42,8 @@ public DIFContentHandler(ContentHandler delegate, Metadata metadata) { this.delegate = delegate; this.isLeaf = false; this.metadata = metadata; - this.treeStack = new Stack(); - this.dataStack = new Stack(); + this.treeStack = new Stack<>(); + this.dataStack = new Stack<>(); } @Override diff --git a/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java index 0595a75bd0..310a183287 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/LinkContentHandler.java @@ -37,12 +37,12 @@ public class LinkContentHandler extends DefaultHandler { * but it's possible (though unlikely) for also other kinds of nesting * to occur. */ - private final LinkedList builderStack = new LinkedList(); + private final LinkedList builderStack = new LinkedList<>(); /** * Collected links */ - private final List links = new ArrayList(); + private final List links = new ArrayList<>(); /** * Whether to collapse whitespace in anchor text diff --git a/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java index cc4b4a994f..b04c327683 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/SafeContentHandler.java @@ -54,21 +54,13 @@ public class SafeContentHandler extends ContentHandlerDecorator { * Output through the {@link ContentHandler#characters(char[], int, int)} * method of the decorated content handler. */ - private final Output charactersOutput = new Output() { - public void write(char[] ch, int start, int length) throws SAXException { - SafeContentHandler.super.characters(ch, start, length); - } - }; + private final Output charactersOutput = SafeContentHandler.super::characters; /** * Output through the * {@link ContentHandler#ignorableWhitespace(char[], int, int)} * method of the decorated content handler. */ - private final Output ignorableWhitespaceOutput = new Output() { - public void write(char[] ch, int start, int length) throws SAXException { - SafeContentHandler.super.ignorableWhitespace(ch, start, length); - } - }; + private final Output ignorableWhitespaceOutput = SafeContentHandler.super::ignorableWhitespace; public SafeContentHandler(ContentHandler handler) { super(handler); diff --git a/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java index b8d3bf7e97..3f9f3c42b6 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/SecureContentHandler.java @@ -47,7 +47,7 @@ public class SecureContentHandler extends ContentHandlerDecorator { /** * Current number of nested <div class="package-entr"> elements. */ - private final LinkedList packageEntryDepths = new LinkedList(); + private final LinkedList packageEntryDepths = new LinkedList<>(); /** * Number of output characters that Tika has produced so far. */ diff --git a/tika-core/src/main/java/org/apache/tika/sax/StandardOrganizations.java b/tika-core/src/main/java/org/apache/tika/sax/StandardOrganizations.java index 6d0e157dc1..070331a0c0 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/StandardOrganizations.java +++ b/tika-core/src/main/java/org/apache/tika/sax/StandardOrganizations.java @@ -33,7 +33,7 @@ public class StandardOrganizations { private static final Map organizations; static { - organizations = new TreeMap(); + organizations = new TreeMap<>(); //International standard organizations organizations.put("3GPP", "3rd Generation Partnership Project"); organizations.put("3GPP2", "3rd Generation Partnership Project 2"); diff --git a/tika-core/src/main/java/org/apache/tika/sax/StandardsText.java b/tika-core/src/main/java/org/apache/tika/sax/StandardsText.java index e6929be887..18d9e61567 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/StandardsText.java +++ b/tika-core/src/main/java/org/apache/tika/sax/StandardsText.java @@ -109,7 +109,7 @@ public static ArrayList extractStandardReferences(String text * @return the list of headers found within the given text. */ private static Map findHeaders(String text) { - Map headers = new TreeMap(); + Map headers = new TreeMap<>(); Pattern pattern = Pattern.compile(REGEX_HEADER); Matcher matcher = pattern.matcher(text); @@ -134,7 +134,7 @@ private static Map findHeaders(String text) { private static ArrayList findStandards(String text, Map headers, double threshold) { - ArrayList standards = new ArrayList(); + ArrayList standards = new ArrayList<>(); double score = 0; Pattern pattern = Pattern.compile(REGEX_FALLBACK); diff --git a/tika-core/src/main/java/org/apache/tika/sax/ToHTMLContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/ToHTMLContentHandler.java index 4218483cd8..268edb12cf 100755 --- a/tika-core/src/main/java/org/apache/tika/sax/ToHTMLContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/ToHTMLContentHandler.java @@ -33,7 +33,7 @@ */ public class ToHTMLContentHandler extends ToXMLContentHandler { - private static final Set EMPTY_ELEMENTS = new HashSet( + private static final Set EMPTY_ELEMENTS = new HashSet<>( Arrays.asList("area", "base", "basefont", "br", "col", "frame", "hr", "img", "input", "isindex", "link", "meta", "param")); diff --git a/tika-core/src/main/java/org/apache/tika/sax/ToXMLContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/ToXMLContentHandler.java index 2796ad7408..60ab35f3d5 100755 --- a/tika-core/src/main/java/org/apache/tika/sax/ToXMLContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/ToXMLContentHandler.java @@ -35,7 +35,7 @@ */ public class ToXMLContentHandler extends ToTextContentHandler { - protected final Map namespaces = new HashMap(); + protected final Map namespaces = new HashMap<>(); private final String encoding; protected boolean inStartElement = false; @@ -240,7 +240,7 @@ public ElementInfo(ElementInfo parent, Map namespaces) { if (namespaces.isEmpty()) { this.namespaces = Collections.emptyMap(); } else { - this.namespaces = new HashMap(namespaces); + this.namespaces = new HashMap<>(namespaces); } } diff --git a/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java index 92b71586a7..6ba4232205 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/XHTMLContentHandler.java @@ -91,7 +91,7 @@ public XHTMLContentHandler(ContentHandler handler, Metadata metadata) { } private static Set unmodifiableSet(String... elements) { - return Collections.unmodifiableSet(new HashSet(Arrays.asList(elements))); + return Collections.unmodifiableSet(new HashSet<>(Arrays.asList(elements))); } /** diff --git a/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java b/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java index 83eaddae23..9f96186aab 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java +++ b/tika-core/src/main/java/org/apache/tika/sax/xpath/MatchingContentHandler.java @@ -31,7 +31,7 @@ */ public class MatchingContentHandler extends ContentHandlerDecorator { - private final LinkedList matchers = new LinkedList(); + private final LinkedList matchers = new LinkedList<>(); private Matcher matcher; diff --git a/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java b/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java index 5401eef8bb..ffa4ccd719 100644 --- a/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java +++ b/tika-core/src/main/java/org/apache/tika/sax/xpath/XPathParser.java @@ -39,7 +39,7 @@ */ public class XPathParser { - private final Map prefixes = new HashMap(); + private final Map prefixes = new HashMap<>(); public XPathParser() { } diff --git a/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java b/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java index dfdaef25e8..49248c87c1 100644 --- a/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java +++ b/tika-core/src/main/java/org/apache/tika/utils/AnnotationUtils.java @@ -74,12 +74,9 @@ private static List collectInfo(Class clazz, for (final AccessibleObject member : members) { if (member.isAnnotationPresent(annotation)) { - AccessController.doPrivileged(new PrivilegedAction() { - @Override - public Void run() { - member.setAccessible(true); - return null; - } + AccessController.doPrivileged((PrivilegedAction) () -> { + member.setAccessible(true); + return null; }); annotatedMembers.add(member); } diff --git a/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java b/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java index 952d0a148a..5177752100 100644 --- a/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java +++ b/tika-core/src/main/java/org/apache/tika/utils/CharsetUtils.java @@ -38,7 +38,7 @@ public class CharsetUtils { private static final Pattern WIN_NAME_PATTERN = Pattern.compile("win-?(\\d+)"); - private static final Map COMMON_CHARSETS = new HashMap(); + private static final Map COMMON_CHARSETS = new HashMap<>(); private static Method getCharsetICU = null; private static Method isSupportedICU = null; @@ -81,7 +81,7 @@ public class CharsetUtils { } private static Map initCommonCharsets(String... names) { - Map charsets = new HashMap(); + Map charsets = new HashMap<>(); for (String name : names) { try { Charset charset = Charset.forName(name); @@ -104,8 +104,7 @@ private static Map initCommonCharsets(String... names) { */ public static boolean isSupported(String charsetName) { try { - if (isSupportedICU != null && - ((Boolean) isSupportedICU.invoke(null, charsetName)).booleanValue()) { + if (isSupportedICU != null && (Boolean) isSupportedICU.invoke(null, charsetName)) { return true; } return Charset.isSupported(charsetName); diff --git a/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java b/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java index bc164e98dc..70d04119b3 100644 --- a/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java +++ b/tika-core/src/main/java/org/apache/tika/utils/RegexUtils.java @@ -53,7 +53,7 @@ public static List extractLinks(String content) { return Collections.emptyList(); } - List extractions = new ArrayList(); + List extractions = new ArrayList<>(); final Matcher matcher = LINKS_PATTERN.matcher(content); while (matcher.find()) { extractions.add(matcher.group()); diff --git a/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java b/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java index 17bbcd0cda..ff62dedd77 100644 --- a/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java +++ b/tika-core/src/main/java/org/apache/tika/utils/XMLReaderUtils.java @@ -36,7 +36,6 @@ import javax.xml.parsers.SAXParserFactory; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLResolver; -import javax.xml.stream.XMLStreamException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerFactory; @@ -116,19 +115,10 @@ public void fatalError(SAXParseException exception) throws SAXException { private static final ReentrantReadWriteLock SAX_READ_WRITE_LOCK = new ReentrantReadWriteLock(); private static final ReentrantReadWriteLock DOM_READ_WRITE_LOCK = new ReentrantReadWriteLock(); private static final AtomicInteger POOL_GENERATION = new AtomicInteger(); - private static final EntityResolver IGNORING_SAX_ENTITY_RESOLVER = new EntityResolver() { - public InputSource resolveEntity(String publicId, String systemId) - throws SAXException, IOException { - return new InputSource(new StringReader("")); - } - }; - private static final XMLResolver IGNORING_STAX_ENTITY_RESOLVER = new XMLResolver() { - @Override - public Object resolveEntity(String publicID, String systemID, String baseURI, - String namespace) throws XMLStreamException { - return ""; - } - }; + private static final EntityResolver IGNORING_SAX_ENTITY_RESOLVER = + (publicId, systemId) -> new InputSource(new StringReader("")); + private static final XMLResolver IGNORING_STAX_ENTITY_RESOLVER = + (publicID, systemID, baseURI, namespace) -> ""; /** * Parser pool size */ diff --git a/tika-core/src/test/java/org/apache/tika/ResourceLoggingClassLoader.java b/tika-core/src/test/java/org/apache/tika/ResourceLoggingClassLoader.java index ccd663ed9a..1a6d454d32 100644 --- a/tika-core/src/test/java/org/apache/tika/ResourceLoggingClassLoader.java +++ b/tika-core/src/test/java/org/apache/tika/ResourceLoggingClassLoader.java @@ -32,19 +32,14 @@ * when unit testing */ public class ResourceLoggingClassLoader extends ClassLoader { - private final Map> loadedResources = new HashMap>(); + private final Map> loadedResources = new HashMap<>(); public ResourceLoggingClassLoader(ClassLoader realClassloader) { super(realClassloader); } private List fetchRecord(String name) { - List alreadyLoaded = loadedResources.get(name); - if (alreadyLoaded == null) { - alreadyLoaded = new ArrayList(); - loadedResources.put(name, alreadyLoaded); - } - return alreadyLoaded; + return loadedResources.computeIfAbsent(name, k -> new ArrayList<>()); } @Override diff --git a/tika-core/src/test/java/org/apache/tika/TikaTest.java b/tika-core/src/test/java/org/apache/tika/TikaTest.java index 8e1564d83a..a9d724e9f6 100644 --- a/tika-core/src/test/java/org/apache/tika/TikaTest.java +++ b/tika-core/src/test/java/org/apache/tika/TikaTest.java @@ -534,11 +534,11 @@ public XMLResult(String xml, Metadata metadata) { */ public static class TrackingHandler implements EmbeddedResourceHandler { private final Set skipTypes; - public List filenames = new ArrayList(); - public List mediaTypes = new ArrayList(); + public List filenames = new ArrayList<>(); + public List mediaTypes = new ArrayList<>(); public TrackingHandler() { - skipTypes = new HashSet(); + skipTypes = new HashSet<>(); } public TrackingHandler(Set skipTypes) { @@ -560,7 +560,7 @@ public void handle(String filename, MediaType mediaType, InputStream stream) { */ public static class ByteCopyingHandler implements EmbeddedResourceHandler { - public List bytes = new ArrayList(); + public List bytes = new ArrayList<>(); @Override public void handle(String filename, MediaType mediaType, InputStream stream) { diff --git a/tika-core/src/test/java/org/apache/tika/config/DummyExecutor.java b/tika-core/src/test/java/org/apache/tika/config/DummyExecutor.java index 77793c4f7a..185387cffe 100644 --- a/tika-core/src/test/java/org/apache/tika/config/DummyExecutor.java +++ b/tika-core/src/test/java/org/apache/tika/config/DummyExecutor.java @@ -24,6 +24,6 @@ public class DummyExecutor extends ThreadPoolExecutor implements ConfigurableThreadPoolExecutor { public DummyExecutor() { - super(1, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue()); + super(1, 1, 0L, TimeUnit.SECONDS, new LinkedBlockingQueue<>()); } } diff --git a/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java b/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java index 352dc7288b..69c8af3b4d 100644 --- a/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java +++ b/tika-core/src/test/java/org/apache/tika/detect/NameDetectorTest.java @@ -40,7 +40,7 @@ public class NameDetectorTest { @Before public void setUp() { - Map patterns = new HashMap(); + Map patterns = new HashMap<>(); patterns.put(Pattern.compile(".*\\.txt", Pattern.CASE_INSENSITIVE), MediaType.TEXT_PLAIN); patterns.put(Pattern.compile("README"), MediaType.TEXT_PLAIN); patterns.put(Pattern.compile(".*\\.hdr"), MediaType.application("envi.hdr")); diff --git a/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java b/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java index 56c4f21637..bd992b4e7d 100644 --- a/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java +++ b/tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java @@ -103,16 +103,14 @@ public void testParallelParsing() throws Exception { for (int i = 0; i < threads.length; i++) { final ContentHandler o = new BodyContentHandler(); output[i] = o; - threads[i] = new Thread() { - public void run() { - try { - InputStream stream = new ByteArrayInputStream(new byte[0]); - parser.parse(stream, o, new Metadata(), context); - } catch (Exception e) { - e.printStackTrace(); - } + threads[i] = new Thread(() -> { + try { + InputStream stream = new ByteArrayInputStream(new byte[0]); + parser.parse(stream, o, new Metadata(), context); + } catch (Exception e) { + e.printStackTrace(); } - }; + }); threads[i].start(); } @@ -141,16 +139,14 @@ public synchronized int read() throws IOException { } }; pipes[i] = new PipedOutputStream(input); - threads[i] = new Thread() { - public void run() { - try { - ContentHandler o = new DefaultHandler(); - parser.parse(input, o, new Metadata(), context); - } catch (Exception e) { - e.printStackTrace(); - } + threads[i] = new Thread(() -> { + try { + ContentHandler o = new DefaultHandler(); + parser.parse(input, o, new Metadata(), context); + } catch (Exception e) { + e.printStackTrace(); } - }; + }); threads[i].start(); } @@ -158,17 +154,15 @@ public void run() { barrier.acquire(parser.getPoolSize()); final ContentHandler o = new BodyContentHandler(); - Thread blocked = new Thread() { - public void run() { - try { - barrier.release(); - InputStream stream = new ByteArrayInputStream(new byte[0]); - parser.parse(stream, o, new Metadata(), context); - } catch (Exception e) { - e.printStackTrace(); - } + Thread blocked = new Thread(() -> { + try { + barrier.release(); + InputStream stream = new ByteArrayInputStream(new byte[0]); + parser.parse(stream, o, new Metadata(), context); + } catch (Exception e) { + e.printStackTrace(); } - }; + }); blocked.start(); // Wait until the last thread is started, and then some to diff --git a/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java b/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java index 489086ef3a..02d5cd8eaa 100644 --- a/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java +++ b/tika-core/src/test/java/org/apache/tika/io/TikaInputStreamTest.java @@ -88,12 +88,7 @@ public void testStreamBased() throws IOException { @Test public void testInputStreamFactoryBased() throws IOException { - TikaInputStream stream = TikaInputStream.get(new InputStreamFactory() { - @Override - public InputStream getInputStream() throws IOException { - return IOUtils.toInputStream("Hello, World!", UTF_8); - } - }); + TikaInputStream stream = TikaInputStream.get(() -> IOUtils.toInputStream("Hello, World!", UTF_8)); assertFalse(stream.hasFile()); assertNull(stream.getOpenContainer()); assertNotNull(stream.getInputStreamFactory()); diff --git a/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java b/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java index 2ffb05e9e1..bbec92b9ab 100644 --- a/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java +++ b/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java @@ -413,7 +413,7 @@ public void testMultithreadedDates() throws Exception { int numThreads = 10; ExecutorService executorService = Executors.newFixedThreadPool(numThreads); ExecutorCompletionService executorCompletionService = - new ExecutorCompletionService(executorService); + new ExecutorCompletionService<>(executorService); for (int i = 0; i < numThreads; i++) { executorCompletionService.submit(new MetadataDateAdder()); } diff --git a/tika-core/src/test/java/org/apache/tika/mime/CustomReaderTest.java b/tika-core/src/test/java/org/apache/tika/mime/CustomReaderTest.java index 3c7dcb8ad1..6280876776 100644 --- a/tika-core/src/test/java/org/apache/tika/mime/CustomReaderTest.java +++ b/tika-core/src/test/java/org/apache/tika/mime/CustomReaderTest.java @@ -62,8 +62,8 @@ public void testCustomReader() throws Exception { } static class CustomMimeTypesReader extends MimeTypesReader { - public Map values = new HashMap(); - public List ignorePatterns = new ArrayList(); + public Map values = new HashMap<>(); + public List ignorePatterns = new ArrayList<>(); CustomMimeTypesReader(MimeTypes types) { super(types); diff --git a/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java b/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java index ecb11fcc52..607990c9ca 100644 --- a/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java +++ b/tika-core/src/test/java/org/apache/tika/mime/MediaTypeTest.java @@ -35,7 +35,7 @@ public void testBasics() { assertEquals("text/plain", new MediaType("text", "plain").toString()); - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); assertEquals("text/plain", new MediaType("text", "plain", parameters).toString()); parameters.put("charset", "UTF-8"); @@ -52,7 +52,7 @@ public void testLowerCase() { assertEquals("text/plain", new MediaType("TEXT", "PLAIN").toString()); assertEquals("text/plain", new MediaType("Text", "Plain").toString()); - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); assertEquals("text/plain", new MediaType("text", "PLAIN", parameters).toString()); parameters.put("CHARSET", "UTF-8"); @@ -69,7 +69,7 @@ public void testTrim() { assertEquals("text/plain", new MediaType(" text ", " plain ").toString()); assertEquals("text/plain", new MediaType("\ttext", "plain\t").toString()); - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); assertEquals("text/plain", new MediaType("text\r\n", " \tplain", parameters).toString()); parameters.put(" charset", "UTF-8"); @@ -83,7 +83,7 @@ public void testTrim() { @Test public void testQuote() { - Map parameters = new HashMap(); + Map parameters = new HashMap<>(); parameters.put("a", " value with spaces "); parameters.put("b", "text/plain"); parameters.put("c", "()<>@,;:\\\"/[]?="); @@ -106,12 +106,16 @@ public void testParseWithParams() { assertEquals(3, type.getParameters().keySet().size()); boolean gotCharset = false, gotFoo = false, gotFoo2 = false; for (String param : type.getParameters().keySet()) { - if (param.equals("charset")) { - gotCharset = true; - } else if (param.equals("foo")) { - gotFoo = true; - } else if (param.equals("foo2")) { - gotFoo2 = true; + switch (param) { + case "charset": + gotCharset = true; + break; + case "foo": + gotFoo = true; + break; + case "foo2": + gotFoo2 = true; + break; } } assertTrue(gotCharset && gotFoo && gotFoo2); diff --git a/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java b/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java index fe33f3e390..8295eae17f 100644 --- a/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java +++ b/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java @@ -102,7 +102,7 @@ public void testHtmlMatches() throws Exception { html.getMagics().size(), html.getMagics().size() >= minMatches); // Check on the overall magics - List htmlMagics = new ArrayList(); + List htmlMagics = new ArrayList<>(); for (Magic magic : magics) { if (magic.getType().toString().equals("text/html")) { htmlMagics.add(magic); @@ -124,7 +124,7 @@ public void testExcelMatches() throws Exception { excel.getMagics().size(), excel.getMagics().size() >= minMatches); // Check on the overall magics - List excelMagics = new ArrayList(); + List excelMagics = new ArrayList<>(); for (Magic magic : magics) { if (magic.getType().toString().equals("application/vnd.ms-excel")) { excelMagics.add(magic); diff --git a/tika-core/src/test/java/org/apache/tika/parser/CompositeParserTest.java b/tika-core/src/test/java/org/apache/tika/parser/CompositeParserTest.java index 6d6d96b7e9..08db7a5b4b 100644 --- a/tika-core/src/test/java/org/apache/tika/parser/CompositeParserTest.java +++ b/tika-core/src/test/java/org/apache/tika/parser/CompositeParserTest.java @@ -20,7 +20,6 @@ import static org.junit.Assert.assertNotNull; import java.io.ByteArrayInputStream; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -83,19 +82,19 @@ public void testDefaultParser() throws Exception { @Test public void testMimeTypeAliases() throws Exception { MediaType bmpCanonical = MediaType.image("bmp"); - Map bmpCanonicalMetadata = new HashMap(); + Map bmpCanonicalMetadata = new HashMap<>(); bmpCanonicalMetadata.put("BMP", "True"); bmpCanonicalMetadata.put("Canonical", "True"); Parser bmpCanonicalParser = - new DummyParser(new HashSet(Arrays.asList(bmpCanonical)), + new DummyParser(new HashSet<>(Collections.singletonList(bmpCanonical)), bmpCanonicalMetadata, null); MediaType bmpAlias = MediaType.image("x-ms-bmp"); - Map bmpAliasMetadata = new HashMap(); + Map bmpAliasMetadata = new HashMap<>(); bmpAliasMetadata.put("BMP", "True"); bmpAliasMetadata.put("Alias", "True"); Parser bmpAliasParser = - new DummyParser(new HashSet(Arrays.asList(bmpAlias)), bmpAliasMetadata, + new DummyParser(new HashSet<>(Collections.singletonList(bmpAlias)), bmpAliasMetadata, null); TikaConfig config = TikaConfig.getDefaultConfig(); diff --git a/tika-core/src/test/java/org/apache/tika/parser/ParserDecoratorTest.java b/tika-core/src/test/java/org/apache/tika/parser/ParserDecoratorTest.java index 7b56b92727..ca77de2e0f 100644 --- a/tika-core/src/test/java/org/apache/tika/parser/ParserDecoratorTest.java +++ b/tika-core/src/test/java/org/apache/tika/parser/ParserDecoratorTest.java @@ -36,7 +36,7 @@ public class ParserDecoratorTest { public void withAndWithoutTypes() { Set onlyTxt = Collections.singleton(MediaType.TEXT_PLAIN); Set onlyOct = Collections.singleton(MediaType.OCTET_STREAM); - Set both = new HashSet(); + Set both = new HashSet<>(); both.addAll(onlyOct); both.addAll(onlyTxt); @@ -53,7 +53,7 @@ public void withAndWithoutTypes() { // With a parser with other types, still just the decorated type p = ParserDecorator - .withTypes(new DummyParser(onlyOct, new HashMap(), ""), onlyTxt); + .withTypes(new DummyParser(onlyOct, new HashMap<>(), ""), onlyTxt); types = p.getSupportedTypes(context); assertEquals(1, types.size()); assertEquals(types.toString(), true, types.contains(MediaType.TEXT_PLAIN)); @@ -65,13 +65,13 @@ public void withAndWithoutTypes() { assertEquals(0, types.size()); p = ParserDecorator - .withoutTypes(new DummyParser(onlyOct, new HashMap(), ""), onlyTxt); + .withoutTypes(new DummyParser(onlyOct, new HashMap<>(), ""), onlyTxt); types = p.getSupportedTypes(context); assertEquals(1, types.size()); assertEquals(types.toString(), true, types.contains(MediaType.OCTET_STREAM)); p = ParserDecorator - .withoutTypes(new DummyParser(both, new HashMap(), ""), onlyTxt); + .withoutTypes(new DummyParser(both, new HashMap<>(), ""), onlyTxt); types = p.getSupportedTypes(context); assertEquals(1, types.size()); assertEquals(types.toString(), true, types.contains(MediaType.OCTET_STREAM)); @@ -84,14 +84,14 @@ public void withAndWithoutTypes() { public void withFallback() throws Exception { Set onlyOct = Collections.singleton(MediaType.OCTET_STREAM); Set octAndText = - new HashSet(Arrays.asList(MediaType.OCTET_STREAM, MediaType.TEXT_PLAIN)); + new HashSet<>(Arrays.asList(MediaType.OCTET_STREAM, MediaType.TEXT_PLAIN)); ParseContext context = new ParseContext(); BodyContentHandler handler; Metadata metadata; ErrorParser pFail = new ErrorParser(); - DummyParser pWork = new DummyParser(onlyOct, new HashMap(), "Fell back!"); + DummyParser pWork = new DummyParser(onlyOct, new HashMap<>(), "Fell back!"); EmptyParser pNothing = new EmptyParser(); // Create a combination which will fail first diff --git a/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java b/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java index 14e24f5f67..e98942ff08 100644 --- a/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java +++ b/tika-core/src/test/java/org/apache/tika/parser/mock/MockParser.java @@ -201,15 +201,12 @@ private void fakeload(Node action) { new ExecutorCompletionService<>(executorService); for (int i = 0; i < numThreads; i++) { - executorCompletionService.submit(new Runnable() { - @Override - public void run() { - FakeLoad fakeload = - new FakeLoadBuilder().lasting(millis, TimeUnit.MILLISECONDS) - .withCpu(cpu).withMemory(mb, MemoryUnit.MB).build(); - FakeLoadExecutor executor = FakeLoadExecutors.newDefaultExecutor(); - executor.execute(fakeload); - } + executorCompletionService.submit(() -> { + FakeLoad fakeload = + new FakeLoadBuilder().lasting(millis, TimeUnit.MILLISECONDS) + .withCpu(cpu).withMemory(mb, MemoryUnit.MB).build(); + FakeLoadExecutor executor = FakeLoadExecutors.newDefaultExecutor(); + executor.execute(fakeload); }, 1); int finished = 0; @@ -221,9 +218,7 @@ public void run() { finished++; } } - } catch (ExecutionException e) { - e.printStackTrace(); - } catch (InterruptedException e) { + } catch (ExecutionException | InterruptedException e) { e.printStackTrace(); } finally { executorService.shutdownNow(); diff --git a/tika-core/src/test/java/org/apache/tika/parser/multiple/MultipleParserTest.java b/tika-core/src/test/java/org/apache/tika/parser/multiple/MultipleParserTest.java index df784431ad..7a2a1d68b9 100644 --- a/tika-core/src/test/java/org/apache/tika/parser/multiple/MultipleParserTest.java +++ b/tika-core/src/test/java/org/apache/tika/parser/multiple/MultipleParserTest.java @@ -53,7 +53,7 @@ public void testMimeTypeSupported() { // Some media types Set onlyOct = Collections.singleton(MediaType.OCTET_STREAM); Set octAndText = - new HashSet(Arrays.asList(MediaType.OCTET_STREAM, MediaType.TEXT_PLAIN)); + new HashSet<>(Arrays.asList(MediaType.OCTET_STREAM, MediaType.TEXT_PLAIN)); // TODO One with a subtype } @@ -74,7 +74,7 @@ public void testFallback() throws Exception { // Some parsers ErrorParser pFail = new ErrorParser(); DummyParser pContent = - new DummyParser(onlyOct, new HashMap(), "Fell back!"); + new DummyParser(onlyOct, new HashMap<>(), "Fell back!"); EmptyParser pNothing = new EmptyParser(); diff --git a/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java b/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java index 5d7f5df769..ab044c12fc 100644 --- a/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java +++ b/tika-core/src/test/java/org/apache/tika/sax/XHTMLContentHandlerTest.java @@ -48,7 +48,7 @@ public class XHTMLContentHandlerTest { */ private static String[] getRealWords(String string) { String[] possibleWords = string.split("\\s+"); - List words = new ArrayList(possibleWords.length); + List words = new ArrayList<>(possibleWords.length); for (String word : possibleWords) { if (word.length() > 0) { words.add(word); diff --git a/tika-core/src/test/java/org/apache/tika/utils/AnnotationUtilsTest.java b/tika-core/src/test/java/org/apache/tika/utils/AnnotationUtilsTest.java index d12b3ffaf7..2b7997cc19 100644 --- a/tika-core/src/test/java/org/apache/tika/utils/AnnotationUtilsTest.java +++ b/tika-core/src/test/java/org/apache/tika/utils/AnnotationUtilsTest.java @@ -176,7 +176,7 @@ class Bean { Map params = new HashMap<>(); try { String val = "someval"; - params.put("field", new Param("field", String.class, val)); + params.put("field", new Param<>("field", String.class, val)); AnnotationUtils.assignFieldParams(parser, params); Assert.assertEquals(val, parser.field); } catch (Exception e) { @@ -186,7 +186,7 @@ class Bean { try { Date val = new Date(); - params.put("field", new Param("field", Date.class, val)); + params.put("field", new Param<>("field", Date.class, val)); AnnotationUtils.assignFieldParams(parser, params); Assert.fail("Exception expected, Date is not assignable to CharSequence."); } catch (TikaConfigException e) { diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/TikaEvalCLI.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/TikaEvalCLI.java index b9bc486314..5a71544306 100644 --- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/TikaEvalCLI.java +++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/TikaEvalCLI.java @@ -59,18 +59,25 @@ private void execute(String[] args) throws Exception { String tool = args[0]; String[] subsetArgs = new String[args.length - 1]; System.arraycopy(args, 1, subsetArgs, 0, args.length - 1); - if (tool.equals("Report")) { - handleReport(subsetArgs); - } else if (tool.equals("Compare")) { - handleCompare(subsetArgs); - } else if (tool.equals("Profile")) { - handleProfile(subsetArgs); - } else if (tool.equals("StartDB")) { - handleStartDB(subsetArgs); - } else if (tool.equals("FileProfile")) { - handleProfileFiles(subsetArgs); - } else { - System.out.println(specifyTools()); + switch (tool) { + case "Report": + handleReport(subsetArgs); + break; + case "Compare": + handleCompare(subsetArgs); + break; + case "Profile": + handleProfile(subsetArgs); + break; + case "StartDB": + handleStartDB(subsetArgs); + break; + case "FileProfile": + handleProfileFiles(subsetArgs); + break; + default: + System.out.println(specifyTools()); + break; } } @@ -80,10 +87,10 @@ private void handleProfileFiles(String[] subsetArgs) throws Exception { boolean containsBC = false; String inputDir = null; //confirm there's a batch-config file - for (int i = 0; i < argList.size(); i++) { - String arg = argList.get(i); + for (String arg : argList) { if (arg.equals("-bc")) { containsBC = true; + break; } } @@ -146,33 +153,38 @@ private void handleProfile(String[] subsetArgs) throws Exception { //confirm there's a batch-config file for (int i = 0; i < argList.size(); i++) { String arg = argList.get(i); - if (arg.equals("-bc")) { - containsBC = true; - } else if (arg.equals("-inputDir")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify directory after -inputDir"); - ExtractProfiler.USAGE(); - return; - } - inputDir = argList.get(i + 1); - i++; - } else if (arg.equals("-extracts")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify directory after -extracts"); - ExtractProfiler.USAGE(); - return; - } - extracts = argList.get(i + 1); - i++; - } else if (arg.equals("-alterExtract")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify type 'as_is', 'first_only' or " + - "'concatenate_content' after -alterExtract"); - ExtractComparer.USAGE(); - return; - } - alterExtract = argList.get(i + 1); - i++; + switch (arg) { + case "-bc": + containsBC = true; + break; + case "-inputDir": + if (i + 1 >= argList.size()) { + System.err.println("Must specify directory after -inputDir"); + ExtractProfiler.USAGE(); + return; + } + inputDir = argList.get(i + 1); + i++; + break; + case "-extracts": + if (i + 1 >= argList.size()) { + System.err.println("Must specify directory after -extracts"); + ExtractProfiler.USAGE(); + return; + } + extracts = argList.get(i + 1); + i++; + break; + case "-alterExtract": + if (i + 1 >= argList.size()) { + System.err.println("Must specify type 'as_is', 'first_only' or " + + "'concatenate_content' after -alterExtract"); + ExtractComparer.USAGE(); + return; + } + alterExtract = argList.get(i + 1); + i++; + break; } } @@ -243,33 +255,38 @@ private void handleCompare(String[] subsetArgs) throws Exception { //confirm there's a batch-config file for (int i = 0; i < argList.size(); i++) { String arg = argList.get(i); - if (arg.equals("-bc")) { - containsBC = true; - } else if (arg.equals("-inputDir")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify directory after -inputDir"); - ExtractComparer.USAGE(); - return; - } - inputDir = argList.get(i + 1); - i++; - } else if (arg.equals("-extractsA")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify directory after -extractsA"); - ExtractComparer.USAGE(); - return; - } - extractsA = argList.get(i + 1); - i++; - } else if (arg.equals("-alterExtract")) { - if (i + 1 >= argList.size()) { - System.err.println("Must specify type 'as_is', 'first_only' or " + - "'concatenate_content' after -alterExtract"); - ExtractComparer.USAGE(); - return; - } - alterExtract = argList.get(i + 1); - i++; + switch (arg) { + case "-bc": + containsBC = true; + break; + case "-inputDir": + if (i + 1 >= argList.size()) { + System.err.println("Must specify directory after -inputDir"); + ExtractComparer.USAGE(); + return; + } + inputDir = argList.get(i + 1); + i++; + break; + case "-extractsA": + if (i + 1 >= argList.size()) { + System.err.println("Must specify directory after -extractsA"); + ExtractComparer.USAGE(); + return; + } + extractsA = argList.get(i + 1); + i++; + break; + case "-alterExtract": + if (i + 1 >= argList.size()) { + System.err.println("Must specify type 'as_is', 'first_only' or " + + "'concatenate_content' after -alterExtract"); + ExtractComparer.USAGE(); + return; + } + alterExtract = argList.get(i + 1); + i++; + break; } } if (alterExtract != null && !alterExtract.equals("as_is") && diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/db/MimeBuffer.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/db/MimeBuffer.java index 7c95e3a141..5a46ea3110 100644 --- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/db/MimeBuffer.java +++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/db/MimeBuffer.java @@ -125,14 +125,15 @@ private static String tryTextyTypes(MediaType mediaType) { String type = mediaType.getType(); String subtype = mediaType.getSubtype(); if (type.equals(TEXT)) { - if (subtype.equals(HTML)) { - return HTML; - } else if (subtype.equals(PLAIN)) { - return "txt"; - } else if (subtype.equals(CSS)) { - return CSS; - } else if (subtype.equals(CSV)) { - return CSV; + switch (subtype) { + case HTML: + return HTML; + case PLAIN: + return "txt"; + case CSS: + return CSS; + case CSV: + return CSV; } } else if (type.equals(APPLICATION)) { if (subtype.equals(XML)) { diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/ExtractReader.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/ExtractReader.java index 2fec34d02b..a0ec4b5a4d 100644 --- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/ExtractReader.java +++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/ExtractReader.java @@ -130,16 +130,20 @@ public List loadExtract(Path extractFile) throws ExtractReaderExceptio try { is = Files.newInputStream(extractFile); if (fileSuffixes.compression != null) { - if (fileSuffixes.compression.equals("bz2")) { - is = new BZip2CompressorInputStream(is); - } else if (fileSuffixes.compression.equals("gz") || - fileSuffixes.compression.equals("gzip")) { - is = new GzipCompressorInputStream(is); - } else if (fileSuffixes.compression.equals("zip")) { - is = new ZCompressorInputStream(is); - } else { - LOG.warn("Can't yet process compression of type: {}", fileSuffixes.compression); - return metadataList; + switch (fileSuffixes.compression) { + case "bz2": + is = new BZip2CompressorInputStream(is); + break; + case "gz": + case "gzip": + is = new GzipCompressorInputStream(is); + break; + case "zip": + is = new ZCompressorInputStream(is); + break; + default: + LOG.warn("Can't yet process compression of type: {}", fileSuffixes.compression); + return metadataList; } } reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8)); diff --git a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/ComparerBatchTest.java b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/ComparerBatchTest.java index 1f9f84a243..5253a6aa65 100644 --- a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/ComparerBatchTest.java +++ b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/ComparerBatchTest.java @@ -353,7 +353,7 @@ private String getString(String colName, String table, String where) throws Exce private Map getRow(String table, String where) throws Exception { String sql = getSql("*", table, where); - Map results = new HashMap(); + Map results = new HashMap<>(); try (Statement st = conn.createStatement()) { ResultSet rs = st.executeQuery(sql); diff --git a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/MockDBWriter.java b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/MockDBWriter.java index 94d29ea550..da37ed4dac 100644 --- a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/MockDBWriter.java +++ b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/MockDBWriter.java @@ -42,7 +42,7 @@ public MockDBWriter() throws Exception { public void writeRow(TableInfo tableInfo, Map row) throws IOException { List> table = db.get(tableInfo.getName()); if (table == null) { - table = new ArrayList>(); + table = new ArrayList<>(); } table.add(row); db.put(tableInfo.getName(), table); diff --git a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/SimpleComparerTest.java b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/SimpleComparerTest.java index 51cde7791a..7277030d6c 100644 --- a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/SimpleComparerTest.java +++ b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/SimpleComparerTest.java @@ -353,7 +353,7 @@ private void debugPrintTable(TableInfo tableInfo) { int i = 0; System.out.println("TABLE: " + tableInfo.getName()); for (Map row : table) { - SortedSet keys = new TreeSet(row.keySet()); + SortedSet keys = new TreeSet<>(row.keySet()); for (Cols key : keys) { System.out.println(i + " :: " + key + " : " + row.get(key)); } @@ -363,7 +363,7 @@ private void debugPrintTable(TableInfo tableInfo) { } private void debugPrintRow(Map row) { - SortedSet keys = new TreeSet(row.keySet()); + SortedSet keys = new TreeSet<>(row.keySet()); for (Cols key : keys) { System.out.println(key + " : " + row.get(key)); } diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenCounter.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenCounter.java index da42e6eb01..bd9cf9c3a1 100644 --- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenCounter.java +++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenCounter.java @@ -65,11 +65,7 @@ private void _add(String field, Analyzer analyzer, String content) throws IOExce TokenStream ts = analyzer.tokenStream(field, content); CharTermAttribute termAtt = ts.getAttribute(CharTermAttribute.class); ts.reset(); - Map tokenMap = map.get(field); - if (tokenMap == null) { - tokenMap = new HashMap<>(); - map.put(field, tokenMap); - } + Map tokenMap = map.computeIfAbsent(field, k -> new HashMap<>()); while (ts.incrementToken()) { String token = termAtt.toString(); MutableInt cnt = tokenMap.get(token); diff --git a/tika-example/src/main/java/org/apache/tika/example/DirListParser.java b/tika-example/src/main/java/org/apache/tika/example/DirListParser.java index a93bd8b9da..897804a13e 100755 --- a/tika-example/src/main/java/org/apache/tika/example/DirListParser.java +++ b/tika-example/src/main/java/org/apache/tika/example/DirListParser.java @@ -128,9 +128,9 @@ private void addMetadata(Metadata metadata, String filePerms, String numHardLink metadata.add("LastModifiedDate", lastModDate); metadata.add("Filename", fileName); - if (filePerms.indexOf("x") != -1 && filePerms.indexOf("d") == -1) { + if (filePerms.contains("x") && !filePerms.contains("d")) { if (metadata.get("NumExecutables") != null) { - int numExecs = Integer.valueOf(metadata.get("NumExecutables")); + int numExecs = Integer.parseInt(metadata.get("NumExecutables")); numExecs++; metadata.set("NumExecutables", String.valueOf(numExecs)); } else { diff --git a/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java b/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java index 37a429a249..6a57450c96 100755 --- a/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java +++ b/tika-example/src/main/java/org/apache/tika/example/RollbackSoftware.java @@ -20,7 +20,6 @@ import static java.nio.charset.StandardCharsets.UTF_8; import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; @@ -85,7 +84,7 @@ class DeploymentAreaParser implements Parser { */ public Set getSupportedTypes(ParseContext context) { return Collections - .unmodifiableSet(new HashSet(Arrays.asList(MediaType.TEXT_PLAIN))); + .unmodifiableSet(new HashSet<>(Arrays.asList(MediaType.TEXT_PLAIN))); } /* @@ -110,11 +109,7 @@ public void parse(InputStream is, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException { File deployArea = new File(IOUtils.toString(is, UTF_8)); - File[] versions = deployArea.listFiles(new FileFilter() { - public boolean accept(File pathname) { - return !pathname.getName().startsWith("current"); - } - }); + File[] versions = deployArea.listFiles(pathname -> !pathname.getName().startsWith("current")); XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); xhtml.startDocument(); diff --git a/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java b/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java index 2f7e6f165f..ac0e5b919a 100755 --- a/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java +++ b/tika-example/src/main/java/org/apache/tika/example/TIAParsingExample.java @@ -126,7 +126,7 @@ public static void useCompositeParser() throws Exception { InputStream stream = new ByteArrayInputStream(new byte[0]); ContentHandler handler = new DefaultHandler(); ParseContext context = new ParseContext(); - Map parsersByType = new HashMap(); + Map parsersByType = new HashMap<>(); parsersByType.put(MediaType.parse("text/html"), new HtmlParser()); parsersByType.put(MediaType.parse("application/xml"), new XMLParser()); diff --git a/tika-example/src/test/java/org/apache/tika/example/TestParsingExample.java b/tika-example/src/test/java/org/apache/tika/example/TestParsingExample.java index 7c1e0312d1..e266e456a2 100644 --- a/tika-example/src/test/java/org/apache/tika/example/TestParsingExample.java +++ b/tika-example/src/test/java/org/apache/tika/example/TestParsingExample.java @@ -98,7 +98,7 @@ public void testRecursiveParserWrapperExample() public void testSerializedRecursiveParserWrapperExample() throws IOException, SAXException, TikaException { String json = parsingExample.serializedRecursiveParserWrapperExample(); - assertTrue(json.indexOf("When in the Course") > -1); + assertTrue(json.contains("When in the Course")); //now try deserializing the JSON List metadataList = JsonMetadataList.fromJson(new StringReader(json)); assertEquals(12, metadataList.size()); diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/Transformer.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/Transformer.java index 7e3d083570..915c29caa2 100644 --- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/Transformer.java +++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/Transformer.java @@ -18,7 +18,6 @@ import org.apache.tika.exception.TikaException; import org.apache.tika.mime.MediaType; -import org.apache.tika.parser.ParseContext; import java.io.IOException; import java.io.InputStream; diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteDeleter.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteDeleter.java index ff26f7f132..9d3efa0a9c 100644 --- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteDeleter.java +++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteDeleter.java @@ -19,7 +19,6 @@ import org.apache.tika.fuzzing.Transformer; import org.apache.tika.mime.MediaType; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteInjector.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteInjector.java index a45e79ab33..77ed09cd55 100644 --- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteInjector.java +++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/general/ByteInjector.java @@ -20,7 +20,6 @@ import org.apache.tika.fuzzing.Transformer; import org.apache.tika.mime.MediaType; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; diff --git a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java index ab7fa11a48..a02d09d5ea 100644 --- a/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java +++ b/tika-fuzzing/src/main/java/org/apache/tika/fuzzing/pdf/PDFTransformer.java @@ -23,7 +23,6 @@ import org.apache.tika.fuzzing.exceptions.CantFuzzException; import org.apache.tika.mime.MediaType; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; diff --git a/tika-java7/src/test/java/org/apache/tika/filetypedetector/TikaFileTypeDetectorTest.java b/tika-java7/src/test/java/org/apache/tika/filetypedetector/TikaFileTypeDetectorTest.java index 6133dd62c0..48390e0327 100644 --- a/tika-java7/src/test/java/org/apache/tika/filetypedetector/TikaFileTypeDetectorTest.java +++ b/tika-java7/src/test/java/org/apache/tika/filetypedetector/TikaFileTypeDetectorTest.java @@ -18,7 +18,6 @@ import static org.junit.Assert.*; -import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; diff --git a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageIdentifier.java b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageIdentifier.java index 1b5a197503..a6f7d10f43 100644 --- a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageIdentifier.java +++ b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageIdentifier.java @@ -44,7 +44,7 @@ public class LanguageIdentifier { * The available language profiles. */ private static final Map PROFILES = - new HashMap(); + new HashMap<>(); private static final String PROFILE_SUFFIX = ".ngp"; private static final String PROPERTIES_OVERRIDE_FILE = "tika.language.override.properties"; private static final String PROPERTIES_FILE = "tika.language.properties"; diff --git a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfile.java b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfile.java index 1bcec05be6..e039247d8b 100644 --- a/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfile.java +++ b/tika-langdetect/tika-langdetect-tika/src/main/java/org/apache/tika/langdetect/tika/LanguageProfile.java @@ -42,7 +42,7 @@ public class LanguageProfile { /** * The ngrams that make up this profile. */ - private final Map ngrams = new HashMap(); + private final Map ngrams = new HashMap<>(); /** * Sorted ngram cache for faster distance calculation. */ @@ -143,7 +143,7 @@ private double distanceStandard(LanguageProfile that) { double thisCount = Math.max(this.count, 1.0); double thatCount = Math.max(that.count, 1.0); - Set ngrams = new HashSet(); + Set ngrams = new HashSet<>(); ngrams.addAll(this.ngrams.keySet()); ngrams.addAll(that.ngrams.keySet()); for (String ngram : ngrams) { @@ -266,7 +266,7 @@ public Entry firstEntry() { private List> getSortedNgrams() { List> entries = - new ArrayList>(ngrams.size()); + new ArrayList<>(ngrams.size()); entries.addAll(ngrams.entrySet()); entries.sort(Map.Entry.comparingByKey()); return entries; diff --git a/tika-langdetect/tika-langdetect-tika/src/test/java/org/apache/tika/langdetect/tika/LanguageIdentifierTest.java b/tika-langdetect/tika-langdetect-tika/src/test/java/org/apache/tika/langdetect/tika/LanguageIdentifierTest.java index af326223b8..e58b971789 100644 --- a/tika-langdetect/tika-langdetect-tika/src/test/java/org/apache/tika/langdetect/tika/LanguageIdentifierTest.java +++ b/tika-langdetect/tika-langdetect-tika/src/test/java/org/apache/tika/langdetect/tika/LanguageIdentifierTest.java @@ -93,7 +93,7 @@ public void testClearAddAndInitProfiles() throws IOException { assertTrue(identifier.isReasonablyCertain()); // English and German profiles loaded explicitly from initProfiles method - HashMap profilesMap = new HashMap(); + HashMap profilesMap = new HashMap<>(); profilesMap.put("en", enProfile); profilesMap.put("de", deProfile); LanguageIdentifier.initProfiles(profilesMap); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java index bf989612f5..0bc0830f11 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/ObjectRecognitionParser.java @@ -119,8 +119,8 @@ public synchronized void parse(InputStream stream, ContentHandler handler, Metad if (objects != null && !objects.isEmpty()) { int count; - List acceptedObjects = new ArrayList(); - List xhtmlIds = new ArrayList(); + List acceptedObjects = new ArrayList<>(); + List xhtmlIds = new ArrayList<>(); String xhtmlStartVal = null; count = 0; objects.sort((o1, o2) -> Double.compare(o2.getConfidence(), o1.getConfidence())); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParser.java b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParser.java index a04bbbe111..fd989cbf03 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/main/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParser.java @@ -82,12 +82,7 @@ public class TensorflowImageRecParser extends ExternalParser implements ObjectRe new File("tensorflow" + File.separator + SCRIPT_FILE_NAME); private static final File DEFAULT_MODEL_FILE = new File("tensorflow" + File.separator + "tf-objectrec-model"); - private static final LineConsumer IGNORED_LINE_LOGGER = new LineConsumer() { - @Override - public void consume(String line) { - LOG.debug(line); - } - }; + private static final LineConsumer IGNORED_LINE_LOGGER = LOG::debug; @Field private String executor = "python"; diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParserTest.java b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParserTest.java index 76ea34bf19..513a8a7944 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParserTest.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowImageRecParserTest.java @@ -28,7 +28,6 @@ import org.junit.Test; import org.xml.sax.helpers.DefaultHandler; -import org.apache.tika.config.Param; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.recognition.RecognisedObject; @@ -40,7 +39,7 @@ public class TensorflowImageRecParserTest { @Test public void recognise() throws Exception { TensorflowImageRecParser recogniser = new TensorflowImageRecParser(); - recogniser.initialize(new HashMap()); + recogniser.initialize(new HashMap<>()); try (InputStream stream = getClass().getClassLoader() .getResourceAsStream("test-documents/testJPEG.jpg")) { List objects = recogniser diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowVideoRecParserTest.java b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowVideoRecParserTest.java index 5fe07236ac..9bdff7871c 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowVideoRecParserTest.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-advancedmedia-module/src/test/java/org/apache/tika/parser/recognition/tf/TensorflowVideoRecParserTest.java @@ -28,7 +28,6 @@ import org.junit.Test; import org.xml.sax.helpers.DefaultHandler; -import org.apache.tika.config.Param; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.recognition.RecognisedObject; @@ -40,7 +39,7 @@ public class TensorflowVideoRecParserTest { @Test public void recognise() throws Exception { TensorflowRESTVideoRecogniser recogniser = new TensorflowRESTVideoRecogniser(); - recogniser.initialize(new HashMap()); + recogniser.initialize(new HashMap<>()); try (InputStream stream = getClass().getClassLoader() .getResourceAsStream("test-documents/testVideoMp4.mp4")) { List objects = recogniser diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ctakes/CTAKESConfig.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ctakes/CTAKESConfig.java index e90f58d415..c0f1d31054 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ctakes/CTAKESConfig.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ctakes/CTAKESConfig.java @@ -108,7 +108,7 @@ private void init(InputStream stream) { setAeDescriptorPath(props.getProperty("aeDescriptorPath", getAeDescriptorPath())); setUMLSUser(props.getProperty("UMLSUser", getUMLSUser())); setUMLSPass(props.getProperty("UMLSPass", getUMLSPass())); - setText(Boolean.valueOf(props.getProperty("text", Boolean.toString(isText())))); + setText(Boolean.parseBoolean(props.getProperty("text", Boolean.toString(isText())))); setMetadata(props.getProperty("metadata", getMetadataAsString()).split(",")); setAnnotationProps( props.getProperty("annotationProps", getAnnotationPropsAsString()).split(",")); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/GeoTag.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/GeoTag.java index b6df8d9c02..aedefa8027 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/GeoTag.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/GeoTag.java @@ -25,7 +25,7 @@ public class GeoTag { Location location = new Location(); - List alternatives = new ArrayList(); + List alternatives = new ArrayList<>(); public void setMain(String name, String longitude, String latitude) { this.location.setName(name); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java index f36a87e6a5..27c5d58a6d 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/geo/NameEntityExtractor.java @@ -40,10 +40,10 @@ public class NameEntityExtractor { private HashMap tf; public NameEntityExtractor(NameFinderME nameFinder) throws IOException { - this.locationNameEntities = new ArrayList(); + this.locationNameEntities = new ArrayList<>(); this.bestNameEntity = null; this.nameFinder = nameFinder; - this.tf = new HashMap(); + this.tf = new HashMap<>(); } /* diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java index 6ba006d152..5e90740a2f 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java @@ -178,7 +178,7 @@ private void parseBiblStruct(Node biblStruct, Metadata metadata) { } private String getMetadataFullAffiliations(List authorList) { - List unique = new ArrayList(); + List unique = new ArrayList<>(); StringBuilder metAffils = new StringBuilder(); for (Author a : authorList) { @@ -201,7 +201,7 @@ private String getMetadataFullAffiliations(List authorList) { private String getMetadataAuthors(List authorList) { // generates Chris A. Mattmann 1, 2 Daniel J. Crichton 1 Nenad Medvidovic 2 // Steve Hughes 1 - List unique = new ArrayList(); + List unique = new ArrayList<>(); StringBuilder metAuthors = new StringBuilder(); for (Author a : authorList) { @@ -240,7 +240,7 @@ private String getMetadataAuthors(List authorList) { private String getMetadataAffiliations(List authorList) { // generates 1 Jet Propulsion Laboratory California Institute of Technology // ; 2 Computer Science Department University of Southern California - List unique = new ArrayList(); + List unique = new ArrayList<>(); StringBuilder metAffil = new StringBuilder(); for (Author a : authorList) { @@ -271,7 +271,7 @@ private String getMetadataAffiliations(List authorList) { private String getMetadataAddresses(List authorList) { // generates: "Pasadena, CA 91109, USA Los Angeles, CA 90089, USA", - List
unique = new ArrayList
(); + List
unique = new ArrayList<>(); StringBuilder metAddress = new StringBuilder(); for (Author a : authorList) { @@ -444,7 +444,7 @@ public Author() { this.surName = null; this.middleName = null; this.firstName = null; - this.affiliations = new ArrayList(); + this.affiliations = new ArrayList<>(); } /** @@ -590,7 +590,7 @@ class OrgName { private List typeNames; public OrgName() { - this.typeNames = new ArrayList(); + this.typeNames = new ArrayList<>(); } /** diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/corenlp/CoreNLPNERecogniser.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/corenlp/CoreNLPNERecogniser.java index 2f0aaf3e55..8855fda037 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/corenlp/CoreNLPNERecogniser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/corenlp/CoreNLPNERecogniser.java @@ -158,7 +158,7 @@ public Map> recognise(String text) { for (Object entry : entries) { String entityType = (String) firstField.get(entry); if (!names.containsKey(entityType)) { - names.put(entityType, new HashSet()); + names.put(entityType, new HashSet<>()); } Integer start = (Integer) secondField.get(entry); Integer end = (Integer) thirdField.get(entry); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java index 9413bfd982..1f173e3810 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/grobid/GrobidNERecogniser.java @@ -163,12 +163,12 @@ public JSONObject convertToJSONObject(String jsonString) { */ public Map> recognise(String text) { - Map> entities = new HashMap>(); - Set measurementNumberSet = new HashSet(); - Set unitSet = new HashSet(); - Set measurementSet = new HashSet(); - Set normalizedMeasurementSet = new HashSet(); - Set measurementTypeSet = new HashSet(); + Map> entities = new HashMap<>(); + Set measurementNumberSet = new HashSet<>(); + Set unitSet = new HashSet<>(); + Set measurementSet = new HashSet<>(); + Set normalizedMeasurementSet = new HashSet<>(); + Set measurementTypeSet = new HashSet<>(); try { String url = restHostUrlStr + readRestEndpoint(); diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/mitie/MITIENERecogniser.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/mitie/MITIENERecogniser.java index 4db54c4e70..b83b5ee129 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/mitie/MITIENERecogniser.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/ner/mitie/MITIENERecogniser.java @@ -145,7 +145,7 @@ public Map> recognise(String text) { int tag_index = (Integer) entityMentionClass.getMethod("getTag") .invoke(entityMentionObject); String tag = possibleTags.get(tag_index); - Set x = new HashSet(); + Set x = new HashSet<>(); if (names.containsKey(tag)) { x = names.get(tag); } else { diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/test/java/org/apache/tika/parser/ner/NamedEntityParserTest.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/test/java/org/apache/tika/parser/ner/NamedEntityParserTest.java index 90ad71d670..021f568334 100644 --- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/test/java/org/apache/tika/parser/ner/NamedEntityParserTest.java +++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/test/java/org/apache/tika/parser/ner/NamedEntityParserTest.java @@ -54,7 +54,7 @@ public void testParse() throws Exception { Metadata md = new Metadata(); tika.parse(new ByteArrayInputStream(text.getBytes(Charset.defaultCharset())), md); - HashSet set = new HashSet( + HashSet set = new HashSet<>( Arrays.asList(md.getValues(TikaCoreProperties.TIKA_PARSED_BY))); assumeTrue(set.contains(NamedEntityParser.class.getName())); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java index 66130d11d5..7d1797bb41 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/IWorkPackageParser.java @@ -60,7 +60,7 @@ public class IWorkPackageParser extends AbstractParser { * Which files within an iWork file contain the actual content? */ public final static Set IWORK_CONTENT_ENTRIES = Collections.unmodifiableSet( - new HashSet(Arrays.asList("index.apxl", "index.xml", "presentation.apxl"))); + new HashSet<>(Arrays.asList("index.apxl", "index.xml", "presentation.apxl"))); /** * All iWork files contain one of these, so we can detect based on it */ @@ -73,7 +73,7 @@ public class IWorkPackageParser extends AbstractParser { * This parser handles all iWorks formats. */ private final static Set supportedTypes = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("vnd.apple.iwork"), + new HashSet<>(Arrays.asList(MediaType.application("vnd.apple.iwork"), IWORKDocumentType.KEYNOTE.getType(), IWORKDocumentType.NUMBERS.getType(), IWORKDocumentType.PAGES.getType()))); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java index 84ff5c9295..bda113df79 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/NumbersContentHandler.java @@ -48,7 +48,7 @@ class NumbersContentHandler extends DefaultHandler { private int numberOfColumns = -1; private int currentColumn = 0; - private Map menuItems = new HashMap(); + private Map menuItems = new HashMap<>(); private String currentMenuItemId; NumbersContentHandler(XHTMLContentHandler xhtml, Metadata metadata) { @@ -111,7 +111,7 @@ public void startElement(String uri, String localName, String qName, Attributes } if ("sf:menu-choices".equals(qName)) { - menuItems = new HashMap(); + menuItems = new HashMap<>(); } if (inTable && "sf:grid".equals(qName)) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java index 61bf64c93d..228cb9c73b 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java @@ -45,10 +45,10 @@ class PagesContentHandler extends DefaultHandler { private HeaderFooter footers = null; private Footnotes footnotes = null; private Annotations annotations = null; - private Map>> tableData = new HashMap>>(); + private Map>> tableData = new HashMap<>(); private String activeTableId; private int numberOfColumns = 0; - private List activeRow = new ArrayList(); + private List activeRow = new ArrayList<>(); private String metaDataLocalName; private String metaDataQName; PagesContentHandler(XHTMLContentHandler xhtml, Metadata metadata) { @@ -105,7 +105,7 @@ public void startElement(String uri, String localName, String qName, Attributes String kind = attributes.getValue("sf:kind"); if ("tabular-attachment".equals(kind)) { activeTableId = attributes.getValue("sfa:ID"); - tableData.put(activeTableId, new ArrayList>()); + tableData.put(activeTableId, new ArrayList<>()); } } else if ("sf:attachment-ref".equals(qName)) { String idRef = attributes.getValue("sfa:IDREF"); @@ -249,7 +249,7 @@ private void parseTableData(String qName, Attributes attributes) { if (activeRow.size() >= 3) { tableData.get(activeTableId).add(activeRow); - activeRow = new ArrayList(); + activeRow = new ArrayList<>(); } } } @@ -347,7 +347,7 @@ private static class Footnotes { /** * Mark -> Text */ - Map footnotes = new HashMap(); + Map footnotes = new HashMap<>(); String lastSeenMark = null; /** @@ -447,7 +447,7 @@ private class Annotations { /** * ID -> Text */ - Map annotations = new HashMap(); + Map annotations = new HashMap<>(); String currentID = null; StringBuffer currentText = null; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java index 2476b0a0f0..c155cfa1b5 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork13PackageParser.java @@ -45,7 +45,7 @@ public class IWork13PackageParser extends AbstractParser { */ public final static String IWORK13_COMMON_ENTRY = "Metadata/BuildVersionHistory.plist"; private final static Set supportedTypes = Collections.unmodifiableSet( - new HashSet(Arrays.asList(IWork13DocumentType.KEYNOTE13.getType(), + new HashSet<>(Arrays.asList(IWork13DocumentType.KEYNOTE13.getType(), IWork13DocumentType.NUMBERS13.getType(), IWork13DocumentType.PAGES13.getType()))); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork18PackageParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork18PackageParser.java index a31e580fb4..78d379ccc7 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork18PackageParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/iwana/IWork18PackageParser.java @@ -45,7 +45,7 @@ public class IWork18PackageParser extends AbstractParser { private final static Set supportedTypes = Collections.unmodifiableSet( - new HashSet(Arrays.asList(IWork18DocumentType.KEYNOTE18.getType(), + new HashSet<>(Arrays.asList(IWork18DocumentType.KEYNOTE18.getType(), IWork18DocumentType.NUMBERS18.getType(), IWork18DocumentType.PAGES18.getType()))); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java index 1c3f4b99b5..1e6f3d5e00 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/AudioParser.java @@ -52,7 +52,7 @@ public class AudioParser extends AbstractParser { private static final long serialVersionUID = -6015684081240882695L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet( + new HashSet<>( Arrays.asList(MediaType.audio("basic"), MediaType.audio("vnd.wave"), // Official, fixed in Tika 1.16 MediaType.audio("x-wav"), // Older, used until Tika 1.16 diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/MidiParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/MidiParser.java index a7ebf7a0d5..77d84b8a73 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/MidiParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/audio/MidiParser.java @@ -51,7 +51,7 @@ public class MidiParser extends AbstractParser { private static final long serialVersionUID = 6343278584336189432L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet( + new HashSet<>( Arrays.asList(MediaType.application("x-midi"), MediaType.audio("midi")))); public Set getSupportedTypes(ParseContext context) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java index 0edd185bcc..830f4d4431 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v22Handler.java @@ -42,32 +42,43 @@ public class ID3v22Handler implements ID3Tags { private String trackNumber; private String albumArtist; private String disc; - private List comments = new ArrayList(); + private List comments = new ArrayList<>(); public ID3v22Handler(ID3v2Frame frame) throws IOException, SAXException, TikaException { RawTagIterator tags = new RawV22TagIterator(frame); while (tags.hasNext()) { RawTag tag = tags.next(); - if (tag.name.equals("TT2")) { - title = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TP1")) { - artist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TP2")) { - albumArtist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TAL")) { - album = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TYE")) { - year = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCM")) { - composer = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("COM")) { - comments.add(getComment(tag.data, 0, tag.data.length)); - } else if (tag.name.equals("TRK")) { - trackNumber = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPA")) { - disc = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCO")) { - genre = extractGenre(getTagString(tag.data, 0, tag.data.length)); + switch (tag.name) { + case "TT2": + title = getTagString(tag.data, 0, tag.data.length); + break; + case "TP1": + artist = getTagString(tag.data, 0, tag.data.length); + break; + case "TP2": + albumArtist = getTagString(tag.data, 0, tag.data.length); + break; + case "TAL": + album = getTagString(tag.data, 0, tag.data.length); + break; + case "TYE": + year = getTagString(tag.data, 0, tag.data.length); + break; + case "TCM": + composer = getTagString(tag.data, 0, tag.data.length); + break; + case "COM": + comments.add(getComment(tag.data, 0, tag.data.length)); + break; + case "TRK": + trackNumber = getTagString(tag.data, 0, tag.data.length); + break; + case "TPA": + disc = getTagString(tag.data, 0, tag.data.length); + break; + case "TCO": + genre = extractGenre(getTagString(tag.data, 0, tag.data.length)); + break; } } } @@ -82,9 +93,7 @@ protected static String extractGenre(String rawGenre) { try { int genreID = Integer.parseInt(rawGenre.substring(open + 1, close)); return ID3Tags.GENRES[genreID]; - } catch (ArrayIndexOutOfBoundsException invalidNum) { - return genreStr; - } catch (NumberFormatException notANum) { + } catch (ArrayIndexOutOfBoundsException | NumberFormatException e) { return genreStr; } } else { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java index 09cf05f268..23284d6773 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v23Handler.java @@ -43,34 +43,46 @@ public class ID3v23Handler implements ID3Tags { private String albumArtist; private String disc; private String compilation; - private List comments = new ArrayList(); + private List comments = new ArrayList<>(); public ID3v23Handler(ID3v2Frame frame) throws IOException, SAXException, TikaException { RawTagIterator tags = new RawV23TagIterator(frame); while (tags.hasNext()) { RawTag tag = tags.next(); - if (tag.name.equals("TIT2")) { - title = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPE1")) { - artist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPE2")) { - albumArtist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TALB")) { - album = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TYER")) { - year = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCOM")) { - composer = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("COMM")) { - comments.add(getComment(tag.data, 0, tag.data.length)); - } else if (tag.name.equals("TRCK")) { - trackNumber = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPOS")) { - disc = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCMP")) { - compilation = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCON")) { - genre = ID3v22Handler.extractGenre(getTagString(tag.data, 0, tag.data.length)); + switch (tag.name) { + case "TIT2": + title = getTagString(tag.data, 0, tag.data.length); + break; + case "TPE1": + artist = getTagString(tag.data, 0, tag.data.length); + break; + case "TPE2": + albumArtist = getTagString(tag.data, 0, tag.data.length); + break; + case "TALB": + album = getTagString(tag.data, 0, tag.data.length); + break; + case "TYER": + year = getTagString(tag.data, 0, tag.data.length); + break; + case "TCOM": + composer = getTagString(tag.data, 0, tag.data.length); + break; + case "COMM": + comments.add(getComment(tag.data, 0, tag.data.length)); + break; + case "TRCK": + trackNumber = getTagString(tag.data, 0, tag.data.length); + break; + case "TPOS": + disc = getTagString(tag.data, 0, tag.data.length); + break; + case "TCMP": + compilation = getTagString(tag.data, 0, tag.data.length); + break; + case "TCON": + genre = ID3v22Handler.extractGenre(getTagString(tag.data, 0, tag.data.length)); + break; } } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java index 37b1266fce..9e53b77409 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/ID3v24Handler.java @@ -44,38 +44,51 @@ public class ID3v24Handler implements ID3Tags { private String albumArtist; private String disc; private String compilation; - private List comments = new ArrayList(); + private List comments = new ArrayList<>(); public ID3v24Handler(ID3v2Frame frame) throws IOException, SAXException, TikaException { RawTagIterator tags = new RawV24TagIterator(frame); while (tags.hasNext()) { RawTag tag = tags.next(); - if (tag.name.equals("TIT2")) { - title = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPE1")) { - artist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPE2")) { - albumArtist = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TALB")) { - album = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TYER")) { - year = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TDRC")) { - if (year == null) { + switch (tag.name) { + case "TIT2": + title = getTagString(tag.data, 0, tag.data.length); + break; + case "TPE1": + artist = getTagString(tag.data, 0, tag.data.length); + break; + case "TPE2": + albumArtist = getTagString(tag.data, 0, tag.data.length); + break; + case "TALB": + album = getTagString(tag.data, 0, tag.data.length); + break; + case "TYER": year = getTagString(tag.data, 0, tag.data.length); - } - } else if (tag.name.equals("TCOM")) { - composer = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("COMM")) { - comments.add(getComment(tag.data, 0, tag.data.length)); - } else if (tag.name.equals("TRCK")) { - trackNumber = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TPOS")) { - disc = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCMP")) { - compilation = getTagString(tag.data, 0, tag.data.length); - } else if (tag.name.equals("TCON")) { - genre = ID3v22Handler.extractGenre(getTagString(tag.data, 0, tag.data.length)); + break; + case "TDRC": + if (year == null) { + year = getTagString(tag.data, 0, tag.data.length); + } + break; + case "TCOM": + composer = getTagString(tag.data, 0, tag.data.length); + break; + case "COMM": + comments.add(getComment(tag.data, 0, tag.data.length)); + break; + case "TRCK": + trackNumber = getTagString(tag.data, 0, tag.data.length); + break; + case "TPOS": + disc = getTagString(tag.data, 0, tag.data.length); + break; + case "TCMP": + compilation = getTagString(tag.data, 0, tag.data.length); + break; + case "TCON": + genre = ID3v22Handler.extractGenre(getTagString(tag.data, 0, tag.data.length)); + break; } } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java index e2647890bb..88eaaff9cd 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/mp3/Mp3Parser.java @@ -112,7 +112,7 @@ protected static ID3TagsAndAudio getAllTagHandlers(InputStream stream, ContentHa // Go in order of preference // Currently, that's newest to oldest - List tags = new ArrayList(); + List tags = new ArrayList<>(); if (v24 != null && v24.getTagsPresent()) { tags.add(v24); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/video/FLVParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/video/FLVParser.java index 1221ef3a5c..c36d4acbd3 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/video/FLVParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/main/java/org/apache/tika/parser/video/FLVParser.java @@ -120,7 +120,7 @@ private Object readAMFData(DataInputStream input, int type) throws IOException { private Object readAMFStrictArray(DataInputStream input) throws IOException { long count = readUInt32(input); - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList<>(); for (int i = 0; i < count; i++) { list.add(readAMFData(input, -1)); } @@ -136,7 +136,7 @@ private String readAMFString(DataInputStream input) throws IOException { } private Object readAMFObject(DataInputStream input) throws IOException { - HashMap array = new HashMap(); + HashMap array = new HashMap<>(); while (true) { String key = readAMFString(input); int dataType = input.read(); @@ -150,7 +150,7 @@ private Object readAMFObject(DataInputStream input) throws IOException { private Object readAMFEcmaArray(DataInputStream input) throws IOException { long size = readUInt32(input); - HashMap array = new HashMap(); + HashMap array = new HashMap<>(); for (int i = 0; i < size; i++) { String key = readAMFString(input); int dataType = input.read(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java index 34dc34fd5f..9bbeec5062 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-audiovideo-module/src/test/java/org/apache/tika/parser/mp3/Mp3ParserTest.java @@ -41,7 +41,7 @@ public class Mp3ParserTest extends TikaTest { */ private static void checkDuration(Metadata metadata, int expected) { assertEquals("Wrong duration", expected, - Math.round(Float.valueOf(metadata.get(XMPDM.DURATION)))); + Math.round(Float.parseFloat(metadata.get(XMPDM.DURATION)))); } /** diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dwg/DWGParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dwg/DWGParser.java index d3128b2767..cf50a42a6e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dwg/DWGParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-cad-module/src/main/java/org/apache/tika/parser/dwg/DWGParser.java @@ -102,23 +102,28 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); xhtml.startDocument(); - if (version.equals("AC1015")) { - metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); - if (skipTo2000PropertyInfoSection(stream, header)) { - get2000Props(stream, metadata, xhtml); - } - } else if (version.equals("AC1018")) { - metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); - if (skipToPropertyInfoSection(stream, header)) { - get2004Props(stream, metadata, xhtml); - } - } else if (version.equals("AC1021") || version.equals("AC1024")) { - metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); - if (skipToPropertyInfoSection(stream, header)) { - get2007and2010Props(stream, metadata, xhtml); - } - } else { - throw new TikaException("Unsupported AutoCAD drawing version: " + version); + switch (version) { + case "AC1015": + metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); + if (skipTo2000PropertyInfoSection(stream, header)) { + get2000Props(stream, metadata, xhtml); + } + break; + case "AC1018": + metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); + if (skipToPropertyInfoSection(stream, header)) { + get2004Props(stream, metadata, xhtml); + } + break; + case "AC1021": + case "AC1024": + metadata.set(Metadata.CONTENT_TYPE, TYPE.toString()); + if (skipToPropertyInfoSection(stream, header)) { + get2007and2010Props(stream, metadata, xhtml); + } + break; + default: + throw new TikaException("Unsupported AutoCAD drawing version: " + version); } xhtml.endDocument(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/executable/ExecutableParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/executable/ExecutableParser.java index b863abd96c..9658d62421 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/executable/ExecutableParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/main/java/org/apache/tika/parser/executable/ExecutableParser.java @@ -54,7 +54,7 @@ public class ExecutableParser extends AbstractParser implements MachineMetadata private static final MediaType ELF_SHAREDLIB = MediaType.application("x-sharedlib"); private static final MediaType ELF_COREDUMP = MediaType.application("x-coredump"); private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet( + new HashSet<>( Arrays.asList(PE_EXE, ELF_GENERAL, ELF_OBJECT, ELF_EXECUTABLE, ELF_SHAREDLIB, ELF_COREDUMP))); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java index 8b80cd87f2..287d1a5117 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-code-module/src/test/java/org/apache/tika/parser/code/SourceCodeParserTest.java @@ -71,13 +71,13 @@ public void testTextRender() throws Exception { createMetadata("text/x-java-source")); assertTrue(textContent.length() > 0); - assertTrue(textContent.indexOf("html") < 0); + assertFalse(textContent.contains("html")); textContent = getText(new ByteArrayInputStream("public class HelloWorld {}".getBytes(UTF_8)), sourceCodeParser, createMetadata("text/x-java-source")); assertTrue(textContent.length() > 0); - assertTrue(textContent.indexOf("html") < 0); + assertFalse(textContent.contains("html")); } @Test diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-commons/src/main/java/org/apache/tika/sax/boilerpipe/BoilerpipeContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-commons/src/main/java/org/apache/tika/sax/boilerpipe/BoilerpipeContentHandler.java index 468dadbdb1..c506e2c68e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-commons/src/main/java/org/apache/tika/sax/boilerpipe/BoilerpipeContentHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-commons/src/main/java/org/apache/tika/sax/boilerpipe/BoilerpipeContentHandler.java @@ -332,7 +332,7 @@ protected RecordedElement(String uri, String localName, String qName, Attributes this.qName = qName; this.attrs = attrs; this.elementType = elementType; - this.characters = new ArrayList(); + this.characters = new ArrayList<>(); } @Override diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlHandler.java index 9ebf48bab5..4749c437be 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/main/java/org/apache/tika/parser/html/HtmlHandler.java @@ -49,7 +49,7 @@ class HtmlHandler extends TextContentHandler { // List of attributes that need to be resolved. private static final Set URI_ATTRIBUTES = - new HashSet(Arrays.asList("src", "href", "longdesc", "cite")); + new HashSet<>(Arrays.asList("src", "href", "longdesc", "cite")); private static final Pattern ICBM = Pattern.compile("\\s*(-?\\d+\\.\\d+)[,\\s]+(-?\\d+\\.\\d+)\\s*"); private static final Attributes EMPTY_ATTS = new AttributesImpl(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java index b0c0fb7127..9184a97aa4 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-html-module/src/test/java/org/apache/tika/parser/html/HtmlParserTest.java @@ -215,7 +215,7 @@ private void assertRelativeLink(String url, String base, String relative) throws String test = "" + "test"; - final List links = new ArrayList(); + final List links = new ArrayList<>(); new HtmlParser() .parse(new ByteArrayInputStream(test.getBytes(UTF_8)), new DefaultHandler() { @Override @@ -1152,7 +1152,7 @@ private void assertScriptLink(String html, String url) throws Exception { Metadata metadata = new Metadata(); metadata.set(Metadata.CONTENT_TYPE, "text/html"); - final List links = new ArrayList(); + final List links = new ArrayList<>(); new HtmlParser() .parse(new ByteArrayInputStream(html.getBytes(UTF_8)), new DefaultHandler() { @Override @@ -1184,8 +1184,7 @@ public void testAllHeadElements() throws Exception { @Override public void startElement(String uri, String local, String name, Attributes attributes) throws SAXException { - - int count = tagFrequencies.containsKey(name) ? tagFrequencies.get(name) : 0; + int count = tagFrequencies.getOrDefault(name, 0); tagFrequencies.put(name, count + 1); } }; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/BPGParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/BPGParser.java index c4445f5a86..beb1d1d05f 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/BPGParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/BPGParser.java @@ -48,7 +48,7 @@ public class BPGParser extends AbstractImageParser { protected static final int EXTENSION_TAG_THUMBNAIL = 4; private static final long serialVersionUID = -161736541253892772L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet( + new HashSet<>( Arrays.asList(MediaType.image("x-bpg"), MediaType.image("bpg")))); public Set getSupportedTypes(ParseContext context) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java index 80e1eba8c2..28f92e4873 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/ImageMetadataExtractor.java @@ -117,9 +117,7 @@ public void parseJpeg(File file) throws IOException, SAXException, TikaException try { com.drew.metadata.Metadata jpegMetadata = JpegMetadataReader.readMetadata(file); handle(jpegMetadata); - } catch (JpegProcessingException e) { - throw new TikaException("Can't read JPEG metadata", e); - } catch (MetadataException e) { + } catch (JpegProcessingException | MetadataException e) { throw new TikaException("Can't read JPEG metadata", e); } } @@ -128,9 +126,7 @@ public void parseTiff(File file) throws IOException, SAXException, TikaException try { com.drew.metadata.Metadata tiffMetadata = TiffMetadataReader.readMetadata(file); handle(tiffMetadata); - } catch (MetadataException e) { - throw new TikaException("Can't read TIFF metadata", e); - } catch (TiffProcessingException e) { + } catch (MetadataException | TiffProcessingException e) { throw new TikaException("Can't read TIFF metadata", e); } } @@ -143,9 +139,7 @@ public void parseWebP(File file) throws IOException, TikaException { handle(webPMetadata); } catch (IOException e) { throw e; - } catch (RiffProcessingException e) { - throw new TikaException("Can't process Riff data", e); - } catch (MetadataException e) { + } catch (RiffProcessingException | MetadataException e) { throw new TikaException("Can't process Riff data", e); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/MetadataFields.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/MetadataFields.java index e772298e80..5b267b65cf 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/MetadataFields.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/MetadataFields.java @@ -39,7 +39,7 @@ public abstract class MetadataFields { private static HashSet known; static { - known = new HashSet(); + known = new HashSet<>(); setKnownForClass(TikaCoreProperties.class); setKnownForClass(Metadata.class); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/PSDParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/PSDParser.java index 2f364a6fd2..752891bab3 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/PSDParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-image-module/src/main/java/org/apache/tika/parser/image/PSDParser.java @@ -61,7 +61,7 @@ public class PSDParser extends AbstractParser { private static final long serialVersionUID = 883387734607994914L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.image("vnd.adobe.photoshop")))); + new HashSet<>(Arrays.asList(MediaType.image("vnd.adobe.photoshop")))); private static final int MAX_DATA_LENGTH_BYTES = 10_000_000; private static final int MAX_BLOCKS = 10000; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-jdbc-commons/src/main/java/org/apache/tika/parser/jdbc/JDBCTableReader.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-jdbc-commons/src/main/java/org/apache/tika/parser/jdbc/JDBCTableReader.java index 24fed3571d..b3bf888618 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-jdbc-commons/src/main/java/org/apache/tika/parser/jdbc/JDBCTableReader.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-jdbc-commons/src/main/java/org/apache/tika/parser/jdbc/JDBCTableReader.java @@ -143,7 +143,7 @@ private void handleCell(ResultSetMetaData rsmd, int i, ContentHandler handler, } public List getHeaders() throws IOException { - List headers = new LinkedList(); + List headers = new LinkedList<>(); //lazy initialization if (results == null) { reset(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mbox/MboxParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mbox/MboxParser.java index 39cdc030db..b4e7274233 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mbox/MboxParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-mail-module/src/main/java/org/apache/tika/parser/mbox/MboxParser.java @@ -71,7 +71,7 @@ public class MboxParser extends AbstractParser { private static final String EMAIL_HEADER_METADATA_PREFIX = "MboxParser-"; private static final String EMAIL_FROMLINE_METADATA = EMAIL_HEADER_METADATA_PREFIX + "from"; - private final Map trackingMetadata = new HashMap(); + private final Map trackingMetadata = new HashMap<>(); private boolean tracking = false; @@ -100,7 +100,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, do { if (curLine.startsWith(MBOX_RECORD_DIVIDER)) { Metadata mailMetadata = new Metadata(); - Queue multiline = new LinkedList(); + Queue multiline = new LinkedList<>(); mailMetadata.add(EMAIL_FROMLINE_METADATA, curLine.substring(MBOX_RECORD_DIVIDER.length())); mailMetadata.set(Metadata.CONTENT_TYPE, "message/rfc822"); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/detect/microsoft/POIFSContainerDetector.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/detect/microsoft/POIFSContainerDetector.java index 218110bcfd..e739668830 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/detect/microsoft/POIFSContainerDetector.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/detect/microsoft/POIFSContainerDetector.java @@ -379,7 +379,7 @@ private static boolean arrayContains(byte[] larger, byte[] smaller) { } private static Set getTopLevelNames(DirectoryNode root) { - Set names = new HashSet(); + Set names = new HashSet<>(); for (Entry entry : root) { names.add(entry.getName()); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java index 997de1538a..b9de249d74 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java @@ -29,8 +29,8 @@ public abstract class AbstractListManager { private final static String BULLET = "\u00b7"; protected Map listLevelMap = - new HashMap(); - protected Map overrideTupleMap = new HashMap(); + new HashMap<>(); + protected Map overrideTupleMap = new HashMap<>(); //helper class that is docx/doc format agnostic protected class ParagraphLevelCounter { @@ -41,7 +41,7 @@ protected class ParagraphLevelCounter { private final Integer FIRST_SKIPPED = -2; private final LevelTuple[] levelTuples; Pattern LEVEL_INTERPOLATOR = Pattern.compile("%(\\d+)"); - private List counts = new ArrayList(); + private List counts = new ArrayList<>(); private int lastLevel = -1; public ParagraphLevelCounter(LevelTuple[] levelTuples) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java index 36aff25ad7..f9e0cca0f0 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ExcelExtractor.java @@ -245,7 +245,7 @@ private static class TikaHSSFListener implements HSSFListener { /** * List of worksheet names. */ - private List sheetNames = new ArrayList(); + private List sheetNames = new ArrayList<>(); /** * Index of the current worksheet within the workbook. * Used to find the worksheet name in the {@link #sheetNames} list. @@ -260,13 +260,13 @@ private static class TikaHSSFListener implements HSSFListener { * Extra text or cells that crops up, typically as part of a * worksheet but not always. */ - private List extraTextCells = new ArrayList(); + private List extraTextCells = new ArrayList<>(); /** * These aren't complete when we first see them, as the * depend on continue records that aren't always * contiguous. Collect them for later processing. */ - private List drawingGroups = new ArrayList(); + private List drawingGroups = new ArrayList<>(); /** * Construct a new listener instance outputting parsed data to @@ -364,12 +364,8 @@ public void processRecord(Record record) { if (exception == null) { try { internalProcessRecord(record); - } catch (TikaException te) { - exception = te; - } catch (IOException ie) { - exception = ie; - } catch (SAXException se) { - exception = se; + } catch (TikaException | IOException | SAXException e) { + exception = e; } } } @@ -599,7 +595,7 @@ private void addTextCell(Record record, String text) throws SAXException { private void newSheet() { currentSheetIndex++; - currentSheet = new TreeMap(new PointComparator()); + currentSheet = new TreeMap<>(new PointComparator()); } /** diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/JackcessExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/JackcessExtractor.java index ff258c9437..a6d54edb33 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/JackcessExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/JackcessExtractor.java @@ -251,9 +251,7 @@ private boolean isRichText(Column c) throws IOException { } Object b = m.getValue(TEXT_FORMAT_KEY); if (b instanceof Byte) { - if (((Byte) b).byteValue() == RICH_TEXT_FORMAT) { - return true; - } + return (Byte) b == RICH_TEXT_FORMAT; } return false; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ListManager.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ListManager.java index 8204657409..fa7a4f2145 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ListManager.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ListManager.java @@ -75,9 +75,7 @@ public String getFormattedNumber(final Paragraph paragraph) { } catch (NoSuchElementException e) { //somewhat frequent exception when initializing HWPFList return ""; - } catch (IllegalArgumentException e) { - return ""; - } catch (NullPointerException e) { + } catch (IllegalArgumentException | NullPointerException e) { return ""; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java index 89e050e796..b02e3b58d0 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OfficeParser.java @@ -70,7 +70,7 @@ public class OfficeParser extends AbstractOfficeParser { private static final long serialVersionUID = 7393462244028653479L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(POIFSDocumentType.WORKBOOK.type, + new HashSet<>(Arrays.asList(POIFSDocumentType.WORKBOOK.type, POIFSDocumentType.OLE10_NATIVE.type, POIFSDocumentType.WORDDOCUMENT.type, POIFSDocumentType.UNKNOWN.type, POIFSDocumentType.ENCRYPTED.type, POIFSDocumentType.POWERPOINT.type, POIFSDocumentType.PUBLISHER.type, @@ -313,7 +313,7 @@ public static POIFSDocumentType detectType(POIFSFileSystem fs) { } public static POIFSDocumentType detectType(DirectoryEntry node) { - Set names = new HashSet(); + Set names = new HashSet<>(); for (Entry entry : node) { names.add(entry.getName()); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OldExcelParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OldExcelParser.java index 810bbc3172..bd096ed51e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OldExcelParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OldExcelParser.java @@ -44,7 +44,7 @@ public class OldExcelParser extends AbstractParser { private static final long serialVersionUID = 4611820730372823452L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("vnd.ms-excel.sheet.4"), + new HashSet<>(Arrays.asList(MediaType.application("vnd.ms-excel.sheet.4"), MediaType.application("vnd.ms-excel.workspace.4"), MediaType.application("vnd.ms-excel.sheet.3"), MediaType.application("vnd.ms-excel.workspace.3"), diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java index 54477727df..2ee27daecc 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java @@ -486,7 +486,7 @@ private Map normalizeHeaders(String[] rows) { if (headerKeyMatcher.find()) { if (lastKey != null) { List vals = headers.get(lastKey); - vals = (vals == null) ? new ArrayList() : vals; + vals = (vals == null) ? new ArrayList<>() : vals; vals.add(decodeHeader(sb.toString())); headers.put(lastKey, vals); } @@ -507,7 +507,7 @@ private Map normalizeHeaders(String[] rows) { //make sure to add the last value if (sb.length() > 0 && lastKey != null) { List vals = headers.get(lastKey); - vals = (vals == null) ? new ArrayList() : vals; + vals = (vals == null) ? new ArrayList<>() : vals; vals.add(decodeHeader(sb.toString())); headers.put(lastKey, vals); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java index 43dc4e7d9d..37b19bdc74 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/SummaryExtractor.java @@ -201,7 +201,7 @@ private void parse(CustomProperties customProperties) { metadata.set(prop, (Double) value); } else if (value instanceof Integer) { Property prop = Property.externalInteger(key); - metadata.set(prop, ((Integer) value).intValue()); + metadata.set(prop, (Integer) value); } } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/TNEFParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/TNEFParser.java index 1561d8eda4..aeec6ef409 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/TNEFParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/TNEFParser.java @@ -51,7 +51,7 @@ public class TNEFParser extends AbstractParser { private static final long serialVersionUID = 4611820730372823452L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("vnd.ms-tnef"), + new HashSet<>(Arrays.asList(MediaType.application("vnd.ms-tnef"), MediaType.application("ms-tnef"), MediaType.application("x-tnef")))); public Set getSupportedTypes(ParseContext context) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java index 95ab303aed..0e440768b7 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/WordExtractor.java @@ -70,8 +70,7 @@ public class WordExtractor extends AbstractPOIFSExtractor { // could be improved by using the real delimiter in xchFollow // [MS-DOC], v20140721, 2.4.6.3, Part 3, Step 3 private static final String LIST_DELIMITER = " "; - private static final Map fixedParagraphStyles = - new HashMap(); + private static final Map fixedParagraphStyles = new HashMap<>(); private static final TagAndStyle defaultParagraphStyle = new TagAndStyle("p", null); static { @@ -424,8 +423,8 @@ private void handleCharacterRun(CharacterRun cr, boolean skipStyling, XHTMLConte private int handleSpecialCharacterRuns(Paragraph p, int index, boolean skipStyling, PicturesSource pictures, XHTMLContentHandler xhtml) throws SAXException, TikaException, IOException { - List controls = new ArrayList(); - List texts = new ArrayList(); + List controls = new ArrayList<>(); + List texts = new ArrayList<>(); boolean has14 = false; // Split it into before and after the 14 @@ -441,7 +440,7 @@ private int handleSpecialCharacterRuns(Paragraph p, int index, boolean skipStyli } else if (cr.text().equals("\u0015")) { if (!has14) { texts = controls; - controls = new ArrayList(); + controls = new ArrayList<>(); } break; } else if (cr.text().equals("\u0014\u0015")) { @@ -651,7 +650,7 @@ public boolean isHeading() { */ private static class PicturesSource { private PicturesTable picturesTable; - private Set output = new HashSet(); + private Set output = new HashSet<>(); private Map lookup; private List nonU1based; private List all; @@ -662,7 +661,7 @@ private PicturesSource(HWPFDocument doc) { all = picturesTable.getAllPictures(); // Build the Offset-Picture lookup map - lookup = new HashMap(); + lookup = new HashMap<>(); for (Picture p : all) { lookup.put(p.getStartOffset(), p); } @@ -672,7 +671,7 @@ private PicturesSource(HWPFDocument doc) { // These are \u0008 escher floating ones, ones // found outside the normal text, and who // knows what else... - nonU1based = new ArrayList(); + nonU1based = new ArrayList<>(); nonU1based.addAll(all); Range r = doc.getRange(); for (int i = 0; i < r.numCharacterRuns(); i++) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmDirectoryListingSet.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmDirectoryListingSet.java index f78eeacf1d..b2153d51d4 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmDirectoryListingSet.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmDirectoryListingSet.java @@ -57,7 +57,7 @@ public class ChmDirectoryListingSet { */ public ChmDirectoryListingSet(byte[] data, ChmItsfHeader chmItsHeader, ChmItspHeader chmItspHeader) throws TikaException { - setDirectoryListingEntryList(new ArrayList()); + setDirectoryListingEntryList(new ArrayList<>()); ChmCommons.assertByteArrayNotNull(data); setData(data); enumerateChmDirectoryListingList(chmItsHeader, chmItspHeader); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java index e93f774f3f..912d0392a2 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmExtractor.java @@ -127,7 +127,7 @@ public ChmExtractor(InputStream is) throws TikaException, IOException { getChmDirList().getDirectoryListingEntryList().get(getIndexOfContent()) .getLength()); - setLzxBlocksCache(new ArrayList()); + setLzxBlocksCache(new ArrayList<>()); } catch (IOException e) { LOG.warn("IOException parsing chm file", e); @@ -234,7 +234,7 @@ private void setData(byte[] data) { * @return list of chm entities */ public List enumerateChm() { - List listOfEntries = new ArrayList(); + List listOfEntries = new ArrayList<>(); for (DirectoryListingEntry directoryListingEntry : getChmDirList() .getDirectoryListingEntryList()) { listOfEntries.add(directoryListingEntry.getName()); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmParser.java index 56a9cadfcf..9a940a97c3 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/chm/ChmParser.java @@ -47,7 +47,7 @@ public class ChmParser extends AbstractParser { private static final long serialVersionUID = 5938777307516469802L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("vnd.ms-htmlhelp"), + new HashSet<>(Arrays.asList(MediaType.application("vnd.ms-htmlhelp"), MediaType.application("chm"), MediaType.application("x-chm")))); @Override diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/ExtendedGUID.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/ExtendedGUID.java index a69696b5d9..73b3b99ca8 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/ExtendedGUID.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/onenote/ExtendedGUID.java @@ -35,7 +35,7 @@ public static ExtendedGUID nil() { @Override public int compareTo(ExtendedGUID other) { if (other.guid.equals(guid)) { - new Long(n).compareTo(other.n); + return Long.compare(n, other.n); } return guid.compareTo(other.guid); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java index 180899e608..03a1b1ad79 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/OOXMLExtractorFactory.java @@ -27,7 +27,6 @@ import org.apache.poi.ooxml.POIXMLDocument; import org.apache.poi.ooxml.extractor.ExtractorFactory; import org.apache.poi.ooxml.extractor.POIXMLTextExtractor; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.InvalidOperationException; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; import org.apache.poi.openxml4j.opc.OPCPackage; @@ -229,11 +228,7 @@ public static void parse(InputStream stream, ContentHandler baseHandler, Metadat } else { throw new TikaException("Error creating OOXML extractor", e); } - } catch (InvalidFormatException e) { - throw new TikaException("Error creating OOXML extractor", e); - } catch (OpenXML4JException e) { - throw new TikaException("Error creating OOXML extractor", e); - } catch (XmlException e) { + } catch (OpenXML4JException | XmlException e) { throw new TikaException("Error creating OOXML extractor", e); } catch (RuntimeSAXException e) { throw(SAXException) e.getCause(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java index 13b9cb425a..be3c78f3ae 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/POIXMLTextExtractorDecorator.java @@ -46,6 +46,6 @@ protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException { @Override protected List getMainDocumentParts() { - return new ArrayList(); + return new ArrayList<>(); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java index c1c4c5efb1..84d90a2e3f 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java @@ -128,12 +128,12 @@ protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException, IOExce mainDocument, metadata, new PlaceHolderSkipper( new OOXMLWordAndPowerPointTextHandler( new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()))); + new HashMap<>()))); handleGeneralTextContainingPart(HANDOUT_MASTER, "slide-handout-master", mainDocument, metadata, new OOXMLWordAndPowerPointTextHandler(new OOXMLTikaBodyPartHandler(xhtml), - new HashMap())); + new HashMap<>())); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java index 574896b6e7..eaf40e9822 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSLFPowerPointExtractorDecorator.java @@ -175,13 +175,13 @@ protected void buildXHTML(XHTMLContentHandler xhtml) throws SAXException, IOExce handleGeneralTextContainingPart(RELATION_DIAGRAM_DATA, "diagram-data", slide.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler(new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); //now dump chart data handleGeneralTextContainingPart(XSLFRelation.CHART.getRelation(), "chart", slide.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler(new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); } } @@ -322,10 +322,8 @@ protected List getMainDocumentParts() throws TikaException { PackagePart slidePart; try { slidePart = document.getSlidePart(ctSlide); - } catch (IOException e) { + } catch (IOException | XmlException e) { throw new TikaException("Broken OOXML file", e); - } catch (XmlException xe) { - throw new TikaException("Broken OOXML file", xe); } addSlideParts(slidePart, parts); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFBExcelExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFBExcelExtractorDecorator.java index 8bff94e6c3..77000b9a9a 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFBExcelExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFBExcelExtractorDecorator.java @@ -22,7 +22,6 @@ import java.util.Locale; import org.apache.poi.ooxml.extractor.POIXMLTextExtractor; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.exceptions.OpenXML4JException; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackagePart; @@ -91,10 +90,8 @@ protected void buildXHTML(XHTMLContentHandler xhtml) styles = xssfReader.getXSSFBStylesTable(); iter = (XSSFBReader.SheetIterator) xssfReader.getSheetsData(); strings = new XSSFBSharedStringsTable(container); - } catch (InvalidFormatException e) { + } catch (OpenXML4JException e) { throw new XmlException(e); - } catch (OpenXML4JException oe) { - throw new XmlException(oe); } while (iter.hasNext()) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java index 4fbe36e239..9d4949a83a 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XSSFExcelExtractorDecorator.java @@ -82,7 +82,7 @@ public class XSSFExcelExtractorDecorator extends AbstractOOXMLExtractor { */ protected static HeaderFooterHelper hfHelper = new HeaderFooterHelper(); protected final DataFormatter formatter; - protected final List sheetParts = new ArrayList(); + protected final List sheetParts = new ArrayList<>(); protected final Map drawingHyperlinks = new HashMap<>(); protected Metadata metadata; protected ParseContext parseContext; @@ -146,10 +146,8 @@ protected void buildXHTML(XHTMLContentHandler xhtml) iter = (XSSFReader.SheetIterator) xssfReader.getSheetsData(); strings = new ReadOnlySharedStringsTable(container, config.isConcatenatePhoneticRuns()); - } catch (InvalidFormatException e) { + } catch (OpenXML4JException e) { throw new XmlException(e); - } catch (OpenXML4JException oe) { - throw new XmlException(oe); } while (iter.hasNext()) { @@ -288,14 +286,14 @@ protected void processShapes(List shapes, XHTMLContentHandler xhtml) "diagram-data", parentDrawing.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler( new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); //dump chart data handleGeneralTextContainingPart(XSSFRelation.CHART.getRelation(), "chart", parentDrawing.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler( new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); } seenParentDrawings.add(parentDrawing.getPackagePart().getPartName().toString()); @@ -371,7 +369,7 @@ public void processSheet(SheetContentsHandler sheetContentsExtractor, CommentsTa */ @Override protected List getMainDocumentParts() throws TikaException { - List parts = new ArrayList(); + List parts = new ArrayList<>(); for (PackagePart part : sheetParts) { // Add the sheet parts.add(part); @@ -423,8 +421,8 @@ protected SheetTextAsHTML(OfficeParserConfig config, XHTMLContentHandler xhtml) this.includeHeadersFooters = config.isIncludeHeadersAndFooters(); this.includeMissingRows = config.isIncludeMissingRows(); this.xhtml = xhtml; - headers = new ArrayList(); - footers = new ArrayList(); + headers = new ArrayList<>(); + footers = new ArrayList<>(); } public void startRow(int rowNum) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java index 45c55845fb..e5aacee152 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/XWPFWordExtractorDecorator.java @@ -129,13 +129,13 @@ protected void buildXHTML(XHTMLContentHandler xhtml) handleGeneralTextContainingPart(RELATION_DIAGRAM_DATA, "diagram-data", document.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler(new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); //handle chart data handleGeneralTextContainingPart(XSSFRelation.CHART.getRelation(), "chart", document.getPackagePart(), metadata, new OOXMLWordAndPowerPointTextHandler(new OOXMLTikaBodyPartHandler(xhtml), - new HashMap()//empty + new HashMap<>()//empty )); // then all document footers @@ -463,7 +463,7 @@ private void extractHeaderText(XHTMLContentHandler xhtml, XWPFHeaderFooter heade */ @Override protected List getMainDocumentParts() { - List parts = new ArrayList(); + List parts = new ArrayList<>(); parts.add(document.getPackagePart()); addRelatedParts(document.getPackagePart(), parts); return parts; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java index d32f4e70b4..3a5148f1cc 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xps/XPSPageContentHandler.java @@ -76,16 +76,13 @@ class XPSPageContentHandler extends DefaultHandler { //sort based on y coordinate of first element in each row //this requires every row to have at least one element private static Comparator> ROW_SORTER = - new Comparator>() { - @Override - public int compare(List o1, List o2) { - if (o1.get(0).originY < o2.get(0).originY) { - return -1; - } else if (o1.get(0).originY > o2.get(0).originY) { - return 1; - } - return 0; + (Comparator>) (o1, o2) -> { + if (o1.get(0).originY < o2.get(0).originY) { + return -1; + } else if (o1.get(0).originY > o2.get(0).originY) { + return 1; } + return 0; }; private final XHTMLContentHandler xhml; private final Map embeddedInfos; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/WordAndPowerPointTextPartHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/WordAndPowerPointTextPartHandler.java index be54a4d435..b332750dd2 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/WordAndPowerPointTextPartHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/WordAndPowerPointTextPartHandler.java @@ -41,7 +41,7 @@ public WordAndPowerPointTextPartHandler(String contentType, XHTMLContentHandler RelationshipsManager relationshipsManager, OfficeParserConfig officeParserConfig) { super(new OOXMLTikaBodyPartHandler(xhtml, null, null, officeParserConfig), - new HashMap()); + new HashMap<>()); this.contentType = contentType; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/TextExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/TextExtractor.java index 6d815cfc00..51128d9b7c 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/TextExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/rtf/TextExtractor.java @@ -137,11 +137,11 @@ final class TextExtractor { // (f0, f1, f2, etc.) to fonts and charsets, using the // \fcharsetN control word. This mapping maps from the // N to corresponding Java charset: - private static final Map FCHARSET_MAP = new HashMap(); + private static final Map FCHARSET_MAP = new HashMap<>(); // The RTF may specify the \ansicpgN charset in the // header; this maps the N to the corresponding Java // character set: - private static final Map ANSICPG_MAP = new HashMap(); + private static final Map ANSICPG_MAP = new HashMap<>(); static { FCHARSET_MAP.put(0, WINDOWS_1252); // ANSI @@ -249,11 +249,11 @@ final class TextExtractor { // Holds the font table from this RTF doc, mapping // the font number (from \fN control word) to the // corresponding charset: - private final Map fontToCharset = new HashMap(); + private final Map fontToCharset = new HashMap<>(); // Group stack: when we open a new group, we push // the previous group state onto the stack; when we // close the group, we restore it - private final LinkedList groupStates = new LinkedList(); + private final LinkedList groupStates = new LinkedList<>(); private final StringBuilder pendingBuffer = new StringBuilder(); private final XHTMLContentHandler out; private final Metadata metadata; @@ -298,8 +298,8 @@ final class TextExtractor { private int fieldState; // Non-zero list index private int pendingListEnd; - private Map listTable = new HashMap(); - private Map listOverrideTable = new HashMap(); + private Map listTable = new HashMap<>(); + private Map listOverrideTable = new HashMap<>(); private Map currentListTable; private ListDescriptor currentList; private int listTableLevel = -1; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java index 4291866ce5..ea4697b177 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java @@ -84,26 +84,33 @@ public void startElement(String uri, String localName, String qName, Attributes localName = localName.toLowerCase(Locale.US); if (MS_SPREADSHEET_URN.equals(uri)) { - if (BODY.equals(localName)) { - inBody = true; - } else if (TABLE.equals(localName)) { - handler.startElement(XHTMLContentHandler.XHTML, TABLE, TABLE, EMPTY_ATTRS); - handler.startElement(XHTMLContentHandler.XHTML, TBODY, TBODY, EMPTY_ATTRS); - } else if (WORKSHEET.equals(localName)) { - String worksheetName = attrs.getValue(MS_SPREADSHEET_URN, "Name"); - AttributesImpl xhtmlAttrs = new AttributesImpl(); - if (worksheetName != null) { - xhtmlAttrs.addAttribute(XHTMLContentHandler.XHTML, NAME_ATTR, NAME_ATTR, - CDATA, worksheetName); - } - handler.startElement(XHTMLContentHandler.XHTML, DIV, DIV, xhtmlAttrs); - } else if (ROW.equals(localName)) { - handler.startElement(XHTMLContentHandler.XHTML, TR, TR, EMPTY_ATTRS); - } else if (CELL.equals(localName)) { - href = attrs.getValue(MS_SPREADSHEET_URN, "HRef"); - handler.startElement(XHTMLContentHandler.XHTML, TD, TD, EMPTY_ATTRS); - } else if (DATA.equals(localName)) { - inData = true; + switch (localName) { + case BODY: + inBody = true; + break; + case TABLE: + handler.startElement(XHTMLContentHandler.XHTML, TABLE, TABLE, EMPTY_ATTRS); + handler.startElement(XHTMLContentHandler.XHTML, TBODY, TBODY, EMPTY_ATTRS); + break; + case WORKSHEET: + String worksheetName = attrs.getValue(MS_SPREADSHEET_URN, "Name"); + AttributesImpl xhtmlAttrs = new AttributesImpl(); + if (worksheetName != null) { + xhtmlAttrs.addAttribute(XHTMLContentHandler.XHTML, NAME_ATTR, NAME_ATTR, + CDATA, worksheetName); + } + handler.startElement(XHTMLContentHandler.XHTML, DIV, DIV, xhtmlAttrs); + break; + case ROW: + handler.startElement(XHTMLContentHandler.XHTML, TR, TR, EMPTY_ATTRS); + break; + case CELL: + href = attrs.getValue(MS_SPREADSHEET_URN, "HRef"); + handler.startElement(XHTMLContentHandler.XHTML, TD, TD, EMPTY_ATTRS); + break; + case DATA: + inData = true; + break; } } } @@ -121,34 +128,40 @@ public void characters(char[] str, int offset, int len) throws SAXException { public void endElement(String uri, String localName, String qName) throws SAXException { localName = localName.toLowerCase(Locale.US); if (MS_SPREADSHEET_URN.equals(uri)) { - if (TABLE.equals(localName)) { - handler.endElement(XHTMLContentHandler.XHTML, TBODY, TBODY); - handler.endElement(XHTMLContentHandler.XHTML, TABLE, TABLE); - - } else if (WORKSHEET.equals(localName)) { - handler.endElement(XHTMLContentHandler.XHTML, DIV, DIV); - } else if (ROW.equals(localName)) { - handler.endElement(XHTMLContentHandler.XHTML, TR, TR); - } else if (CELL.equals(localName)) { - handler.endElement(XHTMLContentHandler.XHTML, TD, TD); - } else if (DATA.equals(localName)) { - if (href != null) { - AttributesImpl attrs = new AttributesImpl(); - attrs.addAttribute(XHTMLContentHandler.XHTML, HREF, HREF, CDATA, href); - handler.startElement(XHTMLContentHandler.XHTML, A, A, attrs); - } - String b = buffer.toString(); - if (b == null) { - b = ""; - } - char[] chars = b.trim().toCharArray(); - handler.characters(chars, 0, chars.length); - if (href != null) { - handler.endElement(XHTMLContentHandler.XHTML, A, A); - } - buffer.setLength(0); - inData = false; - href = null; + switch (localName) { + case TABLE: + handler.endElement(XHTMLContentHandler.XHTML, TBODY, TBODY); + handler.endElement(XHTMLContentHandler.XHTML, TABLE, TABLE); + + break; + case WORKSHEET: + handler.endElement(XHTMLContentHandler.XHTML, DIV, DIV); + break; + case ROW: + handler.endElement(XHTMLContentHandler.XHTML, TR, TR); + break; + case CELL: + handler.endElement(XHTMLContentHandler.XHTML, TD, TD); + break; + case DATA: + if (href != null) { + AttributesImpl attrs = new AttributesImpl(); + attrs.addAttribute(XHTMLContentHandler.XHTML, HREF, HREF, CDATA, href); + handler.startElement(XHTMLContentHandler.XHTML, A, A, attrs); + } + String b = buffer.toString(); + if (b == null) { + b = ""; + } + char[] chars = b.trim().toCharArray(); + handler.characters(chars, 0, chars.length); + if (href != null) { + handler.endElement(XHTMLContentHandler.XHTML, A, A); + } + buffer.setLength(0); + inData = false; + href = null; + break; } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java index 15350afff2..9aefb423c2 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ExcelParserTest.java @@ -17,6 +17,7 @@ package org.apache.tika.parser.microsoft; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -198,7 +199,7 @@ public String getPassword(Metadata metadata) { assertEquals("application/vnd.ms-excel", metadata.get(Metadata.CONTENT_TYPE)); - assertEquals(null, metadata.get(TikaCoreProperties.TITLE)); + assertNull(metadata.get(TikaCoreProperties.TITLE)); assertEquals("Antoni", metadata.get(TikaCoreProperties.CREATOR)); assertEquals("2011-11-25T09:52:48Z", metadata.get(TikaCoreProperties.CREATED)); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/JackcessParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/JackcessParserTest.java index 5da4333c3a..0038ede89f 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/JackcessParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/JackcessParserTest.java @@ -89,13 +89,8 @@ public void testBasic() throws Exception { @Test public void testPassword() throws Exception { ParseContext c = new ParseContext(); - c.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "tika"; - } - }); - String content = null; + c.set(PasswordProvider.class, metadata -> "tika"); + String content; try (InputStream is = this .getResourceAsStream("/test-documents/testAccess2_encrypted.accdb")) { content = getText(is, AUTO_DETECT_PARSER, c); @@ -103,12 +98,7 @@ public String getPassword(Metadata metadata) { assertContains("red and brown", content); //now try wrong password - c.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "WRONG"; - } - }); + c.set(PasswordProvider.class, metadata -> "WRONG"); boolean ex = false; try (InputStream is = this @@ -120,12 +110,7 @@ public String getPassword(Metadata metadata) { assertTrue("failed to throw encrypted document exception for wrong password", ex); //now try null - c.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return null; - } - }); + c.set(PasswordProvider.class, metadata -> null); ex = false; try (InputStream is = this @@ -151,12 +136,7 @@ public String getPassword(Metadata metadata) { //now try password on file that doesn't need a password c = new ParseContext(); - c.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "tika"; - } - }); + c.set(PasswordProvider.class, metadata -> "tika"); ex = false; try (InputStream is = this.getResourceAsStream("/test-documents/testAccess2.accdb")) { content = getText(is, AUTO_DETECT_PARSER, c); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/chm/TestChmExtraction.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/chm/TestChmExtraction.java index 5f97cad544..04a33a2cf3 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/chm/TestChmExtraction.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/chm/TestChmExtraction.java @@ -17,11 +17,11 @@ package org.apache.tika.parser.microsoft.chm; import static java.nio.charset.StandardCharsets.ISO_8859_1; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileFilter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; @@ -117,7 +117,7 @@ protected void testExtractChmEntry(InputStream stream) throws TikaException, IOE final Pattern htmlPairP = Pattern.compile("\\Q\\E", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - Set names = new HashSet(); + Set names = new HashSet<>(); for (DirectoryListingEntry directoryListingEntry : entries.getDirectoryListingEntryList()) { byte[] data = chmExtractor.extractChmEntry(directoryListingEntry); @@ -167,23 +167,21 @@ protected void testExtractChmEntry(InputStream stream) throws TikaException, IOE public void testMultiThreadedChmExtraction() throws InterruptedException { ExecutorService executor = Executors.newFixedThreadPool(TestParameters.NTHREADS); for (int i = 0; i < TestParameters.NTHREADS; i++) { - executor.execute(new Runnable() { - public void run() { - for (String fileName : files) { - InputStream stream = null; + executor.execute(() -> { + for (String fileName : files) { + InputStream stream = null; + try { + stream = getResourceAsStream(fileName); + BodyContentHandler handler = new BodyContentHandler(-1); + parser.parse(stream, handler, new Metadata(), new ParseContext()); + assertFalse(handler.toString().isEmpty()); + } catch (Exception e) { + e.printStackTrace(); + } finally { try { - stream = getResourceAsStream(fileName); - BodyContentHandler handler = new BodyContentHandler(-1); - parser.parse(stream, handler, new Metadata(), new ParseContext()); - assertTrue(!handler.toString().isEmpty()); - } catch (Exception e) { + stream.close(); + } catch (IOException e) { e.printStackTrace(); - } finally { - try { - stream.close(); - } catch (IOException e) { - e.printStackTrace(); - } } } } @@ -220,25 +218,20 @@ public void testMultiThreaded() throws Exception { } RecursiveParserWrapper wrapper = new RecursiveParserWrapper(AUTO_DETECT_PARSER); - testMultiThreaded(wrapper, parseContexts, 10, 10, new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getName().toLowerCase(Locale.ENGLISH).endsWith(".chm")) { - //this file is a beast, skip it - if (pathname.getName().equals("testChm2.chm")) { - return false; - //this file throws an exception in the baseline and then - //isn't included in the actual tests. - //If we do want to include it we need to change the way - //MultiThreadedTikaTest handles files that throw exceptions - } else if (pathname.getName().equals("testChm_oom.chm")) { - return false; - } else { - return true; - } - } else { + testMultiThreaded(wrapper, parseContexts, 10, 10, pathname -> { + if (pathname.getName().toLowerCase(Locale.ENGLISH).endsWith(".chm")) { + //this file is a beast, skip it + if (pathname.getName().equals("testChm2.chm")) { return false; + //this file throws an exception in the baseline and then + //isn't included in the actual tests. + //If we do want to include it we need to change the way + //MultiThreadedTikaTest handles files that throw exceptions + } else { + return !pathname.getName().equals("testChm_oom.chm"); } + } else { + return false; } }); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java index 5874a9be61..94758bcbae 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/OOXMLParserTest.java @@ -1047,7 +1047,7 @@ public void testPPTXThumbnail() throws Exception { @Test public void testEncrypted() throws Exception { - Map tests = new HashMap(); + Map tests = new HashMap<>(); //the first three contain javax.crypto.CipherInputStream tests.put("testWORD_protected_passtika.docx", "This is an encrypted Word 2007 File"); tests.put("testPPT_protected_passtika.pptx", "This is an encrypted PowerPoint 2007 slide."); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXSLFExtractorTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXSLFExtractorTest.java index 15746df56a..2372ecdb39 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXSLFExtractorTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXSLFExtractorTest.java @@ -468,7 +468,7 @@ public void testPPTXThumbnail() throws Exception { @Test public void testEncrypted() throws Exception { - Map tests = new HashMap(); + Map tests = new HashMap<>(); tests.put("testPPT_protected_passtika.pptx", "This is an encrypted PowerPoint 2007 slide."); Metadata m = new Metadata(); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXWPFExtractorTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXWPFExtractorTest.java index 6bfe41d120..3806518266 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXWPFExtractorTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/SXWPFExtractorTest.java @@ -556,16 +556,11 @@ public void testDOCXThumbnail() throws Exception { @Test public void testEncrypted() throws Exception { - Map tests = new HashMap(); + Map tests = new HashMap<>(); tests.put("testWORD_protected_passtika.docx", "This is an encrypted Word 2007 File"); Metadata m = new Metadata(); - PasswordProvider passwordProvider = new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "tika"; - } - }; + PasswordProvider passwordProvider = metadata -> "tika"; OfficeParserConfig opc = new OfficeParserConfig(); opc.setUseSAXDocxExtractor(true); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParserTest.java index a4a0be4d93..db09efe627 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/ooxml/xwpf/ml2006/Word2006MLParserTest.java @@ -19,8 +19,6 @@ import static org.junit.Assert.assertEquals; -import java.io.File; -import java.io.FileFilter; import java.util.List; import org.junit.AfterClass; @@ -186,16 +184,8 @@ public void testMultiThreaded() throws Exception { contexts[i] = new ParseContext(); } - testMultiThreaded(AUTO_DETECT_PARSER, contexts, numThreads, 2, new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getName().equals("testWORD_2006ml.xml")) { - return true; - } - return false; - } - }); - + testMultiThreaded(AUTO_DETECT_PARSER, contexts, numThreads, 2, + pathname -> pathname.getName().equals("testWORD_2006ml.xml")); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java index 3c288f92b3..1f1fe7156e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java @@ -147,7 +147,7 @@ public void testOverrideDetector() throws Exception { } private class EmbeddedTrackingExtrator extends ParsingEmbeddedDocumentExtractor { - List trackingMetadata = new ArrayList(); + List trackingMetadata = new ArrayList<>(); public EmbeddedTrackingExtrator(ParseContext context) { super(context); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/rtf/RTFParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/rtf/RTFParserTest.java index b5415b8ce6..2f6442d686 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/rtf/RTFParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/rtf/RTFParserTest.java @@ -411,7 +411,7 @@ public void testMultipleNewlines() throws Exception { //TIKA-1010 test linked embedded doc @Test public void testEmbeddedLinkedDocument() throws Exception { - Set skipTypes = new HashSet(); + Set skipTypes = new HashSet<>(); skipTypes.add(MediaType.parse("image/emf")); skipTypes.add(MediaType.parse("image/wmf")); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/xml/XML2003ParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/xml/XML2003ParserTest.java index 4f7f3e0264..82d17cd904 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/xml/XML2003ParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/xml/XML2003ParserTest.java @@ -18,9 +18,6 @@ import static org.junit.Assert.assertEquals; -import java.io.File; -import java.io.FileFilter; - import org.junit.AfterClass; import org.junit.Test; @@ -74,15 +71,8 @@ public void testMultiThreaded() throws Exception { contexts[i] = new ParseContext(); } - testMultiThreaded(AUTO_DETECT_PARSER, contexts, numThreads, 2, new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getName().equals("testWORD2003.xml")) { - return true; - } - return false; - } - }); + testMultiThreaded(AUTO_DETECT_PARSER, contexts, numThreads, 2, + pathname -> pathname.getName().equals("testWORD2003.xml")); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/detect/ole/MiscOLEDetector.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/detect/ole/MiscOLEDetector.java index 55f4d4e681..aefac501bf 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/detect/ole/MiscOLEDetector.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/detect/ole/MiscOLEDetector.java @@ -109,7 +109,7 @@ protected static MediaType detect(Set names, DirectoryEntry root) { } private static Set getTopLevelNames(DirectoryNode root) { - Set names = new HashSet(); + Set names = new HashSet<>(); for (Entry entry : root) { names.add(entry.getName()); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFContentHandler.java index f338c554fe..6028216fda 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFContentHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFContentHandler.java @@ -41,8 +41,8 @@ public DIFContentHandler(ContentHandler delegate, Metadata metadata) { this.delegate = delegate; this.isLeaf = false; this.metadata = metadata; - this.treeStack = new Stack(); - this.dataStack = new Stack(); + this.treeStack = new Stack<>(); + this.dataStack = new Stack<>(); } @Override diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java index 8dfe5336eb..2de2ae7b57 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/dif/DIFParser.java @@ -18,7 +18,6 @@ import java.io.IOException; import java.io.InputStream; -import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -45,7 +44,7 @@ public class DIFParser extends AbstractParser { */ private static final long serialVersionUID = 971505521275777826L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("dif+xml")))); + new HashSet<>(Collections.singletonList(MediaType.application("dif+xml")))); @Override public Set getSupportedTypes(ParseContext context) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java index 4a7f5891b4..ce8228b8f6 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/epub/EpubParser.java @@ -77,7 +77,7 @@ public class EpubParser extends AbstractParser { private static final long serialVersionUID = 215176772484050550L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("epub+zip"), + new HashSet<>(Arrays.asList(MediaType.application("epub+zip"), MediaType.application("x-ibooks+zip")))); @Field boolean streaming = false; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java index 7265608945..15d61b2c3b 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/hwp/HwpTextExtractorV5.java @@ -302,13 +302,7 @@ private void parseViewText(FileHeader header, DirectoryNode root, XHTMLContentHa HwpStreamReader sectionStream = new HwpStreamReader(input); parse(sectionStream, xhtml); - } catch (InvalidKeyException e) { - throw new IOException(e); - } catch (NoSuchAlgorithmException e) { - throw new IOException(e); - } catch (NoSuchPaddingException e) { - throw new IOException(e); - } catch (SAXException e) { + } catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | SAXException e) { throw new IOException(e); } finally { IOUtils.closeQuietly(input); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentBodyHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentBodyHandler.java index 120e1aea75..88be59b377 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentBodyHandler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentBodyHandler.java @@ -67,7 +67,7 @@ class OpenDocumentBodyHandler extends ElementMappingContentHandler { * and left out from event stream. */ private static final HashMap MAPPINGS = - new HashMap(); + new HashMap<>(); private static final char[] SPACE = new char[]{' '}; private static final String CLASS = "class"; private static final Attributes ANNOTATION_ATTRIBUTES = buildAttributes(CLASS, "annotation"); @@ -92,7 +92,7 @@ class OpenDocumentBodyHandler extends ElementMappingContentHandler { MAPPINGS.put(new QName(SVG_NS, "desc"), new TargetElement(XHTML, "span")); MAPPINGS.put(new QName(TEXT_NS, "span"), new TargetElement(XHTML, "span")); - final HashMap aAttsMapping = new HashMap(); + final HashMap aAttsMapping = new HashMap<>(); aAttsMapping.put(new QName(XLINK_NS, "href"), new QName("href")); aAttsMapping.put(new QName(XLINK_NS, "title"), new QName("title")); MAPPINGS.put(new QName(TEXT_NS, "a"), new TargetElement(XHTML, "a", @@ -105,7 +105,7 @@ class OpenDocumentBodyHandler extends ElementMappingContentHandler { // repeating of rows is ignored; for columns, see below! MAPPINGS.put(new QName(TABLE_NS, "table-row"), new TargetElement(XHTML, "tr")); // special mapping for rowspan/colspan attributes - final HashMap tableCellAttsMapping = new HashMap(); + final HashMap tableCellAttsMapping = new HashMap<>(); tableCellAttsMapping .put(new QName(TABLE_NS, "number-columns-spanned"), new QName("colspan")); tableCellAttsMapping.put(new QName(TABLE_NS, "number-rows-spanned"), new QName("rowspan")); @@ -134,14 +134,14 @@ class OpenDocumentBodyHandler extends ElementMappingContentHandler { private StringBuilder base64BinaryDataBuffer = new StringBuilder(); private int nodeDepth = 0; private int completelyFiltered = 0; - private Stack headingStack = new Stack(); - private Map paragraphTextStyleMap = new HashMap(); - private Map textStyleMap = new HashMap(); - private Map listStyleMap = new HashMap(); + private Stack headingStack = new Stack<>(); + private Map paragraphTextStyleMap = new HashMap<>(); + private Map textStyleMap = new HashMap<>(); + private Map listStyleMap = new HashMap<>(); private String currParagraphStyleName; //paragraph style name private TextStyle currTextStyle; //this is the text style for particular spans/paragraphs private String currTextStyleName; - private Stack listStyleStack = new Stack(); + private Stack listStyleStack = new Stack<>(); private ListStyle listStyle; // True if we are currently in the named style: private boolean curUnderlined; @@ -387,7 +387,7 @@ public void startElement(String namespaceURI, String localName, String qName, At String fontWeight = attrs.getValue(FORMATTING_OBJECTS_NS, "font-weight"); if ("bold".equals(fontWeight) || "bolder".equals(fontWeight) || (fontWeight != null && Character.isDigit(fontWeight.charAt(0)) && - Integer.valueOf(fontWeight) > 500)) { + Integer.parseInt(fontWeight) > 500)) { currTextStyle.bold = true; } String underlineStyle = attrs.getValue(STYLE_NS, "text-underline-style"); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java index ba2f0c351e..fb64fbdc7e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/odf/OpenDocumentParser.java @@ -66,7 +66,7 @@ public class OpenDocumentParser extends AbstractParser { private static final long serialVersionUID = -6410276875438618287L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("vnd.sun.xml.writer"), + new HashSet<>(Arrays.asList(MediaType.application("vnd.sun.xml.writer"), MediaType.application("vnd.oasis.opendocument.text"), MediaType.application("vnd.oasis.opendocument.graphics"), MediaType.application("vnd.oasis.opendocument.presentation"), diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP5DocumentAreaExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP5DocumentAreaExtractor.java index ea6d336a54..a5544dbaf0 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP5DocumentAreaExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP5DocumentAreaExtractor.java @@ -38,7 +38,7 @@ class WP5DocumentAreaExtractor extends WPDocumentAreaExtractor { * skipped according to their size (minus the first char if already read). */ private static final Map FIXED_LENGTH_FUNCTION_SIZES = - MapUtils.putAll(new HashMap(), + MapUtils.putAll(new HashMap<>(), new Integer[]{192, 4, // Extended character 193, 9, // Center/Align/ Tab/Left Margin Release 194, 11, // Indent diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java index 7c044f32dc..13c6e0ec71 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/WP6DocumentAreaExtractor.java @@ -41,7 +41,7 @@ class WP6DocumentAreaExtractor extends WPDocumentAreaExtractor { * skipped according to their size (minus the first char if already read). */ private static final Map FIXED_LENGTH_FUNCTION_SIZES = - MapUtils.putAll(new HashMap(), + MapUtils.putAll(new HashMap<>(), new Integer[]{240, 4, // Extended Character 241, 5, // Undo 242, 3, // Attribute On diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java index 61a0017cab..1751247f96 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/feed/FeedParser.java @@ -55,7 +55,7 @@ public class FeedParser extends AbstractParser { private static final long serialVersionUID = -3785361933034525186L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet(Arrays.asList(MediaType.application("rss+xml"), + new HashSet<>(Arrays.asList(MediaType.application("rss+xml"), MediaType.application("atom+xml")))); private static String stripTags(SyndContent c) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/iptc/IptcAnpaParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/iptc/IptcAnpaParser.java index 1ce5e4e0f9..40ec405f31 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/iptc/IptcAnpaParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-news-module/src/main/java/org/apache/tika/parser/iptc/IptcAnpaParser.java @@ -125,7 +125,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata) */ private HashMap loadProperties(InputStream is) { - HashMap properties = new HashMap(); + HashMap properties = new HashMap<>(); FORMAT = this.scanFormat(is); @@ -215,44 +215,65 @@ private byte[] getSection(InputStream is, String name) { byte[] value = new byte[0]; - if (name.equals("residual")) { - // the header shouldn't be more than 1k, but just being generous here - int maxsize = 8192; // 8K - byte bstart = - SYN; // check for SYN [0x16 : ctrl-v] (may have leftover residue from - // preceding message) - byte bfinish = - SOH; // check for SOH [0x01 : ctrl-a] (typically follows a pair of SYN - // [0x16 : ctrl-v]) - value = getSection(is, maxsize, bstart, bfinish, true); - } else if (name.equals("header")) { - // the header shouldn't be more than 1k, but just being generous here - int maxsize = 8192; // 8K - byte bstart = - SOH; // check for SOH [0x01 : ctrl-a] (typically follows a pair of SYN - // [0x16 : ctrl-v]) - byte bfinish = - STX; // check for STX [0x02 : ctrl-b] (marks end of header, beginning of - // message) - value = getSection(is, maxsize, bstart, bfinish, true); - } else if (name.equals("body")) { - // the message shouldn't be more than 16k (?), leaving plenty of space - int maxsize = 524288; // 512K - byte bstart = - STX; // check for STX [0x02 : ctrl-b] (marks end of header, beginning of - // message) - byte bfinish = - ETX; // check for ETX [0x03 : ctrl-c] (marks end of message, beginning of - // footer) - value = getSection(is, maxsize, bstart, bfinish, true); - } else if (name.equals("footer")) { - // the footer shouldn't be more than 1k , leaving plenty of space - int maxsize = 8192; // 8K - byte bstart = - ETX; // check for ETX [0x03 : ctrl-c] (marks end of message, beginning of - // footer) - byte bfinish = EOT; // check for EOT [0x04 : ctrl-d] (marks end of transmission) - value = getSection(is, maxsize, bstart, bfinish, true); + switch (name) { + case "residual": { + // the header shouldn't be more than 1k, but just being generous here + int maxsize = 8192; // 8K + + byte bstart = + SYN; // check for SYN [0x16 : ctrl-v] (may have leftover residue from + + // preceding message) + byte bfinish = + SOH; // check for SOH [0x01 : ctrl-a] (typically follows a pair of SYN + + // [0x16 : ctrl-v]) + value = getSection(is, maxsize, bstart, bfinish, true); + break; + } + case "header": { + // the header shouldn't be more than 1k, but just being generous here + int maxsize = 8192; // 8K + + byte bstart = + SOH; // check for SOH [0x01 : ctrl-a] (typically follows a pair of SYN + + // [0x16 : ctrl-v]) + byte bfinish = + STX; // check for STX [0x02 : ctrl-b] (marks end of header, beginning of + + // message) + value = getSection(is, maxsize, bstart, bfinish, true); + break; + } + case "body": { + // the message shouldn't be more than 16k (?), leaving plenty of space + int maxsize = 524288; // 512K + + byte bstart = + STX; // check for STX [0x02 : ctrl-b] (marks end of header, beginning of + + // message) + byte bfinish = + ETX; // check for ETX [0x03 : ctrl-c] (marks end of message, beginning of + + // footer) + value = getSection(is, maxsize, bstart, bfinish, true); + break; + } + case "footer": { + // the footer shouldn't be more than 1k , leaving plenty of space + int maxsize = 8192; // 8K + + byte bstart = + ETX; // check for ETX [0x03 : ctrl-c] (marks end of message, beginning of + + // footer) + byte bfinish = EOT; // check for EOT [0x04 : ctrl-d] (marks end of transmission) + + value = getSection(is, maxsize, bstart, bfinish, true); + break; + } } return (value); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java index a679cb2ee1..8cb9b202bb 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-ocr-module/src/main/java/org/apache/tika/parser/ocr/TesseractOCRParser.java @@ -439,23 +439,21 @@ private void extractHOCROutput(InputStream is, ParseContext parseContext, Conten * once fully processed. */ private Thread logStream(final InputStream stream, final StringBuilder out) { - return new Thread() { - public void run() { - Reader reader = new InputStreamReader(stream, UTF_8); - char[] buffer = new char[1024]; - try { - for (int n = reader.read(buffer); n != -1; n = reader.read(buffer)) { - out.append(buffer, 0, n); - } - } catch (IOException e) { - //swallow - } finally { - IOUtils.closeQuietly(stream); + return new Thread(() -> { + Reader reader = new InputStreamReader(stream, UTF_8); + char[] buffer = new char[1024]; + try { + for (int n = reader.read(buffer); n != -1; n = reader.read(buffer)) { + out.append(buffer, 0, n); } - - LOG.debug("{}", out); + } catch (IOException e) { + //swallow + } finally { + IOUtils.closeQuietly(stream); } - }; + + LOG.debug("{}", out); + }); } @Override diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java index 75d43d2ea2..3170885b32 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/AbstractPDF2XHTML.java @@ -783,9 +783,7 @@ protected void endDocument(PDDocument pdf) throws IOException { handleDestinationOrAction(additionalActions.getWS(), ActionTrigger.BEFORE_DOCUMENT_SAVE); xhtml.endDocument(); - } catch (TikaException e) { - throw new IOException("Unable to end a document", e); - } catch (SAXException e) { + } catch (TikaException | SAXException e) { throw new IOException("Unable to end a document", e); } if (fontNames.size() > 0) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java index 57659d5425..b7a498ab6e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java @@ -605,7 +605,7 @@ public void testSingleCloseDoc() throws Exception { @Test public void testVersions() throws Exception { - Map dcFormat = new HashMap(); + Map dcFormat = new HashMap<>(); dcFormat.put("4.x", "application/pdf; version=1.3"); dcFormat.put("5.x", "application/pdf; version=1.4"); dcFormat.put("6.x", "application/pdf; version=1.5"); @@ -615,7 +615,7 @@ public void testVersions() throws Exception { dcFormat.put("10.x", "application/pdf; version=1.7"); dcFormat.put("11.x.PDFA-1b", "application/pdf; version=1.7"); - Map pdfVersions = new HashMap(); + Map pdfVersions = new HashMap<>(); pdfVersions.put("4.x", "1.3"); pdfVersions.put("5.x", "1.4"); pdfVersions.put("6.x", "1.5"); @@ -625,7 +625,7 @@ public void testVersions() throws Exception { pdfVersions.put("10.x", "1.7"); pdfVersions.put("11.x.PDFA-1b", "1.7"); - Map pdfExtensionVersions = new HashMap(); + Map pdfExtensionVersions = new HashMap<>(); pdfExtensionVersions.put("9.x", "1.7 Adobe Extension Level 3"); pdfExtensionVersions.put("10.x", "1.7 Adobe Extension Level 8"); pdfExtensionVersions.put("11.x.PDFA-1b", "1.7 Adobe Extension Level 8"); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java index 05e46d2a37..b95588a74f 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/main/java/org/apache/tika/parser/pkg/CompressorParser.java @@ -177,11 +177,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, CompressorInputStream cis; try { CompressorParserOptions options = - context.get(CompressorParserOptions.class, new CompressorParserOptions() { - public boolean decompressConcatenated(Metadata metadata) { - return false; - } - }); + context.get(CompressorParserOptions.class, metadata1 -> false); CompressorStreamFactory factory = new CompressorStreamFactory(options.decompressConcatenated(metadata), memoryLimitInKb); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java index 1bde88ba2f..97855608ac 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pkg-module/src/test/java/org/apache/tika/parser/pkg/AbstractPkgTest.java @@ -57,10 +57,10 @@ public void setUp() throws Exception { @SuppressWarnings("serial") protected static class EmbeddedTrackingParser extends AbstractParser { - protected List filenames = new ArrayList(); - protected List mediatypes = new ArrayList(); - protected List createdAts = new ArrayList(); - protected List modifiedAts = new ArrayList(); + protected List filenames = new ArrayList<>(); + protected List mediatypes = new ArrayList<>(); + protected List createdAts = new ArrayList<>(); + protected List modifiedAts = new ArrayList<>(); protected byte[] lastSeenStart; public void reset() { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java index 3e5003fca3..e0a79337fe 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/TextAndCSVParser.java @@ -85,7 +85,7 @@ public class TextAndCSVParser extends AbstractEncodingDetectorParser { private static final Map CHAR_TO_STRING_DELIMITER_MAP = new HashMap<>(); private static final Map STRING_TO_CHAR_DELIMITER_MAP = new HashMap<>(); private static final Set SUPPORTED_TYPES = Collections - .unmodifiableSet(new HashSet(Arrays.asList(CSV, TSV, MediaType.TEXT_PLAIN))); + .unmodifiableSet(new HashSet<>(Arrays.asList(CSV, TSV, MediaType.TEXT_PLAIN))); static { CHAR_TO_STRING_DELIMITER_MAP.put(',', "comma"); @@ -346,7 +346,7 @@ private void updateMetadata(CSVParams params, Metadata metadata) { if (CHAR_TO_STRING_DELIMITER_MAP.containsKey(params.getDelimiter())) { attrs.put(DELIMITER, CHAR_TO_STRING_DELIMITER_MAP.get(params.getDelimiter())); } else { - attrs.put(DELIMITER, Integer.toString((int) params.getDelimiter().charValue())); + attrs.put(DELIMITER, Integer.toString((int) params.getDelimiter())); } } MediaType type = new MediaType(mediaType, attrs); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/Latin1StringsParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/Latin1StringsParser.java index 068ca70b0c..ce45e41b4b 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/Latin1StringsParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/Latin1StringsParser.java @@ -129,7 +129,7 @@ private static boolean[] getCharMap() { * @return the set of supported types */ private static Set getTypes() { - HashSet supportedTypes = new HashSet(); + HashSet supportedTypes = new HashSet<>(); supportedTypes.add(MediaType.OCTET_STREAM); return supportedTypes; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java index 9d2cd1208c..615a981af0 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java @@ -178,7 +178,7 @@ private int doStrings(File input, StringsConfig config, XHTMLContentHandler xhtm String stringsProg = getStringsPath() + getStringsProg(); // Builds the command array - ArrayList cmdList = new ArrayList(4); + ArrayList cmdList = new ArrayList<>(4); cmdList.add(stringsProg); cmdList.add("-n"); cmdList.add("" + config.getMinLength()); @@ -217,22 +217,20 @@ private int doStrings(File input, StringsConfig config, XHTMLContentHandler xhtm private Thread logStream(final InputStream stream, final ContentHandler handler, final AtomicInteger totalBytes) { - return new Thread() { - public void run() { - Reader reader = new InputStreamReader(stream, UTF_8); - char[] buffer = new char[1024]; - try { - for (int n = reader.read(buffer); n != -1; n = reader.read(buffer)) { - handler.characters(buffer, 0, n); - totalBytes.addAndGet(n); - } - } catch (SAXException | IOException e) { - //swallow - } finally { - IOUtils.closeQuietly(stream); + return new Thread(() -> { + Reader reader = new InputStreamReader(stream, UTF_8); + char[] buffer = new char[1024]; + try { + for (int n = reader.read(buffer); n != -1; n = reader.read(buffer)) { + handler.characters(buffer, 0, n); + totalBytes.addAndGet(n); } + } catch (SAXException | IOException e) { + //swallow + } finally { + IOUtils.closeQuietly(stream); } - }; + }); } public String getStringsPath() { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java index a7b455a498..1480757e27 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetDetector.java @@ -304,7 +304,7 @@ public CharsetMatch[] detectAll() { int i; CharsetMatch charsetMatch; int confidence; - ArrayList matches = new ArrayList(); + ArrayList matches = new ArrayList<>(); // Iterate over all possible charsets, remember all that // give a match quality > 0. for (i = 0; i < ALL_CS_RECOGNIZERS.size(); i++) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java index 36d02b194c..b4a549327e 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/txt/CharsetMatch.java @@ -160,7 +160,7 @@ public String getString(int maxLength) throws java.io.IOException { * should be stripped off before creating the string. */ int startSuffix = - name.indexOf("_rtl") < 0 ? name.indexOf("_ltr") : name.indexOf("_rtl"); + !name.contains("_rtl") ? name.indexOf("_ltr") : name.indexOf("_rtl"); if (startSuffix > 0) { name = name.substring(0, startSuffix); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java index 00c3e2ac4d..e47ca1ad04 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLParser.java @@ -50,7 +50,7 @@ public class XMLParser extends AbstractParser { private static final long serialVersionUID = -6028836725280212837L; private static final Set SUPPORTED_TYPES = Collections.unmodifiableSet( - new HashSet( + new HashSet<>( Arrays.asList(MediaType.application("xml"), MediaType.image("svg+xml")))); public Set getSupportedTypes(ParseContext context) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java index 71669199ef..f5edc127bf 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-xml-module/src/main/java/org/apache/tika/parser/xml/XMLProfiler.java @@ -124,11 +124,7 @@ public void startElement(String uri, String localName, String qName, Attributes if (starts == 0) { metadata.set(ROOT_ENTITY, qName); } - Set localNames = entities.get(uri); - if (localNames == null) { - localNames = new TreeSet<>(); - entities.put(uri, localNames); - } + Set localNames = entities.computeIfAbsent(uri, k -> new TreeSet<>()); localNames.add(localName); starts++; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/IPADetector.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/IPADetector.java index 57d4006aaa..1299357c8c 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/IPADetector.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/IPADetector.java @@ -20,7 +20,6 @@ import java.io.InputStream; import java.util.Enumeration; import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import java.util.regex.Pattern; @@ -60,12 +59,7 @@ public MediaType detect(ZipFile zip, TikaInputStream tis) throws IOException { ZipArchiveEntry entry = entries.nextElement(); String name = entry.getName(); - Iterator ip = tmpPatterns.patterns.iterator(); - while (ip.hasNext()) { - if (ip.next().matcher(name).matches()) { - ip.remove(); - } - } + tmpPatterns.patterns.removeIf(pattern -> pattern.matcher(name).matches()); if (tmpPatterns.patterns.isEmpty()) { // We've found everything we need to find return MediaType.application("x-itunes-ipa"); @@ -87,12 +81,7 @@ public MediaType streamingDetectUpdate(ZipArchiveEntry zae, InputStream zis, detectContext.set(TmpPatterns.class, tmp); } - Iterator ip = tmp.patterns.iterator(); - while (ip.hasNext()) { - if (ip.next().matcher(name).matches()) { - ip.remove(); - } - } + tmp.patterns.removeIf(pattern -> pattern.matcher(name).matches()); if (tmp.patterns.isEmpty()) { // We've found everything we need to find return IPA; diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StreamingDetectContext.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StreamingDetectContext.java index cd092cd45b..743b169776 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StreamingDetectContext.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/StreamingDetectContext.java @@ -29,7 +29,7 @@ public class StreamingDetectContext { /** * Map of objects in this context */ - private final Map context = new HashMap(); + private final Map context = new HashMap<>(); /** * Adds the given value to the context as an implementation of the given diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/ZipContainerDetectorBase.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/ZipContainerDetectorBase.java index 43155ac143..49332683fe 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/ZipContainerDetectorBase.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-zip-commons/src/main/java/org/apache/tika/detect/zip/ZipContainerDetectorBase.java @@ -17,7 +17,6 @@ package org.apache.tika.detect.zip; import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import java.util.regex.Pattern; @@ -95,12 +94,7 @@ static MediaType detectIpa(Set entryNames) { Set tmpPatterns = (Set) ipaEntryPatterns.clone(); for (String entryName : entryNames) { - Iterator ip = tmpPatterns.iterator(); - while (ip.hasNext()) { - if (ip.next().matcher(entryName).matches()) { - ip.remove(); - } - } + tmpPatterns.removeIf(pattern -> pattern.matcher(entryName).matches()); if (tmpPatterns.isEmpty()) { // We've found everything we need to find return MediaType.application("x-itunes-ipa"); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java index e5b3f82a1b..9510a2c4a9 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/detect/TestContainerAwareDetector.java @@ -22,10 +22,10 @@ import java.io.File; import java.io.FileFilter; -import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.util.List; +import java.util.Objects; import java.util.Random; import org.apache.poi.poifs.filesystem.POIFSFileSystem; @@ -355,11 +355,8 @@ public void testRemovalTempfiles() throws Exception { } private int countTemporaryFiles() { - return new File(System.getProperty("java.io.tmpdir")).listFiles(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.startsWith("apache-tika-"); - } - }).length; + return Objects.requireNonNull(new File(System.getProperty("java.io.tmpdir")) + .listFiles((dir, name) -> name.startsWith("apache-tika-"))).length; } private void assertRemovalTempfiles(String fileName) throws Exception { @@ -506,15 +503,7 @@ public void testTruncatedFiles() throws Exception { @Test public void testXMLMultiThreaded() throws Exception { Detector detector = new Tika().getDetector(); - FileFilter filter = new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getName().endsWith(".xml")) { - return true; - } - return false; - } - }; + FileFilter filter = pathname -> pathname.getName().endsWith(".xml"); int numThreads = 1; XMLReaderUtils.setPoolSize(numThreads); testDetector(detector, numThreads, 20, filter, numThreads * 2); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java index 00d99f6af8..effec6cbee 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectParserTest.java @@ -410,7 +410,7 @@ public MediaType detect(InputStream input, Metadata metadata) throws IOException @SuppressWarnings("serial") private static class MyParser extends AbstractParser { public Set getSupportedTypes(ParseContext context) { - Set supportedTypes = new HashSet(); + Set supportedTypes = new HashSet<>(); supportedTypes.add(MY_MEDIA_TYPE); return supportedTypes; } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectReaderParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectReaderParserTest.java index 7a914f3a6f..b64ae8cf0a 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectReaderParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/AutoDetectReaderParserTest.java @@ -16,7 +16,6 @@ */ package org.apache.tika.parser; -import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; @@ -49,15 +48,7 @@ public void testMulti() throws Exception { for (int i = 0; i < numThreads; i++) { contexts[i] = new ParseContext(); } - FileFilter fileFilter = new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getName().endsWith(".txt") || pathname.getName().endsWith(".html")) { - return true; - } - return false; - } - }; + FileFilter fileFilter = pathname -> pathname.getName().endsWith(".txt") || pathname.getName().endsWith(".html"); testMultiThreaded(AUTO_DETECT_PARSER, contexts, numThreads, numIterations, fileFilter); } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java index fd6c4d6fd0..0222f657ad 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/RecursiveParserWrapperTest.java @@ -17,6 +17,7 @@ package org.apache.tika.parser; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @@ -53,7 +54,7 @@ public void testBasicXML() throws Exception { Metadata container = list.get(0); String content = container.get(TikaCoreProperties.TIKA_CONTENT); //not much differentiates html from xml in this test file - assertTrue(content.indexOf("

") > -1); + assertTrue(content.contains("

")); } @Test @@ -63,7 +64,7 @@ public void testBasicHTML() throws Exception { Metadata container = list.get(0); String content = container.get(TikaCoreProperties.TIKA_CONTENT); //not much differentiates html from xml in this test file - assertTrue(content.indexOf("

") > -1); + assertTrue(content.contains("

")); } @Test @@ -72,8 +73,8 @@ public void testBasicText() throws Exception { new BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.TEXT, -1)); Metadata container = list.get(0); String content = container.get(TikaCoreProperties.TIKA_CONTENT); - assertTrue(content.indexOf("

-1); + assertFalse(content.contains("

targets = new HashSet(); + Set targets = new HashSet<>(); targets.add("/embed1.zip"); targets.add("/embed1.zip/embed2.zip"); targets.add("/embed1.zip/embed2.zip/embed3.zip"); @@ -190,9 +191,9 @@ public void testEmbeddedResourcePath() throws Exception { new BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.XML, -1)); Metadata container = list.get(0); String content = container.get(TikaCoreProperties.TIKA_CONTENT); - assertTrue(content.indexOf("

") > -1); + assertTrue(content.contains("

")); - Set seen = new HashSet(); + Set seen = new HashSet<>(); for (Metadata m : list) { String path = m.get(TikaCoreProperties.EMBEDDED_RESOURCE_PATH); if (path != null) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestParsers.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestParsers.java index c752e01606..1ffdf78cdd 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestParsers.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestParsers.java @@ -20,7 +20,6 @@ import static org.junit.Assert.assertTrue; import java.io.File; -import java.io.FileFilter; import java.io.FileInputStream; import java.io.InputStream; @@ -129,11 +128,6 @@ public void testAllMultiThreaded() throws Exception { for (int i = 0; i < 10; i++) { contexts[i] = new ParseContext(); } - testMultiThreaded(AUTO_DETECT_PARSER, contexts, 10, 100, new FileFilter() { - @Override - public boolean accept(File pathname) { - return true; - } - }); + testMultiThreaded(AUTO_DETECT_PARSER, contexts, 10, 100, pathname -> true); } } diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestXMLEntityExpansion.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestXMLEntityExpansion.java index e32b6c3e6f..f60950de01 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestXMLEntityExpansion.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/TestXMLEntityExpansion.java @@ -89,17 +89,14 @@ public void testVulnerableParser() throws Exception { .getBytes(StandardCharsets.UTF_8); byte[] injected = injectXML(bytes, ENTITY_EXPANSION_BOMB); - Thread thread = new Thread() { - @Override - public void run() { - try { - parse("injected", new ByteArrayInputStream(injected), - new XMLTestBase.VulnerableSAXParser(), new ParseContext()); - } catch (Exception e) { - throw new RuntimeException(e); - } + Thread thread = new Thread(() -> { + try { + parse("injected", new ByteArrayInputStream(injected), + new VulnerableSAXParser(), new ParseContext()); + } catch (Exception e) { + throw new RuntimeException(e); } - }; + }); thread.start(); Thread.sleep(10000); assertTrue(thread.isAlive()); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java index de302e4f23..95c11f2a04 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/fork/ForkParserIntegrationTest.java @@ -20,12 +20,11 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; -import java.io.File; -import java.io.FileFilter; import java.io.IOException; import java.io.InputStream; import java.io.NotSerializableException; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -137,8 +136,7 @@ public MediaType detect(InputStream input, Metadata metadata) { // Check the right details assertNotNull(e.getCause()); assertEquals(NotSerializableException.class, e.getCause().getClass()); - assertEquals("Unable to serialize ParseContext to pass to the Forked Parser", - e.getMessage()); + assertEquals("Unable to serialize ParseContext to pass to the Forked Parser",e.getMessage()); } finally { parser.close(); } @@ -218,22 +216,15 @@ public void smokeTest() throws Exception { parseContexts[i] = new ParseContext(); } try { - super.testMultiThreaded(parser, parseContexts, numThreads, 5, new FileFilter() { - @Override - public boolean accept(File pathname) { - if (pathname.getAbsolutePath().contains("mock")) { - return true; - } else { - return false; - } - /* - if (pathname.getName().contains("11_hang.rar") || - pathname.getName().contains("radar_profiles_2009.mat") || - pathname.getAbsolutePath().contains("mock")) { - //return false; - } - return true;*/ - } + super.testMultiThreaded(parser, parseContexts, numThreads, 5, pathname -> { + return pathname.getAbsolutePath().contains("mock"); + /* + if (pathname.getName().contains("11_hang.rar") || + pathname.getName().contains("radar_profiles_2009.mat") || + pathname.getAbsolutePath().contains("mock")) { + //return false; + } + return true;*/ }); } catch (Throwable t) { t.printStackTrace(); @@ -309,7 +300,7 @@ static class BrokenParser implements Parser { public RuntimeException re = null; public Set getSupportedTypes(ParseContext context) { - return new HashSet(Arrays.asList(MediaType.TEXT_PLAIN)); + return new HashSet<>(Collections.singletonList(MediaType.TEXT_PLAIN)); } public void parse(InputStream stream, ContentHandler handler, Metadata metadata, diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java index 2aa032cbf0..9a47db9c64 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/mail/RFC822ParserTest.java @@ -120,11 +120,7 @@ public void testEncryptedZipAttachment() throws Exception { // Try again, this time with the password supplied // Check that we also get the zip's contents as well - context.set(PasswordProvider.class, new PasswordProvider() { - public String getPassword(Metadata metadata) { - return "test"; - } - }); + context.set(PasswordProvider.class, metadata1 -> "test"); stream = getStream("test-documents/testRFC822_encrypted_zip"); handler = new BodyContentHandler(); EXTRACT_ALL_ALTERNATIVES_PARSER.parse(stream, handler, metadata, context); diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/Seven7ParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/Seven7ParserTest.java index c6046ae5e9..ab2698358b 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/Seven7ParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/Seven7ParserTest.java @@ -112,12 +112,7 @@ public void testPasswordProtected() throws Exception { // Wrong password currently silently gives no content // Ideally we'd like Commons Compress to give an error, but it doesn't... - recursingContext.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "wrong"; - } - }); + recursingContext.set(PasswordProvider.class, metadata1 -> "wrong"); handler = new BodyContentHandler(); try (InputStream stream = getResourceAsStream( "/test-documents/test7Z_protected_passTika.7z")) { @@ -137,12 +132,7 @@ public String getPassword(Metadata metadata) { ex = false; // Right password works fine if JCE Unlimited Strength has been installed!!! if (isStrongCryptoAvailable()) { - recursingContext.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "Tika"; - } - }); + recursingContext.set(PasswordProvider.class, metadata12 -> "Tika"); handler = new BodyContentHandler(); try (InputStream stream = getResourceAsStream( "/test-documents/test7Z_protected_passTika.7z")) { @@ -163,12 +153,7 @@ public String getPassword(Metadata metadata) { } else { //if jce is not installed, test for IOException wrapped in TikaException boolean ioe = false; - recursingContext.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return "Tika"; - } - }); + recursingContext.set(PasswordProvider.class, metadata13 -> "Tika"); handler = new BodyContentHandler(); try (InputStream stream = getResourceAsStream( "/test-documents/test7Z_protected_passTika.7z")) { diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java index d30435f6e4..f7b632c945 100644 --- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java +++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java @@ -124,7 +124,7 @@ public void testDataDescriptorWithEmptyEntry() throws Exception { } private class GatherRelIDsDocumentExtractor implements EmbeddedDocumentExtractor { - public Set allRelIDs = new HashSet(); + public Set allRelIDs = new HashSet<>(); public boolean shouldParseEmbedded(Metadata metadata) { String relID = metadata.get(TikaCoreProperties.EMBEDDED_RELATIONSHIP_ID); diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java index c69924d16a..e17d04fb88 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/envi/EnviHeaderParser.java @@ -161,8 +161,8 @@ private String[] parseMapInfoContents(String mapInfoValue) { private String[] convertMapInfoValuesToLatLngAndSetMetadata(String[] mapInfoValues, Metadata metadata) { // Based on the map info data, pixelEasting is at index 3 and pixelNorthing is at index 4 - double pixelEasting = Double.valueOf(mapInfoValues[3].trim()); - double pixelNorthing = Double.valueOf(mapInfoValues[4].trim()); + double pixelEasting = Double.parseDouble(mapInfoValues[3].trim()); + double pixelNorthing = Double.parseDouble(mapInfoValues[4].trim()); int zone = 0; if (!mapInfoValues[7].trim().isEmpty()) { zone = Integer.parseInt(mapInfoValues[7].trim()); diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/gdal/GDALParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/gdal/GDALParser.java index 936d9afddf..1ae76c832f 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/gdal/GDALParser.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/gdal/GDALParser.java @@ -206,7 +206,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, } private Map getPatterns() { - Map patterns = new HashMap(); + Map patterns = new HashMap<>(); this.addPatternWithColon("Driver", patterns); this.addPatternWithColon("Files", patterns); this.addPatternWithIs("Size", patterns); diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java index aa62890dfb..b086e14468 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISATabUtils.java @@ -174,7 +174,7 @@ private static void extractMetadata(Reader reader, Metadata metadata, String stu boolean studySection = false; boolean studyTarget = false; - Map map = new HashMap(); + Map map = new HashMap<>(); try (CSVParser csvParser = new CSVParser(reader, CSVFormat.TDF)) { diff --git a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java index 6e95d1b08b..01e4187dac 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-scientific-module/src/main/java/org/apache/tika/parser/isatab/ISArchiveParser.java @@ -17,7 +17,6 @@ package org.apache.tika.parser.isatab; import java.io.File; -import java.io.FilenameFilter; import java.io.IOException; import java.io.InputStream; import java.util.Collections; @@ -87,13 +86,7 @@ public void parse(InputStream stream, ContentHandler handler, Metadata metadata, this.studyFileName = tis.getFile().getName(); File locationFile = new File(location); - String[] investigationList = locationFile.list(new FilenameFilter() { - - @Override - public boolean accept(File dir, String name) { - return name.matches("i_.+\\.txt"); - } - }); + String[] investigationList = locationFile.list((dir, name) -> name.matches("i_.+\\.txt")); XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata); xhtml.startDocument(); diff --git a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/src/main/java/org/apache/tika/parser/sqlite3/SQLite3DBParser.java b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/src/main/java/org/apache/tika/parser/sqlite3/SQLite3DBParser.java index 36e1d0594b..f4c9d745e6 100644 --- a/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/src/main/java/org/apache/tika/parser/sqlite3/SQLite3DBParser.java +++ b/tika-parsers/tika-parsers-extended/tika-parser-sqlite3-module/src/main/java/org/apache/tika/parser/sqlite3/SQLite3DBParser.java @@ -120,7 +120,7 @@ protected String getJDBCClassName() { @Override protected List getTableNames(Connection connection, Metadata metadata, ParseContext context) throws SQLException { - List tableNames = new LinkedList(); + List tableNames = new LinkedList<>(); try (Statement st = connection.createStatement()) { String sql = "SELECT name FROM sqlite_master WHERE type='table'"; diff --git a/tika-parsers/tika-parsers-extended/tika-parsers-extended-integration-tests/src/test/java/org/apache/tika/parser/sqlite3/SQLite3ParserTest.java b/tika-parsers/tika-parsers-extended/tika-parsers-extended-integration-tests/src/test/java/org/apache/tika/parser/sqlite3/SQLite3ParserTest.java index e5d61e0056..b04e1f3df6 100644 --- a/tika-parsers/tika-parsers-extended/tika-parsers-extended-integration-tests/src/test/java/org/apache/tika/parser/sqlite3/SQLite3ParserTest.java +++ b/tika-parsers/tika-parsers-extended/tika-parsers-extended-integration-tests/src/test/java/org/apache/tika/parser/sqlite3/SQLite3ParserTest.java @@ -221,7 +221,7 @@ public void testInputStreamReset() throws Exception { public static class InputStreamResettingHandler implements EmbeddedResourceHandler { - public List bytes = new ArrayList(); + public List bytes = new ArrayList<>(); @Override public void handle(String filename, MediaType mediaType, InputStream stream) { diff --git a/tika-pipes/tika-emitters/tika-emitter-fs/src/main/java/org/apache/tika/pipes/emitter/fs/FileSystemEmitter.java b/tika-pipes/tika-emitters/tika-emitter-fs/src/main/java/org/apache/tika/pipes/emitter/fs/FileSystemEmitter.java index 285142b1cd..cf67509573 100644 --- a/tika-pipes/tika-emitters/tika-emitter-fs/src/main/java/org/apache/tika/pipes/emitter/fs/FileSystemEmitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-fs/src/main/java/org/apache/tika/pipes/emitter/fs/FileSystemEmitter.java @@ -110,15 +110,19 @@ public void setFileExtension(String fileExtension) { @Field public void setOnExists(String onExists) { - if (onExists.equals("skip")) { - this.onExists = ON_EXISTS.SKIP; - } else if (onExists.equals("replace")) { - this.onExists = ON_EXISTS.REPLACE; - } else if (onExists.equals("exception")) { - this.onExists = ON_EXISTS.EXCEPTION; - } else { - throw new IllegalArgumentException("Don't understand '" + onExists + - "'; must be one of: 'skip', 'replace', 'exception'"); + switch (onExists) { + case "skip": + this.onExists = ON_EXISTS.SKIP; + break; + case "replace": + this.onExists = ON_EXISTS.REPLACE; + break; + case "exception": + this.onExists = ON_EXISTS.EXCEPTION; + break; + default: + throw new IllegalArgumentException("Don't understand '" + onExists + + "'; must be one of: 'skip', 'replace', 'exception'"); } } diff --git a/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java b/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java index 6f9c745c91..fc8f03afd5 100644 --- a/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-s3/src/main/java/org/apache/tika/pipes/emitter/s3/S3Emitter.java @@ -129,8 +129,7 @@ public void emit(String emitKey, List metadataList) emit(emitKey, is, new Metadata()); } } else { - TemporaryResources tmp = new TemporaryResources(); - try { + try (TemporaryResources tmp = new TemporaryResources()) { Path tmpPath = tmp.createTempFile(); try (Writer writer = Files.newBufferedWriter(tmpPath, StandardCharsets.UTF_8, StandardOpenOption.CREATE)) { @@ -141,8 +140,6 @@ public void emit(String emitKey, List metadataList) try (InputStream is = TikaInputStream.get(tmpPath)) { emit(emitKey, is, new Metadata()); } - } finally { - tmp.close(); } } } diff --git a/tika-pipes/tika-emitters/tika-emitter-solr/src/main/java/org/apache/tika/pipes/emitter/solr/SolrEmitter.java b/tika-pipes/tika-emitters/tika-emitter-solr/src/main/java/org/apache/tika/pipes/emitter/solr/SolrEmitter.java index f43963efe8..0d9cd358ac 100644 --- a/tika-pipes/tika-emitters/tika-emitter-solr/src/main/java/org/apache/tika/pipes/emitter/solr/SolrEmitter.java +++ b/tika-pipes/tika-emitters/tika-emitter-solr/src/main/java/org/apache/tika/pipes/emitter/solr/SolrEmitter.java @@ -195,14 +195,18 @@ private void jsonify(Metadata metadata, JsonGenerator jsonGenerator) throws IOEx */ @Field public void setAttachmentStrategy(String attachmentStrategy) { - if (attachmentStrategy.equals("skip")) { - this.attachmentStrategy = AttachmentStrategy.SKIP; - } else if (attachmentStrategy.equals("concatenate-content")) { - this.attachmentStrategy = AttachmentStrategy.CONCATENATE_CONTENT; - } else if (attachmentStrategy.equals("parent-child")) { - this.attachmentStrategy = AttachmentStrategy.PARENT_CHILD; - } else { - throw new IllegalArgumentException("Expected 'skip', 'concatenate-content' or " + + switch (attachmentStrategy) { + case "skip": + this.attachmentStrategy = AttachmentStrategy.SKIP; + break; + case "concatenate-content": + this.attachmentStrategy = AttachmentStrategy.CONCATENATE_CONTENT; + break; + case "parent-child": + this.attachmentStrategy = AttachmentStrategy.PARENT_CHILD; + break; + default: + throw new IllegalArgumentException("Expected 'skip', 'concatenate-content' or " + "'parent-child'. I regret I do not recognize: " + attachmentStrategy); } } diff --git a/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java b/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java index 77619f935c..153fe869c4 100644 --- a/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java +++ b/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java @@ -319,26 +319,23 @@ private String decrypt(String encrypted) throws TikaConfigException { //if there's a bad/missing keepalive strategy public ConnectionKeepAliveStrategy getKeepAliveStrategy() { - return new ConnectionKeepAliveStrategy() { - - public long getKeepAliveDuration(HttpResponse response, HttpContext context) { - // Honor 'keep-alive' header - HeaderElementIterator it = new BasicHeaderElementIterator( - response.headerIterator(HTTP.CONN_KEEP_ALIVE)); - while (it.hasNext()) { - HeaderElement he = it.nextElement(); - String param = he.getName(); - String value = he.getValue(); - if (value != null && param != null && - param.equalsIgnoreCase("timeout")) { - try { - return Long.parseLong(value) * 1000; - } catch (NumberFormatException ignore) { - } + return (response, context) -> { + // Honor 'keep-alive' header + HeaderElementIterator it = new BasicHeaderElementIterator( + response.headerIterator(HTTP.CONN_KEEP_ALIVE)); + while (it.hasNext()) { + HeaderElement he = it.nextElement(); + String param = he.getName(); + String value = he.getValue(); + if (value != null && param != null && + param.equalsIgnoreCase("timeout")) { + try { + return Long.parseLong(value) * 1000; + } catch (NumberFormatException ignore) { } } - return keepAliveOnBadKeepAliveValueMs; } + return keepAliveOnBadKeepAliveValueMs; }; } diff --git a/tika-serialization/src/main/java/org/apache/tika/metadata/serialization/JsonFetchEmitTuple.java b/tika-serialization/src/main/java/org/apache/tika/metadata/serialization/JsonFetchEmitTuple.java index fcc7b97c17..53a4f2d1a5 100644 --- a/tika-serialization/src/main/java/org/apache/tika/metadata/serialization/JsonFetchEmitTuple.java +++ b/tika-serialization/src/main/java/org/apache/tika/metadata/serialization/JsonFetchEmitTuple.java @@ -129,17 +129,21 @@ private static HandlerConfig getHandlerConfig(JsonParser jParser) throws IOExcep int maxEmbeddedResources = -1; String fieldName = jParser.nextFieldName(); while (fieldName != null) { - if (HANDLER_CONFIG_TYPE.equals(fieldName)) { - String value = jParser.nextTextValue(); - handlerType = BasicContentHandlerFactory - .parseHandlerType(value, HandlerConfig.DEFAULT_HANDLER_CONFIG.getType()); - } else if (HANDLER_CONFIG_WRITE_LIMIT.equals(fieldName)) { - writeLimit = jParser.nextIntValue(-1); - } else if (HANDLER_CONFIG_MAX_EMBEDDED_RESOURCES.equals(fieldName)) { - maxEmbeddedResources = jParser.nextIntValue(-1); - } else { - throw new IllegalArgumentException("I regret I don't understand '" + fieldName + - "' in the context of a handler config"); + switch (fieldName) { + case HANDLER_CONFIG_TYPE: + String value = jParser.nextTextValue(); + handlerType = BasicContentHandlerFactory + .parseHandlerType(value, HandlerConfig.DEFAULT_HANDLER_CONFIG.getType()); + break; + case HANDLER_CONFIG_WRITE_LIMIT: + writeLimit = jParser.nextIntValue(-1); + break; + case HANDLER_CONFIG_MAX_EMBEDDED_RESOURCES: + maxEmbeddedResources = jParser.nextIntValue(-1); + break; + default: + throw new IllegalArgumentException("I regret I don't understand '" + fieldName + + "' in the context of a handler config"); } fieldName = jParser.nextFieldName(); } diff --git a/tika-serialization/src/test/java/org/apache/tika/metadata/serialization/JsonMetadataListTest.java b/tika-serialization/src/test/java/org/apache/tika/metadata/serialization/JsonMetadataListTest.java index 9ae1e711f9..cb71859a5b 100644 --- a/tika-serialization/src/test/java/org/apache/tika/metadata/serialization/JsonMetadataListTest.java +++ b/tika-serialization/src/test/java/org/apache/tika/metadata/serialization/JsonMetadataListTest.java @@ -53,7 +53,7 @@ public void testListBasic() throws Exception { m2.add("k3", "v4"); m2.add("k4", "v1"); - List metadataList = new LinkedList(); + List metadataList = new LinkedList<>(); metadataList.add(m1); metadataList.add(m2); StringWriter writer = new StringWriter(); @@ -110,7 +110,7 @@ public void testPrettyPrint() throws Exception { m2.add("k3", "v4"); m2.add("k4", "v1"); - List metadataList = new LinkedList(); + List metadataList = new LinkedList<>(); metadataList.add(m1); metadataList.add(m2); StringWriter writer = new StringWriter(); diff --git a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/DetectorResourceTest.java b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/DetectorResourceTest.java index 3e06d2e486..916cd0600d 100644 --- a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/DetectorResourceTest.java +++ b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/DetectorResourceTest.java @@ -54,7 +54,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TarWriter()); providers.add(new ZipWriter()); providers.add(new TikaServerParseExceptionMapper(false)); diff --git a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/MetadataResourceTest.java b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/MetadataResourceTest.java index 3d5a0f3f36..27d0b547ff 100644 --- a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/MetadataResourceTest.java +++ b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/MetadataResourceTest.java @@ -67,7 +67,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new JSONMessageBodyWriter()); providers.add(new CSVMessageBodyWriter()); providers.add(new XMPMessageBodyWriter()); @@ -85,7 +85,7 @@ public void testSimpleWord() throws Exception { CSVParser csvReader = new CSVParser(reader, CSVFormat.EXCEL); - Map metadata = new HashMap(); + Map metadata = new HashMap<>(); for (CSVRecord r : csvReader) { metadata.put(r.get(0), r.get(1)); @@ -126,7 +126,7 @@ public void testPasswordProtected() throws Exception { Reader reader = new InputStreamReader((InputStream) response.getEntity(), UTF_8); CSVParser csvReader = new CSVParser(reader, CSVFormat.EXCEL); - Map metadata = new HashMap(); + Map metadata = new HashMap<>(); for (CSVRecord r : csvReader) { metadata.put(r.get(0), r.get(1)); diff --git a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/UnpackerResourceTest.java b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/UnpackerResourceTest.java index d1bc0ebc44..65bcc1a733 100644 --- a/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/UnpackerResourceTest.java +++ b/tika-server/tika-server-classic/src/test/java/org/apache/tika/server/classic/UnpackerResourceTest.java @@ -81,7 +81,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TarWriter()); providers.add(new ZipWriter()); providers.add(new TikaServerParseExceptionMapper(false)); diff --git a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java index c82d4a91b5..5329fae175 100644 --- a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java +++ b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java @@ -175,9 +175,7 @@ public Integer call() throws Exception { try { LOGGER.debug("about to parse: {}", t.getFetchKey()); client.parse(t); - } catch (IOException e) { - LOGGER.warn(t.getFetchKey().toString(), e); - } catch (TikaException e) { + } catch (IOException | TikaException e) { LOGGER.warn(t.getFetchKey().toString(), e); } } diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerProcess.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerProcess.java index 342a09759a..e44229867a 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerProcess.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerProcess.java @@ -122,13 +122,13 @@ public static void main(String[] args) throws Exception { if (tikaServerConfig.isEnableUnsecureFeatures()) { final AsyncResource localAsyncResource = new AsyncResource(tikaServerConfig.getConfigPath()); - Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { - try { - localAsyncResource.shutdownNow(); - } catch (Exception e) { - e.printStackTrace(); - } - } } ); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + localAsyncResource.shutdownNow(); + } catch (Exception e) { + e.printStackTrace(); + } + })); asyncResource = localAsyncResource; } @@ -369,29 +369,25 @@ private static List loadCoreProviders(TikaServerConfig tikaSer if (addAsyncResource) { final AsyncResource localAsyncResource = new AsyncResource(tikaServerConfig.getConfigPath()); - Runtime.getRuntime().addShutdownHook(new Thread() { - public void run() { - try { - localAsyncResource.shutdownNow(); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + localAsyncResource.shutdownNow(); + } catch (Exception e) { + e.printStackTrace(); + } + })); resourceProviders.add(new SingletonResourceProvider(localAsyncResource)); } if (addPipesResource) { final PipesResource localPipesResource = new PipesResource(tikaServerConfig.getConfigPath()); - Runtime.getRuntime().addShutdownHook(new Thread() { - public void run() { - try { - localPipesResource.close(); - } catch (Exception e) { - e.printStackTrace(); - } + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + localPipesResource.close(); + } catch (Exception e) { + e.printStackTrace(); } - }); + })); resourceProviders.add(new SingletonResourceProvider(localPipesResource)); } resourceProviders.addAll(loadResourceServices()); diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerWatchDog.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerWatchDog.java index 46eb29fba1..186d84ae50 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerWatchDog.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/TikaServerWatchDog.java @@ -68,20 +68,18 @@ public class TikaServerWatchDog implements Callable { } private static void redirectIO(final InputStream src, final PrintStream targ) { - Thread gobbler = new Thread(new Runnable() { - public void run() { - BufferedReader reader = - new BufferedReader(new InputStreamReader(src, StandardCharsets.UTF_8)); - String line = null; - try { + Thread gobbler = new Thread(() -> { + BufferedReader reader = + new BufferedReader(new InputStreamReader(src, StandardCharsets.UTF_8)); + String line; + try { + line = reader.readLine(); + while (line != null) { + targ.println(line); line = reader.readLine(); - while (line != null) { - targ.println(line); - line = reader.readLine(); - } - } catch (IOException e) { - //swallow } + } catch (IOException e) { + //swallow } }); gobbler.setDaemon(true); diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/config/PasswordProviderConfig.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/config/PasswordProviderConfig.java index ab176ef4a7..ca0d128a96 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/config/PasswordProviderConfig.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/config/PasswordProviderConfig.java @@ -48,12 +48,7 @@ public void configure(MultivaluedMap httpHeaders, Metadata metad } if (tmpPassword != null) { final String password = tmpPassword; - context.set(PasswordProvider.class, new PasswordProvider() { - @Override - public String getPassword(Metadata metadata) { - return password; - } - }); + context.set(PasswordProvider.class, metadata1 -> password); } } diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaDetectors.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaDetectors.java index e13bb363a2..86ab733018 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaDetectors.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaDetectors.java @@ -77,7 +77,7 @@ private void detectorAsHTML(Detector d, StringBuffer html, int level) { @GET @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON) public String getDetectorsJSON() throws IOException { - Map details = new HashMap(); + Map details = new HashMap<>(); detectorAsMap(TikaResource.getConfig().getDetector(), details); return new ObjectMapper().writeValueAsString(details); } @@ -88,9 +88,9 @@ private void detectorAsMap(Detector d, Map details) { boolean isComposite = (d instanceof CompositeDetector); details.put("composite", isComposite); if (isComposite) { - List> c = new ArrayList>(); + List> c = new ArrayList<>(); for (Detector cd : ((CompositeDetector) d).getDetectors()) { - Map cdet = new HashMap(); + Map cdet = new HashMap<>(); detectorAsMap(cd, cdet); c.add(cdet); } diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaMimeTypes.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaMimeTypes.java index dab53d46ab..7b1887fba3 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaMimeTypes.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaMimeTypes.java @@ -66,7 +66,7 @@ public String getMimeTypesHTML() { List types = getMediaTypes(); // Get the first type in each section - SortedMap firstType = new TreeMap(); + SortedMap firstType = new TreeMap<>(); for (MediaTypeDetails type : types) { if (!firstType.containsKey(type.type.getType())) { firstType.put(type.type.getType(), type.type.toString()); @@ -104,10 +104,10 @@ public String getMimeTypesHTML() { @GET @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON) public String getMimeTypesJSON() throws IOException { - Map details = new HashMap(); + Map details = new HashMap<>(); for (MediaTypeDetails type : getMediaTypes()) { - Map typeDets = new HashMap(); + Map typeDets = new HashMap<>(); typeDets.put("alias", copyToStringArray(type.aliases)); if (type.supertype != null) { @@ -152,7 +152,7 @@ protected List getMediaTypes() { Map parsers = ((CompositeParser) TikaResource.getConfig().getParser()).getParsers(); List types = - new ArrayList(registry.getTypes().size()); + new ArrayList<>(registry.getTypes().size()); for (MediaType type : registry.getTypes()) { MediaTypeDetails details = new MediaTypeDetails(); diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaParsers.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaParsers.java index ea8ea1fe33..8c43037b8d 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaParsers.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaParsers.java @@ -129,7 +129,7 @@ public String getParsersJSON() throws IOException { } protected String getParsersJSON(boolean withMimeTypes) throws IOException { - Map details = new HashMap(); + Map details = new HashMap<>(); parserAsMap(new ParserDetails(TikaResource.getConfig().getParser()), withMimeTypes, details); ObjectMapper objectMapper = new ObjectMapper(); @@ -142,15 +142,15 @@ private void parserAsMap(ParserDetails p, boolean withMimeTypes, Map> c = new ArrayList>(); + List> c = new ArrayList<>(); for (Parser cp : p.childParsers) { - Map cdet = new HashMap(); + Map cdet = new HashMap<>(); parserAsMap(new ParserDetails(cp), withMimeTypes, cdet); c.add(cdet); } details.put("children", c); } else if (withMimeTypes) { - List mts = new ArrayList(p.supportedTypes.size()); + List mts = new ArrayList<>(p.supportedTypes.size()); for (MediaType mt : p.supportedTypes) { mts.add(mt.toString()); } @@ -235,9 +235,9 @@ private ParserDetails(Parser p) { // Get the unique set of child parsers Set children = - new HashSet(((CompositeParser) p).getParsers(EMPTY_PC).values()); + new HashSet<>(((CompositeParser) p).getParsers(EMPTY_PC).values()); // Sort it by class name - childParsers = new ArrayList(children); + childParsers = new ArrayList<>(children); childParsers.sort(Comparator.comparing(parser -> parser.getClass().getName())); } else { supportedTypes = p.getSupportedTypes(EMPTY_PC); diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaResource.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaResource.java index 260da2d49f..6a823cf70d 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaResource.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaResource.java @@ -23,7 +23,6 @@ import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.lang.reflect.Field; @@ -432,15 +431,12 @@ public StreamingOutput produceTextMain(final InputStream is, logRequest(LOG, "/tika", metadata); - return new StreamingOutput() { - public void write(OutputStream outputStream) - throws IOException, WebApplicationException { - Writer writer = new OutputStreamWriter(outputStream, UTF_8); + return outputStream -> { + Writer writer = new OutputStreamWriter(outputStream, UTF_8); - ContentHandler handler = new BoilerpipeContentHandler(writer); + ContentHandler handler = new BoilerpipeContentHandler(writer); - parse(parser, LOG, info.getPath(), is, handler, metadata, context); - } + parse(parser, LOG, info.getPath(), is, handler, metadata, context); }; } @@ -466,16 +462,13 @@ public StreamingOutput produceText(final InputStream is, final Metadata metadata logRequest(LOG, "/tika", metadata); - return new StreamingOutput() { - public void write(OutputStream outputStream) - throws IOException, WebApplicationException { - Writer writer = new OutputStreamWriter(outputStream, UTF_8); + return outputStream -> { + Writer writer = new OutputStreamWriter(outputStream, UTF_8); - BodyContentHandler body = - new BodyContentHandler(new RichTextContentHandler(writer)); + BodyContentHandler body = + new BodyContentHandler(new RichTextContentHandler(writer)); - parse(parser, LOG, info.getPath(), is, body, metadata, context); - } + parse(parser, LOG, info.getPath(), is, body, metadata, context); }; } @@ -618,27 +611,24 @@ private StreamingOutput produceOutput(final InputStream is, Metadata metadata, logRequest(LOG, "/tika", metadata); - return new StreamingOutput() { - public void write(OutputStream outputStream) - throws IOException, WebApplicationException { - Writer writer = new OutputStreamWriter(outputStream, UTF_8); - ContentHandler content; - - try { - SAXTransformerFactory factory = - (SAXTransformerFactory) SAXTransformerFactory.newInstance(); - TransformerHandler handler = factory.newTransformerHandler(); - handler.getTransformer().setOutputProperty(OutputKeys.METHOD, format); - handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes"); - handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, UTF_8.name()); - handler.setResult(new StreamResult(writer)); - content = new ExpandedTitleContentHandler(handler); - } catch (TransformerConfigurationException e) { - throw new WebApplicationException(e); - } + return outputStream -> { + Writer writer = new OutputStreamWriter(outputStream, UTF_8); + ContentHandler content; - parse(parser, LOG, info.getPath(), is, content, metadata, context); + try { + SAXTransformerFactory factory = + (SAXTransformerFactory) SAXTransformerFactory.newInstance(); + TransformerHandler handler = factory.newTransformerHandler(); + handler.getTransformer().setOutputProperty(OutputKeys.METHOD, format); + handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes"); + handler.getTransformer().setOutputProperty(OutputKeys.ENCODING, UTF_8.name()); + handler.setResult(new StreamResult(writer)); + content = new ExpandedTitleContentHandler(handler); + } catch (TransformerConfigurationException e) { + throw new WebApplicationException(e); } + + parse(parser, LOG, info.getPath(), is, content, metadata, context); }; } diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java index 1262e62ed6..6606d90f68 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java @@ -50,7 +50,7 @@ public class TikaWelcome { private static final String DOCS_URL = "https://wiki.apache.org/tika/TikaJAXRS"; private static final Map, String> HTTP_METHODS = - new HashMap, String>(); + new HashMap<>(); static { HTTP_METHODS.put(DELETE.class, "DELETE"); @@ -63,7 +63,7 @@ public class TikaWelcome { private Tika tika; private HTMLHelper html; - private List> endpoints = new LinkedList>(); + private List> endpoints = new LinkedList<>(); public TikaWelcome(List rCoreProviders) { this.tika = new Tika(TikaResource.getConfig()); @@ -74,7 +74,7 @@ public TikaWelcome(List rCoreProviders) { } protected List identifyEndpoints() { - List found = new ArrayList(); + List found = new ArrayList<>(); for (Class endpoint : endpoints) { Path p = endpoint.getAnnotation(Path.class); String basePath = null; @@ -122,16 +122,7 @@ protected List identifyEndpoints() { } } } - found.sort(new Comparator() { - @Override - public int compare(Endpoint e1, Endpoint e2) { - int res = e1.path.compareTo(e2.path); - if (res == 0) { - res = e1.methodName.compareTo(e2.methodName); - } - return res; - } - }); + found.sort(Comparator.comparing((Endpoint e) -> e.path).thenComparing(e -> e.methodName)); return found; } diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/writer/CSVMessageBodyWriter.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/writer/CSVMessageBodyWriter.java index 4cf3d2a15d..a3884a53bf 100644 --- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/writer/CSVMessageBodyWriter.java +++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/writer/CSVMessageBodyWriter.java @@ -64,7 +64,7 @@ public void writeTo(Metadata metadata, Class type, Type genericType, for (String name : metadata.names()) { String[] values = metadata.getValues(name); - ArrayList list = new ArrayList(values.length + 1); + ArrayList list = new ArrayList<>(values.length + 1); list.add(name); list.addAll(Arrays.asList(values)); writer.printRecord(list); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/CXFTestBase.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/CXFTestBase.java index ed8b0f1bb6..01ab72eba1 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/CXFTestBase.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/CXFTestBase.java @@ -161,7 +161,7 @@ public void tearDown() throws Exception { } protected Map readZipArchive(InputStream inputStream) throws IOException { - Map data = new HashMap(); + Map data = new HashMap<>(); Path tempFile = writeTemporaryArchiveFile(inputStream, "zip"); ZipFile zip = new ZipFile(tempFile.toFile()); Enumeration entries = zip.getEntries(); @@ -190,7 +190,7 @@ protected String readArchiveText(InputStream inputStream) throws IOException { protected Map readArchiveFromStream(ArchiveInputStream zip) throws IOException { - Map data = new HashMap(); + Map data = new HashMap<>(); while (true) { ArchiveEntry entry = zip.getNextEntry(); if (entry == null) { diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/LanguageResourceTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/LanguageResourceTest.java index c54d6abdf5..a6f1721e26 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/LanguageResourceTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/LanguageResourceTest.java @@ -52,7 +52,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TarWriter()); providers.add(new ZipWriter()); providers.add(new TikaServerParseExceptionMapper(false)); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceOffTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceOffTest.java index db9384f8de..73d751085a 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceOffTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceOffTest.java @@ -60,7 +60,7 @@ public class StackTraceOffTest extends CXFTestBase { @Override protected void setUpResources(JAXRSServerFactoryBean sf) { - List rCoreProviders = new ArrayList(); + List rCoreProviders = new ArrayList<>(); rCoreProviders.add(new SingletonResourceProvider(new MetadataResource())); rCoreProviders.add(new SingletonResourceProvider(new RecursiveMetadataResource())); rCoreProviders @@ -72,7 +72,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TikaServerParseExceptionMapper(false)); providers.add(new JSONMessageBodyWriter()); providers.add(new CSVMessageBodyWriter()); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceTest.java index eb3ad3c191..aeae75ad22 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/StackTraceTest.java @@ -55,7 +55,7 @@ public class StackTraceTest extends CXFTestBase { @Override protected void setUpResources(JAXRSServerFactoryBean sf) { - List rCoreProviders = new ArrayList(); + List rCoreProviders = new ArrayList<>(); rCoreProviders.add(new SingletonResourceProvider(new MetadataResource())); rCoreProviders.add(new SingletonResourceProvider(new RecursiveMetadataResource())); rCoreProviders @@ -67,7 +67,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TikaServerParseExceptionMapper(true)); providers.add(new JSONMessageBodyWriter()); providers.add(new CSVMessageBodyWriter()); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaPipesTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaPipesTest.java index 58e37f5a58..e82ff55725 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaPipesTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaPipesTest.java @@ -137,7 +137,7 @@ public void setUpEachTest() throws Exception { @Override protected void setUpResources(JAXRSServerFactoryBean sf) { - List rCoreProviders = new ArrayList(); + List rCoreProviders = new ArrayList<>(); try { rCoreProviders.add(new SingletonResourceProvider(new PipesResource(TIKA_CONFIG_PATH))); } catch (IOException | TikaConfigException e) { @@ -170,8 +170,8 @@ public void testPost() throws Exception { Metadata userMetadata = new Metadata(); userMetadata.set("my-key", "my-value"); - for (int i = 0; i < VALUE_ARRAY.length; i++) { - userMetadata.add("my-key-multi", VALUE_ARRAY[i]); + for (String s : VALUE_ARRAY) { + userMetadata.add("my-key-multi", s); } FetchEmitTuple t = @@ -205,8 +205,8 @@ public void testPostXML() throws Exception { Metadata userMetadata = new Metadata(); userMetadata.set("my-key", "my-value"); - for (int i = 0; i < VALUE_ARRAY.length; i++) { - userMetadata.add("my-key-multi", VALUE_ARRAY[i]); + for (String s : VALUE_ARRAY) { + userMetadata.add("my-key-multi", s); } FetchEmitTuple t = @@ -237,8 +237,8 @@ public void testPostXML() throws Exception { public void testPostNPE() throws Exception { Metadata userMetadata = new Metadata(); userMetadata.set("my-key", "my-value"); - for (int i = 0; i < VALUE_ARRAY.length; i++) { - userMetadata.add("my-key-multi", VALUE_ARRAY[i]); + for (String s : VALUE_ARRAY) { + userMetadata.add("my-key-multi", s); } FetchEmitTuple t = diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceMetadataFilterTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceMetadataFilterTest.java index 699762f041..8d6c44a708 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceMetadataFilterTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceMetadataFilterTest.java @@ -58,7 +58,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TikaServerParseExceptionMapper(false)); providers.add(new JSONMessageBodyWriter()); sf.setProviders(providers); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceNoStackTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceNoStackTest.java index 0588697fe4..f109bb1309 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceNoStackTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceNoStackTest.java @@ -66,7 +66,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TikaServerParseExceptionMapper(false)); providers.add(new JSONMessageBodyWriter()); sf.setProviders(providers); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceTest.java index 79cea7931d..16ef062154 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaResourceTest.java @@ -62,7 +62,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TikaServerParseExceptionMapper(false)); providers.add(new JSONMessageBodyWriter()); sf.setProviders(providers); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java index b86e1ee40a..2724c705ac 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerAsyncIntegrationTest.java @@ -146,16 +146,11 @@ public void setUpEachTest() throws Exception { @Test public void testBasic() throws Exception { - Thread serverThread = new Thread() { - @Override - public void run() { - TikaServerCli.main(new String[]{ - //for debugging/development, use no fork; otherwise go with the default - //"-noFork", - "-p", INTEGRATION_TEST_PORT, "-config", - TIKA_CONFIG.toAbsolutePath().toString()}); - } - }; + Thread serverThread = new Thread(() -> TikaServerCli.main(new String[]{ + //for debugging/development, use no fork; otherwise go with the default + //"-noFork", + "-p", INTEGRATION_TEST_PORT, "-config", + TIKA_CONFIG.toAbsolutePath().toString()})); serverThread.start(); try { diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java index deec735034..c03bee5c86 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaServerIntegrationTest.java @@ -324,16 +324,14 @@ public void testStaticStdErrOutBasic() throws Exception { @Test public void testStdErrOutLogging() throws Exception { final AtomicInteger i = new AtomicInteger(); - Thread serverThread = new Thread() { - @Override - public void run() { - TikaServerCli.main(new String[]{"-p", INTEGRATION_TEST_PORT, "-taskTimeoutMillis", - "10000", "-taskPulseMillis", "500", "-pingPulseMillis", "100", - "-maxRestarts", "0", - "-JDlog4j.configuration=file:" + LOG_FILE.toAbsolutePath(), - "-tmpFilePrefix", "tika-server-stderrlogging"}); - } - }; + Thread serverThread = new Thread(() -> TikaServerCli.main( + new String[]{ + "-p", INTEGRATION_TEST_PORT, "-taskTimeoutMillis", + "10000", "-taskPulseMillis", "500", "-pingPulseMillis", "100", + "-maxRestarts", "0", + "-JDlog4j.configuration=file:" + LOG_FILE.toAbsolutePath(), + "-tmpFilePrefix", "tika-server-stderrlogging" + })); serverThread.start(); awaitServerStartup(); diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaWelcomeTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaWelcomeTest.java index efb4f5eafe..f19f0e0812 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaWelcomeTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TikaWelcomeTest.java @@ -42,11 +42,11 @@ public class TikaWelcomeTest extends CXFTestBase { @Override protected void setUpResources(JAXRSServerFactoryBean sf) { - List rpsCore = new ArrayList(); + List rpsCore = new ArrayList<>(); rpsCore.add(new SingletonResourceProvider(new TikaVersion())); rpsCore.add(new SingletonResourceProvider(new DetectorResource(new ServerStatus("", 0)))); rpsCore.add(new SingletonResourceProvider(new MetadataResource())); - List all = new ArrayList(rpsCore); + List all = new ArrayList<>(rpsCore); all.add(new SingletonResourceProvider(new TikaWelcome(rpsCore))); sf.setResourceProviders(all); } diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java index aa5913456c..e4b14ec49a 100644 --- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java +++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/TranslateResourceTest.java @@ -54,7 +54,7 @@ protected void setUpResources(JAXRSServerFactoryBean sf) { @Override protected void setUpProviders(JAXRSServerFactoryBean sf) { - List providers = new ArrayList(); + List providers = new ArrayList<>(); providers.add(new TarWriter()); providers.add(new ZipWriter()); providers.add(new TikaServerParseExceptionMapper(false)); diff --git a/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java b/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java index 9a6e75e84e..77cfbeba73 100644 --- a/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java +++ b/tika-translate/src/test/java/org/apache/tika/language/translate/YandexTranslatorTest.java @@ -17,17 +17,18 @@ package org.apache.tika.language.translate; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.fail; -import static org.junit.Assume.assumeTrue; - import org.apache.tika.exception.TikaException; -import java.io.IOException; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; +import java.io.IOException; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; +import static org.junit.Assume.assumeTrue; + /** * Generic Tests to ensure that the RSS library behaves as expected * @author mark @@ -52,30 +53,21 @@ public void test1EN_ES_Translation() { assertNotNull("Text not translated", transText); assumeTrue(expectedText.equals(transText)); } - catch(TikaException e){ + catch(TikaException | IOException e){ e.printStackTrace(); fail(e.getMessage()); } - catch(IOException e){ - e.printStackTrace(); - fail(e.getMessage()); - } } @Test public void test2UNDEFINED_DE_ES_Translation() { String inputText = "Guten Tag!!!"; String expectedText = "Buen Día!!!"; - try{ - String transText = translator.translate(inputText, "es"); - assertNotNull("Text not translated", transText); - assumeTrue(expectedText.equals(transText)); - } - catch(TikaException e){ - e.printStackTrace(); - fail(e.getMessage()); - } - catch(IOException e){ + try { + String transText = translator.translate(inputText, "es"); + assertNotNull("Text not translated", transText); + assumeTrue(expectedText.equals(transText)); + } catch (TikaException | IOException e) { e.printStackTrace(); fail(e.getMessage()); } @@ -85,19 +77,13 @@ public void test2UNDEFINED_DE_ES_Translation() { public void test3UNDEFINED_IT_EN_Translation() { String inputText = "Buona Sera!!!"; String expectedText = "Good Evening!!!"; - try{ - String transText = translator.translate(inputText, "en"); - assertNotNull("Text not translated", transText); - assumeTrue(expectedText.equals(transText)); - } - catch(TikaException e){ - e.printStackTrace(); - fail(e.getMessage()); - } - catch(IOException e){ + try { + String transText = translator.translate(inputText, "en"); + assertNotNull("Text not translated", transText); + assumeTrue(expectedText.equals(transText)); + } catch (TikaException | IOException e) { e.printStackTrace(); fail(e.getMessage()); } } - } diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/XMPMetadata.java b/tika-xmp/src/main/java/org/apache/tika/xmp/XMPMetadata.java index 46bd738412..200d514585 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/XMPMetadata.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/XMPMetadata.java @@ -306,7 +306,7 @@ public Integer getInt(Property property) { Integer result = null; try { - result = new Integer( XMPUtils.convertToInteger( this.get( property.getName() ) ) ); + result = XMPUtils.convertToInteger(this.get(property.getName())); } catch (XMPException e) { // Ignore diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/GenericConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/GenericConverter.java index 1ae80169d4..b5419222c3 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/GenericConverter.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/GenericConverter.java @@ -100,6 +100,6 @@ else if (key.equals( DublinCore.CREATOR.getName() )) { @Override public Set getAdditionalNamespaces() { // no additional namespaces needed - return Collections.unmodifiableSet( new HashSet() ); + return Collections.unmodifiableSet(new HashSet<>() ); } } diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeBinaryConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeBinaryConverter.java index 888886a87a..70f7bcc27f 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeBinaryConverter.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeBinaryConverter.java @@ -43,9 +43,9 @@ public MSOfficeBinaryConverter() throws TikaException { } protected static final Set ADDITIONAL_NAMESPACES = Collections - .unmodifiableSet( new HashSet( Arrays.asList( new Namespace( - OfficeOpenXMLCore.NAMESPACE_URI, OfficeOpenXMLCore.PREFIX ), new Namespace( - OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX ) ) ) ); + .unmodifiableSet(new HashSet<>(Arrays.asList(new Namespace( + OfficeOpenXMLCore.NAMESPACE_URI, OfficeOpenXMLCore.PREFIX), new Namespace( + OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX))) ); /** * @throws XMPException diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeXMLConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeXMLConverter.java index b5463c12c6..315411ac90 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeXMLConverter.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/MSOfficeXMLConverter.java @@ -40,9 +40,9 @@ */ public class MSOfficeXMLConverter extends AbstractConverter { protected static final Set ADDITIONAL_NAMESPACES = Collections - .unmodifiableSet( new HashSet( Arrays.asList( new Namespace( - OfficeOpenXMLCore.NAMESPACE_URI, OfficeOpenXMLCore.PREFIX ), new Namespace( - OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX ) ) ) ); + .unmodifiableSet(new HashSet<>(Arrays.asList(new Namespace( + OfficeOpenXMLCore.NAMESPACE_URI, OfficeOpenXMLCore.PREFIX), new Namespace( + OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX))) ); public MSOfficeXMLConverter() throws TikaException { super(); diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java index 2ad5a5c2f0..4edd7a42b6 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java @@ -25,7 +25,6 @@ import org.apache.tika.metadata.HttpHeaders; import org.apache.tika.metadata.Metadata; import org.apache.tika.metadata.Office; -import org.apache.tika.metadata.OfficeOpenXMLCore; import org.apache.tika.metadata.OfficeOpenXMLExtended; import org.apache.tika.metadata.PagedText; import org.apache.tika.metadata.TikaCoreProperties; @@ -41,8 +40,8 @@ */ public class OpenDocumentConverter extends AbstractConverter { protected static final Set ADDITIONAL_NAMESPACES = Collections - .unmodifiableSet( new HashSet( Arrays.asList( new Namespace( - Office.NAMESPACE_URI_DOC_META, Office.PREFIX_DOC_META ) ) ) ); + .unmodifiableSet(new HashSet<>(Collections.singletonList(new Namespace( + Office.NAMESPACE_URI_DOC_META, Office.PREFIX_DOC_META))) ); public OpenDocumentConverter() throws TikaException { super(); diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/RTFConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/RTFConverter.java index 148467fbbe..8118686c39 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/RTFConverter.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/RTFConverter.java @@ -38,8 +38,8 @@ */ public class RTFConverter extends AbstractConverter { protected static final Set ADDITIONAL_NAMESPACES = Collections - .unmodifiableSet( new HashSet( Arrays.asList( new Namespace( - OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX ) ) ) ); + .unmodifiableSet(new HashSet<>(Arrays.asList(new Namespace( + OfficeOpenXMLExtended.NAMESPACE_URI, OfficeOpenXMLExtended.PREFIX))) ); public RTFConverter() throws TikaException { super(); diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java index ba943ede3e..9c30c814bd 100644 --- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java +++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/TikaToXMP.java @@ -164,7 +164,7 @@ public static ITikaToXMPConverter getConverter(String mimetype) throws TikaExcep private static Map> getConverterMap() { if (converterMap == null) { - converterMap = new HashMap>(); + converterMap = new HashMap<>(); initialize(); } return converterMap;