diff --git a/src/main/java/com/commafeed/backend/DatabaseCleaner.java b/src/main/java/com/commafeed/backend/DatabaseCleaner.java index b853eabf..21833318 100644 --- a/src/main/java/com/commafeed/backend/DatabaseCleaner.java +++ b/src/main/java/com/commafeed/backend/DatabaseCleaner.java @@ -19,6 +19,10 @@ import com.commafeed.backend.model.Feed; import com.commafeed.backend.model.FeedSubscription; import com.commafeed.backend.services.ApplicationSettingsService; +/** + * Contains utility methods for cleaning the database + * + */ public class DatabaseCleaner { private static Logger log = LoggerFactory.getLogger(DatabaseCleaner.class); diff --git a/src/main/java/com/commafeed/backend/DatabaseUpdater.java b/src/main/java/com/commafeed/backend/DatabaseUpdater.java index 4ed458e3..e0a25eca 100644 --- a/src/main/java/com/commafeed/backend/DatabaseUpdater.java +++ b/src/main/java/com/commafeed/backend/DatabaseUpdater.java @@ -20,6 +20,10 @@ import liquibase.structure.DatabaseObject; import com.commafeed.backend.services.ApplicationPropertiesService; +/** + * Executes needed liquibase database schema upgrades + * + */ @Stateless @TransactionManagement(TransactionManagementType.BEAN) public class DatabaseUpdater { diff --git a/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java b/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java index 0d4ea24b..acd1bf78 100644 --- a/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java +++ b/src/main/java/com/commafeed/backend/FixedSizeSortedSet.java @@ -5,6 +5,11 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; +/** + * List wrapper that sorts its elements in the order provided by given comparator and ensure a maximum capacity. + * + * + */ public class FixedSizeSortedSet { private List inner; diff --git a/src/main/java/com/commafeed/backend/HttpGetter.java b/src/main/java/com/commafeed/backend/HttpGetter.java index 001463d9..8cdb0132 100644 --- a/src/main/java/com/commafeed/backend/HttpGetter.java +++ b/src/main/java/com/commafeed/backend/HttpGetter.java @@ -41,6 +41,10 @@ import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Smart HTTP getter + * + */ public class HttpGetter { private static Logger log = LoggerFactory.getLogger(HttpGetter.class); diff --git a/src/main/java/com/commafeed/backend/ScheduledTasks.java b/src/main/java/com/commafeed/backend/ScheduledTasks.java index d9e58680..f4e792e9 100644 --- a/src/main/java/com/commafeed/backend/ScheduledTasks.java +++ b/src/main/java/com/commafeed/backend/ScheduledTasks.java @@ -13,6 +13,10 @@ import org.slf4j.LoggerFactory; import com.commafeed.backend.services.ApplicationSettingsService; +/** + * Contains all scheduled tasks + * + */ @Stateless public class ScheduledTasks { protected final static Logger log = LoggerFactory.getLogger(ScheduledTasks.class); @@ -26,7 +30,9 @@ public class ScheduledTasks { @PersistenceContext EntityManager em; - // every day at midnight + /** + * clean old read statuses, runs every day at midnight + */ @Schedule(hour = "0", persistent = false) private void cleanupOldStatuses() { Date threshold = applicationSettingsService.get().getUnreadThreshold(); diff --git a/src/main/java/com/commafeed/backend/StartupBean.java b/src/main/java/com/commafeed/backend/StartupBean.java index 3f0d5189..114a0d44 100644 --- a/src/main/java/com/commafeed/backend/StartupBean.java +++ b/src/main/java/com/commafeed/backend/StartupBean.java @@ -25,6 +25,10 @@ import com.commafeed.backend.services.ApplicationSettingsService; import com.commafeed.backend.services.UserService; import com.google.api.client.util.Maps; +/** + * Starting point of the application + * + */ @Startup @Singleton @ConcurrencyManagement(ConcurrencyManagementType.BEAN) @@ -56,14 +60,19 @@ public class StartupBean { private void init() { startupTime = System.currentTimeMillis(); + + // update database schema databaseUpdater.update(); if (applicationSettingsDAO.getCount() == 0) { + // import initial data initialData(); } applicationSettingsService.applyLogLevel(); initSupportedLanguages(); + + // start fetching feeds taskGiver.start(); } @@ -83,6 +92,9 @@ public class StartupBean { } } + /** + * create default users + */ private void initialData() { log.info("Populating database with default values"); diff --git a/src/main/java/com/commafeed/backend/feeds/FaviconFetcher.java b/src/main/java/com/commafeed/backend/feeds/FaviconFetcher.java index b9434f96..e9e376e6 100644 --- a/src/main/java/com/commafeed/backend/feeds/FaviconFetcher.java +++ b/src/main/java/com/commafeed/backend/feeds/FaviconFetcher.java @@ -81,7 +81,7 @@ public class FaviconFetcher { return bytes; } - boolean isValidIconResponse(byte[] content, String contentType) { + private boolean isValidIconResponse(byte[] content, String contentType) { if (content == null) { return false; } diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshExecutor.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshExecutor.java index 066594f5..422eac75 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshExecutor.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshExecutor.java @@ -10,6 +10,11 @@ import java.util.concurrent.atomic.AtomicInteger; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Wraps a {@link ThreadPoolExecutor} instance. Blocks when queue is full instead of rejecting the task. Allow priority queueing by using + * {@link Task} instead of {@link Runnable} + * + */ public class FeedRefreshExecutor { private static Logger log = LoggerFactory.getLogger(FeedRefreshExecutor.class); diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java index 29c0d291..de689834 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshTaskGiver.java @@ -25,6 +25,11 @@ import com.google.api.client.util.Maps; import com.google.common.collect.Lists; import com.google.common.collect.Queues; +/** + * Infinite loop fetching feeds from the database and queuing them to the {@link FeedRefreshWorker} pool. Also handles feed database updates + * at the end of the cycle through {@link #giveBack(Feed)}. + * + */ @ApplicationScoped public class FeedRefreshTaskGiver { diff --git a/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java b/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java index 24ee964e..663597c9 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedRefreshWorker.java @@ -22,6 +22,10 @@ import com.commafeed.backend.model.FeedEntry; import com.commafeed.backend.services.ApplicationSettingsService; import com.sun.syndication.io.FeedException; +/** + * Calls {@link FeedFetcher} and handles its outcome + * + */ @ApplicationScoped public class FeedRefreshWorker { diff --git a/src/main/java/com/commafeed/backend/feeds/FeedUtils.java b/src/main/java/com/commafeed/backend/feeds/FeedUtils.java index ab2ffd6c..ef716429 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedUtils.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedUtils.java @@ -36,6 +36,10 @@ import com.steadystate.css.parser.CSSOMParser; import edu.uci.ics.crawler4j.url.URLCanonicalizer; +/** + * Utility methods related to feed handling + * + */ public class FeedUtils { protected static Logger log = LoggerFactory.getLogger(FeedUtils.class); diff --git a/src/main/java/com/commafeed/backend/model/AbstractModel.java b/src/main/java/com/commafeed/backend/model/AbstractModel.java index 8809b6e9..718e2da6 100644 --- a/src/main/java/com/commafeed/backend/model/AbstractModel.java +++ b/src/main/java/com/commafeed/backend/model/AbstractModel.java @@ -8,6 +8,10 @@ import javax.persistence.Id; import javax.persistence.MappedSuperclass; import javax.persistence.TableGenerator; +/** + * Abstract model for all entities, defining id and table generator + * + */ @SuppressWarnings("serial") @MappedSuperclass public abstract class AbstractModel implements Serializable { diff --git a/src/main/java/com/commafeed/backend/pubsubhubbub/SubscriptionHandler.java b/src/main/java/com/commafeed/backend/pubsubhubbub/SubscriptionHandler.java index 930821d7..3a0f2dfe 100644 --- a/src/main/java/com/commafeed/backend/pubsubhubbub/SubscriptionHandler.java +++ b/src/main/java/com/commafeed/backend/pubsubhubbub/SubscriptionHandler.java @@ -22,8 +22,13 @@ import com.commafeed.backend.feeds.FeedRefreshTaskGiver; import com.commafeed.backend.feeds.FeedUtils; import com.commafeed.backend.model.Feed; import com.commafeed.backend.services.ApplicationSettingsService; +import com.commafeed.frontend.rest.resources.PubSubHubbubCallbackREST; import com.google.common.collect.Lists; +/** + * Sends push subscription requests. Callback is handled by {@link PubSubHubbubCallbackREST} + * + */ public class SubscriptionHandler { private static Logger log = LoggerFactory.getLogger(SubscriptionHandler.class); diff --git a/src/main/java/com/commafeed/backend/rome/OPML11Generator.java b/src/main/java/com/commafeed/backend/rome/OPML11Generator.java index 26883ffe..371bfc5d 100644 --- a/src/main/java/com/commafeed/backend/rome/OPML11Generator.java +++ b/src/main/java/com/commafeed/backend/rome/OPML11Generator.java @@ -4,6 +4,10 @@ import org.jdom.Element; import com.sun.syndication.feed.opml.Opml; +/** + * Add missing title to the generated OPML + * + */ public class OPML11Generator extends com.sun.syndication.io.impl.OPML10Generator { public OPML11Generator() { diff --git a/src/main/java/com/commafeed/backend/rome/OPML11Parser.java b/src/main/java/com/commafeed/backend/rome/OPML11Parser.java index f3b52cd8..c297e74d 100644 --- a/src/main/java/com/commafeed/backend/rome/OPML11Parser.java +++ b/src/main/java/com/commafeed/backend/rome/OPML11Parser.java @@ -5,6 +5,10 @@ import org.jdom.Element; import com.sun.syndication.io.impl.OPML10Parser; +/** + * Support for OPML 1.1 parsing + * + */ public class OPML11Parser extends OPML10Parser { public OPML11Parser() { diff --git a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java index 434986ec..a6f1ec73 100644 --- a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java +++ b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionConverter.java @@ -6,6 +6,10 @@ import com.sun.syndication.feed.synd.SyndContentImpl; import com.sun.syndication.feed.synd.SyndEntry; import com.sun.syndication.feed.synd.impl.ConverterForRSS090; +/** + * Support description tag for RSS09 + * + */ public class RSS090DescriptionConverter extends ConverterForRSS090 { @Override diff --git a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java index 055bf19f..04ba9423 100644 --- a/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java +++ b/src/main/java/com/commafeed/backend/rome/RSS090DescriptionParser.java @@ -6,6 +6,10 @@ import com.sun.syndication.feed.rss.Description; import com.sun.syndication.feed.rss.Item; import com.sun.syndication.io.impl.RSS090Parser; +/** + * Support description tag for RSS09 + * + */ public class RSS090DescriptionParser extends RSS090Parser { @Override diff --git a/src/main/java/com/commafeed/backend/services/MailService.java b/src/main/java/com/commafeed/backend/services/MailService.java index a6de7d37..88d73015 100644 --- a/src/main/java/com/commafeed/backend/services/MailService.java +++ b/src/main/java/com/commafeed/backend/services/MailService.java @@ -18,6 +18,10 @@ import org.slf4j.LoggerFactory; import com.commafeed.backend.model.ApplicationSettings; import com.commafeed.backend.model.User; +/** + * Mailing service + * + */ @SuppressWarnings("serial") public class MailService implements Serializable { diff --git a/src/main/java/com/commafeed/backend/services/PasswordEncryptionService.java b/src/main/java/com/commafeed/backend/services/PasswordEncryptionService.java index 6777e47e..132cc3a3 100644 --- a/src/main/java/com/commafeed/backend/services/PasswordEncryptionService.java +++ b/src/main/java/com/commafeed/backend/services/PasswordEncryptionService.java @@ -15,7 +15,7 @@ import org.slf4j.LoggerFactory; import com.commafeed.backend.dao.UserDAO; -// http://www.javacodegeeks.com/2012/05/secure-password-storage-donts-dos-and.html +// taken from http://www.javacodegeeks.com/2012/05/secure-password-storage-donts-dos-and.html @SuppressWarnings("serial") public class PasswordEncryptionService implements Serializable {