} else {
propertyNames = oDataEntryProperties.keySet();
}
for (String propertyName : propertyNames) {
EdmTyped edmTyped = (EdmTyped) oDataEntityType.getProperty(propertyName);
Method accessModifier = null;
switch (edmTyped.getType().getKind()) {
case SIMPLE:
if (isCreate == false) {
if (keyNames.contains(edmTyped.getName())) {
continue;
}
}
accessModifier = accessModifiersWrite.get(propertyName);
setProperty(accessModifier, jpaEntity, oDataEntryProperties.get(propertyName));
break;
case COMPLEX:
structuralType = (EdmStructuralType) edmTyped.getType();
accessModifier = accessModifiersWrite.get(propertyName);
setComplexProperty(accessModifier, jpaEntity,
structuralType,
(HashMap<String, Object>) oDataEntryProperties.get(propertyName));
break;
case NAVIGATION:
case ENTITY:
structuralType = (EdmStructuralType) edmTyped.getType();
accessModifier =
jpaEntityParser.getAccessModifier(jpaEntity, (EdmNavigationProperty) edmTyped,
JPAEntityParser.ACCESS_MODIFIER_SET);
EdmEntitySet edmRelatedEntitySet = oDataEntitySet.getRelatedEntitySet((EdmNavigationProperty) edmTyped);
List<ODataEntry> relatedEntries = (List<ODataEntry>) oDataEntryProperties.get(propertyName);