diff --git a/config/alfresco/avm-services-context.xml b/config/alfresco/avm-services-context.xml index 6f5cf4a8a0..28479264d9 100644 --- a/config/alfresco/avm-services-context.xml +++ b/config/alfresco/avm-services-context.xml @@ -124,7 +124,7 @@ - + diff --git a/source/java/org/alfresco/repo/avm/AVMDAOs.java b/source/java/org/alfresco/repo/avm/AVMDAOs.java index f277a8eb54..2eca72438b 100644 --- a/source/java/org/alfresco/repo/avm/AVMDAOs.java +++ b/source/java/org/alfresco/repo/avm/AVMDAOs.java @@ -19,11 +19,10 @@ public class AVMDAOs /** * The single instance of an AVMContext. */ - private static AVMDAOs fgInstance; + private static final AVMDAOs fgInstance = new AVMDAOs(); - AVMDAOs() + private AVMDAOs() { - fgInstance = this; } /** diff --git a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java index bd5c2ce296..cdf3cccf44 100644 --- a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java +++ b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java @@ -1049,7 +1049,15 @@ public class AVMStoreImpl implements AVMStore, Serializable */ public int getLastVersionID() { - return AVMDAOs.Instance().fVersionRootDAO.getMaxVersionID(this); + Integer lastVersionId = AVMDAOs.Instance().fVersionRootDAO.getMaxVersionID(this); + if (lastVersionId == null) + { + return 0; + } + else + { + return lastVersionId.intValue(); + } } /** @@ -1159,9 +1167,15 @@ public class AVMStoreImpl implements AVMStore, Serializable */ public AVMStoreDescriptor getDescriptor() { - return new AVMStoreDescriptor(fName, - getProperty(ContentModel.PROP_CREATOR).getStringValue(), - ((Date)getProperty(ContentModel.PROP_CREATED).getValue(DataTypeDefinition.DATE)).getTime()); + // Get the creator ensuring that nulls are not hit + PropertyValue creatorValue = getProperty(ContentModel.PROP_CREATOR); + String creator = creatorValue == null ? "system" : (String) creatorValue.getValue(DataTypeDefinition.TEXT); + creator = (creator == null) ? "system" : creator; + // Get the created date ensuring that nulls are not hit + PropertyValue createdValue = getProperty(ContentModel.PROP_CREATED); + Date created = createdValue == null ? (new Date()) : (Date) createdValue.getValue(DataTypeDefinition.DATE); + created = (created == null) ? (new Date()) : created; + return new AVMStoreDescriptor(fName, creator, created.getTime()); } /**