From ddfd170ea89e25014a82c8e081897b7a68a1aa46 Mon Sep 17 00:00:00 2001 From: Athou Date: Wed, 24 Jun 2015 11:42:01 +0200 Subject: [PATCH] make eclipse mars happy --- .../com/commafeed/backend/dao/UnitOfWork.java | 4 +- .../commafeed/backend/feed/FeedQueues.java | 2 +- .../backend/feed/FeedRefreshUpdater.java | 11 ++-- .../service/DatabaseCleaningService.java | 22 ++++---- .../backend/service/StartupService.java | 29 +++++----- .../frontend/servlet/CustomCssServlet.java | 8 +-- .../frontend/servlet/NextUnreadServlet.java | 54 +++++++++---------- 7 files changed, 63 insertions(+), 67 deletions(-) diff --git a/src/main/java/com/commafeed/backend/dao/UnitOfWork.java b/src/main/java/com/commafeed/backend/dao/UnitOfWork.java index d4f2ac41..ae21c4a8 100644 --- a/src/main/java/com/commafeed/backend/dao/UnitOfWork.java +++ b/src/main/java/com/commafeed/backend/dao/UnitOfWork.java @@ -18,13 +18,13 @@ public class UnitOfWork { } public static void run(SessionFactory sessionFactory, SessionRunner sessionRunner) { - run(sessionFactory, () -> { + call(sessionFactory, () -> { sessionRunner.runInSession(); return null; }); } - public static T run(SessionFactory sessionFactory, SessionRunnerReturningValue sessionRunner) { + public static T call(SessionFactory sessionFactory, SessionRunnerReturningValue sessionRunner) { final Session session = sessionFactory.openSession(); if (ManagedSessionContext.hasBind(sessionFactory)) { throw new IllegalStateException("Already in a unit of work!"); diff --git a/src/main/java/com/commafeed/backend/feed/FeedQueues.java b/src/main/java/com/commafeed/backend/feed/FeedQueues.java index 15d9bf7d..f7b3a471 100644 --- a/src/main/java/com/commafeed/backend/feed/FeedQueues.java +++ b/src/main/java/com/commafeed/backend/feed/FeedQueues.java @@ -108,7 +108,7 @@ public class FeedQueues { // add feeds that are up to refresh from the database int count = batchSize - contexts.size(); if (count > 0) { - List feeds = UnitOfWork.run(sessionFactory, () -> feedDAO.findNextUpdatable(count, getLastLoginThreshold())); + List feeds = UnitOfWork.call(sessionFactory, () -> feedDAO.findNextUpdatable(count, getLastLoginThreshold())); for (Feed feed : feeds) { contexts.add(new FeedRefreshContext(feed, false)); } diff --git a/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java b/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java index 14317cf3..08765228 100644 --- a/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java +++ b/src/main/java/com/commafeed/backend/feed/FeedRefreshUpdater.java @@ -1,7 +1,5 @@ package com.commafeed.backend.feed; -import io.dropwizard.lifecycle.Managed; - import java.util.ArrayList; import java.util.Arrays; import java.util.Date; @@ -14,8 +12,6 @@ import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; -import lombok.extern.slf4j.Slf4j; - import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -39,6 +35,9 @@ import com.commafeed.backend.service.FeedUpdateService; import com.commafeed.backend.service.PubSubService; import com.google.common.util.concurrent.Striped; +import io.dropwizard.lifecycle.Managed; +import lombok.extern.slf4j.Slf4j; + @Slf4j @Singleton public class FeedRefreshUpdater implements Managed { @@ -121,7 +120,7 @@ public class FeedRefreshUpdater implements Managed { if (!lastEntries.contains(cacheKey)) { log.debug("cache miss for {}", entry.getUrl()); if (subscriptions == null) { - subscriptions = UnitOfWork.run(sessionFactory, () -> feedSubscriptionDAO.findByFeed(feed)); + subscriptions = UnitOfWork.call(sessionFactory, () -> feedSubscriptionDAO.findByFeed(feed)); } ok &= addEntry(feed, entry, subscriptions); entryCacheMiss.mark(); @@ -183,7 +182,7 @@ public class FeedRefreshUpdater implements Managed { locked1 = lock1.tryLock(1, TimeUnit.MINUTES); locked2 = lock2.tryLock(1, TimeUnit.MINUTES); if (locked1 && locked2) { - boolean inserted = UnitOfWork.run(sessionFactory, () -> feedUpdateService.addEntry(feed, entry, subscriptions)); + boolean inserted = UnitOfWork.call(sessionFactory, () -> feedUpdateService.addEntry(feed, entry, subscriptions)); if (inserted) { entryInserted.mark(); } diff --git a/src/main/java/com/commafeed/backend/service/DatabaseCleaningService.java b/src/main/java/com/commafeed/backend/service/DatabaseCleaningService.java index d13ec2b6..c79fbef0 100644 --- a/src/main/java/com/commafeed/backend/service/DatabaseCleaningService.java +++ b/src/main/java/com/commafeed/backend/service/DatabaseCleaningService.java @@ -6,9 +6,6 @@ import java.util.List; import javax.inject.Inject; import javax.inject.Singleton; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - import org.hibernate.SessionFactory; import com.commafeed.backend.dao.FeedDAO; @@ -19,12 +16,15 @@ import com.commafeed.backend.dao.FeedEntryStatusDAO; import com.commafeed.backend.dao.UnitOfWork; import com.commafeed.backend.model.Feed; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + /** * Contains utility methods for cleaning the database * */ @Slf4j -@RequiredArgsConstructor(onConstructor = @__({ @Inject })) +@RequiredArgsConstructor(onConstructor = @__({ @Inject }) ) @Singleton public class DatabaseCleaningService { @@ -42,16 +42,16 @@ public class DatabaseCleaningService { int deleted = 0; long entriesTotal = 0; do { - List feeds = UnitOfWork.run(sessionFactory, () -> feedDAO.findWithoutSubscriptions(1)); + List feeds = UnitOfWork.call(sessionFactory, () -> feedDAO.findWithoutSubscriptions(1)); for (Feed feed : feeds) { int entriesDeleted = 0; do { - entriesDeleted = UnitOfWork.run(sessionFactory, () -> feedEntryDAO.delete(feed.getId(), BATCH_SIZE)); + entriesDeleted = UnitOfWork.call(sessionFactory, () -> feedEntryDAO.delete(feed.getId(), BATCH_SIZE)); entriesTotal += entriesDeleted; log.info("removed {} entries for feeds without subscriptions", entriesTotal); } while (entriesDeleted > 0); } - deleted = UnitOfWork.run(sessionFactory, () -> feedDAO.delete(feeds)); + deleted = UnitOfWork.call(sessionFactory, () -> feedDAO.delete(feeds)); total += deleted; log.info("removed {} feeds without subscriptions", total); } while (deleted != 0); @@ -64,7 +64,7 @@ public class DatabaseCleaningService { long total = 0; int deleted = 0; do { - deleted = UnitOfWork.run(sessionFactory, () -> feedEntryContentDAO.deleteWithoutEntries(BATCH_SIZE)); + deleted = UnitOfWork.call(sessionFactory, () -> feedEntryContentDAO.deleteWithoutEntries(BATCH_SIZE)); total += deleted; log.info("removed {} contents without entries", total); } while (deleted != 0); @@ -75,7 +75,7 @@ public class DatabaseCleaningService { public long cleanEntriesForFeedsExceedingCapacity(final int maxFeedCapacity) { long total = 0; while (true) { - List feeds = UnitOfWork.run(sessionFactory, + List feeds = UnitOfWork.call(sessionFactory, () -> feedEntryDAO.findFeedsExceedingCapacity(maxFeedCapacity, BATCH_SIZE)); if (feeds.isEmpty()) { break; @@ -85,7 +85,7 @@ public class DatabaseCleaningService { long remaining = feed.getCapacity() - maxFeedCapacity; do { final long rem = remaining; - int deleted = UnitOfWork.run(sessionFactory, + int deleted = UnitOfWork.call(sessionFactory, () -> feedEntryDAO.deleteOldEntries(feed.getId(), Math.min(BATCH_SIZE, rem))); total += deleted; remaining -= deleted; @@ -102,7 +102,7 @@ public class DatabaseCleaningService { long total = 0; int deleted = 0; do { - deleted = UnitOfWork.run(sessionFactory, + deleted = UnitOfWork.call(sessionFactory, () -> feedEntryStatusDAO.delete(feedEntryStatusDAO.getOldStatuses(olderThan, BATCH_SIZE))); total += deleted; log.info("removed {} old read statuses", total); diff --git a/src/main/java/com/commafeed/backend/service/StartupService.java b/src/main/java/com/commafeed/backend/service/StartupService.java index 4c914818..426d37d5 100644 --- a/src/main/java/com/commafeed/backend/service/StartupService.java +++ b/src/main/java/com/commafeed/backend/service/StartupService.java @@ -1,7 +1,5 @@ package com.commafeed.backend.service; -import io.dropwizard.lifecycle.Managed; - import java.sql.Connection; import java.util.Arrays; @@ -9,17 +7,6 @@ import javax.inject.Inject; import javax.inject.Singleton; import javax.sql.DataSource; -import liquibase.Liquibase; -import liquibase.database.Database; -import liquibase.database.DatabaseFactory; -import liquibase.database.core.PostgresDatabase; -import liquibase.database.jvm.JdbcConnection; -import liquibase.resource.ClassLoaderResourceAccessor; -import liquibase.resource.ResourceAccessor; -import liquibase.structure.DatabaseObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - import org.hibernate.SessionFactory; import org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; @@ -31,8 +18,20 @@ import com.commafeed.backend.dao.UnitOfWork; import com.commafeed.backend.dao.UserDAO; import com.commafeed.backend.model.UserRole.Role; +import io.dropwizard.lifecycle.Managed; +import liquibase.Liquibase; +import liquibase.database.Database; +import liquibase.database.DatabaseFactory; +import liquibase.database.core.PostgresDatabase; +import liquibase.database.jvm.JdbcConnection; +import liquibase.resource.ClassLoaderResourceAccessor; +import liquibase.resource.ResourceAccessor; +import liquibase.structure.DatabaseObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + @Slf4j -@RequiredArgsConstructor(onConstructor = @__({ @Inject })) +@RequiredArgsConstructor(onConstructor = @__({ @Inject }) ) @Singleton public class StartupService implements Managed { @@ -44,7 +43,7 @@ public class StartupService implements Managed { @Override public void start() throws Exception { updateSchema(); - long count = UnitOfWork.run(sessionFactory, () -> userDAO.count()); + long count = UnitOfWork.call(sessionFactory, () -> userDAO.count()); if (count == 0) { UnitOfWork.run(sessionFactory, () -> initialData()); } diff --git a/src/main/java/com/commafeed/frontend/servlet/CustomCssServlet.java b/src/main/java/com/commafeed/frontend/servlet/CustomCssServlet.java index 22f51db9..d3218653 100644 --- a/src/main/java/com/commafeed/frontend/servlet/CustomCssServlet.java +++ b/src/main/java/com/commafeed/frontend/servlet/CustomCssServlet.java @@ -10,8 +10,6 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; - import org.hibernate.SessionFactory; import com.commafeed.backend.dao.UnitOfWork; @@ -20,8 +18,10 @@ import com.commafeed.backend.model.User; import com.commafeed.backend.model.UserSettings; import com.commafeed.frontend.session.SessionHelper; +import lombok.RequiredArgsConstructor; + @SuppressWarnings("serial") -@RequiredArgsConstructor(onConstructor = @__({ @Inject })) +@RequiredArgsConstructor(onConstructor = @__({ @Inject }) ) @Singleton public class CustomCssServlet extends HttpServlet { @@ -37,7 +37,7 @@ public class CustomCssServlet extends HttpServlet { return; } - UserSettings settings = UnitOfWork.run(sessionFactory, () -> userSettingsDAO.findByUser(user.get())); + UserSettings settings = UnitOfWork.call(sessionFactory, () -> userSettingsDAO.findByUser(user.get())); if (settings == null || settings.getCustomCss() == null) { return; } diff --git a/src/main/java/com/commafeed/frontend/servlet/NextUnreadServlet.java b/src/main/java/com/commafeed/frontend/servlet/NextUnreadServlet.java index 990b30e1..4ea60674 100644 --- a/src/main/java/com/commafeed/frontend/servlet/NextUnreadServlet.java +++ b/src/main/java/com/commafeed/frontend/servlet/NextUnreadServlet.java @@ -11,8 +11,6 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import lombok.RequiredArgsConstructor; - import org.apache.commons.lang3.StringUtils; import org.hibernate.SessionFactory; @@ -31,8 +29,10 @@ import com.commafeed.frontend.resource.CategoryREST; import com.commafeed.frontend.session.SessionHelper; import com.google.common.collect.Iterables; +import lombok.RequiredArgsConstructor; + @SuppressWarnings("serial") -@RequiredArgsConstructor(onConstructor = @__({ @Inject })) +@RequiredArgsConstructor(onConstructor = @__({ @Inject }) ) @Singleton public class NextUnreadServlet extends HttpServlet { @@ -63,31 +63,29 @@ public class NextUnreadServlet extends HttpServlet { final ReadingOrder order = StringUtils.equals(orderParam, "asc") ? ReadingOrder.asc : ReadingOrder.desc; - FeedEntryStatus status = UnitOfWork.run( - sessionFactory, - () -> { - FeedEntryStatus s = null; - if (StringUtils.isBlank(categoryId) || CategoryREST.ALL.equals(categoryId)) { - List subs = feedSubscriptionDAO.findAll(user.get()); - List statuses = feedEntryStatusDAO.findBySubscriptions(user.get(), subs, true, null, null, 0, 1, - order, true, false, null); - s = Iterables.getFirst(statuses, null); - } else { - FeedCategory category = feedCategoryDAO.findById(user.get(), Long.valueOf(categoryId)); - if (category != null) { - List children = feedCategoryDAO.findAllChildrenCategories(user.get(), category); - List subscriptions = feedSubscriptionDAO.findByCategories(user.get(), children); - List statuses = feedEntryStatusDAO.findBySubscriptions(user.get(), subscriptions, true, null, - null, 0, 1, order, true, false, null); - s = Iterables.getFirst(statuses, null); - } - } - if (s != null) { - s.setRead(true); - feedEntryStatusDAO.saveOrUpdate(s); - } - return s; - }); + FeedEntryStatus status = UnitOfWork.call(sessionFactory, () -> { + FeedEntryStatus s = null; + if (StringUtils.isBlank(categoryId) || CategoryREST.ALL.equals(categoryId)) { + List subs = feedSubscriptionDAO.findAll(user.get()); + List statuses = feedEntryStatusDAO.findBySubscriptions(user.get(), subs, true, null, null, 0, 1, order, + true, false, null); + s = Iterables.getFirst(statuses, null); + } else { + FeedCategory category = feedCategoryDAO.findById(user.get(), Long.valueOf(categoryId)); + if (category != null) { + List children = feedCategoryDAO.findAllChildrenCategories(user.get(), category); + List subscriptions = feedSubscriptionDAO.findByCategories(user.get(), children); + List statuses = feedEntryStatusDAO.findBySubscriptions(user.get(), subscriptions, true, null, null, 0, + 1, order, true, false, null); + s = Iterables.getFirst(statuses, null); + } + } + if (s != null) { + s.setRead(true); + feedEntryStatusDAO.saveOrUpdate(s); + } + return s; + }); if (status == null) { resp.sendRedirect(resp.encodeRedirectURL(config.getApplicationSettings().getPublicUrl()));