@Override public List<EdmReferentialConstraint> getReferentialConstraints() { if (referentialConstraints == null) { final List<CsdlReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints(); final List<EdmReferentialConstraint> referentialConstraintsLocal = new ArrayList<EdmReferentialConstraint>(); if (providerConstraints != null) { for (CsdlReferentialConstraint constraint : providerConstraints) { referentialConstraintsLocal.add(new EdmReferentialConstraintImpl(edm, constraint)); } } referentialConstraints = Collections.unmodifiableList(referentialConstraintsLocal); } return referentialConstraints; } }
@Override public List<EdmReferentialConstraint> getReferentialConstraints() { if (referentialConstraints == null) { final List<CsdlReferentialConstraint> providerConstraints = navigationProperty.getReferentialConstraints(); final List<EdmReferentialConstraint> referentialConstraintsLocal = new ArrayList<EdmReferentialConstraint>(); if (providerConstraints != null) { for (CsdlReferentialConstraint constraint : providerConstraints) { referentialConstraintsLocal.add(new EdmReferentialConstraintImpl(edm, constraint)); } } referentialConstraints = Collections.unmodifiableList(referentialConstraintsLocal); } return referentialConstraints; } }
@Override public String getReferencingPropertyName(final String referencedPropertyName) { final List<CsdlReferentialConstraint> refConstraints = navigationProperty.getReferentialConstraints(); if (refConstraints != null) { for (CsdlReferentialConstraint constraint : refConstraints) { if (constraint.getReferencedProperty().equals(referencedPropertyName)) { return constraint.getProperty(); } } } return null; }
/** * @param sourceEntityType * @param targetEntityType * @param navProperty */ private void validateReferentialConstraint(CsdlEntityType sourceEntityType, CsdlEntityType targetEntityType, CsdlNavigationProperty navProperty) { if (!navProperty.getReferentialConstraints().isEmpty()) { String propertyName = navProperty.getReferentialConstraints().get(0).getProperty(); if (sourceEntityType.getProperty(propertyName) == null) { throw new RuntimeException("Property name " + propertyName + " not part of the source entity."); } String referencedPropertyName = navProperty.getReferentialConstraints().get(0).getReferencedProperty(); if (targetEntityType.getProperty(referencedPropertyName) == null) { throw new RuntimeException("Property name " + referencedPropertyName + " not part of the target entity."); } } }
/** * @param sourceEntityType * @param targetEntityType * @param navProperty */ private void validateReferentialConstraint(CsdlEntityType sourceEntityType, CsdlEntityType targetEntityType, CsdlNavigationProperty navProperty) { if (!navProperty.getReferentialConstraints().isEmpty()) { String propertyName = navProperty.getReferentialConstraints().get(0).getProperty(); if (sourceEntityType.getProperty(propertyName) == null) { throw new RuntimeException("Property name " + propertyName + " not part of the source entity."); } String referencedPropertyName = navProperty.getReferentialConstraints().get(0).getReferencedProperty(); if (targetEntityType.getProperty(referencedPropertyName) == null) { throw new RuntimeException("Property name " + referencedPropertyName + " not part of the target entity."); } } }
@Override public String getReferencingPropertyName(final String referencedPropertyName) { final List<CsdlReferentialConstraint> refConstraints = navigationProperty.getReferentialConstraints(); if (refConstraints != null) { for (CsdlReferentialConstraint constraint : refConstraints) { if (constraint.getReferencedProperty().equals(referencedPropertyName)) { return constraint.getProperty(); } } } return null; }
@Override void build(XMLEventReader reader, StartElement element, CsdlNavigationProperty property, String name) throws XMLStreamException { if ("ReferentialConstraint".equals(name)) { CsdlReferentialConstraint constraint = new CsdlReferentialConstraint(); constraint.setProperty(attr(element, "Property")); constraint.setReferencedProperty(attr(element, "ReferencedProperty")); peekAnnotations(reader, name, constraint); property.getReferentialConstraints().add(constraint); } else if ("OnDelete".equals(name)) { CsdlOnDelete delete = new CsdlOnDelete(); delete.setAction(CsdlOnDeleteAction.valueOf(attr(element, "Action"))); property.setOnDelete(delete); peekAnnotations(reader, name, delete); } else if ("Annotation".equals(name)) { readAnnotations(reader, element, property); } } }.read(reader, element, property, "ReferentialConstraint", "OnDelete", "Annotation");
} else if ("ReferentialConstraint".equals(jp.getCurrentName())) { jp.nextToken(); property.getReferentialConstraints().add(jp.readValueAs(ClientCsdlReferentialConstraint.class)); } else if ("OnDelete".equals(jp.getCurrentName())) { jp.nextToken();
@Override void build(XMLEventReader reader, StartElement element, CsdlNavigationProperty property, String name) throws XMLStreamException { if ("ReferentialConstraint".equals(name)) { CsdlReferentialConstraint constraint = new CsdlReferentialConstraint(); constraint.setProperty(attr(element, "Property")); constraint.setReferencedProperty(attr(element, "ReferencedProperty")); peekAnnotations(reader, name, constraint); property.getReferentialConstraints().add(constraint); } else if ("OnDelete".equals(name)) { CsdlOnDelete delete = new CsdlOnDelete(); delete.setAction(CsdlOnDeleteAction.valueOf(attr(element, "Action"))); property.setOnDelete(delete); peekAnnotations(reader, name, delete); } else if ("Annotation".equals(name)) { readAnnotations(reader, element, property); } } }.read(reader, element, property, "ReferentialConstraint", "OnDelete", "Annotation");
} else if ("ReferentialConstraint".equals(jp.getCurrentName())) { jp.nextToken(); property.getReferentialConstraints().add(jp.readValueAs(ClientCsdlReferentialConstraint.class)); } else if ("OnDelete".equals(jp.getCurrentName())) { jp.nextToken();
if (property.getReferentialConstraints().isEmpty()) { if (!isNavigationType(toTable) && !hasReverseNavigation(mf, metadata, container, fromTable, property, binding, toTable)) { for (CsdlReferentialConstraint constraint : property.getReferentialConstraints()) { columnNames.add(constraint.getProperty()); referenceColumnNames.add(constraint.getReferencedProperty());
return; final List<CsdlReferentialConstraint> constraints = edmNaviProperty.getReferentialConstraints(); for (final IntermediateJoinColumn intermediateColumn : joinColumns) {