@Override public void run() { try { mime.append( this.tika.detect( this.input ) ); } catch( NoSuchFieldError e ) { // Apache POI version issue? log.error("Tika.detect(): " + e.getMessage() + " for URL " + metadata.get(Metadata.RESOURCE_NAME_KEY) + " in " + source); addExceptionMetadata(metadata, new Exception(e)); } catch( Exception e ) { log.error( "Tika.detect(): " + e.getMessage() + " for URL " + metadata.get(Metadata.RESOURCE_NAME_KEY) + " in " + source); addExceptionMetadata(metadata, e); } } }
addExceptionMetadata(metadata, new Exception("detect threw "+e.getClass().getCanonicalName()) ); } catch( Exception e ) { log.error( "Tika.detect(): " + e.getMessage() + " for " + url + " in " + source); addExceptionMetadata(metadata, e); if( !this.checkMime( detected.toString() ) ) { if( "".equals(detected.toString())) { solr.addField( SolrFields.SOLR_CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM.toString() ); ParseRunner runner = new ParseRunner( source, tika.getParser(), tikainput, this.getHandler( content ), metadata, context ); try { TimeLimiter.run(runner, parseTimeout, true); } catch( OutOfMemoryError o ) { log.error( "TikaExtractor.parse() - OutOfMemoryError: " + o.getMessage() + " for " + url + " in " + source ); addExceptionMetadata(metadata, new Exception("OutOfMemoryError")); } catch( RuntimeException r ) { log.error( "TikaExtractor.parse() - RuntimeException: " + r.getMessage() + " for " + url + " in " + source ); addExceptionMetadata(metadata, r); double latitude = DMS2DG(exif_latitude); double longitude = DMS2DG( exif_longitude);
tika = new TikaExtractor( conf );
@Override public void run() { this.complete = false; try { this.parser.parse( this.tikainput, this.handler, this.metadata, this.context ); this.complete = true; } catch( InterruptedIOException i ) { this.complete = false; log.error("ParseRunner.run() Interrupted: " + i.getMessage() + " for URL " + metadata.get(Metadata.RESOURCE_NAME_KEY) + " in " + source); addExceptionMetadata(metadata, i); } catch( Exception e ) { this.complete = false; log.error( "ParseRunner.run() Exception: " + ExceptionUtils.getRootCauseMessage(e) + " for URL " + metadata.get(Metadata.RESOURCE_NAME_KEY) + " in " + source); addExceptionMetadata(metadata, e); } finally { } }