From 1520fbe1d9938ada6a2928e2a30f396702613dbd Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Thu, 6 Oct 2011 21:29:50 +0000 Subject: [PATCH] Add @since tags where known, and do a quick coding standards sweep git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31023 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../AbstractMetadataExtracterTest.java | 26 +++-- .../metadata/DWGMetadataExtracter.java | 7 +- .../metadata/DWGMetadataExtracterTest.java | 4 +- .../metadata/MP3MetadataExtracter.java | 6 +- .../metadata/MP3MetadataExtracterTest.java | 6 +- .../metadata/MailMetadataExtracter.java | 6 +- .../metadata/OfficeMetadataExtracter.java | 8 +- .../OpenDocumentMetadataExtracter.java | 6 +- .../OpenDocumentMetadataExtracterTest.java | 10 +- .../metadata/PdfBoxMetadataExtracter.java | 3 +- .../metadata/PoiMetadataExtracter.java | 3 +- .../metadata/PoiMetadataExtracterTest.java | 6 +- .../metadata/TikaAudioMetadataExtracter.java | 7 +- .../TikaAudioMetadataExtracterTest.java | 3 +- .../metadata/TikaAutoMetadataExtracter.java | 4 +- .../TikaAutoMetadataExtracterTest.java | 9 +- .../TikaPoweredMetadataExtracter.java | 101 ++++++++++++------ ...TikaSpringConfiguredMetadataExtracter.java | 1 + 18 files changed, 146 insertions(+), 70 deletions(-) diff --git a/source/java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java index 1460f27e00..485929147c 100644 --- a/source/java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/AbstractMetadataExtracterTest.java @@ -154,18 +154,24 @@ public abstract class AbstractMetadataExtracterTest extends TestCase protected void testCommonMetadata(String mimetype, Map properties) { // One of Creator or Author - if(!skipAuthorCheck(mimetype)) { - if(properties.containsKey(ContentModel.PROP_CREATOR)) { + if(!skipAuthorCheck(mimetype)) + { + if(properties.containsKey(ContentModel.PROP_CREATOR)) + { assertEquals( "Property " + ContentModel.PROP_CREATOR + " not found for mimetype " + mimetype, QUICK_CREATOR, DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATOR))); - } else if(properties.containsKey(ContentModel.PROP_AUTHOR)) { + } + else if(properties.containsKey(ContentModel.PROP_AUTHOR)) + { assertEquals( "Property " + ContentModel.PROP_AUTHOR + " not found for mimetype " + mimetype, QUICK_CREATOR, DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_AUTHOR))); - } else { + } + else + { fail("Expected one property out of " + ContentModel.PROP_CREATOR + " and " + ContentModel.PROP_AUTHOR + " but found neither of them for " + mimetype); } @@ -176,7 +182,8 @@ public abstract class AbstractMetadataExtracterTest extends TestCase "Property " + ContentModel.PROP_TITLE + " not found for mimetype " + mimetype, QUICK_TITLE, DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_TITLE))); - if (!skipDescriptionCheck(mimetype)) { + if (!skipDescriptionCheck(mimetype)) + { assertEquals( "Property " + ContentModel.PROP_DESCRIPTION + " not found for mimetype " + mimetype, QUICK_DESCRIPTION, @@ -236,13 +243,16 @@ public abstract class AbstractMetadataExtracterTest extends TestCase } - protected static void assertContains(String message, String needle, String haystack) { - if(haystack.indexOf(needle) > -1) { + protected static void assertContains(String message, String needle, String haystack) + { + if(haystack.indexOf(needle) > -1) + { return; } fail(message); } - protected static void assertContains(String needle, String haystack) { + protected static void assertContains(String needle, String haystack) + { assertContains("'" + needle + "' wasn't found in '" + haystack + "'", needle, haystack); } } diff --git a/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracter.java index 8d0fb135a0..52dc38fe4a 100644 --- a/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracter.java @@ -43,6 +43,7 @@ import org.apache.tika.parser.dwg.DWGParser; * * Uses Apache Tika * + * @since 3.4 * @author Nick Burch */ public class DWGMetadataExtracter extends TikaPoweredMetadataExtracter @@ -66,14 +67,16 @@ public class DWGMetadataExtracter extends TikaPoweredMetadataExtracter @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { putRawValue(KEY_KEYWORD, metadata.get(Metadata.KEYWORDS), properties); putRawValue(KEY_LAST_AUTHOR, metadata.get(Metadata.LAST_AUTHOR), properties); return properties; } @Override - protected Parser getParser() { + protected Parser getParser() + { return new DWGParser(); } } diff --git a/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracterTest.java index 28bf031cd6..3260fc8fec 100644 --- a/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/DWGMetadataExtracterTest.java @@ -118,8 +118,8 @@ public class DWGMetadataExtracterTest extends AbstractMetadataExtracterTest * We also provide the creation date - check that */ protected void testFileSpecificMetadata(String mimetype, - Map properties) { - + Map properties) + { // Check for extra fields assertEquals( "Property " + ContentModel.PROP_AUTHOR + " not found for mimetype " + mimetype, diff --git a/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracter.java index 5368a76fc9..226db82850 100644 --- a/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracter.java @@ -72,13 +72,15 @@ public class MP3MetadataExtracter extends TikaAudioMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new Mp3Parser(); } @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { // Do the normal Audio mappings super.extractSpecific(metadata, properties, headers); diff --git a/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracterTest.java index 2262426abb..689042d6ef 100644 --- a/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/MP3MetadataExtracterTest.java @@ -71,7 +71,8 @@ public class MP3MetadataExtracterTest extends TikaAudioMetadataExtracterTest * We don't have quite the usual metadata. Tests the descriptions one. * Other tests in {@link #testFileSpecificMetadata(String, Map)} */ - protected void testCommonMetadata(String mimetype, Map properties) { + protected void testCommonMetadata(String mimetype, Map properties) + { // Title is as normal assertEquals( "Property " + ContentModel.PROP_TITLE + " not found for mimetype " + mimetype, @@ -94,7 +95,8 @@ public class MP3MetadataExtracterTest extends TikaAudioMetadataExtracterTest /** * Tests for various MP3 specific bits of metadata */ - public void testFileSpecificMetadata(String mimetype, Map properties) { + public void testFileSpecificMetadata(String mimetype, Map properties) + { super.testFileSpecificMetadata(mimetype, properties); } } diff --git a/source/java/org/alfresco/repo/content/metadata/MailMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/MailMetadataExtracter.java index 08ca3802b4..45a40224e9 100644 --- a/source/java/org/alfresco/repo/content/metadata/MailMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/MailMetadataExtracter.java @@ -68,14 +68,16 @@ public class MailMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { // The office parser does Outlook as well as Word, Excel etc return new OfficeParser(); } @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { putRawValue(KEY_ORIGINATOR, metadata.get(Metadata.AUTHOR), properties); putRawValue(KEY_SUBJECT, metadata.get(Metadata.TITLE), properties); putRawValue(KEY_DESCRIPTION, metadata.get(Metadata.SUBJECT), properties); diff --git a/source/java/org/alfresco/repo/content/metadata/OfficeMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/OfficeMetadataExtracter.java index 25c6da8aa6..6645cc85b5 100644 --- a/source/java/org/alfresco/repo/content/metadata/OfficeMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/OfficeMetadataExtracter.java @@ -86,13 +86,15 @@ public class OfficeMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new OfficeParser(); } @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { putRawValue(KEY_CREATE_DATETIME, metadata.get(Metadata.CREATION_DATE), properties); putRawValue(KEY_LAST_SAVE_DATETIME, metadata.get(Metadata.LAST_SAVED), properties); putRawValue(KEY_EDIT_TIME, metadata.get(Metadata.EDIT_TIME), properties); @@ -107,4 +109,4 @@ public class OfficeMetadataExtracter extends TikaPoweredMetadataExtracter putRawValue(KEY_WORD_COUNT, metadata.get(Metadata.WORD_COUNT), properties); return properties; } -} \ No newline at end of file +} diff --git a/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracter.java index ace7072818..f6ca5d86ee 100644 --- a/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracter.java @@ -105,13 +105,15 @@ public class OpenDocumentMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new OpenDocumentParser(); } @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { putRawValue(KEY_CREATION_DATE, getDateOrNull(metadata.get(Metadata.CREATION_DATE)), properties); putRawValue(KEY_CREATOR, metadata.get(Metadata.CREATOR), properties); putRawValue(KEY_DATE, getDateOrNull(metadata.get(Metadata.DATE)), properties); diff --git a/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java index 3eb3c488b5..3c93ec0c7a 100644 --- a/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/OpenDocumentMetadataExtracterTest.java @@ -79,14 +79,18 @@ public class OpenDocumentMetadataExtracterTest extends AbstractMetadataExtracter * We also provide the creation date - check that */ protected void testFileSpecificMetadata(String mimetype, - Map properties) { + Map properties) + { // Check for two cases - if(mimetype.equals("application/vnd.oasis.opendocument.text")) { + if(mimetype.equals("application/vnd.oasis.opendocument.text")) + { assertEquals( "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, "2005-09-06T23:34:00.000+01:00", DefaultTypeConverter.INSTANCE.convert(String.class, properties.get(ContentModel.PROP_CREATED))); - } else if(mimetype.equals("application/vnd.oasis.opendocument.graphics")) { + } + else if(mimetype.equals("application/vnd.oasis.opendocument.graphics")) + { assertEquals( "Property " + ContentModel.PROP_CREATED + " not found for mimetype " + mimetype, "2006-01-27T11:46:11.000Z", diff --git a/source/java/org/alfresco/repo/content/metadata/PdfBoxMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/PdfBoxMetadataExtracter.java index c1d56c5965..12d2524b28 100644 --- a/source/java/org/alfresco/repo/content/metadata/PdfBoxMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/PdfBoxMetadataExtracter.java @@ -56,7 +56,8 @@ public class PdfBoxMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new PDFParser(); } } diff --git a/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracter.java index 656000b60e..095f6cfde6 100644 --- a/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracter.java @@ -59,7 +59,8 @@ public class PoiMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new OOXMLParser(); } } diff --git a/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracterTest.java index aab96351ea..4d10ced850 100644 --- a/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/PoiMetadataExtracterTest.java @@ -68,7 +68,8 @@ public class PoiMetadataExtracterTest extends AbstractMetadataExtracterTest } @Override - protected boolean skipDescriptionCheck(String mimetype) { + protected boolean skipDescriptionCheck(String mimetype) + { // Our 3 OpenOffice 07 quick files have no description properties. return true; } @@ -76,7 +77,8 @@ public class PoiMetadataExtracterTest extends AbstractMetadataExtracterTest @Override protected void testFileSpecificMetadata(String mimetype, - Map properties) { + Map properties) + { // This test class is testing 3 files: quick.docx, quick.xlsx & quick.pptx. // Their created times are hard-coded here for checking. // Of course this means that if the files are updated, the test will break diff --git a/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracter.java index ca2d7ec8b4..edd42519e3 100644 --- a/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracter.java @@ -53,6 +53,7 @@ import org.gagravarr.tika.VorbisParser; * xmpDM:releaseDate -- audio:releaseDate * * + * @since 4.0 * @author Nick Burch */ public class TikaAudioMetadataExtracter extends TikaPoweredMetadataExtracter @@ -84,7 +85,8 @@ public class TikaAudioMetadataExtracter extends TikaPoweredMetadataExtracter } @Override - protected Parser getParser() { + protected Parser getParser() + { return new CompositeParser( tikaConfig.getMediaTypeRegistry(), parsers ); @@ -92,7 +94,8 @@ public class TikaAudioMetadataExtracter extends TikaPoweredMetadataExtracter @Override protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { // Most things can go with the default Tika -> Alfresco Mapping // Handle the few special cases here diff --git a/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracterTest.java index 5b41104138..b1efa55ef5 100644 --- a/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/TikaAudioMetadataExtracterTest.java @@ -75,7 +75,8 @@ public class TikaAudioMetadataExtracterTest extends AbstractMetadataExtracterTes * We don't have quite the usual metadata. Tests the descriptions one. * Other tests in {@link #testFileSpecificMetadata(String, Map)} */ - protected void testCommonMetadata(String mimetype, Map properties) { + protected void testCommonMetadata(String mimetype, Map properties) + { // Title is as normal assertEquals( "Property " + ContentModel.PROP_TITLE + " not found for mimetype " + mimetype, diff --git a/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracter.java index 7eac6eac28..89cc2daee9 100644 --- a/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracter.java @@ -45,6 +45,7 @@ import org.apache.tika.parser.Parser; *

geo:long: -- cm:longitude * * + * @since 3.4 * @author Nick Burch */ public class TikaAutoMetadataExtracter extends TikaPoweredMetadataExtracter @@ -86,7 +87,8 @@ public class TikaAutoMetadataExtracter extends TikaPoweredMetadataExtracter * Parser. */ @Override - protected Parser getParser() { + protected Parser getParser() + { return parser; } } diff --git a/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracterTest.java b/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracterTest.java index d679f807a6..c56286cb21 100644 --- a/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracterTest.java +++ b/source/java/org/alfresco/repo/content/metadata/TikaAutoMetadataExtracterTest.java @@ -99,7 +99,8 @@ public class TikaAutoMetadataExtracterTest extends AbstractMetadataExtracterTest new Mp3Parser(), new OOXMLParser() }) { Set mts = p.getSupportedTypes(new ParseContext()); - for (MediaType mt : mts) { + for (MediaType mt : mts) + { mimeTypes.add(mt.toString()); } } @@ -159,7 +160,8 @@ public class TikaAutoMetadataExtracterTest extends AbstractMetadataExtracterTest protected boolean skipAuthorCheck(String mimetype) { return true; } @Override - protected boolean skipDescriptionCheck(String mimetype) { + protected boolean skipDescriptionCheck(String mimetype) + { if(mimetype.endsWith("/ogg")) { return true; @@ -171,7 +173,8 @@ public class TikaAutoMetadataExtracterTest extends AbstractMetadataExtracterTest * We also provide the creation date - check that */ protected void testFileSpecificMetadata(String mimetype, - Map properties) { + Map properties) + { // Check for extra fields // Author isn't there for the OpenDocument ones diff --git a/source/java/org/alfresco/repo/content/metadata/TikaPoweredMetadataExtracter.java b/source/java/org/alfresco/repo/content/metadata/TikaPoweredMetadataExtracter.java index bfb88aabeb..8b20c67c29 100644 --- a/source/java/org/alfresco/repo/content/metadata/TikaPoweredMetadataExtracter.java +++ b/source/java/org/alfresco/repo/content/metadata/TikaPoweredMetadataExtracter.java @@ -69,6 +69,7 @@ import org.xml.sax.SAXException; * comments: * * + * @since 3.4 * @author Nick Burch */ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetadataExtracter @@ -88,19 +89,25 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * Builds up a list of supported mime types by merging an explicit * list with any that Tika also claims to support */ - protected static ArrayList buildSupportedMimetypes(String[] explicitTypes, Parser... tikaParsers) { + protected static ArrayList buildSupportedMimetypes(String[] explicitTypes, Parser... tikaParsers) + { ArrayList types = new ArrayList(); - for(String type : explicitTypes) { - if(!types.contains(type)) { + for(String type : explicitTypes) + { + if(!types.contains(type)) + { types.add(type); } } - if(tikaParsers != null) { + if(tikaParsers != null) + { for(Parser tikaParser : tikaParsers) { - for(MediaType mt : tikaParser.getSupportedTypes(new ParseContext())) { + for(MediaType mt : tikaParser.getSupportedTypes(new ParseContext())) + { String type = mt.toString(); - if(!types.contains(type)) { + if(!types.contains(type)) + { types.add(type); } } @@ -153,9 +160,11 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * and similar formats, which Tika makes use of */ @Override - protected Date makeDate(String dateStr) { + protected Date makeDate(String dateStr) + { // Try our formats first, in order - for(DateFormat df : this.tikaDateFormats) { + for(DateFormat df : this.tikaDateFormats) + { try { return df.parse(dateStr); @@ -183,7 +192,8 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * Do we care about the contents of the * extracted header, or nothing at all? */ - protected boolean needHeaderContents() { + protected boolean needHeaderContents() + { return false; } @@ -192,7 +202,8 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * to be done. */ protected Map extractSpecific(Metadata metadata, - Map properties, Map headers) { + Map properties, Map headers) + { return properties; } @@ -206,10 +217,14 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada */ private InputStream getInputStream(ContentReader reader) throws IOException { if("image/jpeg".equals(reader.getMimetype()) || - "image/tiff".equals(reader.getMimetype())) { - if(reader instanceof FileContentReader) { + "image/tiff".equals(reader.getMimetype())) + { + if(reader instanceof FileContentReader) + { return TikaInputStream.get( ((FileContentReader)reader).getFile() ); - } else { + } + else + { File tmpFile = TempFileProvider.createTempFile("tika", "tmp"); reader.getContent(tmpFile); return TikaInputStream.get(tmpFile); @@ -235,12 +250,15 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada ContentHandler handler; Map headers = null; - if(needHeaderContents()) { + if(needHeaderContents()) + { MapCaptureContentHandler headerCapture = new MapCaptureContentHandler(); headers = headerCapture.tags; handler = new HeadContentHandler(headerCapture); - } else { + } + else + { handler = new NullContentHandler(); } @@ -249,7 +267,8 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada // First up, copy all the Tika metadata over // This allows people to map any of the Tika // keys onto their own content model - for(String tikaKey : metadata.names()) { + for(String tikaKey : metadata.names()) + { putRawValue(tikaKey, metadata.get(tikaKey), rawProperties); } @@ -267,21 +286,29 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada // being nearly as consistent as one might hope String subject = metadata.get(Metadata.SUBJECT); String description = metadata.get(Metadata.DESCRIPTION); - if(subject != null && description != null) { + if(subject != null && description != null) + { putRawValue(KEY_DESCRIPTION, description, rawProperties); putRawValue(KEY_SUBJECT, subject, rawProperties); - } else if(subject != null) { + } + else if(subject != null) + { putRawValue(KEY_DESCRIPTION, subject, rawProperties); putRawValue(KEY_SUBJECT, subject, rawProperties); - } else if(description != null) { + } + else if(description != null) + { putRawValue(KEY_DESCRIPTION, description, rawProperties); putRawValue(KEY_SUBJECT, description, rawProperties); } // Try for the dates two different ways too - if(metadata.get(Metadata.CREATION_DATE) != null) { + if(metadata.get(Metadata.CREATION_DATE) != null) + { putRawValue(KEY_CREATED, metadata.get(Metadata.CREATION_DATE), rawProperties); - } else if(metadata.get(Metadata.DATE) != null) { + } + else if(metadata.get(Metadata.DATE) != null) + { putRawValue(KEY_CREATED, metadata.get(Metadata.DATE), rawProperties); } @@ -308,7 +335,8 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * the header of the Tika content XHTML, but ignore the * rest. */ - protected static class HeadContentHandler extends ContentHandlerDecorator { + protected static class HeadContentHandler extends ContentHandlerDecorator + { /** * XHTML XPath parser. */ @@ -327,7 +355,8 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * * @param handler content handler */ - protected HeadContentHandler(ContentHandler handler) { + protected HeadContentHandler(ContentHandler handler) + { super(new MatchingContentHandler(handler, MATCHER)); } } @@ -337,26 +366,31 @@ public abstract class TikaPoweredMetadataExtracter extends AbstractMappingMetada * of them. * Normally only used with {@link HeadContentHandler} */ - protected static class MapCaptureContentHandler implements ContentHandler { + protected static class MapCaptureContentHandler implements ContentHandler + { protected Map tags = new HashMap(); private StringBuffer text; - public void characters(char[] ch, int start, int len) { - if(text != null) { + public void characters(char[] ch, int start, int len) + { + if(text != null) + { text.append(ch, start, len); } } - public void endElement(String namespace, String localname, - String qname) { - if(text != null && text.length() > 0) { + public void endElement(String namespace, String localname, String qname) + { + if(text != null && text.length() > 0) + { tags.put(qname, text.toString()); } text = null; } - public void startElement(String namespace, String localname, - String qname, Attributes attrs) { - for(int i=0; igeo:long: -- cm:longitude * * + * @since 3.4 * @author Nick Burch */ public class TikaSpringConfiguredMetadataExtracter extends TikaPoweredMetadataExtracter