- First part, fix embarrassing spelling mistakes in public API methods and bean settings.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@88884 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2014-10-22 09:13:24 +00:00
parent 5c08c97cb4
commit 9376ec3b44
5 changed files with 108 additions and 110 deletions

View File

@@ -152,7 +152,7 @@
<!-- Feed Email Notifier --> <!-- Feed Email Notifier -->
<bean id="emailUserNotifier" class="org.alfresco.repo.activities.feed.EmailUserNotifier"> <bean id="emailUserNotifier" class="org.alfresco.repo.activities.feed.EmailUserNotifier">
<property name="activitiesFeedModdelBuilderFactory" ref="feedModelBuilderFactory"/> <property name="activitiesFeedModelBuilderFactory" ref="feedModelBuilderFactory"/>
<property name="activityService" ref="activityService"/> <property name="activityService" ref="activityService"/>
<property name="namespaceService" ref="NamespaceService"/> <property name="namespaceService" ref="NamespaceService"/>
<property name="repoAdminService" ref="repoAdminService"/> <property name="repoAdminService" ref="repoAdminService"/>

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2005-2013 Alfresco Software Limited. * Copyright (C) 2005-2014 Alfresco Software Limited.
* *
* This file is part of Alfresco * This file is part of Alfresco
* *
@@ -44,9 +44,9 @@ import org.json.JSONException;
import org.springframework.beans.factory.ObjectFactory; import org.springframework.beans.factory.ObjectFactory;
/** /**
*
* @since 4.0 * @since 4.0
* *
* @author Alex Miller
*/ */
public abstract class AbstractUserNotifier implements UserNotifier public abstract class AbstractUserNotifier implements UserNotifier
{ {
@@ -59,52 +59,52 @@ public abstract class AbstractUserNotifier implements UserNotifier
protected SiteService siteService; protected SiteService siteService;
protected ObjectFactory<ActivitiesFeedModelBuilder> activitiesFeedModelBuilderFactory; protected ObjectFactory<ActivitiesFeedModelBuilder> activitiesFeedModelBuilderFactory;
public void setActivityService(ActivityService activityService) public void setActivityService(ActivityService activityService)
{ {
this.activityService = activityService; this.activityService = activityService;
} }
public void setNamespaceService(NamespaceService namespaceService) public void setNamespaceService(NamespaceService namespaceService)
{ {
this.namespaceService = namespaceService; this.namespaceService = namespaceService;
} }
public void setRepoAdminService(RepoAdminService repoAdminService) public void setRepoAdminService(RepoAdminService repoAdminService)
{ {
this.repoAdminService = repoAdminService; this.repoAdminService = repoAdminService;
} }
public void setNodeService(NodeService nodeService) public void setNodeService(NodeService nodeService)
{ {
this.nodeService = nodeService; this.nodeService = nodeService;
} }
public void setSiteService(SiteService siteService) public void setSiteService(SiteService siteService)
{ {
this.siteService = siteService; this.siteService = siteService;
} }
public void setActivitiesFeedModdelBuilderFactory(ObjectFactory<ActivitiesFeedModelBuilder> activitivitesFeedModelBuilderFactory) public void setActivitiesFeedModelBuilderFactory(ObjectFactory<ActivitiesFeedModelBuilder> activitiesFeedModelBuilder)
{ {
this.activitiesFeedModelBuilderFactory = activitivitesFeedModelBuilderFactory; this.activitiesFeedModelBuilderFactory = activitiesFeedModelBuilder;
} }
/** /**
* Perform basic checks to ensure that the necessary dependencies were injected. * Perform basic checks to ensure that the necessary dependencies were injected.
*/ */
protected void checkProperties() protected void checkProperties()
{ {
PropertyCheck.mandatory(this, "activitiesFeedModdelBuilderFactory", activitiesFeedModelBuilderFactory); PropertyCheck.mandatory(this, "activitiesFeedModelBuilderFactory", activitiesFeedModelBuilderFactory);
PropertyCheck.mandatory(this, "activityService", activityService); PropertyCheck.mandatory(this, "activityService", activityService);
PropertyCheck.mandatory(this, "nodeService", nodeService); PropertyCheck.mandatory(this, "nodeService", nodeService);
PropertyCheck.mandatory(this, "namespaceService", namespaceService); PropertyCheck.mandatory(this, "namespaceService", namespaceService);
PropertyCheck.mandatory(this, "siteService", siteService); PropertyCheck.mandatory(this, "siteService", siteService);
} }
protected abstract boolean skipUser(NodeRef personNodeRef); protected abstract boolean skipUser(NodeRef personNodeRef);
protected abstract Long getFeedId(NodeRef personNodeRef); protected abstract Long getFeedId(NodeRef personNodeRef);
protected abstract void notifyUser(NodeRef personNodeRef, String subjectLine, Object[] subjectParams, Map<String, Object> model, String templateNodeRef); protected abstract void notifyUser(NodeRef personNodeRef, String subjectLine, Object[] subjectParams, Map<String, Object> model, String templateNodeRef);
private void addSiteName(String siteId, Map<String, String> siteNames) private void addSiteName(String siteId, Map<String, String> siteNames)
{ {
if (siteId == null) if (siteId == null)
@@ -135,32 +135,32 @@ public abstract class AbstractUserNotifier implements UserNotifier
} }
} }
public Pair<Integer, Long> notifyUser(final NodeRef personNodeRef, String subject, Object[] subjectParams, Map<String, String> siteNames, public Pair<Integer, Long> notifyUser(final NodeRef personNodeRef, String subject, Object[] subjectParams, Map<String, String> siteNames,
String shareUrl, int repeatIntervalMins, String templateNodeRef) String shareUrl, int repeatIntervalMins, String templateNodeRef)
{ {
Map<QName, Serializable> personProps = nodeService.getProperties(personNodeRef); Map<QName, Serializable> personProps = nodeService.getProperties(personNodeRef);
String feedUserId = (String)personProps.get(ContentModel.PROP_USERNAME); String feedUserId = (String)personProps.get(ContentModel.PROP_USERNAME);
if (skipUser(personNodeRef)) if (skipUser(personNodeRef))
{ {
// skip // skip
return null; return null;
} }
// where did we get up to ? // where did we get up to ?
Long feedDBID = getFeedId(personNodeRef); Long feedDBID = getFeedId(personNodeRef);
// own + others (note: template can be changed to filter out user's own activities if needed) // own + others (note: template can be changed to filter out user's own activities if needed)
if (logger.isDebugEnabled()) if (logger.isDebugEnabled())
{ {
logger.debug("Get user feed entries: " + feedUserId + ", " + feedDBID); logger.debug("Get user feed entries: " + feedUserId + ", " + feedDBID);
} }
List<ActivityFeedEntity> feedEntries = activityService.getUserFeedEntries(feedUserId, null, false, false, null, null, feedDBID); List<ActivityFeedEntity> feedEntries = activityService.getUserFeedEntries(feedUserId, null, false, false, null, null, feedDBID);
if (feedEntries.size() > 0) if (feedEntries.size() > 0)
{ {
ActivitiesFeedModelBuilder modelBuilder; ActivitiesFeedModelBuilder modelBuilder;
try try
{ {
modelBuilder = activitiesFeedModelBuilderFactory.getObject(); modelBuilder = activitiesFeedModelBuilderFactory.getObject();
@@ -170,60 +170,60 @@ public abstract class AbstractUserNotifier implements UserNotifier
logger.warn("Unable to create model builder: " + error.getMessage()); logger.warn("Unable to create model builder: " + error.getMessage());
return null; return null;
} }
for (ActivityFeedEntity feedEntry : feedEntries) for (ActivityFeedEntity feedEntry : feedEntries)
{ {
try try
{ {
modelBuilder.addAcctivitiyFeedEntry(feedEntry); modelBuilder.addActivityFeedEntry(feedEntry);
String siteId = feedEntry.getSiteNetwork(); String siteId = feedEntry.getSiteNetwork();
addSiteName(siteId, siteNames); addSiteName(siteId, siteNames);
} }
catch (JSONException je) catch (JSONException je)
{ {
// skip this feed entry // skip this feed entry
logger.warn("Skip feed entry for user ("+feedUserId+"): " + je.getMessage()); logger.warn("Skip feed entry for user ("+feedUserId+"): " + je.getMessage());
continue; continue;
} }
} }
final int activityCount = modelBuilder.activityCount(); final int activityCount = modelBuilder.activityCount();
if (activityCount > 0) if (activityCount > 0)
{ {
Map<String, Object> model = modelBuilder.buildModel(); Map<String, Object> model = modelBuilder.buildModel();
model.put("siteTitles", siteNames); model.put("siteTitles", siteNames);
model.put("repeatIntervalMins", repeatIntervalMins); model.put("repeatIntervalMins", repeatIntervalMins);
model.put("feedItemsMax", activityService.getMaxFeedItems()); model.put("feedItemsMax", activityService.getMaxFeedItems());
// add Share info to model // add Share info to model
model.put(TemplateService.KEY_PRODUCT_NAME, ModelUtil.getProductName(repoAdminService)); model.put(TemplateService.KEY_PRODUCT_NAME, ModelUtil.getProductName(repoAdminService));
Map<String, Serializable> personPrefixProps = new HashMap<String, Serializable>(personProps.size()); Map<String, Serializable> personPrefixProps = new HashMap<String, Serializable>(personProps.size());
for (QName propQName : personProps.keySet()) for (QName propQName : personProps.keySet())
{ {
try try
{ {
String propPrefix = propQName.toPrefixString(namespaceService); String propPrefix = propQName.toPrefixString(namespaceService);
personPrefixProps.put(propPrefix, personProps.get(propQName)); personPrefixProps.put(propPrefix, personProps.get(propQName));
} }
catch (NamespaceException ne) catch (NamespaceException ne)
{ {
// ignore properties that do not have a registered namespace // ignore properties that do not have a registered namespace
logger.warn("Ignoring property '" + propQName + "' as it's namespace is not registered"); logger.warn("Ignoring property '" + propQName + "' as it's namespace is not registered");
} }
} }
model.put("personProps", personPrefixProps); model.put("personProps", personPrefixProps);
// send // send
notifyUser(personNodeRef, subject, subjectParams, model, templateNodeRef); notifyUser(personNodeRef, subject, subjectParams, model, templateNodeRef);
return new Pair<Integer, Long>(activityCount, modelBuilder.getMaxFeedId()); return new Pair<Integer, Long>(activityCount, modelBuilder.getMaxFeedId());
} }
} }
return null; return null;
} }
} }

