@Test public void testGetEntityTypeWithBuffer() { 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"); entityTypes.put("salesorderprocessing" + "." + "SalesorderHeader", entity); ODataJPAEdmProvider jpaEdmProv = new ODataJPAEdmProvider(); Class<?> claz = jpaEdmProv.getClass(); Field f; try { f = claz.getDeclaredField("entityTypes"); f.setAccessible(true); f.set(jpaEdmProv, entityTypes); assertEquals(entity, jpaEdmProv.getEntityType(new FullQualifiedName("salesorderprocessing", "SalesorderHeader"))); } catch (NoSuchFieldException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } catch (SecurityException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } catch (IllegalArgumentException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } catch (IllegalAccessException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } catch (ODataException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } try { jpaEdmProv.getEntityType(new FullQualifiedName("salesoprocessing", "abc")); } catch (ODataJPAModelException e) { assertTrue(true); } catch (ODataException e) { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } }
@Override public EntityType getEntityType(final FullQualifiedName edmFQName) throws ODataException { String strEdmFQName = null; if (edmFQName != null) { strEdmFQName = edmFQName.toString(); if (entityTypes.containsKey(strEdmFQName)) { return entityTypes.get(strEdmFQName); } else if (schemas == null) { getSchemas(); } String entityTypeNamespace = edmFQName.getNamespace(); String entityTypeName = edmFQName.getName(); for (Schema schema : schemas) { String schemaNamespace = schema.getNamespace(); if (schemaNamespace.equals(entityTypeNamespace)) { if (schema.getEntityTypes() == null) { return null; } for (EntityType et : schema.getEntityTypes()) { if (et.getName().equals(entityTypeName)) { entityTypes.put(strEdmFQName, et); return et; } } } } } return null; }
ODataJPAEdmProvider extends EdmProvider { @Override public EntityType getEntityType(final FullQualifiedName edmFQName) throws ODataException { String strEdmFQName = null; if (edmFQName != null) { strEdmFQName = edmFQName.toString(); if (entityTypes.containsKey(strEdmFQName)) { return entityTypes.get(strEdmFQName); } else if (schemas == null) { getSchemas(); } String entityTypeNamespace = edmFQName.getNamespace(); String entityTypeName = edmFQName.getName(); for (Schema schema : schemas) { String schemaNamespace = schema.getNamespace(); if (schemaNamespace.equals(entityTypeNamespace)) { if (schema.getEntityTypes() == null) { return null; } for (EntityType et : schema.getEntityTypes()) { if (et.getName().equals(entityTypeName)) { entityTypes.put(strEdmFQName, et); return et; } } } } } return null; } }
ODataJPAEdmProvider extends EdmProvider { @Override public EntityType getEntityType(final FullQualifiedName edmFQName) throws ODataException { String strEdmFQName = null; if (edmFQName != null) { strEdmFQName = edmFQName.toString(); if (entityTypes.containsKey(strEdmFQName)) { return entityTypes.get(strEdmFQName); } else if (schemas == null) { getSchemas(); } String entityTypeNamespace = edmFQName.getNamespace(); String entityTypeName = edmFQName.getName(); for (Schema schema : schemas) { String schemaNamespace = schema.getNamespace(); if (schemaNamespace.equals(entityTypeNamespace)) { if (schema.getEntityTypes() == null) { return null; } for (EntityType et : schema.getEntityTypes()) { if (et.getName().equals(entityTypeName)) { entityTypes.put(strEdmFQName, et); return et; } } } } } return null; } ODataJPAEdmProvider();  ODataJPAEdmProvider(final ODataJPAContext oDataJPAContext); }
ODataJPAEdmProvider extends EdmProvider { @Override public EntityType getEntityType(final FullQualifiedName edmFQName) throws ODataException { String strEdmFQName = null; if (edmFQName != null) { strEdmFQName = edmFQName.toString(); if (entityTypes.containsKey(strEdmFQName)) { return entityTypes.get(strEdmFQName); } else if (schemas == null) { getSchemas(); } String entityTypeNamespace = edmFQName.getNamespace(); String entityTypeName = edmFQName.getName(); for (Schema schema : schemas) { String schemaNamespace = schema.getNamespace(); if (schemaNamespace.equals(entityTypeNamespace)) { if (schema.getEntityTypes() == null) { return null; } for (EntityType et : schema.getEntityTypes()) { if (et.getName().equals(entityTypeName)) { entityTypes.put(strEdmFQName, et); return et; } } } } } return null; } ODataJPAEdmProvider();  ODataJPAEdmProvider(final ODataJPAContext oDataJPAContext); ODataJPAContext getODataJPAContext(); void setODataJPAContext(final ODataJPAContext jpaContext); @Override EntityContainerInfo getEntityContainerInfo(final String name); @Override EntityType getEntityType(final FullQualifiedName edmFQName); @Override ComplexType getComplexType(final FullQualifiedName edmFQName); @Override Association getAssociation(final FullQualifiedName edmFQName); @Override EntitySet getEntitySet(final String entityContainer, final String name); @Override AssociationSet getAssociationSet(final String entityContainer, final FullQualifiedName association,
      final String sourceEntitySetName, final String sourceEntitySetRole); @Override FunctionImport getFunctionImport(final String entityContainer, final String name); @Override List<Schema> getSchemas(); }
ODataJPAEdmProvider extends EdmProvider { @Override public EntityType getEntityType(final FullQualifiedName edmFQName) throws ODataException { String strEdmFQName = null; if (edmFQName != null) { strEdmFQName = edmFQName.toString(); if (entityTypes.containsKey(strEdmFQName)) { return entityTypes.get(strEdmFQName); } else if (schemas == null) { getSchemas(); } String entityTypeNamespace = edmFQName.getNamespace(); String entityTypeName = edmFQName.getName(); for (Schema schema : schemas) { String schemaNamespace = schema.getNamespace(); if (schemaNamespace.equals(entityTypeNamespace)) { if (schema.getEntityTypes() == null) { return null; } for (EntityType et : schema.getEntityTypes()) { if (et.getName().equals(entityTypeName)) { entityTypes.put(strEdmFQName, et); return et; } } } } } return null; } ODataJPAEdmProvider();  ODataJPAEdmProvider(final ODataJPAContext oDataJPAContext); ODataJPAContext getODataJPAContext(); void setODataJPAContext(final ODataJPAContext jpaContext); @Override EntityContainerInfo getEntityContainerInfo(final String name); @Override EntityType getEntityType(final FullQualifiedName edmFQName); @Override ComplexType getComplexType(final FullQualifiedName edmFQName); @Override Association getAssociation(final FullQualifiedName edmFQName); @Override EntitySet getEntitySet(final String entityContainer, final String name); @Override AssociationSet getAssociationSet(final String entityContainer, final FullQualifiedName association,
      final String sourceEntitySetName, final String sourceEntitySetRole); @Override FunctionImport getFunctionImport(final String entityContainer, final String name); @Override List<Schema> getSchemas();  }