after)
+ {
+ String uidBefore = DefaultTypeConverter.INSTANCE.convert(String.class, before.get(ContentModel.PROP_USER_USERNAME));
+ authenticationCache.remove(uidBefore);
}
@Override
@@ -665,4 +721,18 @@ public class RepositoryAuthenticationDao implements MutableAuthenticationDao, In
authenticationCache.remove(userName);
}
}
+
+ static class CacheEntry
+ {
+ public NodeRef nodeRef;
+ public UserDetails userDetails;
+ public Date credentialExpiryDate;
+
+ public CacheEntry(NodeRef nodeRef, UserDetails userDetails, Date credentialExpiryDate)
+ {
+ this.nodeRef = nodeRef;
+ this.userDetails = userDetails;
+ this.credentialExpiryDate = credentialExpiryDate;
+ }
+ }
}
diff --git a/source/java/org/alfresco/repo/site/SiteServiceImpl.java b/source/java/org/alfresco/repo/site/SiteServiceImpl.java
index 239b9031ab..f20ddd9597 100644
--- a/source/java/org/alfresco/repo/site/SiteServiceImpl.java
+++ b/source/java/org/alfresco/repo/site/SiteServiceImpl.java
@@ -1969,7 +1969,7 @@ public class SiteServiceImpl extends AbstractLifecycleBean implements SiteServic
{
activityService.postActivity(
ActivityType.SITE_USER_JOINED, shortName,
- ACTIVITY_TOOL, getActivityUserData(authorityName, role));
+ ACTIVITY_TOOL, getActivityUserData(authorityName, role), authorityName);
}
else if (authorityType == AuthorityType.GROUP)
{
diff --git a/source/java/org/alfresco/repo/transaction/AlfrescoTransactionSupport.java b/source/java/org/alfresco/repo/transaction/AlfrescoTransactionSupport.java
index 818059f25b..b4e4f39051 100644
--- a/source/java/org/alfresco/repo/transaction/AlfrescoTransactionSupport.java
+++ b/source/java/org/alfresco/repo/transaction/AlfrescoTransactionSupport.java
@@ -695,7 +695,7 @@ public abstract class AlfrescoTransactionSupport
// Flush the DAOs
for (TransactionalDao dao : daoServices)
{
- dao.beforeCommit();
+ dao.beforeCommit(readOnly);
}
// Flush the transactional caches
diff --git a/source/java/org/alfresco/repo/transaction/TransactionalDao.java b/source/java/org/alfresco/repo/transaction/TransactionalDao.java
index 021fc510bd..548a215e98 100644
--- a/source/java/org/alfresco/repo/transaction/TransactionalDao.java
+++ b/source/java/org/alfresco/repo/transaction/TransactionalDao.java
@@ -26,15 +26,6 @@ package org.alfresco.repo.transaction;
*/
public interface TransactionalDao
{
- /**
- * Allows the dao to flush any consuming resources. This mechanism is
- * used primarily during long-lived transactions to ensure that system resources
- * are not used up.
- *
- * This method must not be used for implementing business logic.
- */
- void flush();
-
/**
* Are there any pending changes which must be synchronized with the store?
*
@@ -45,7 +36,9 @@ public interface TransactionalDao
/**
* This callback provides a chance for the DAO to do any pre-commit work.
*
+ * @param readOnly true if the transaction was read-only
+ *
* @since 1.4.5
*/
- public void beforeCommit();
+ public void beforeCommit(boolean readOnly);
}
diff --git a/source/java/org/alfresco/service/cmr/activities/ActivityPostService.java b/source/java/org/alfresco/service/cmr/activities/ActivityPostService.java
index 9678bbd4ce..ad7da32e25 100644
--- a/source/java/org/alfresco/service/cmr/activities/ActivityPostService.java
+++ b/source/java/org/alfresco/service/cmr/activities/ActivityPostService.java
@@ -38,6 +38,17 @@ public interface ActivityPostService
*/
public void postActivity(String activityType, String siteId, String appTool, String jsonActivityData);
+ /**
+ * Post a custom activity type
+ *
+ * @param activityType - required
+ * @param siteId - optional, if null will be stored as empty string
+ * @param appTool - optional, if null will be stored as empty string
+ * @param jsonActivityData - required
+ * @param userId - required
+ */
+ public void postActivity(String activityType, String siteId, String appTool, String jsonActivityData, String userId);
+
/**
* Post a pre-defined activity type - certain activity data will be looked-up asynchronously, including:
*