protected List<CsdlParameter> determineEdmInputParameter() throws ODataJPAModelException { final List<CsdlParameter> parameters = new ArrayList<>(); final List<JPAParameter> jpaParameterList = getParameter(); final BindingPosition bindingPosition = new BindingPosition(); for (int i = 0; i < jpaParameterList.size(); i++) { final JPAParameter jpaParameter = jpaParameterList.get(i); final CsdlParameter parameter = new CsdlParameter(); parameter.setName(jpaParameter.getName()); parameter.setType(determineParameterType(bindingPosition, i, jpaParameter)); parameter.setPrecision(nullIfNotSet(jpaParameter.getPrecision())); parameter.setScale(nullIfNotSet(jpaParameter.getScale())); parameter.setMaxLength(nullIfNotSet(jpaParameter.getMaxLength())); parameter.setSrid(jpaParameter.getSrid()); parameters.add(parameter); } if (jpaAction.isBound() && bindingPosition.getPos() != 1) // Binding parameter not found within in interface of method %1$s of class %2$s. Binding parameter must be the // first parameter. throw new ODataJPAModelException(ODataJPAModelException.MessageKeys.ACTION_PARAM_BINGING_NOT_FOUND, javaAction.getName(), javaAction.getDeclaringClass().getName()); return parameters; }
private void readParameter(XMLEventReader reader, StartElement element, CsdlOperation operation) throws XMLStreamException { CsdlParameter parameter = new CsdlParameter(); parameter.setName(attr(element, "Name")); parameter.setType(readType(element)); parameter.setCollection(isCollectionType(element)); parameter.setNullable(Boolean.parseBoolean(attr(element, "Nullable"))); String maxLength = attr(element, "MaxLength"); if (maxLength != null) { parameter.setMaxLength(Integer.parseInt(maxLength)); } String precision = attr(element, "Precision"); if (precision != null) { parameter.setPrecision(Integer.parseInt(precision)); } String scale = attr(element, "Scale"); if (scale != null) { parameter.setScale(Integer.parseInt(scale)); } String srid = attr(element, "SRID"); if (srid != null) { parameter.setSrid(SRID.valueOf(srid)); } peekAnnotations(reader, element.getName().getLocalPart(), parameter); operation.getParameters().add(parameter); }
private void readParameter(XMLEventReader reader, StartElement element, CsdlOperation operation) throws XMLStreamException { CsdlParameter parameter = new CsdlParameter(); parameter.setName(attr(element, "Name")); parameter.setType(readType(element)); parameter.setCollection(isCollectionType(element)); parameter.setNullable(Boolean.parseBoolean(attr(element, "Nullable"))); String maxLength = attr(element, "MaxLength"); if (maxLength != null) { parameter.setMaxLength(Integer.parseInt(maxLength)); } String precision = attr(element, "Precision"); if (precision != null) { parameter.setPrecision(Integer.parseInt(precision)); } String scale = attr(element, "Scale"); if (scale != null) { parameter.setScale(Integer.parseInt(scale)); } String srid = attr(element, "SRID"); if (srid != null) { parameter.setSrid(SRID.valueOf(srid)); } peekAnnotations(reader, element.getName().getLocalPart(), parameter); operation.getParameters().add(parameter); }
param.setSrid(SRID.valueOf(srid));
final SRID srid = SRID.valueOf(jpaParameter.srid().srid()); srid.setDimension(jpaParameter.srid().dimension()); edmInputParameter.setSrid(srid);