From e02532aa7ba67136b257ef6cf56480342dd114f8 Mon Sep 17 00:00:00 2001 From: Athou Date: Thu, 11 Jul 2013 13:35:58 +0200 Subject: [PATCH] use title if text is empty (fix #419) --- .../commafeed/backend/feeds/OPMLImporter.java | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/commafeed/backend/feeds/OPMLImporter.java b/src/main/java/com/commafeed/backend/feeds/OPMLImporter.java index 3ef0bc8f..7bded56a 100644 --- a/src/main/java/com/commafeed/backend/feeds/OPMLImporter.java +++ b/src/main/java/com/commafeed/backend/feeds/OPMLImporter.java @@ -59,14 +59,19 @@ public class OPMLImporter { private void handleOutline(User user, Outline outline, FeedCategory parent) { if (StringUtils.isEmpty(outline.getType())) { - FeedCategory category = feedCategoryDAO.findByName(user, - outline.getText(), parent); + String name = FeedUtils.truncate(outline.getText(), 128); + if (name == null) { + name = FeedUtils.truncate(outline.getTitle(), 128); + } + FeedCategory category = feedCategoryDAO.findByName(user, name, + parent); if (category == null) { - category = new FeedCategory(); - category.setName(FeedUtils.truncate(outline.getText(), 128)); - if (StringUtils.isBlank(category.getName())) { - category.setName("Unnamed category"); + if (StringUtils.isBlank(name)) { + name = "Unnamed category"; } + + category = new FeedCategory(); + category.setName(name); category.setParent(parent); category.setUser(user); feedCategoryDAO.saveOrUpdate(category); @@ -77,19 +82,22 @@ public class OPMLImporter { handleOutline(user, child, category); } } else { - String title = outline.getText(); - if (StringUtils.isBlank(title)) { - title = "Unnamed subscription"; + String name = FeedUtils.truncate(outline.getText(), 128); + if (name == null) { + name = FeedUtils.truncate(outline.getTitle(), 128); + } + if (StringUtils.isBlank(name)) { + name = "Unnamed subscription"; } // make sure we continue with the import process even a feed failed try { - feedSubscriptionService.subscribe(user, outline.getXmlUrl(), title, - parent); - + feedSubscriptionService.subscribe(user, outline.getXmlUrl(), + name, parent); } catch (FeedSubscriptionException e) { throw e; } catch (Exception e) { - log.error("error while importing {}: {}", outline.getXmlUrl(), e.getMessage()); + log.error("error while importing {}: {}", outline.getXmlUrl(), + e.getMessage()); } } cache.invalidateUserData(user);