[OLINGO-946] Use LinkedHashMap in JPA EdmProvider
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProvider.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProvider.java
index 49ccad7..4d0554d 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProvider.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProvider.java
@@ -20,6 +20,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 import org.apache.olingo.odata2.api.edm.FullQualifiedName;
@@ -54,22 +55,22 @@
   private HashMap<String, FunctionImport> functionImports;
 
   public ODataJPAEdmProvider() {
-    entityTypes = new HashMap<String, EntityType>();
-    entityContainerInfos = new HashMap<String, EntityContainerInfo>();
-    complexTypes = new HashMap<String, ComplexType>();
-    associations = new HashMap<String, Association>();
-    functionImports = new HashMap<String, FunctionImport>();
+    entityTypes = new LinkedHashMap<String, EntityType>();
+    entityContainerInfos = new LinkedHashMap<String, EntityContainerInfo>();
+    complexTypes = new LinkedHashMap<String, ComplexType>();
+    associations = new LinkedHashMap<String, Association>();
+    functionImports = new LinkedHashMap<String, FunctionImport>();
   }
 
   public ODataJPAEdmProvider(final ODataJPAContext oDataJPAContext) {
     if (oDataJPAContext == null) {
       throw new IllegalArgumentException(ODataJPAException.ODATA_JPACTX_NULL);
     }
-    entityTypes = new HashMap<String, EntityType>();
-    entityContainerInfos = new HashMap<String, EntityContainerInfo>();
-    complexTypes = new HashMap<String, ComplexType>();
-    associations = new HashMap<String, Association>();
-    functionImports = new HashMap<String, FunctionImport>();
+    entityTypes = new LinkedHashMap<String, EntityType>();
+    entityContainerInfos = new LinkedHashMap<String, EntityContainerInfo>();
+    complexTypes = new LinkedHashMap<String, ComplexType>();
+    associations = new LinkedHashMap<String, Association>();
+    functionImports = new LinkedHashMap<String, FunctionImport>();
     jpaEdmModel = ODataJPAFactory.createFactory().getJPAAccessFactory().getJPAEdmModelView(oDataJPAContext);
   }
 
diff --git a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmSchema.java b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmSchema.java
index f27accd..8ee00ca 100644
--- a/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmSchema.java
+++ b/odata2-jpa-processor/jpa-core/src/main/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmSchema.java
@@ -20,6 +20,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
 
 import org.apache.olingo.odata2.api.edm.provider.Association;
@@ -47,7 +48,7 @@
   private JPAEdmComplexTypeView complexTypeView;
   private JPAEdmEntityContainerView entityContainerView;
   private JPAEdmAssociationView associationView = null;
-  private HashMap<Class<?>, String[]> customOperations = null;
+  private LinkedHashMap<Class<?>, String[]> customOperations = null;
 
   public JPAEdmSchema(final JPAEdmModelView modelView) {
     super(modelView);
@@ -200,7 +201,7 @@
   @Override
   public void registerOperations(final Class<?> customClass, final String[] methodNames) {
     if (customOperations == null) {
-      customOperations = new HashMap<Class<?>, String[]>();
+      customOperations = new LinkedHashMap<Class<?>, String[]>();
     }
 
     customOperations.put(customClass, methodNames);
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProviderTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProviderTest.java
index 75d849b..ec44186 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProviderTest.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/edm/ODataJPAEdmProviderTest.java
@@ -34,6 +34,7 @@
 import org.apache.olingo.odata2.api.edm.provider.AssociationSet;
 import org.apache.olingo.odata2.api.edm.provider.ComplexType;
 import org.apache.olingo.odata2.api.edm.provider.EntityContainerInfo;
+import org.apache.olingo.odata2.api.edm.provider.EntityType;
 import org.apache.olingo.odata2.api.edm.provider.Schema;
 import org.apache.olingo.odata2.api.exception.ODataException;
 import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPAModelException;
@@ -313,8 +314,7 @@
 
   @Test
   public void testGetEntityTypeWithBuffer() {
-    HashMap<String, org.apache.olingo.odata2.api.edm.provider.EntityType> entityTypes =
-        new HashMap<String, org.apache.olingo.odata2.api.edm.provider.EntityType>();
+    HashMap<String, EntityType> entityTypes = new HashMap<String, EntityType>();
     org.apache.olingo.odata2.api.edm.provider.EntityType entity =
         new org.apache.olingo.odata2.api.edm.provider.EntityType();
     entity.setName("SalesOrderHeader");