From bd6c9f3a75c0f7dd642cc648daf6c8188b99d602 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Mon, 16 Jun 2008 13:57:52 +0000 Subject: [PATCH] Activity Service - fix site feed to avoid stacktrace if siteId does not exist git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9484 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../feed/SiteFeedRetrieverWebScript.java | 56 ++++++++++--------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java b/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java index 8800a03792..56e1274798 100644 --- a/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java +++ b/source/java/org/alfresco/repo/web/scripts/activities/feed/SiteFeedRetrieverWebScript.java @@ -97,6 +97,8 @@ public class SiteFeedRetrieverWebScript extends DeclarativeWebScript format = "atomentry"; } + Map model = new HashMap(); + // if site is null then either does not exist or is private (and current user is not admin or a member) - hence return 401 (unauthorised) SiteInfo siteInfo = siteService.getSite(siteId); if (siteInfo == null) @@ -104,35 +106,37 @@ public class SiteFeedRetrieverWebScript extends DeclarativeWebScript String currentUser = AuthenticationUtil.getCurrentUserName(); status.setCode(Status.STATUS_UNAUTHORIZED); logger.warn("Unable to get site feed entries for '" + siteId + "' (site does not exist or is private) - currently logged in as '" + currentUser +"'"); - return null; - } - - Map model = new HashMap(); - - List feedEntries = activityService.getSiteFeedEntries(siteId, format); - - if (format.equals("json")) - { - model.put("feedEntries", feedEntries); - model.put("siteId", siteId); + + model.put("feedEntries", null); + model.put("siteId", ""); } else - { - List> activityFeedModels = new ArrayList>(); - try - { - for (String feedEntry : feedEntries) - { - activityFeedModels.add(JSONtoFmModel.convertJSONObjectToMap(feedEntry)); - } - } - catch (JSONException je) - { - throw new AlfrescoRuntimeException("Unable to get user feed entries: " + je.getMessage()); - } + { + List feedEntries = activityService.getSiteFeedEntries(siteId, format); - model.put("feedEntries", activityFeedModels); - model.put("siteId", siteId); + if (format.equals("json")) + { + model.put("feedEntries", feedEntries); + model.put("siteId", siteId); + } + else + { + List> activityFeedModels = new ArrayList>(); + try + { + for (String feedEntry : feedEntries) + { + activityFeedModels.add(JSONtoFmModel.convertJSONObjectToMap(feedEntry)); + } + } + catch (JSONException je) + { + throw new AlfrescoRuntimeException("Unable to get user feed entries: " + je.getMessage()); + } + + model.put("feedEntries", activityFeedModels); + model.put("siteId", siteId); + } } return model;