From d1be331f994eb9ca011bc638374787d0e22afde9 Mon Sep 17 00:00:00 2001 From: Athou Date: Sat, 22 Nov 2014 11:53:46 +0100 Subject: [PATCH] handle nulls correctly --- .../backend/service/FeedEntryFilteringService.java | 9 +++++---- .../backend/service/FeedEntryFilteringServiceTest.java | 6 ++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/commafeed/backend/service/FeedEntryFilteringService.java b/src/main/java/com/commafeed/backend/service/FeedEntryFilteringService.java index 57d7f22c..1b866acb 100644 --- a/src/main/java/com/commafeed/backend/service/FeedEntryFilteringService.java +++ b/src/main/java/com/commafeed/backend/service/FeedEntryFilteringService.java @@ -82,10 +82,11 @@ public class FeedEntryFilteringService { } JexlContext context = new MapContext(); - context.set("title", Jsoup.parse(entry.getContent().getTitle()).text().toLowerCase()); - context.set("author", entry.getContent().getAuthor().toLowerCase()); - context.set("content", Jsoup.parse(entry.getContent().getContent()).text().toLowerCase()); - context.set("url", entry.getUrl().toLowerCase()); + context.set("title", entry.getContent().getTitle() == null ? "" : Jsoup.parse(entry.getContent().getTitle()).text().toLowerCase()); + context.set("author", entry.getContent().getAuthor() == null ? "" : entry.getContent().getAuthor().toLowerCase()); + context.set("content", entry.getContent().getContent() == null ? "" : Jsoup.parse(entry.getContent().getContent()).text() + .toLowerCase()); + context.set("url", entry.getUrl() == null ? "" : entry.getUrl().toLowerCase()); Callable callable = script.callable(context); Future future = executor.submit(callable); diff --git a/src/test/java/com/commafeed/backend/service/FeedEntryFilteringServiceTest.java b/src/test/java/com/commafeed/backend/service/FeedEntryFilteringServiceTest.java index e7836832..8babc731 100644 --- a/src/test/java/com/commafeed/backend/service/FeedEntryFilteringServiceTest.java +++ b/src/test/java/com/commafeed/backend/service/FeedEntryFilteringServiceTest.java @@ -65,4 +65,10 @@ public class FeedEntryFilteringServiceTest { service.filterMatchesEntry("while(true) {}", entry); } + @Test + public void handlesNullCorrectly() throws FeedEntryFilterException { + entry.setContent(new FeedEntryContent()); + service.filterMatchesEntry("author eq 'athou'", entry); + } + }