From 33561384ef47ef03d7329a0c2e8c92bb4a3d2089 Mon Sep 17 00:00:00 2001 From: Randy Baumgarte Date: Thu, 17 Feb 2011 20:00:30 -0500 Subject: [PATCH] Add logic to deal with zero length resources. --- src/cx/fbn/nevernote/threads/IndexRunner.java | 39 ++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/src/cx/fbn/nevernote/threads/IndexRunner.java b/src/cx/fbn/nevernote/threads/IndexRunner.java index 67a1c1c..b17fe94 100644 --- a/src/cx/fbn/nevernote/threads/IndexRunner.java +++ b/src/cx/fbn/nevernote/threads/IndexRunner.java @@ -324,7 +324,13 @@ public class IndexRunner extends QObject implements Runnable { private void indexResourceRTF(Resource r) { - QTemporaryFile f = writeResource(r.getData()); + Data d = r.getData(); + for (int i=0; i<20 && d.getSize() == 0; i++) + d = r.getData(); + if (d.getSize()== 0) + return; + + QTemporaryFile f = writeResource(d); if (!keepRunning) { return; } @@ -366,7 +372,12 @@ public class IndexRunner extends QObject implements Runnable { private void indexResourceODF(Resource r) { - QTemporaryFile f = writeResource(r.getData()); + Data d = r.getData(); + for (int i=0; i<20 && d.getSize() == 0; i++) + d = r.getData(); + if (d.getSize()== 0) + return; + QTemporaryFile f = writeResource(d); if (!keepRunning) { return; } @@ -411,7 +422,12 @@ public class IndexRunner extends QObject implements Runnable { private void indexResourceOffice(Resource r) { - QTemporaryFile f = writeResource(r.getData()); + Data d = r.getData(); + for (int i=0; i<20 && d.getSize() == 0; i++) + d = r.getData(); + if (d.getSize()== 0) + return; + QTemporaryFile f = writeResource(d); if (!keepRunning) { return; } @@ -457,7 +473,12 @@ public class IndexRunner extends QObject implements Runnable { private void indexResourcePDF(Resource r) { - QTemporaryFile f = writeResource(r.getData()); + Data d = r.getData(); + for (int i=0; i<20 && d.getSize() == 0; i++) + d = r.getData(); + if (d.getSize()== 0) + return; + QTemporaryFile f = writeResource(d); if (!keepRunning) { return; } @@ -502,7 +523,12 @@ public class IndexRunner extends QObject implements Runnable { private void indexResourceOOXML(Resource r) { - QTemporaryFile f = writeResource(r.getData()); + Data d = r.getData(); + for (int i=0; i<20 && d.getSize() == 0; i++) + d = r.getData(); + if (d.getSize()== 0) + return; + QTemporaryFile f = writeResource(d); if (!keepRunning) { return; } @@ -540,8 +566,7 @@ public class IndexRunner extends QObject implements Runnable { } catch (java.lang.NoSuchMethodError e) { logger.log(logger.LOW, "NoSuchMethod error: " +e.getMessage()); } catch (Error e) { - logger.log(logger.LOW, "Unknown error: " +e.getMessage()); - } + logger.log(logger.LOW, "Unknown error: " +e.getMessage()); } } -- 2.11.0