/** * For internal use only by data model classes */ public static ODataTypeValueSerializer of( final EdmSimpleTypeKind typeKind ) { return of(typeKind.getEdmSimpleTypeInstance()); }
public EdmSimplePropertyImplProv(final EdmImplProv edm, final SimpleProperty property) throws EdmException { super(edm, property.getType().getFullQualifiedName(), property); this.property = property; }
/** * Returns the {@link FullQualifiedName} for this SimpleTypeKind. * @return {@link FullQualifiedName} */ public FullQualifiedName getFullQualifiedName() { return new FullQualifiedName(EdmSimpleType.EDM_NAMESPACE, toString()); }
private Object formatValue(EdmSimpleType type , LiteralExpression literal) throws EdmException{ EdmSimpleTypeKind typeKind = EdmSimpleTypeKind.valueOf(type.getName()); String value = literal.getUriLiteral().toString(); EdmSimpleType instance = typeKind.getEdmSimpleTypeInstance(); if(typeKind.name().equals("DateTime") ||typeKind.name().equals("Single")){ value = value.replace("datetime", "").replace("'", ""); return instance.valueOfString(value , EdmLiteralKind.DEFAULT, null, instance.getDefaultType()); }else if( typeKind.name().equals("DateTimeOffset") ){ value = value.replace("datetimeoffset'", "").replace("'", ""); return instance.valueOfString(value , EdmLiteralKind.DEFAULT, null, instance.getDefaultType()); else if(typeKind.name().equals("Time")){ value = value.replace("time", "").replace("'", ""); return instance.valueOfString(value , EdmLiteralKind.DEFAULT, null, instance.getDefaultType()); }else if(typeKind.name().equals("String")){ value = value.replace("\'", ""); return value; }else if(typeKind.name().equals("Double")){ value = value.replace("d", ""); return instance.valueOfString(value.toString() , EdmLiteralKind.DEFAULT, null, instance.getDefaultType()); }else if(typeKind.name().equals("Int64")){ value = value.replace("L", "").replace("l", "");// Replacing lower case 'l' not required. return instance.valueOfString(value.toString() , EdmLiteralKind.DEFAULT, null, instance.getDefaultType()); }else if(typeKind.name().equals("Guid")){ value = value.replace("guid'", "").replace("'", ""); UUID guidValue = UUID.fromString(value); return instance.valueOfString(guidValue.toString() , EdmLiteralKind.DEFAULT, null, instance.getDefaultType());
private Property readSimpleProperty(final XMLStreamReader reader, final FullQualifiedName fqName) throws XMLStreamException { SimpleProperty property = new SimpleProperty(); property.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); property.setType(EdmSimpleTypeKind.valueOf(fqName.getName())); return property; }
case EQ: EdmSimpleType type = (EdmSimpleType)((BinaryExpression)whereExpression).getLeftOperand().getEdmType(); if(EdmSimpleTypeKind.String.getEdmSimpleTypeInstance().isCompatible(type)){ return JPQLStatement.DELIMITER.PARENTHESIS_LEFT + left + JPQLStatement.DELIMITER.SPACE + (!"null".equals(right) ? JPQLStatement.Operator.LIKE : "IS") + JPQLStatement.DELIMITER.SPACE + right final LiteralExpression literal = (LiteralExpression) whereExpression; final EdmSimpleType literalType = (EdmSimpleType) literal.getEdmType(); EdmLiteral uriLiteral = EdmSimpleTypeKind.parseUriLiteral(literal.getUriLiteral()); return evaluateComparingExpression(uriLiteral.getLiteral(), literalType, null);
private Object formatSystemTypeValue( LiteralExpression literal) { String value = literal.getUriLiteral(); EdmLiteral uriLiteral; try { uriLiteral = EdmSimpleTypeKind.parseUriLiteral(value); return uriLiteral.getType().valueOfString(uriLiteral.getLiteral(), EdmLiteralKind.DEFAULT, null, uriLiteral.getType().getDefaultType()); } catch (EdmLiteralException | EdmSimpleTypeException e) { //Fallback as String return value; } }
private Property readSimpleProperty(final XMLStreamReader reader, final FullQualifiedName fqName) throws XMLStreamException { SimpleProperty property = new SimpleProperty(); property.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); property.setType(EdmSimpleTypeKind.valueOf(fqName.getName())); return property; }
final LiteralExpression literal = (LiteralExpression) whereExpression; final EdmSimpleType literalType = (EdmSimpleType) literal.getEdmType(); EdmLiteral uriLiteral = EdmSimpleTypeKind.parseUriLiteral(literal.getUriLiteral()); return evaluateComparingExpression(uriLiteral.getLiteral(), literalType, null);
public static ODataTypeValueSerializer of(final EdmSimpleTypeKind typeKind) { return of(typeKind.getEdmSimpleTypeInstance()); }
public EdmSimplePropertyImplProv(final EdmImplProv edm, final SimpleProperty property) throws EdmException { super(edm, property.getType().getFullQualifiedName(), property); this.property = property; }
private Property readSimpleProperty(final XMLStreamReader reader, final FullQualifiedName fqName) throws XMLStreamException { SimpleProperty property = new SimpleProperty(); property.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); property.setType(EdmSimpleTypeKind.valueOf(fqName.getName())); return property; }
/** * Returns the {@link FullQualifiedName} for this SimpleTypeKind. * @return {@link FullQualifiedName} */ public FullQualifiedName getFullQualifiedName() { return new FullQualifiedName(EdmSimpleType.EDM_NAMESPACE, toString()); }
.getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.DateTimeOffset .getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.Time.getEdmSimpleTypeInstance())) { Timestamp timestamp = new Timestamp(new Long(11111L).longValue()); value = timestamp.toString(); } else if (edmSimpleType == EdmSimpleTypeKind.String.getEdmSimpleTypeInstance()) { value = "\'"+"dummyString"+"\'"; } else if ((edmSimpleType == EdmSimpleTypeKind.Int16.getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.Int32.getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.Int64.getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.Decimal.getEdmSimpleTypeInstance()) || (edmSimpleType == EdmSimpleTypeKind.Double.getEdmSimpleTypeInstance())) { value = String.valueOf(1); else if((edmSimpleType == EdmSimpleTypeKind.Guid.getEdmSimpleTypeInstance())) { value = UUID.randomUUID().toString();
public EdmSimplePropertyImplProv(final EdmImplProv edm, final SimpleProperty property) throws EdmException { super(edm, property.getType().getFullQualifiedName(), property); this.property = property; }
private FunctionImportParameter readFunctionImportParameter(final XMLStreamReader reader) throws EntityProviderException, XMLStreamException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_FUNCTION_PARAMETER); FunctionImportParameter functionParameter = new FunctionImportParameter(); List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>(); functionParameter.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); String type = reader.getAttributeValue(null, XmlMetadataConstants.EDM_TYPE); if (type == null) { throw new EntityProviderException(EntityProviderException.MISSING_ATTRIBUTE .addContent(XmlMetadataConstants.EDM_TYPE).addContent(XmlMetadataConstants.EDM_FUNCTION_PARAMETER)); } functionParameter.setType(EdmSimpleTypeKind.valueOf(extractFQName(type).getName())); functionParameter.setFacets(readFacets(reader)); functionParameter.setAnnotationAttributes(readAnnotationAttribute(reader)); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) && XmlMetadataConstants.EDM_FUNCTION_IMPORT.equals(reader.getLocalName()))) { reader.next(); if (reader.isStartElement()) { extractNamespaces(reader); annotationElements.add(readAnnotationElement(reader)); } } if (!annotationElements.isEmpty()) { functionParameter.setAnnotationElements(annotationElements); } return functionParameter; }
/** * Returns the {@link FullQualifiedName} for this SimpleTypeKind. * @return {@link FullQualifiedName} */ public FullQualifiedName getFullQualifiedName() { return new FullQualifiedName(EdmSimpleType.EDM_NAMESPACE, toString()); }
private boolean isBooleanProperty(final EdmProperty property) throws EdmException { return property.isSimple() && property.getType() == EdmSimpleTypeKind.Boolean.getEdmSimpleTypeInstance(); }
public EdmParameterImplProv(final EdmImplProv edm, final FunctionImportParameter parameter) throws EdmException { super(edm, parameter.getName(), parameter.getType().getFullQualifiedName(), parameter.getFacets(), parameter .getMapping()); this.parameter = parameter; }
private FunctionImportParameter readFunctionImportParameter(final XMLStreamReader reader) throws EntityProviderException, XMLStreamException { reader.require(XMLStreamConstants.START_ELEMENT, edmNamespace, XmlMetadataConstants.EDM_FUNCTION_PARAMETER); FunctionImportParameter functionParameter = new FunctionImportParameter(); List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>(); functionParameter.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME)); functionParameter.setMode(reader.getAttributeValue(null, XmlMetadataConstants.EDM_FUNCTION_PARAMETER_MODE)); String type = reader.getAttributeValue(null, XmlMetadataConstants.EDM_TYPE); if (type == null) { throw new EntityProviderException(EntityProviderException.MISSING_ATTRIBUTE .addContent(XmlMetadataConstants.EDM_TYPE).addContent(XmlMetadataConstants.EDM_FUNCTION_PARAMETER)); } functionParameter.setType(EdmSimpleTypeKind.valueOf(extractFQName(type).getName())); functionParameter.setFacets(readFacets(reader)); functionParameter.setAnnotationAttributes(readAnnotationAttribute(reader)); while (reader.hasNext() && !(reader.isEndElement() && edmNamespace.equals(reader.getNamespaceURI()) && XmlMetadataConstants.EDM_FUNCTION_PARAMETER.equals(reader.getLocalName()))) { reader.next(); if (reader.isStartElement()) { extractNamespaces(reader); annotationElements.add(readAnnotationElement(reader)); } } if (!annotationElements.isEmpty()) { functionParameter.setAnnotationElements(annotationElements); } return functionParameter; }