@Override public CsdlNavigationPropertyBinding setTarget(final String target) { super.setTarget(target); return this; }
@Override public CsdlNavigationPropertyBinding setTarget(final String target) { super.setTarget(target); return this; }
private List<CsdlNavigationPropertyBinding> determinePropertyBinding() throws ODataJPAModelException { final List<CsdlNavigationPropertyBinding> navPropBindingList = new ArrayList<CsdlNavigationPropertyBinding>(); final List<JPAAssociationPath> naviPropertyList = entityType.getAssociationPathList(); if (naviPropertyList != null && !naviPropertyList.isEmpty()) { // http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part3-csdl/odata-v4.0-errata02-os-part3-csdl-complete.html#_Toc406398035 for (final JPAAssociationPath naviPropertyPath : naviPropertyList) { final CsdlNavigationPropertyBinding navPropBinding = new CsdlNavigationPropertyBinding(); navPropBinding.setPath(naviPropertyPath.getAlias()); // TODO Check is FQN is better here final JPAAssociationAttribute naviProperty = naviPropertyPath.getLeaf(); navPropBinding.setTarget(nameBuilder.buildEntitySetName(naviProperty.getTargetEntity().getExternalName())); navPropBindingList.add(navPropBinding); } } return navPropBindingList; }
private static CsdlNavigationPropertyBinding buildReverseNavigationBinding(Table table, ForeignKey fk, SchemaResolver resolver) { CsdlNavigationPropertyBinding navigationBinding = new CsdlNavigationPropertyBinding(); navigationBinding.setPath(table.getName()+"_"+fk.getName()); if (!table.getParent().equals(fk.getReferenceKey().getParent().getParent())) { ODataSchemaInfo schema = resolver.getSchemaInfo(fk.getReferenceKey().getParent().getParent().getName()); if (schema == null) { return null; } navigationBinding.setTarget(table.getFullName()); } else { navigationBinding.setTarget(table.getName()); } return navigationBinding; }
private static CsdlNavigationPropertyBinding buildNavigationBinding(ForeignKey fk, SchemaResolver resolver) { CsdlNavigationPropertyBinding navigationBinding = new CsdlNavigationPropertyBinding(); navigationBinding.setPath(fk.getName()); if (!fk.getParent().getParent().equals(fk.getReferenceKey().getParent().getParent())) { ODataSchemaInfo schema = resolver.getSchemaInfo(fk.getReferenceKey().getParent().getParent().getName()); if (schema == null) { return null; } navigationBinding.setTarget(fk.getReferenceKey().getParent().getFullName()); } else { navigationBinding.setTarget(fk.getReferenceKey().getParent().getName()); } return navigationBinding; }