more config checks on startup

This commit is contained in:
Athou
2014-12-04 10:52:41 +01:00
parent 9110cfd923
commit c702f47927
13 changed files with 47 additions and 31 deletions

View File

@@ -7,6 +7,9 @@ app:
# wether to allow user registrations
allowRegistrations: false
# create a demo account the first time the app starts
createDemoAccount: false
# put your google analytics tracking code here
googleAnalyticsTrackingCode:

View File

@@ -7,6 +7,9 @@ app:
# wether to allow user registrations
allowRegistrations: true
# create a demo account the first time the app starts
createDemoAccount: false
# put your google analytics tracking code here
googleAnalyticsTrackingCode:

View File

@@ -64,64 +64,74 @@ public class CommaFeedConfiguration extends Configuration {
public static class ApplicationSettings {
@NotNull
@NotBlank
@Valid
private String publicUrl;
@NotNull
private boolean allowRegistrations;
@Valid
private Boolean allowRegistrations;
private boolean createDemoAccount;
@NotNull
@Valid
private Boolean createDemoAccount;
private String googleAnalyticsTrackingCode;
@NotNull
@Min(1)
private int backgroundThreads;
@Valid
private Integer backgroundThreads;
@NotNull
@Min(1)
private int databaseUpdateThreads;
@Valid
private Integer databaseUpdateThreads;
private String smtpHost;
private int smtpPort;
private boolean smtpTls;
private String smtpUserName;
private String smtpPassword;
private String smtpFromAddress;
@NotNull
private boolean heavyLoad;
@Valid
private Boolean heavyLoad;
@NotNull
private boolean pubsubhubbub;
@Valid
private Boolean pubsubhubbub;
@NotNull
private boolean imageProxyEnabled;
@Valid
private Boolean imageProxyEnabled;
@NotNull
@Min(0)
private int queryTimeout;
@Valid
private Integer queryTimeout;
@NotNull
@Min(0)
private int keepStatusDays;
@Valid
private Integer keepStatusDays;
@NotNull
@Min(0)
private int maxFeedCapacity;
@Valid
private Integer maxFeedCapacity;
@NotNull
@Min(0)
private int refreshIntervalMinutes;
@Valid
private Integer refreshIntervalMinutes;
@NotNull
@Valid
private CacheType cache;
@NotNull
@Valid
private String announcement;
public Date getUnreadThreshold() {

View File

@@ -154,7 +154,7 @@ public class FeedQueues {
}
private Date getLastLoginThreshold() {
if (config.getApplicationSettings().isHeavyLoad()) {
if (config.getApplicationSettings().getHeavyLoad()) {
return DateUtils.addDays(new Date(), -30);
} else {
return null;

View File

@@ -152,7 +152,7 @@ public class FeedRefreshUpdater implements Managed {
}
}
if (config.getApplicationSettings().isPubsubhubbub()) {
if (config.getApplicationSettings().getPubsubhubbub()) {
handlePubSub(feed);
}
if (!ok) {

View File

@@ -90,7 +90,7 @@ public class FeedRefreshWorker implements Managed {
// stops here if NotModifiedException or any other exception is thrown
List<FeedEntry> entries = fetchedFeed.getEntries();
if (config.getApplicationSettings().isHeavyLoad()) {
if (config.getApplicationSettings().getHeavyLoad()) {
disabledUntil = FeedUtils.buildDisabledUntil(fetchedFeed.getFeed().getLastEntryDate(), fetchedFeed.getFeed()
.getAverageEntryInterval(), disabledUntil);
}
@@ -118,7 +118,7 @@ public class FeedRefreshWorker implements Managed {
} catch (NotModifiedException e) {
log.debug("Feed not modified : {} - {}", feed.getUrl(), e.getMessage());
if (config.getApplicationSettings().isHeavyLoad()) {
if (config.getApplicationSettings().getHeavyLoad()) {
disabledUntil = FeedUtils.buildDisabledUntil(feed.getLastEntryDate(), feed.getAverageEntryInterval(), disabledUntil);
}
feed.setErrorCount(0);

View File

@@ -97,7 +97,7 @@ public class StartupService implements Managed {
try {
userService.register(CommaFeedApplication.USERNAME_ADMIN, "admin", "admin@commafeed.com", Arrays.asList(Role.ADMIN, Role.USER),
true);
if (config.getApplicationSettings().isCreateDemoAccount()) {
if (config.getApplicationSettings().getCreateDemoAccount()) {
userService.register(CommaFeedApplication.USERNAME_DEMO, "demo", "demo@commafeed.com", Arrays.asList(Role.USER), true);
}
} catch (Exception e) {

View File

@@ -92,7 +92,7 @@ public class UserService {
Preconditions.checkNotNull(password);
if (!forceRegistration) {
Preconditions.checkState(config.getApplicationSettings().isAllowRegistrations(),
Preconditions.checkState(config.getApplicationSettings().getAllowRegistrations(),
"Registrations are closed on this CommaFeed instance");
Preconditions.checkNotNull(email);

View File

@@ -33,7 +33,7 @@ public class PostLoginActivities {
user.setLastLogin(now);
saveUser = true;
}
if (config.getApplicationSettings().isHeavyLoad() && user.shouldRefreshFeedsAt(now)) {
if (config.getApplicationSettings().getHeavyLoad() && user.shouldRefreshFeedsAt(now)) {
feedSubscriptionService.refreshAll(user);
user.setLastFullRefresh(now);
saveUser = true;

View File

@@ -143,7 +143,7 @@ public class CategoryREST {
for (FeedEntryStatus status : list) {
entries.getEntries().add(
Entry.build(status, config.getApplicationSettings().getPublicUrl(), config.getApplicationSettings()
.isImageProxyEnabled()));
.getImageProxyEnabled()));
}
} else if (STARRED.equals(id)) {
@@ -152,7 +152,7 @@ public class CategoryREST {
for (FeedEntryStatus status : starred) {
entries.getEntries().add(
Entry.build(status, config.getApplicationSettings().getPublicUrl(), config.getApplicationSettings()
.isImageProxyEnabled()));
.getImageProxyEnabled()));
}
} else {
FeedCategory parent = feedCategoryDAO.findById(user, Long.valueOf(id));
@@ -166,7 +166,7 @@ public class CategoryREST {
for (FeedEntryStatus status : list) {
entries.getEntries().add(
Entry.build(status, config.getApplicationSettings().getPublicUrl(), config.getApplicationSettings()
.isImageProxyEnabled()));
.getImageProxyEnabled()));
}
entries.setName(parent.getName());
} else {

View File

@@ -173,7 +173,7 @@ public class FeedREST {
for (FeedEntryStatus status : list) {
entries.getEntries().add(
Entry.build(status, config.getApplicationSettings().getPublicUrl(), config.getApplicationSettings()
.isImageProxyEnabled()));
.getImageProxyEnabled()));
}
boolean hasMore = entries.getEntries().size() > limit;

View File

@@ -57,7 +57,7 @@ public class PubSubHubbubCallbackREST {
public Response verify(@QueryParam("hub.mode") String mode, @QueryParam("hub.topic") String topic,
@QueryParam("hub.challenge") String challenge, @QueryParam("hub.lease_seconds") String leaseSeconds,
@QueryParam("hub.verify_token") String verifyToken) {
if (!config.getApplicationSettings().isPubsubhubbub()) {
if (!config.getApplicationSettings().getPubsubhubbub()) {
return Response.status(Status.FORBIDDEN).entity("pubsubhubbub is disabled").build();
}
@@ -87,7 +87,7 @@ public class PubSubHubbubCallbackREST {
@Consumes({ MediaType.APPLICATION_ATOM_XML, "application/rss+xml" })
public Response callback() {
if (!config.getApplicationSettings().isPubsubhubbub()) {
if (!config.getApplicationSettings().getPubsubhubbub()) {
return Response.status(Status.FORBIDDEN).entity("pubsubhubbub is disabled").build();
}

View File

@@ -47,7 +47,7 @@ public class ServerREST {
infos.setAnnouncement(config.getApplicationSettings().getAnnouncement());
infos.setVersion(config.getVersion());
infos.setGitCommit(config.getGitCommit());
infos.setAllowRegistrations(config.getApplicationSettings().isAllowRegistrations());
infos.setAllowRegistrations(config.getApplicationSettings().getAllowRegistrations());
infos.setGoogleAnalyticsCode(config.getApplicationSettings().getGoogleAnalyticsTrackingCode());
infos.setSmtpEnabled(StringUtils.isNotBlank(config.getApplicationSettings().getSmtpHost()));
return Response.ok(infos).build();
@@ -59,7 +59,7 @@ public class ServerREST {
@ApiOperation(value = "proxy image")
@Produces("image/png")
public Response get(@SecurityCheck User user, @QueryParam("u") String url) {
if (!config.getApplicationSettings().isImageProxyEnabled()) {
if (!config.getApplicationSettings().getImageProxyEnabled()) {
return Response.status(Status.FORBIDDEN).build();
}