RM-5012 - revert policy fix and add record aspect on first event

This commit is contained in:
Ana Bozianu
2017-05-16 16:21:47 +03:00
parent d17121ff2c
commit 7590a529db
3 changed files with 3 additions and 30 deletions

View File

@@ -38,7 +38,6 @@
<bean id="writeContentPolicy" parent="basePolicy" class="org.alfresco.module.org_alfresco_module_rm.capability.policy.WriteContentPolicy"> <bean id="writeContentPolicy" parent="basePolicy" class="org.alfresco.module.org_alfresco_module_rm.capability.policy.WriteContentPolicy">
<property name="name" value="WriteContent"/> <property name="name" value="WriteContent"/>
<property name="transactionalResourceHelper" ref="rm.transactionalResourceHelper" />
</bean> </bean>
<bean id="declarePolicy" parent="basePolicy" class="org.alfresco.module.org_alfresco_module_rm.capability.policy.DeclarePolicy"> <bean id="declarePolicy" parent="basePolicy" class="org.alfresco.module.org_alfresco_module_rm.capability.policy.DeclarePolicy">

View File

@@ -27,46 +27,19 @@
package org.alfresco.module.org_alfresco_module_rm.capability.policy; package org.alfresco.module.org_alfresco_module_rm.capability.policy;
import java.util.Set;
import org.alfresco.module.org_alfresco_module_rm.record.RecordServiceImpl;
import org.alfresco.module.org_alfresco_module_rm.util.TransactionalResourceHelper;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.aopalliance.intercept.MethodInvocation; import org.aopalliance.intercept.MethodInvocation;
import net.sf.acegisecurity.vote.AccessDecisionVoter;
public class WriteContentPolicy extends AbstractBasePolicy public class WriteContentPolicy extends AbstractBasePolicy
{ {
protected TransactionalResourceHelper transactionalResourceHelper;
public void setTransactionalResourceHelper(TransactionalResourceHelper transactionalResourceHelper)
{
this.transactionalResourceHelper = transactionalResourceHelper;
}
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
public int evaluate( public int evaluate(
MethodInvocation invocation, MethodInvocation invocation,
Class[] params, Class[] params,
ConfigAttributeDefinition cad) ConfigAttributeDefinition cad)
{ {
try{
NodeRef updatee = getTestNode(invocation, params, cad.getParameters().get(0), cad.isParent()); NodeRef updatee = getTestNode(invocation, params, cad.getParameters().get(0), cad.isParent());
Set<NodeRef> newRecords = transactionalResourceHelper.getSet(RecordServiceImpl.KEY_NEW_RECORDS);
if(newRecords.contains(updatee))
{
return AccessDecisionVoter.ACCESS_GRANTED;
}
else
{
return getCapabilityService().getCapability("WriteContent").evaluate(updatee); return getCapabilityService().getCapability("WriteContent").evaluate(updatee);
} }
}
catch(Exception ex)
{
throw ex;
}
}
} }

View File

@@ -485,6 +485,7 @@ public class RecordServiceImpl extends BaseBehaviourBean
validateLinkConditions(nodeRef, parentNodeRef); validateLinkConditions(nodeRef, parentNodeRef);
} }
} }
nodeService.addAspect(nodeRef, RecordsManagementModel.ASPECT_RECORD, null);
} }
} }
catch (RecordLinkRuntimeException e) catch (RecordLinkRuntimeException e)