display message on details page

This commit is contained in:
Athou
2013-08-13 12:15:30 +02:00
parent 06a996cd81
commit 21b0176a49
5 changed files with 19 additions and 6 deletions

View File

@@ -42,7 +42,7 @@ import org.apache.http.params.HttpProtocolParams;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
/** /**
* Smart HTTP getter * Smart HTTP getter: handles gzip, ssl, last modified and etag headers
* *
*/ */
@Slf4j @Slf4j
@@ -110,14 +110,14 @@ public class HttpGetter {
response = client.execute(httpget); response = client.execute(httpget);
int code = response.getStatusLine().getStatusCode(); int code = response.getStatusLine().getStatusCode();
if (code == HttpStatus.SC_NOT_MODIFIED) { if (code == HttpStatus.SC_NOT_MODIFIED) {
throw new NotModifiedException("304 http code"); throw new NotModifiedException("'304 - not modified' http code received");
} else if (code >= 300) { } else if (code >= 300) {
throw new HttpResponseException(code, "Server returned HTTP error code " + code); throw new HttpResponseException(code, "Server returned HTTP error code " + code);
} }
} catch (HttpResponseException e) { } catch (HttpResponseException e) {
if (e.getStatusCode() == HttpStatus.SC_NOT_MODIFIED) { if (e.getStatusCode() == HttpStatus.SC_NOT_MODIFIED) {
throw new NotModifiedException("304 http code"); throw new NotModifiedException("'304 - not modified' http code received");
} else { } else {
throw e; throw e;
} }

View File

@@ -101,8 +101,9 @@ public class FeedRefreshUpdater {
boolean ok = true; boolean ok = true;
Feed feed = context.getFeed(); Feed feed = context.getFeed();
List<FeedEntry> entries = context.getEntries(); List<FeedEntry> entries = context.getEntries();
if (entries.isEmpty() == false) { if (entries.isEmpty()) {
feed.setMessage("Feed has no entries");
} else {
List<String> lastEntries = cache.getLastEntries(feed); List<String> lastEntries = cache.getLastEntries(feed);
List<String> currentEntries = Lists.newArrayList(); List<String> currentEntries = Lists.newArrayList();
@@ -125,6 +126,10 @@ public class FeedRefreshUpdater {
} }
cache.setLastEntries(feed, currentEntries); cache.setLastEntries(feed, currentEntries);
if (subscriptions == null) {
feed.setMessage("No new entries found");
}
if (CollectionUtils.isNotEmpty(subscriptions)) { if (CollectionUtils.isNotEmpty(subscriptions)) {
List<User> users = Lists.newArrayList(); List<User> users = Lists.newArrayList();
for (FeedSubscription sub : subscriptions) { for (FeedSubscription sub : subscriptions) {

View File

@@ -124,7 +124,7 @@ public class FeedRefreshWorker {
disabledUntil = FeedUtils.buildDisabledUntil(feed.getLastEntryDate(), feed.getAverageEntryInterval(), disabledUntil); disabledUntil = FeedUtils.buildDisabledUntil(feed.getLastEntryDate(), feed.getAverageEntryInterval(), disabledUntil);
} }
feed.setErrorCount(0); feed.setErrorCount(0);
feed.setMessage(null); feed.setMessage(e.getMessage());
feed.setDisabledUntil(disabledUntil); feed.setDisabledUntil(disabledUntil);
taskGiver.giveBack(feed); taskGiver.giveBack(feed);

View File

@@ -78,6 +78,7 @@ details.category=Category
details.position=Position details.position=Position
details.last_refresh=Last refresh details.last_refresh=Last refresh
details.next_refresh=Next refresh details.next_refresh=Next refresh
details.message=Message
details.queued_for_refresh=Queued for refresh details.queued_for_refresh=Queued for refresh
details.feed_url=Feed URL details.feed_url=Feed URL
details.generate_api_key_first=Generate an API key in your profile first. details.generate_api_key_first=Generate an API key in your profile first.

View File

@@ -54,6 +54,13 @@
</div> </div>
</div> </div>
<div class="control-group">
<label class="control-label">${details.message}</label>
<div class="controls horizontal-align">
<span>{{sub.message}}</span>
</div>
</div>
<div class="control-group"> <div class="control-group">
<label class="control-label">${details.feed_url}</label> <label class="control-label">${details.feed_url}</label>
<div class="controls horizontal-align"> <div class="controls horizontal-align">