RM-626: Alfresco is not started with RM module applied

- Fallout from ALF-16791 means we will have to code for API changes in 4.1.4 and introduce a new minimum Alfresco version
- Fixes by Dmitry Vaserin

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@47857 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Ward
2013-03-11 11:56:32 +00:00
parent bab8df80e1
commit 9260b6e8de
17 changed files with 46 additions and 20 deletions

View File

@@ -2,4 +2,4 @@ groupid=alfresco
packageName=rm packageName=rm
version=2.0.2 version=2.0.2
build=dev build=dev
alfrescoBaseVersion=4.0.2 alfrescoBaseVersion=4.1.4

View File

@@ -8,4 +8,4 @@ module.title=Records Management
module.description=Alfresco Record Management Extension module.description=Alfresco Record Management Extension
module.version=2.0.2 module.version=2.0.2
module.repo.version.min=4.0.2 module.repo.version.min=4.1.4

View File

@@ -52,6 +52,7 @@
<bean id="webscript.org.alfresco.rma.customrefdefinitions.get" class="org.alfresco.module.org_alfresco_module_rm.script.CustomReferenceDefinitionsGet" parent="webscript"> <bean id="webscript.org.alfresco.rma.customrefdefinitions.get" class="org.alfresco.module.org_alfresco_module_rm.script.CustomReferenceDefinitionsGet" parent="webscript">
<property name="recordsManagementAdminService" ref="RecordsManagementAdminService"/> <property name="recordsManagementAdminService" ref="RecordsManagementAdminService"/>
<property name="namespaceService" ref="NamespaceService"/> <property name="namespaceService" ref="NamespaceService"/>
<property name="dictionaryService" ref="DictionaryService"/>
</bean> </bean>
<!-- REST impl for PUT Custom Reference Definitions --> <!-- REST impl for PUT Custom Reference Definitions -->
@@ -67,6 +68,7 @@
<!-- REST impl for GET Custom Reference Instances --> <!-- REST impl for GET Custom Reference Instances -->
<bean id="webscript.org.alfresco.rma.customrefs.get" class="org.alfresco.module.org_alfresco_module_rm.script.CustomRefsGet" parent="rmBaseWebscript"> <bean id="webscript.org.alfresco.rma.customrefs.get" class="org.alfresco.module.org_alfresco_module_rm.script.CustomRefsGet" parent="rmBaseWebscript">
<property name="recordsManagementAdminService" ref="RecordsManagementAdminService"/> <property name="recordsManagementAdminService" ref="RecordsManagementAdminService"/>
<property name="dictionaryService" ref="DictionaryService"/>
</bean> </bean>
<!-- REST impl for POST Custom Reference Instance --> <!-- REST impl for POST Custom Reference Instance -->
@@ -115,6 +117,7 @@
<bean id="webscript.org.alfresco.rma.dispositionproperties.get" class="org.alfresco.module.org_alfresco_module_rm.script.DispositionPropertiesGet" parent="webscript"> <bean id="webscript.org.alfresco.rma.dispositionproperties.get" class="org.alfresco.module.org_alfresco_module_rm.script.DispositionPropertiesGet" parent="webscript">
<property name="dispositionService" ref="DispositionService"/> <property name="dispositionService" ref="DispositionService"/>
<property name="namespaceService" ref="NamespaceService"/> <property name="namespaceService" ref="NamespaceService"/>
<property name="dictionaryService" ref="DictionaryService"/>
</bean> </bean>
<!-- REST impl for GET Records MetaData aspects --> <!-- REST impl for GET Records MetaData aspects -->

View File

