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

@@ -1,5 +1,7 @@
{ [
<#if feedEntries??> <#if feedEntries??>
<#list feedEntries as feedEntry> <#list feedEntries as feedEntry>
${feedEntry.activitySummary} ${feedEntry}<#if feedEntry_has_next>,</#if>
</#list> </#list>
</#if>
]

View File

@@ -1,5 +1,7 @@
{ [
<#if feedEntries??> <#if feedEntries??>
<#list feedEntries as feedEntry> <#list feedEntries as feedEntry>
${feedEntry.activitySummary} ${feedEntry}<#if feedEntry_has_next>,</#if>
</#list> </#list>
</#if>
]

View File

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

View File

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