public EdmPropertyImpl(final Edm edm, final CsdlProperty property) { super(edm, property.getName(), property); this.property = property; }
public EdmPropertyImpl(final Edm edm, final CsdlProperty property) { super(edm, property.getName(), property); this.property = property; }
public Map<String, EdmProperty> getProperties() { if (properties == null) { final Map<String, EdmProperty> localPorperties = new LinkedHashMap<String, EdmProperty>(); final List<CsdlProperty> structureTypeProperties = providerStructuredType.getProperties(); for (CsdlProperty property : structureTypeProperties) { localPorperties.put(property.getName(), new EdmPropertyImpl(edm, property)); } properties = Collections.unmodifiableMap(localPorperties); } return properties; }
public Map<String, EdmProperty> getProperties() { if (properties == null) { final Map<String, EdmProperty> localPorperties = new LinkedHashMap<String, EdmProperty>(); final List<CsdlProperty> structureTypeProperties = providerStructuredType.getProperties(); for (CsdlProperty property : structureTypeProperties) { localPorperties.put(property.getName(), new EdmPropertyImpl(edm, property)); } properties = Collections.unmodifiableMap(localPorperties); } return properties; }
public static CsdlComplexType getComplexTypeFromPath(String path, CsdlEntityType csdlentity, CDXEdmProvider edmxMetadataProvider) { FullQualifiedName fqn = null; CsdlComplexType complxType = null; List<CsdlProperty> props = csdlentity.getProperties(); for (int i = 0; i < props.size(); i++) { if (props.get(i).getName().equals(path)) { fqn = props.get(i).getTypeAsFQNObject(); try { complxType = edmxMetadataProvider.getComplexType(fqn); } catch (ODataException e) { PojoGenUtil.logDebug(log, "Could not fetch Complex Type from EdmxProvider called by getComplexTypeFromPath with entity"); } break; } } return complxType; }
/** Adds annotations to Entity type Properties derived from entity set * @param annotationGrp * @param entityType * @param propertyName */ private void addAnnotationsToEntityTypeProperties(CsdlAnnotations annotationGrp, CsdlEntityType entityType, CsdlProperty propertyName) { for (CsdlAnnotation annotation : annotationGrp.getAnnotations()) { if (!compareAnnotations(entityType.getProperty( propertyName.getName()).getAnnotations(), annotation)) { entityType.getProperty(propertyName.getName()).getAnnotations().add(annotation); } } }
/** * @param structuralType * @param annotationGrp * @param property */ private void addAnnotationsToStructuralTypeProperties(CsdlStructuralType structuralType, CsdlAnnotations annotationGrp, CsdlProperty property) { for (CsdlAnnotation annotation : annotationGrp.getAnnotations()) { if (!compareAnnotations(structuralType.getProperty( property.getName()).getAnnotations(), annotation)) { structuralType.getProperty(property.getName()).getAnnotations().add(annotation); } } }
/** * @param annotationGrp * @param complexType * @param complexPropertyName */ private void addAnnotationsToComplexTypeProperties(CsdlAnnotations annotationGrp, CsdlComplexType complexType, CsdlProperty complexPropertyName) { for (CsdlAnnotation annotation : annotationGrp.getAnnotations()) { if (!compareAnnotations(complexType.getProperty( complexPropertyName.getName()).getAnnotations(), annotation)) { complexType.getProperty(complexPropertyName.getName()).getAnnotations().add(annotation); } } }
public static CsdlComplexType getComplexTypeFromPath(String name, CsdlComplexType csdlobj, CDXEdmProvider edmxMetadataProvider) { FullQualifiedName complxFQN = null; CsdlComplexType cmplxType = null; if (csdlobj != null) { List<CsdlProperty> props = csdlobj.getProperties(); if (props != null) { for (int i = 0; i < props.size(); i++) { if (name.equals(props.get(i).getName())) { complxFQN = props.get(i).getTypeAsFQNObject(); try { cmplxType = edmxMetadataProvider.getComplexType(complxFQN); } catch (ODataException e) { PojoGenUtil.logDebug(log, "Could not fetch Complex Type from EdmxProvider called by getComplexTypeFromPath"); } break; } } } } return cmplxType; }
/** Check if annotations are added on properties of a structural type * @param structuralType * @param typeName * @param isPropAnnotationsCleared * @param annotationGrp */ private void checkAnnotationsOnStructuralProperties(CsdlStructuralType structuralType, FullQualifiedName typeName, boolean isPropAnnotationsCleared, CsdlAnnotations annotationGrp) { List<CsdlProperty> properties = structuralType.getProperties(); for (CsdlProperty property : properties) { if (!isPropAnnotationsCleared) { structuralType.getProperty(property.getName()).getAnnotations().clear(); } if (annotationGrp.getTarget().equalsIgnoreCase( typeName.getFullQualifiedNameAsString() + "/" + property.getName())) { addAnnotationsToStructuralTypeProperties(structuralType, annotationGrp, property); } } }
public static List<PropertyTypeModel> csdlToCommonPropertiesForComplex(ComplexTypeModel complexModel, List<CsdlProperty> csdlProperties, CommonJavaObjectForEdmx comJavaModel, CDXEdmProvider edmxMetadataProvider, Map<String, String> namespaceToServMap) { List<PropertyTypeModel> commonProperties = new ArrayList<>(); if (csdlProperties != null && !csdlProperties.isEmpty() && comJavaModel != null) { for (int j = 0; j < csdlProperties.size(); j++) { CsdlProperty csdlProp = csdlProperties.get(j); PropertyTypeModel property = new PropertyTypeModel(); property.setName(csdlProp.getName()); property.setType(csdlProp.getType()); property.setIsCollection(csdlProp.isCollection()); commonProperties.add(property); property.setIskey(false); // create complex type model if property type is not Edm, so // it'll be complex or enum. currently only considering complex if (!csdlProp.getType().startsWith("Edm")) { buildCommonComplexTypeRecursivelyForCT(complexModel, comJavaModel, edmxMetadataProvider, csdlProp, namespaceToServMap); } } } return commonProperties; }
/** adds annotations to entity type properties derived from singleton * @param singleton * @param isPropAnnotationsCleared * @param isNavPropAnnotationsCleared * @param entityType * @param annotationGrp */ private void addAnnotationsToPropertiesDerivedFromSingleton(CsdlSingleton singleton, boolean isPropAnnotationsCleared, boolean isNavPropAnnotationsCleared, CsdlEntityType entityType, CsdlAnnotations annotationGrp) { for (CsdlProperty propertyName : entityType.getProperties()) { if (!isPropAnnotationsCleared) { entityType.getProperty(propertyName.getName()).getAnnotations().clear(); } if (isPropertyComplex(propertyName)) { CsdlComplexType complexType = getComplexTypeFromProperty(propertyName); addAnnotationsToComplexTypeIncludedFromSingleton(singleton, annotationGrp, propertyName, isNavPropAnnotationsCleared, complexType); } } }
/** * * @param singleton * @param entityContainerName2 * @param annotationGrp * @param propertyName * @param isComplexNavPropAnnotationsCleared * @param complexType */ private void addAnnotationsToComplexTypeIncludedFromSingleton(CsdlSingleton singleton, CsdlAnnotations annotationGrp, CsdlProperty propertyName, boolean isComplexNavPropAnnotationsCleared, CsdlComplexType complexType) { for (CsdlNavigationProperty complexNavPropertyName : complexType.getNavigationProperties()) { if (!isComplexNavPropAnnotationsCleared) { complexType.getNavigationProperty(complexNavPropertyName.getName()).getAnnotations().clear(); } if (annotationGrp.getTarget(). equalsIgnoreCase(entityContainerName + "/" + singleton.getName() + "/" + propertyName.getName() + "/" + complexNavPropertyName.getName())) { isSingletonAnnotationsIncluded = true; addAnnotationsToComplexTypeNavProperties(annotationGrp, complexType, complexNavPropertyName); } } }
private boolean addProperty(MetadataFactory mf, XMLMetadata metadata, Table table, CsdlProperty property) throws TranslatorException { if (isSimple(property.getType()) || isEnum(metadata, property.getType())) { if (table.getColumnByName(property.getName()) == null) { addPropertyAsColumn(mf, table, property); } return true; } return false; }
private void addProcedureTableReturn(MetadataFactory mf, XMLMetadata metadata, Procedure procedure, CsdlEntityType type, String namePrefix) throws TranslatorException { for (CsdlProperty property:type.getProperties()) { if (isSimple(property.getType()) || isEnum(metadata, property.getType())) { mf.addProcedureResultSetColumn( namePrefix == null? property.getName():namePrefix+"_"+property.getName(), ODataTypeManager.teiidType(property.getType(), property.isCollection()), procedure); } else if (isComplexType(metadata, property.getType())) { CsdlComplexType childType = getComplexType(metadata, property.getType()); addProcedureTableReturn(mf, metadata, procedure, childType, property.getName()); } else { throw new TranslatorException(ODataPlugin.Util.gs( ODataPlugin.Event.TEIID17023, procedure.getName())); } } }
private void addProcedureTableReturn(MetadataFactory mf, XMLMetadata metadata, Procedure procedure, CsdlComplexType type, String namePrefix) throws TranslatorException { for (CsdlProperty property:type.getProperties()) { if (isSimple(property.getType()) || isEnum(metadata, property.getType())) { mf.addProcedureResultSetColumn( namePrefix == null? property.getName():namePrefix+"_"+property.getName(), ODataTypeManager.teiidType(property.getType(), property.isCollection()), procedure); } else if (isComplexType(metadata, property.getType())) { CsdlComplexType childType = (CsdlComplexType)getComplexType(metadata, property.getType()); addProcedureTableReturn(mf, metadata, procedure, childType, property.getName()); } else { throw new TranslatorException(ODataPlugin.Util.gs( ODataPlugin.Event.TEIID17023, procedure.getName())); } } }
private void buildTypeInfo() { if (property.getType() == null) { throw new EdmException("Property " + property.getName() + " must hava a full qualified type."); } typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(property.getType()).build(); }
private void buildTypeInfo() { if (property.getType() == null) { throw new EdmException("Property " + property.getName() + " must hava a full qualified type."); } typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(property.getType()).build(); }
private void buildTypeInfoWithAnnotations() { if (property.getType() == null) { throw new EdmException("Property " + property.getName() + " must hava a full qualified type."); } typeInfo = new EdmTypeInfo.Builder().setEdm(edm).setIncludeAnnotations(true) .setTypeExpression(property.getType()).build(); }
private Column buildColumn(MetadataFactory mf, Table table, CsdlProperty property) { String columnName = property.getName(); Column c = mf.addColumn(columnName, ODataTypeManager.teiidType(property.getType(), property.isCollection()), table); handleGeometryTypes(property.getSrid(), property.getType(), c); if(property.isCollection()) { c.setSearchType(SearchType.Unsearchable); } c.setUpdatable(true); return c; }