@Override public FullQualifiedName getTypeAsFQNObject() { // TODO Auto-generated method stub return super.getTypeAsFQNObject(); }
private boolean isPropertyComplex(CsdlProperty propertyName) { try { return this.provider.getComplexType(propertyName.getTypeAsFQNObject()) != null ? true : false; } catch (ODataException e) { throw new EdmException(e); } }
/** * @param propertyName * @return */ private CsdlComplexType getComplexTypeFromProperty(CsdlProperty propertyName) { CsdlComplexType complexType; try { complexType = this.provider.getComplexType(propertyName.getTypeAsFQNObject()); } catch (ODataException e) { throw new EdmException(e); } return complexType; }
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; }
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; }
/** * fetch the actual navigation property from the remaning path * @param remainingPath * @param strNavProperty * @param sourceTypeHavingNavProp * @return CsdlNavigationProperty */ private CsdlNavigationProperty fetchNavigationProperty(String remainingPath, String strNavProperty, CsdlStructuralType sourceTypeHavingNavProp) { String[] paths = remainingPath.split("/"); for (String path : paths) { FullQualifiedName fqName = null; if (sourceTypeHavingNavProp instanceof CsdlComplexType) { fqName = ((CsdlComplexType)sourceTypeHavingNavProp).getProperty(path).getTypeAsFQNObject(); } else if (sourceTypeHavingNavProp instanceof CsdlEntityType) { fqName = ((CsdlEntityType)sourceTypeHavingNavProp).getProperty(path).getTypeAsFQNObject(); } if (fqName != null) { String namespace = aliasNamespaceMap.get(fqName.getNamespace()); fqName = namespace != null ? new FullQualifiedName(namespace, fqName.getName()) : fqName; } sourceTypeHavingNavProp = csdlEntityTypesMap.get(fqName) != null ? csdlEntityTypesMap.get(fqName) : csdlComplexTypesMap.get(fqName); } return sourceTypeHavingNavProp.getNavigationProperty(strNavProperty); }
/** * fetch the actual navigation property from the remaning path * @param remainingPath * @param strNavProperty * @param sourceTypeHavingNavProp * @return CsdlNavigationProperty */ private CsdlNavigationProperty fetchNavigationProperty(String remainingPath, String strNavProperty, CsdlStructuralType sourceTypeHavingNavProp) { String[] paths = remainingPath.split("/"); for (String path : paths) { FullQualifiedName fqName = null; if (sourceTypeHavingNavProp instanceof CsdlComplexType) { fqName = ((CsdlComplexType)sourceTypeHavingNavProp).getProperty(path).getTypeAsFQNObject(); } else if (sourceTypeHavingNavProp instanceof CsdlEntityType) { fqName = ((CsdlEntityType)sourceTypeHavingNavProp).getProperty(path).getTypeAsFQNObject(); } if (fqName != null) { String namespace = aliasNamespaceMap.get(fqName.getNamespace()); fqName = namespace != null ? new FullQualifiedName(namespace, fqName.getName()) : fqName; } sourceTypeHavingNavProp = csdlEntityTypesMap.get(fqName) != null ? csdlEntityTypesMap.get(fqName) : csdlComplexTypesMap.get(fqName); } return sourceTypeHavingNavProp.getNavigationProperty(strNavProperty); }
property.setIsCollection(csdlProp.isCollection()); String propNamespace = EdmxToCommonModelHelper.resolveAliasToNamespace(edmxMetadataProvider, csdlProp.getTypeAsFQNObject().getNamespace()); property.setServiceName(namespaceToServMap.get(propNamespace)); property.setIskey(EdmxToCommonModelHelper.checkIfKeyProperty(property.getName(), csdlEntity.getKey())); if(CsdlParserUtil.isTypeOfPropertyAComplexType(csdlProp.getTypeAsFQNObject(), edmxMetadataProvider)){ buildCommonComplexTypeRecursivelyForET(entityModel, comJavaModel, edmxMetadataProvider, csdlProp, namespaceToServMap); EnumTypeModel enumType = buildCommonEnumTypeModel(entityModel, csdlProp.getTypeAsFQNObject(), edmxMetadataProvider, comJavaModel, namespaceToServMap); property.setEnumType(true); comJavaModel.addEnumType(enumType);
@Override protected void lazyBuildEdmItem() throws ODataJPAModelException { super.lazyBuildEdmItem(); if (isComplex() && schema.getComplexType(this.edmProperty.getTypeAsFQNObject().getName()) == null) // Base type of collection '%1$s' of structured type '%2$s' not found throw new ODataJPAModelException(MessageKeys.INVALID_COLLECTION_TYPE, getInternalName(), sourceType .getInternalName()); edmProperty.setCollection(true); }
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
if (comJavaModel != null && edmxMetadataProvider != null && csdlProp != null) { ComplexTypeModel comComplex = new ComplexTypeModel(); FullQualifiedName complexFQN = csdlProp.getTypeAsFQNObject(); try {
if (comJavaModel != null && edmxMetadataProvider != null && csdlProp != null) { ComplexTypeModel comComplex = new ComplexTypeModel(); FullQualifiedName complexFQN = csdlProp.getTypeAsFQNObject(); try { if (CsdlParserUtil.isTypeOfPropertyAComplexType(complexFQN, edmxMetadataProvider)) {
edmProperty.setDefaultValue(getDeafultValue()); if (edmProperty.getTypeAsFQNObject().equals(EdmPrimitiveTypeKind.String.getFullQualifiedName()) || edmProperty.getTypeAsFQNObject().equals(EdmPrimitiveTypeKind.Binary.getFullQualifiedName())) { if (jpaColumn.length() > 0) edmProperty.setMaxLength(jpaColumn.length());