View File

@@ -33,7 +33,7 @@ public interface ActivitiesFeedModelBuilder
Map<String, Object> buildModel(); Map<String, Object> buildModel();
void addAcctivitiyFeedEntry(ActivityFeedEntity feedEntry) throws JSONException; void addActivityFeedEntry(ActivityFeedEntity feedEntry) throws JSONException;
int activityCount(); int activityCount();

View File

@@ -45,7 +45,7 @@ public class DefaultActivitiesFeedModelBuilder implements ActivitiesFeedModelBui
} }
@Override @Override
public void addAcctivitiyFeedEntry(ActivityFeedEntity feedEntry) throws JSONException public void addActivityFeedEntry(ActivityFeedEntity feedEntry) throws JSONException
{ {
Map<String, Object> map; Map<String, Object> map;
map = feedEntry.getModel(); map = feedEntry.getModel();
@@ -56,7 +56,6 @@ public class DefaultActivitiesFeedModelBuilder implements ActivitiesFeedModelBui
{ {
maxFeedId = feedId; maxFeedId = feedId;
} }
} }
@Override @Override
@@ -70,5 +69,4 @@ public class DefaultActivitiesFeedModelBuilder implements ActivitiesFeedModelBui
{ {
return maxFeedId; return maxFeedId;
} }
} }

View File

@@ -230,7 +230,7 @@ public class FeedNotifierTest
userNotifier.setActivityService(activityService); userNotifier.setActivityService(activityService);
userNotifier.setRepoAdminService(repoAdminService); userNotifier.setRepoAdminService(repoAdminService);
userNotifier.setActionService(actionService); userNotifier.setActionService(actionService);
userNotifier.setActivitiesFeedModdelBuilderFactory(feedModelBuilderFactory); userNotifier.setActivitiesFeedModelBuilderFactory(feedModelBuilderFactory);
feedNotifier.setUserNotifier(userNotifier); feedNotifier.setUserNotifier(userNotifier);
} }