private void readReturnType(XMLEventReader reader, StartElement element, CsdlOperation operation) throws XMLStreamException { CsdlReturnType returnType = new CsdlReturnType(); returnType.setType(readType(element)); returnType.setCollection(isCollectionType(element)); returnType.setNullable(Boolean.parseBoolean(attr(element, "Nullable"))); String maxLength = attr(element, "MaxLength"); if (maxLength != null) { returnType.setMaxLength(Integer.parseInt(maxLength)); } String precision = attr(element, "Precision"); if (precision != null) { returnType.setPrecision(Integer.parseInt(precision)); } String scale = attr(element, "Scale"); if (scale != null) { returnType.setScale(Integer.parseInt(scale)); } String srid = attr(element, "SRID"); if (srid != null) { returnType.setSrid(SRID.valueOf(srid)); } peekAnnotations(reader, element.getName().getLocalPart(), returnType); operation.setReturnType(returnType); }
private void readReturnType(XMLEventReader reader, StartElement element, CsdlOperation operation) throws XMLStreamException { CsdlReturnType returnType = new CsdlReturnType(); returnType.setType(readType(element)); returnType.setCollection(isCollectionType(element)); returnType.setNullable(Boolean.parseBoolean(attr(element, "Nullable"))); String maxLength = attr(element, "MaxLength"); if (maxLength != null) { returnType.setMaxLength(Integer.parseInt(maxLength)); } String precision = attr(element, "Precision"); if (precision != null) { returnType.setPrecision(Integer.parseInt(precision)); } String scale = attr(element, "Scale"); if (scale != null) { returnType.setScale(Integer.parseInt(scale)); } String srid = attr(element, "SRID"); if (srid != null) { returnType.setSrid(SRID.valueOf(srid)); } peekAnnotations(reader, element.getName().getLocalPart(), returnType); operation.setReturnType(returnType); }
edmResultType.setCollection(true); edmResultType.setType(IntermediateOperationHelper.determineReturnType(definedReturnType, definedReturnType.type(), schema, javaFunction.getName())); declairedReturnType.getName(), javaFunction.getName()); edmResultType.setCollection(false); edmResultType.setType(IntermediateOperationHelper.determineReturnType(definedReturnType, declairedReturnType, schema, javaFunction.getName()));
private CsdlReturnType determineEdmResultType(final ReturnType definedReturnType, final Method javaOperation) throws ODataJPAModelException { final CsdlReturnType edmResultType = new CsdlReturnType(); final Class<?> declairedReturnType = javaOperation.getReturnType(); if (declairedReturnType == void.class) return null; if (IntermediateOperationHelper.isCollection(declairedReturnType)) { if (definedReturnType.type() == Object.class) // Type parameter expected for %1$s throw new ODataJPAModelException(MessageKeys.ACTION_RETURN_TYPE_EXP, javaOperation.getName(), javaOperation .getName()); edmResultType.setCollection(true); edmResultType.setType(IntermediateOperationHelper.determineReturnType(definedReturnType, definedReturnType.type(), schema, javaOperation.getName())); } else { edmResultType.setCollection(false); edmResultType.setType(IntermediateOperationHelper.determineReturnType(definedReturnType, declairedReturnType, schema, javaOperation.getName())); } edmResultType.setNullable(definedReturnType.isNullable()); edmResultType.setPrecision(nullIfNotSet(definedReturnType.precision())); edmResultType.setScale(nullIfNotSet(definedReturnType.scale())); edmResultType.setMaxLength(nullIfNotSet(definedReturnType.maxLength())); if (definedReturnType.srid() != null && !definedReturnType.srid().srid().isEmpty()) { final SRID srid = SRID.valueOf(definedReturnType.srid().srid()); srid.setDimension(definedReturnType.srid().dimension()); edmResultType.setSrid(srid); } return edmResultType; }
EdmPrimitiveTypeKind odatatype = ODataTypeManager.odataType(pp); if (pp.getType().equals(ProcedureParameter.Type.ReturnValue)) { edmAction.setReturnType(new CsdlReturnType().setType(odatatype.getFullQualifiedName()).setCollection(DataTypeManager.isArrayType(pp.getRuntimeType()))); continue; edmAction.setReturnType((new CsdlReturnType() .setType(new FullQualifiedName(schemaName, complexType .getName())).setCollection(true)));
EdmPrimitiveTypeKind odataType = ODataTypeManager.odataType(pp); if (pp.getType().equals(ProcedureParameter.Type.ReturnValue)) { edmFunction.setReturnType(new CsdlReturnType().setType(odataType.getFullQualifiedName()).setCollection(DataTypeManager.isArrayType(pp.getRuntimeType()))); continue; complexTypes.add(complexType); FullQualifiedName odataType = new FullQualifiedName(schemaName, complexType.getName()); edmFunction.setReturnType((new CsdlReturnType().setType(odataType).setCollection(true)));
@Override protected CsdlReturnType determineEdmResultType(final ReturnType returnType) throws ODataJPAModelException { final CsdlReturnType edmResultType = new CsdlReturnType(); edmResultType.setType(determineReturnType(returnType)); edmResultType.setCollection(returnType.isCollection()); edmResultType.setNullable(returnType.isNullable()); if (returnType.maxLength() >= 0) edmResultType.setMaxLength(returnType.maxLength()); if (returnType.precision() >= 0) edmResultType.setPrecision(returnType.precision()); if (returnType.scale() >= 0) edmResultType.setScale(returnType.scale()); if (returnType.srid() != null && !returnType.srid().srid().isEmpty()) { final SRID srid = SRID.valueOf(returnType.srid().srid()); srid.setDimension(returnType.srid().dimension()); edmResultType.setSrid(srid); } return edmResultType; }