Index: C:/Workspace/Jackrabbit-1.4/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/manager/collectionconverter/ManageableCollectionUtil.java =================================================================== --- C:/Workspace/Jackrabbit-1.4/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/manager/collectionconverter/ManageableCollectionUtil.java (revision 613219) +++ C:/Workspace/Jackrabbit-1.4/jackrabbit-ocm/src/main/java/org/apache/jackrabbit/ocm/manager/collectionconverter/ManageableCollectionUtil.java (working copy) @@ -21,6 +21,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.Vector; @@ -28,6 +29,7 @@ import org.apache.jackrabbit.ocm.manager.collectionconverter.impl.ManageableArrayList; import org.apache.jackrabbit.ocm.manager.collectionconverter.impl.ManageableSet; import org.apache.jackrabbit.ocm.manager.collectionconverter.impl.ManageableVector; +import org.apache.jackrabbit.ocm.manager.collectionconverter.impl.ManagedHashMap; import org.apache.jackrabbit.ocm.reflection.ReflectionUtils; /** @@ -83,6 +85,10 @@ return new ManageableSet(); } + if (collectionClass.equals(Map.class)) { + return new ManagedHashMap(); + } + Object collection = collectionClass.newInstance(); if (!(collection instanceof ManageableCollection)) { throw new JcrMappingException("Unsupported collection type :" @@ -135,6 +141,10 @@ return new ManageableSet((Set) object); } + if (object instanceof Map){ + return new ManagedHashMap((Map)object); + } + if (object.getClass().equals(Collection.class) || object.getClass().equals(List.class)) { ManageableArrayList manageableArrayList = new ManageableArrayList();