@@ -421,7 +421,7 @@ public class RecordsManagementAdminServiceImpl implements RecordsManagementAdmin
if (name.endsWith("Properties") == true) if (name.endsWith("Properties") == true)
{ {
QName type = null; QName type = null;
String prefixString = aspectDef.getDescription(); String prefixString = aspectDef.getDescription(dictionaryService);
if (prefixString == null) if (prefixString == null)
{ {
// Backward compatibility from previous RM V1.0 custom models // Backward compatibility from previous RM V1.0 custom models
@@ -1183,7 +1183,7 @@ public class RecordsManagementAdminServiceImpl implements RecordsManagementAdmin
{ {
for (AssociationDefinition associationDefinition : getCustomReferenceDefinitions().values()) for (AssociationDefinition associationDefinition : getCustomReferenceDefinitions().values())
{ {
if (associationDefinition.getTitle().equalsIgnoreCase(label)) if (associationDefinition.getTitle(dictionaryService).equalsIgnoreCase(label))
{ {
return true; return true;
} }

View File

@@ -84,7 +84,7 @@ public class SplitEmailAction extends RMActionExecuterAbstractBase
Map<QName, AssociationDefinition> map = recordsManagementAdminService.getCustomReferenceDefinitions(); Map<QName, AssociationDefinition> map = recordsManagementAdminService.getCustomReferenceDefinitions();
for (Map.Entry<QName, AssociationDefinition> entry : map.entrySet()) for (Map.Entry<QName, AssociationDefinition> entry : map.entrySet())
{ {
if (compoundId.equals(entry.getValue().getTitle()) == true) if (compoundId.equals(entry.getValue().getTitle(dictionaryService)) == true)
{ {
relationshipQName = entry.getKey(); relationshipQName = entry.getKey();
break; break;

View File

@@ -822,7 +822,7 @@ public class RecordsManagementAuditServiceImpl
if (nodeTypeQname != null) if (nodeTypeQname != null)
{ {
TypeDefinition typeDef = dictionaryService.getType(nodeTypeQname); TypeDefinition typeDef = dictionaryService.getType(nodeTypeQname);
nodeType = (typeDef != null) ? typeDef.getTitle() : null; nodeType = (typeDef != null) ? typeDef.getTitle(dictionaryService) : null;
} }
} }
else if (values.containsKey(RecordsManagementAuditService.RM_AUDIT_DATA_LOGIN_USERNAME)) else if (values.containsKey(RecordsManagementAuditService.RM_AUDIT_DATA_LOGIN_USERNAME))
@@ -1300,7 +1300,7 @@ public class RecordsManagementAuditServiceImpl
PropertyDefinition propDef = this.dictionaryService.getProperty(property); PropertyDefinition propDef = this.dictionaryService.getProperty(property);
if (propDef != null) if (propDef != null)
{ {
label = propDef.getTitle(); label = propDef.getTitle(dictionaryService);
} }
if (label == null) if (label == null)

View File

@@ -39,7 +39,7 @@ import org.alfresco.service.namespace.QName;
public class RFC822MetadataExtracter extends org.alfresco.repo.content.metadata.RFC822MetadataExtracter public class RFC822MetadataExtracter extends org.alfresco.repo.content.metadata.RFC822MetadataExtracter
{ {
/** Reference to default properties */ /** Reference to default properties */
private static final String PROPERTIES_URL = "org/alfresco/repo/content/metadata/RFC822MetadataExtracter.properties"; private static final String PROPERTIES_URL = "alfresco/metadata/RFC822MetadataExtracter.properties";
/** Node service */ /** Node service */
private NodeService nodeService; private NodeService nodeService;

View File

@@ -130,7 +130,7 @@ public abstract class RecordsManagementFormFilter<ItemType> extends AbstractFilt
Serializable value = nodeService.getProperty(nodeRef, entry.getKey()); Serializable value = nodeService.getProperty(nodeRef, entry.getKey());
FieldGroup group = new FieldGroup(setId, null, false, false, null); FieldGroup group = new FieldGroup(setId, null, false, false, null);
Field field = FieldUtils.makePropertyField(prop, value, group, namespaceService); Field field = FieldUtils.makePropertyField(prop, value, group, namespaceService, rmServiceRegistry.getDictionaryService());
form.addField(field); form.addField(field);

View File

@@ -198,7 +198,7 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter
if (propDef != null) if (propDef != null)
{ {
Field field = FieldUtils.makePropertyField(propDef, null, null, namespaceService); Field field = FieldUtils.makePropertyField(propDef, null, null, namespaceService, dictionaryService);
form.addField(field); form.addField(field);
} }
else if (logger.isWarnEnabled()) else if (logger.isWarnEnabled())

View File

@@ -132,7 +132,7 @@ public class RecordsManagementTypeFormFilter extends RecordsManagementFormFilter
// setup field definition for each custom property // setup field definition for each custom property
Collection<PropertyDefinition> properties = customProps.values(); Collection<PropertyDefinition> properties = customProps.values();
FieldGroup group = new FieldGroup(CUSTOM_RM_FIELD_GROUP_ID, null, false, false, null); FieldGroup group = new FieldGroup(CUSTOM_RM_FIELD_GROUP_ID, null, false, false, null);
List<Field> fields = FieldUtils.makePropertyFields(properties, group, namespaceService); List<Field> fields = FieldUtils.makePropertyFields(properties, group, namespaceService, rmServiceRegistry.getDictionaryService());
form.addFields(fields); form.addFields(fields);
} }
} }

View File

@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletResponse;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService; import org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService;
import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.dictionary.AssociationDefinition;
import org.alfresco.service.cmr.dictionary.ChildAssociationDefinition; import org.alfresco.service.cmr.dictionary.ChildAssociationDefinition;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
import org.springframework.extensions.webscripts.Cache; import org.springframework.extensions.webscripts.Cache;
@@ -56,6 +57,7 @@ public class CustomReferenceDefinitionsGet extends DeclarativeWebScript
private RecordsManagementAdminService rmAdminService; private RecordsManagementAdminService rmAdminService;
private NamespaceService namespaceService; private NamespaceService namespaceService;
private DictionaryService dictionaryService;
public void setNamespaceService(NamespaceService namespaceService) public void setNamespaceService(NamespaceService namespaceService)
{ {
@@ -67,6 +69,11 @@ public class CustomReferenceDefinitionsGet extends DeclarativeWebScript
this.rmAdminService = rmAdminService; this.rmAdminService = rmAdminService;
} }
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
@Override @Override
public Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) public Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache)
{ {
@@ -120,7 +127,7 @@ public class CustomReferenceDefinitionsGet extends DeclarativeWebScript
data.put(REFERENCE_TYPE, referenceType.toString()); data.put(REFERENCE_TYPE, referenceType.toString());
// It is the title which stores either the label, or the source and target. // It is the title which stores either the label, or the source and target.
String nextTitle = nextValue.getTitle(); String nextTitle = nextValue.getTitle(dictionaryService);
if (CustomReferenceType.PARENT_CHILD.equals(referenceType)) if (CustomReferenceType.PARENT_CHILD.equals(referenceType))
{ {
if (nextTitle != null) if (nextTitle != null)

View File

@@ -26,6 +26,7 @@ import java.util.Map;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService; import org.alfresco.module.org_alfresco_module_rm.RecordsManagementAdminService;
import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.dictionary.AssociationDefinition;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.repository.AssociationRef; import org.alfresco.service.cmr.repository.AssociationRef;
import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
@@ -59,12 +60,20 @@ public class CustomRefsGet extends AbstractRmWebScript
private static Log logger = LogFactory.getLog(CustomRefsGet.class); private static Log logger = LogFactory.getLog(CustomRefsGet.class);
private RecordsManagementAdminService rmAdminService; private RecordsManagementAdminService rmAdminService;
private DictionaryService dictionaryService;
public void setRecordsManagementAdminService(RecordsManagementAdminService rmAdminService) public void setRecordsManagementAdminService(RecordsManagementAdminService rmAdminService)
{ {
this.rmAdminService = rmAdminService; this.rmAdminService = rmAdminService;
} }
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
@Override @Override
public Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) public Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache)
{ {
@@ -132,7 +141,7 @@ public class CustomRefsGet extends AbstractRmWebScript
if (assDef != null) if (assDef != null)
{ {
String compoundTitle = assDef.getTitle(); String compoundTitle = assDef.getTitle(dictionaryService);
data.put(REF_ID, typeQName.getLocalName()); data.put(REF_ID, typeQName.getLocalName());
@@ -166,7 +175,7 @@ public class CustomRefsGet extends AbstractRmWebScript
if (assDef != null) if (assDef != null)
{ {
data.put(LABEL, assDef.getTitle()); data.put(LABEL, assDef.getTitle(dictionaryService));
data.put(REF_ID, typeQName.getLocalName()); data.put(REF_ID, typeQName.getLocalName());
data.put(REFERENCE_TYPE, CustomReferenceType.BIDIRECTIONAL.toString()); data.put(REFERENCE_TYPE, CustomReferenceType.BIDIRECTIONAL.toString());
data.put(SOURCE_REF, assRef.getSourceRef().toString()); data.put(SOURCE_REF, assRef.getSourceRef().toString());

View File

@@ -96,7 +96,7 @@ public class CustomisableGet extends DeclarativeWebScript
if (definition != null) if (definition != null)
{ {
String name = qname.toPrefixString(namespaceService); String name = qname.toPrefixString(namespaceService);
String title = definition.getTitle(); String title = definition.getTitle(dictionaryService);
if (title == null || title.length() == 0) if (title == null || title.length() == 0)
{ {
title = qname.getLocalName(); title = qname.getLocalName();

View File

@@ -26,6 +26,7 @@ import java.util.Map;
import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService;
import org.alfresco.module.org_alfresco_module_rm.disposition.property.DispositionProperty; import org.alfresco.module.org_alfresco_module_rm.disposition.property.DispositionProperty;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.dictionary.PropertyDefinition; import org.alfresco.service.cmr.dictionary.PropertyDefinition;
import org.alfresco.service.namespace.NamespaceService; import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -42,6 +43,7 @@ public class DispositionPropertiesGet extends DeclarativeWebScript
{ {
protected DispositionService dispositionService; protected DispositionService dispositionService;
protected NamespaceService namespaceService; protected NamespaceService namespaceService;
protected DictionaryService dictionaryService;
/** /**
* Sets the disposition service * Sets the disposition service
@@ -63,6 +65,11 @@ public class DispositionPropertiesGet extends DeclarativeWebScript
this.namespaceService = namespaceService; this.namespaceService = namespaceService;
} }
public void setDictionaryService(DictionaryService dictionaryService)
{
this.dictionaryService = dictionaryService;
}
/* /*
* @see org.alfresco.web.scripts.DeclarativeWebScript#executeImpl(org.alfresco.web.scripts.WebScriptRequest, org.alfresco.web.scripts.Status, org.alfresco.web.scripts.Cache) * @see org.alfresco.web.scripts.DeclarativeWebScript#executeImpl(org.alfresco.web.scripts.WebScriptRequest, org.alfresco.web.scripts.Status, org.alfresco.web.scripts.Cache)
*/ */
@@ -87,7 +94,7 @@ public class DispositionPropertiesGet extends DeclarativeWebScript
if (propDef != null) if (propDef != null)
{ {
Map<String, String> item = new HashMap<String, String>(2); Map<String, String> item = new HashMap<String, String>(2);
String propTitle = propDef.getTitle(); String propTitle = propDef.getTitle(dictionaryService);
if (propTitle == null || propTitle.length() == 0) if (propTitle == null || propTitle.length() == 0)
{ {
propTitle = StringUtils.capitalize(propName.getLocalName()); propTitle = StringUtils.capitalize(propName.getLocalName());

View File

@@ -259,7 +259,7 @@ public class ListOfValuesGet extends DeclarativeWebScript
if (propDef != null) if (propDef != null)
{ {
Map<String, String> item = new HashMap<String, String>(2); Map<String, String> item = new HashMap<String, String>(2);
String propTitle = propDef.getTitle(); String propTitle = propDef.getTitle(ddService);
if (propTitle == null || propTitle.length() == 0) if (propTitle == null || propTitle.length() == 0)
{ {
propTitle = StringUtils.capitalize(propName.getLocalName()); propTitle = StringUtils.capitalize(propName.getLocalName());

View File

@@ -91,7 +91,7 @@ public class RecordMetaDataAspectsGet extends DeclarativeWebScript
if (aspectDefinition != null) if (aspectDefinition != null)
{ {
// Fet the label from the aspect definition // Fet the label from the aspect definition
label = aspectDefinition.getTitle(); label = aspectDefinition.getTitle(dictionaryService);
} }
aspect.put("value", label); aspect.put("value", label);

View File

@@ -95,7 +95,7 @@ public class RMSearchPropertiesGet extends DeclarativeWebScript
} }
AspectDefinition aspectDefinition = dictionaryService.getAspect(aspect); AspectDefinition aspectDefinition = dictionaryService.getAspect(aspect);
Group group = new Group(aspect.getLocalName(), aspectDefinition.getTitle(), propObjs); Group group = new Group(aspect.getLocalName(), aspectDefinition.getTitle(dictionaryService), propObjs);
groups.add(group); groups.add(group);
} }
@@ -157,7 +157,7 @@ public class RMSearchPropertiesGet extends DeclarativeWebScript
QName qName = propertyDefinition.getName().getPrefixedQName(namespaceService); QName qName = propertyDefinition.getName().getPrefixedQName(namespaceService);
this.prefix = QName.splitPrefixedQName(qName.toPrefixString())[0]; this.prefix = QName.splitPrefixedQName(qName.toPrefixString())[0];
this.shortName = qName.getLocalName(); this.shortName = qName.getLocalName();
this.label = propertyDefinition.getTitle(); this.label = propertyDefinition.getTitle(dictionaryService);
this.type = propertyDefinition.getDataType().getName().getLocalName(); this.type = propertyDefinition.getDataType().getName().getLocalName();
} }