protected List<EdmComplexType> createComplexTypes() { final List<EdmComplexType> edmComplexTypes = new ArrayList<EdmComplexType>(); final List<CsdlComplexType> providerComplexTypes = schema.getComplexTypes(); if (providerComplexTypes != null) { for (CsdlComplexType complexType : providerComplexTypes) { FullQualifiedName comlexTypeName = new FullQualifiedName(namespace, complexType.getName()); EdmComplexTypeImpl complexTypeImpl = new EdmComplexTypeImpl(edm, comlexTypeName, complexType); edmComplexTypes.add(complexTypeImpl); edm.cacheComplexType(comlexTypeName, complexTypeImpl); } } return edmComplexTypes; }
protected List<EdmComplexType> createComplexTypes() { final List<EdmComplexType> edmComplexTypes = new ArrayList<EdmComplexType>(); final List<CsdlComplexType> providerComplexTypes = schema.getComplexTypes(); if (providerComplexTypes != null) { for (CsdlComplexType complexType : providerComplexTypes) { FullQualifiedName comlexTypeName = new FullQualifiedName(namespace, complexType.getName()); EdmComplexTypeImpl complexTypeImpl = new EdmComplexTypeImpl(edm, comlexTypeName, complexType); edmComplexTypes.add(complexTypeImpl); edm.cacheComplexType(comlexTypeName, complexTypeImpl); } } return edmComplexTypes; }
@Override public CsdlComplexType getComplexType(final FullQualifiedName fqn) throws ODataException { CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null && schema.getComplexTypes() != null) { for (CsdlComplexType type : schema.getComplexTypes()) { if (type.getName().equals(fqn.getName())) { return type; } } } return null; }
@Override public CsdlComplexType getComplexType(final FullQualifiedName fqn) throws ODataException { CsdlSchema schema = getSchema(fqn.getNamespace()); if (schema != null && schema.getComplexTypes() != null) { for (CsdlComplexType type : schema.getComplexTypes()) { if (type.getName().equals(fqn.getName())) { return type; } } } return null; }
for (CsdlComplexType csdlComplexType : csdlComplexTypes) { csdlComplexTypesMap.put(new FullQualifiedName( csdlSchema.getNamespace(), csdlComplexType.getName()), csdlComplexType);
for (CsdlComplexType csdlComplexType : csdlComplexTypes) { csdlComplexTypesMap.put(new FullQualifiedName( csdlSchema.getNamespace(), csdlComplexType.getName()), csdlComplexType);
public static String resolveBaseTypesForComplex(CsdlComplexType csdlComplexType, CommonJavaObjectForEdmx comModel, CDXEdmProvider edmxProvider, Map<String, String> namespaceToServMap) { String baseTypeName = csdlComplexType.getBaseType(); // build entity model for base type entity FullQualifiedName fqnComplex = csdlComplexType.getBaseTypeFQN(); if (fqnComplex != null) { try { CsdlComplexType csdlBaseComplex = edmxProvider.getComplexType(fqnComplex); if (!EdmxToCommonModelHelper.isComplexTypeAlreadyAdded(csdlBaseComplex.getName(), comModel)) { ComplexTypeModel comComplex = EdmxToCommonJavaObjectConverter.convertCsdlComplexToCommonModel( csdlBaseComplex, comModel, edmxProvider, namespaceToServMap); comModel.addComplexType(comComplex); } } catch (ODataException e) { PojoGenUtil.logDebug(log, "Could not fetch Base Type from EdmxProvider called by resolveBaseTypesForComplex"); } } return baseTypeName != null ? baseTypeName : ""; }
public static ComplexTypeModel convertCsdlComplexToCommonModel(CsdlComplexType csdlComplexType, CommonJavaObjectForEdmx comModel, CDXEdmProvider edmxProvider, Map<String, String> namespaceToServMap) { ComplexTypeModel commonComplex = new ComplexTypeModel(); if (csdlComplexType != null) { commonComplex.setName(csdlComplexType.getName()); // resolve base type of complex type String baseType = CsdlBaseTypeResolver.resolveBaseTypesForComplex(csdlComplexType, comModel, edmxProvider, namespaceToServMap); commonComplex.setBaseTypeName(baseType); commonComplex.setHasBaseType(baseType.equals("") ? false : true); List<PropertyTypeModel> comxProps = csdlToCommonPropertiesForComplex(commonComplex, csdlComplexType.getProperties(), comModel, edmxProvider, namespaceToServMap); commonComplex.setProperties(comxProps); List<NavigationTypeModel> comxNavs = csdlToCommonNavigationsForComplex( csdlComplexType.getNavigationProperties(), edmxProvider, comModel, commonComplex, namespaceToServMap); commonComplex.setNavigations(comxNavs); } return commonComplex; }
edmAction.setReturnType((new CsdlReturnType() .setType(new FullQualifiedName(schemaName, complexType .getName())).setCollection(true)));
CsdlComplexType complexType = buildComplexType(proc, returnColumns, csdlSchema); complexTypes.add(complexType); FullQualifiedName odataType = new FullQualifiedName(schemaName, complexType.getName()); edmFunction.setReturnType((new CsdlReturnType().setType(odataType).setCollection(true)));