From 2aa82db35c97a27beac69d655f9c2e96c11a6430 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Fri, 20 Sep 2013 10:43:57 +0000 Subject: [PATCH] Avoid NPE when patching against a server with invalid models. Now throw a InvalidClassException so that it's explicitly recorded (ALF-20086) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@55730 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../java/org/alfresco/repo/importer/ImporterComponent.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/java/org/alfresco/repo/importer/ImporterComponent.java b/source/java/org/alfresco/repo/importer/ImporterComponent.java index 3d7053d5cd..a19197fcd3 100644 --- a/source/java/org/alfresco/repo/importer/ImporterComponent.java +++ b/source/java/org/alfresco/repo/importer/ImporterComponent.java @@ -44,6 +44,7 @@ import org.alfresco.service.cmr.dictionary.ChildAssociationDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; +import org.alfresco.service.cmr.dictionary.InvalidClassException; import org.alfresco.service.cmr.dictionary.TypeDefinition; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentData; @@ -1011,6 +1012,10 @@ public class ImporterComponent implements ImporterService for (QName parentAspect : parentAspects) { classDef = dictionaryService.getClass(parentAspect); + if (classDef == null) + { + throw new InvalidClassException("Failed import for context '" + context.getParentContext() + "'. Unknown aspect: ", parentAspect); + } childAssocDefs = classDef.getChildAssociations(); for (ChildAssociationDefinition childAssocDef : childAssocDefs.values()) {