Activity Service - fix JSON feed

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9156 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2008-05-19 10:31:29 +00:00
parent 7c3be1e350
commit 24798d12f7
4 changed files with 72 additions and 16 deletions

View File

@@ -24,15 +24,18 @@
*/
package org.alfresco.repo.web.scripts.activities;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.service.cmr.activities.ActivityService;
import org.alfresco.util.JSONtoFmModel;
import org.alfresco.web.scripts.DeclarativeWebScript;
import org.alfresco.web.scripts.Status;
import org.alfresco.web.scripts.WebScriptRequest;
import org.json.JSONException;
/**
* Java-backed WebScript to retrieve Activity Site Feed
@@ -83,11 +86,34 @@ public class SiteFeedRetrieverWebScript extends DeclarativeWebScript
// TODO - check if site is public or private
// if private and user is not a member or not an admin then throw 401 (unauthorised)
List<Map<String, Object>> feedEntries = activityService.getSiteFeedEntries(siteId, format);
Map<String, Object> model = new HashMap<String, Object>();
model.put("feedEntries", feedEntries);
model.put("siteId", siteId);
List<String> feedEntries = activityService.getSiteFeedEntries(siteId, format);
if (format.equals("json"))
{
model.put("feedEntries", feedEntries);
model.put("siteId", siteId);
}
else
{
List<Map<String, Object>> activityFeedModels = new ArrayList<Map<String, Object>>();
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;
}
}

View File

@@ -24,6 +24,7 @@
*/
package org.alfresco.repo.web.scripts.activities;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -31,9 +32,11 @@ import java.util.Map;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.activities.ActivityService;
import org.alfresco.util.JSONtoFmModel;
import org.alfresco.web.scripts.DeclarativeWebScript;
import org.alfresco.web.scripts.Status;
import org.alfresco.web.scripts.WebScriptRequest;
import org.json.JSONException;
/**
* Java-backed WebScript to retrieve Activity User Feed
@@ -90,11 +93,34 @@ public class UserFeedRetrieverWebScript extends DeclarativeWebScript
format = "atomentry";
}
List<Map<String, Object>> feedEntries = activityService.getUserFeedEntries(feedUserId, format, siteId);
Map<String, Object> model = new HashMap<String, Object>();
model.put("feedEntries", feedEntries);
model.put("feedUserId", feedUserId);
List<String> feedEntries = activityService.getUserFeedEntries(feedUserId, format, siteId);
if (format.equals("json"))
{
model.put("feedEntries", feedEntries);
model.put("siteId", siteId);
}
else
{
List<Map<String, Object>> activityFeedModels = new ArrayList<Map<String, Object>>();
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("feedUserId", feedUserId);
}
return model;
}
}