merge properties service into configuration

This commit is contained in:
Athou
2014-08-16 17:27:27 +02:00
parent b886379d34
commit b051613b62
5 changed files with 22 additions and 31 deletions

View File

@@ -55,7 +55,6 @@ import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.model.UserSettings; import com.commafeed.backend.model.UserSettings;
import com.commafeed.backend.opml.OPMLExporter; import com.commafeed.backend.opml.OPMLExporter;
import com.commafeed.backend.opml.OPMLImporter; import com.commafeed.backend.opml.OPMLImporter;
import com.commafeed.backend.service.ApplicationPropertiesService;
import com.commafeed.backend.service.DatabaseCleaningService; import com.commafeed.backend.service.DatabaseCleaningService;
import com.commafeed.backend.service.FeedEntryContentService; import com.commafeed.backend.service.FeedEntryContentService;
import com.commafeed.backend.service.FeedEntryService; import com.commafeed.backend.service.FeedEntryService;
@@ -155,7 +154,6 @@ public class CommaFeedApplication extends Application<CommaFeedConfiguration> {
FeedQueues queues = new FeedQueues(feedDAO, config, metrics); FeedQueues queues = new FeedQueues(feedDAO, config, metrics);
// Services // Services
ApplicationPropertiesService applicationPropertiesService = new ApplicationPropertiesService();
DatabaseCleaningService cleaningService = new DatabaseCleaningService(sessionFactory, feedDAO, feedEntryDAO, feedEntryContentDAO, DatabaseCleaningService cleaningService = new DatabaseCleaningService(sessionFactory, feedDAO, feedEntryDAO, feedEntryContentDAO,
feedEntryStatusDAO); feedEntryStatusDAO);
FeedEntryContentService feedEntryContentService = new FeedEntryContentService(feedEntryContentDAO); FeedEntryContentService feedEntryContentService = new FeedEntryContentService(feedEntryContentDAO);
@@ -175,7 +173,7 @@ public class CommaFeedApplication extends Application<CommaFeedConfiguration> {
OPMLExporter opmlExporter = new OPMLExporter(feedCategoryDAO, feedSubscriptionDAO); OPMLExporter opmlExporter = new OPMLExporter(feedCategoryDAO, feedSubscriptionDAO);
// Feed fetching/parsing // Feed fetching/parsing
HttpGetter httpGetter = new HttpGetter(applicationPropertiesService); HttpGetter httpGetter = new HttpGetter(config);
FeedParser feedParser = new FeedParser(); FeedParser feedParser = new FeedParser();
FaviconFetcher faviconFetcher = new FaviconFetcher(httpGetter); FaviconFetcher faviconFetcher = new FaviconFetcher(httpGetter);
FeedFetcher feedFetcher = new FeedFetcher(feedParser, httpGetter); FeedFetcher feedFetcher = new FeedFetcher(feedParser, httpGetter);
@@ -215,7 +213,7 @@ public class CommaFeedApplication extends Application<CommaFeedConfiguration> {
new FeedREST(feedSubscriptionDAO, feedCategoryDAO, feedEntryStatusDAO, faviconFetcher, feedFetcher, feedEntryService, new FeedREST(feedSubscriptionDAO, feedCategoryDAO, feedEntryStatusDAO, faviconFetcher, feedFetcher, feedEntryService,
feedSubscriptionService, queues, opmlImporter, opmlExporter, cacheService, config)); feedSubscriptionService, queues, opmlImporter, opmlExporter, cacheService, config));
environment.jersey().register(new PubSubHubbubCallbackREST(feedDAO, feedParser, queues, config, metrics)); environment.jersey().register(new PubSubHubbubCallbackREST(feedDAO, feedParser, queues, config, metrics));
environment.jersey().register(new ServerREST(httpGetter, config, applicationPropertiesService)); environment.jersey().register(new ServerREST(httpGetter, config));
environment.jersey().register( environment.jersey().register(
new UserREST(userDAO, userRoleDAO, userSettingsDAO, userService, encryptionService, mailService, config)); new UserREST(userDAO, userRoleDAO, userSettingsDAO, userService, encryptionService, mailService, config));

View File

@@ -4,6 +4,7 @@ import io.dropwizard.Configuration;
import io.dropwizard.db.DataSourceFactory; import io.dropwizard.db.DataSourceFactory;
import java.util.Date; import java.util.Date;
import java.util.ResourceBundle;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
@@ -23,6 +24,12 @@ public class CommaFeedConfiguration extends Configuration {
NOOP, REDIS NOOP, REDIS
} }
private ResourceBundle bundle;
public CommaFeedConfiguration() {
bundle = ResourceBundle.getBundle("application");
}
@Valid @Valid
@NotNull @NotNull
@JsonProperty("database") @JsonProperty("database")
@@ -33,6 +40,14 @@ public class CommaFeedConfiguration extends Configuration {
@JsonProperty("app") @JsonProperty("app")
private ApplicationSettings applicationSettings; private ApplicationSettings applicationSettings;
public String getVersion() {
return bundle.getString("version");
}
public String getGitCommit() {
return bundle.getString("git.commit");
}
@Getter @Getter
public static class ApplicationSettings { public static class ApplicationSettings {
@JsonProperty @JsonProperty

View File

@@ -44,7 +44,7 @@ import org.apache.http.impl.client.HttpClients;
import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpContext;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import com.commafeed.backend.service.ApplicationPropertiesService; import com.commafeed.CommaFeedConfiguration;
/** /**
* Smart HTTP getter: handles gzip, ssl, last modified and etag headers * Smart HTTP getter: handles gzip, ssl, last modified and etag headers
@@ -95,8 +95,8 @@ public class HttpGetter {
private final String userAgent; private final String userAgent;
public HttpGetter(ApplicationPropertiesService applicationPropertiesService) { public HttpGetter(CommaFeedConfiguration config) {
this.userAgent = String.format("CommaFeed/%s (https://www.commafeed.com)", applicationPropertiesService.getVersion()); this.userAgent = String.format("CommaFeed/%s (https://www.commafeed.com)", config.getVersion());
} }
public HttpResult getBinary(String url, int timeout) throws ClientProtocolException, IOException, NotModifiedException { public HttpResult getBinary(String url, int timeout) throws ClientProtocolException, IOException, NotModifiedException {

View File

@@ -1,20 +0,0 @@
package com.commafeed.backend.service;
import java.util.ResourceBundle;
public class ApplicationPropertiesService {
private ResourceBundle bundle;
public ApplicationPropertiesService() {
bundle = ResourceBundle.getBundle("application");
}
public String getVersion() {
return bundle.getString("version");
}
public String getGitCommit() {
return bundle.getString("git.commit");
}
}

View File

@@ -20,7 +20,6 @@ import com.commafeed.backend.HttpGetter;
import com.commafeed.backend.HttpGetter.HttpResult; import com.commafeed.backend.HttpGetter.HttpResult;
import com.commafeed.backend.feed.FeedUtils; import com.commafeed.backend.feed.FeedUtils;
import com.commafeed.backend.model.User; import com.commafeed.backend.model.User;
import com.commafeed.backend.service.ApplicationPropertiesService;
import com.commafeed.frontend.auth.SecurityCheck; import com.commafeed.frontend.auth.SecurityCheck;
import com.commafeed.frontend.model.ServerInfo; import com.commafeed.frontend.model.ServerInfo;
import com.wordnik.swagger.annotations.Api; import com.wordnik.swagger.annotations.Api;
@@ -35,7 +34,6 @@ public class ServerREST {
private final HttpGetter httpGetter; private final HttpGetter httpGetter;
private final CommaFeedConfiguration config; private final CommaFeedConfiguration config;
private final ApplicationPropertiesService applicationPropertiesService;
@Path("/get") @Path("/get")
@GET @GET
@@ -44,8 +42,8 @@ public class ServerREST {
public Response get() { public Response get() {
ServerInfo infos = new ServerInfo(); ServerInfo infos = new ServerInfo();
infos.setAnnouncement(config.getApplicationSettings().getAnnouncement()); infos.setAnnouncement(config.getApplicationSettings().getAnnouncement());
infos.setVersion(applicationPropertiesService.getVersion()); infos.setVersion(config.getVersion());
infos.setGitCommit(applicationPropertiesService.getGitCommit()); infos.setGitCommit(config.getGitCommit());
infos.setAllowRegistrations(config.getApplicationSettings().isAllowRegistrations()); infos.setAllowRegistrations(config.getApplicationSettings().isAllowRegistrations());
infos.setGoogleAnalyticsCode(config.getApplicationSettings().getGoogleAnalyticsTrackingCode()); infos.setGoogleAnalyticsCode(config.getApplicationSettings().getGoogleAnalyticsTrackingCode());
infos.setSmtpEnabled(StringUtils.isNotBlank(config.getApplicationSettings().getSmtpHost())); infos.setSmtpEnabled(StringUtils.isNotBlank(config.getApplicationSettings().getSmtpHost()));