@Override public boolean covers( Value value ) { return !value.isNull(); } },
private static String extractConnectionId( Map<String,Value> metadata ) { Value value = metadata.get( CONNECTION_ID_METADATA_KEY ); if ( value == null || value.isNull() ) { throw new IllegalStateException( "Unable to extract " + CONNECTION_ID_METADATA_KEY + " from a response to HELLO message. " + "Received metadata: " + metadata ); } return value.asString(); } }
@SuppressWarnings("unchecked") private <T> List<T> asList(Record embeddeds, String alias) { Value value = embeddeds.get( alias ); if ( value.isNull() ) { return Collections.emptyList(); } return (List<T>) value.asList(); }
private Relationship asRelationship(Record record, String alias) { Value value = record.get( alias ); if ( value.isNull() ) { return null; } return value.asRelationship(); }
private Node asNode(Record record, String alias) { Value value = record.get( alias ); if ( value.isNull() ) { return null; } return value.asNode(); }
private static int counterValue( Value countersValue, String name ) { Value value = countersValue.get( name ); return value.isNull() ? 0 : value.asInt(); }
@Override protected TupleSnapshot tupleSnapshot(Record record, List<String> keys) { // Requires a LinkedHashMap as the order of the entries is important Map<String, Object> properties = new LinkedHashMap<>(); for ( String column : keys ) { Value value = record.get( column ); if ( value != null && !value.isNull() ) { properties.put( column, value.asObject() ); } else { properties.put( column, null ); } } return new MapTupleSnapshot( properties ); } }
private void addTargetEmbeddedProperties(Map<String, Object> targetNode, Record row) { if ( !row.get( 1 ).isNull() ) { List<Object> pathToNode = row.get( 1 ).asList(); Map<String, Object> embeddedNodeProperties = (Map<String, Object>) row.get( 3 ).asMap(); String path = concat( pathToNode ); for ( Map.Entry<String, Object> entry : embeddedNodeProperties.entrySet() ) { targetNode.put( path + "." + entry.getKey(), entry.getValue() ); } } }
@Deprecated public static final Object formatJavaBean(Class<?> returnType , List<Method> setMethods , Value va) { if(va.isNull()) return null; Entity entity = va.asEntity(); if(entity.size() == 0) return null; Object tmp = ConstructorOperation.newInstance(returnType); for(Method setMethod : setMethods) { String key = setMethod.getName(); key = StringOperation.replaceFirst(key , "set" , ""); key = key.substring(0 , 1).toLowerCase() + key.substring(1); Object value = formatValue(setMethod.getParameterTypes()[0] , entity.get(key)); if(value != null) MethodOperation.invoked(tmp , setMethod , value); } return tmp; } }
public Bookmarks extractBookmarks( Map<String,Value> metadata ) { Value bookmarkValue = metadata.get( "bookmark" ); if ( bookmarkValue != null && !bookmarkValue.isNull() && bookmarkValue.hasType( TYPE_SYSTEM.STRING() ) ) { return Bookmarks.from( bookmarkValue.asString() ); } return Bookmarks.empty(); }
@Override public T apply( Value plan ) { final String operatorType = plan.get( "operatorType" ).asString(); final Value argumentsValue = plan.get( "args" ); final Map<String, Value> arguments = argumentsValue.isNull() ? Collections.<String, Value>emptyMap() : argumentsValue.asMap( Values.ofValue() ); final Value identifiersValue = plan.get( "identifiers" ); final List<String> identifiers = identifiersValue.isNull() ? Collections.<String>emptyList() : identifiersValue.asList( ofString() ); final Value childrenValue = plan.get( "children" ); final List<T> children = childrenValue.isNull() ? Collections.<T>emptyList() : childrenValue.asList( this ); return planCreator.create( operatorType, arguments, identifiers, children, plan ); } }
public static final Object formatValue(Class<?> clazz, Value value) { if(value.isNull()) return null; if(clazz.isAssignableFrom(Integer.class)) return (Integer)value.asInt(); if(clazz.isAssignableFrom(Short.class)) return Short.valueOf(value.asString()); if(clazz.isAssignableFrom(Character.class)) return (Character)value.asString().charAt(0); if(clazz.isAssignableFrom(Float.class)) return (Float)value.asFloat(); if(clazz.isAssignableFrom(Double.class)) return (Double)value.asDouble(); if(clazz.isAssignableFrom(Long.class)) return (Long)value.asLong(); if(clazz.isAssignableFrom(Number.class)) return value.asNumber(); if(clazz.isAssignableFrom(Boolean.class)) return (Boolean)value.asBoolean(); if(clazz.isAssignableFrom(byte[].class)) return value.asByteArray(); if(clazz.isAssignableFrom(LocalDate.class)) return value.asLocalDate(); if(clazz.isAssignableFrom(LocalTime.class)) return value.asLocalTime(); if(clazz.isAssignableFrom(LocalDateTime.class)) return value.asLocalDateTime(); if(clazz.isAssignableFrom(OffsetTime.class)) return value.asOffsetTime(); if(clazz.isAssignableFrom(IsoDuration.class)) return value.asIsoDuration(); if(clazz.isAssignableFrom(ZonedDateTime.class)) return value.asZonedDateTime(); if(clazz.isAssignableFrom(Date.class)) return LocalDateTimeOperation.toDate().convert(value.asLocalDateTime()); if(clazz.isAssignableFrom(String.class)) return formatToString(value); if(clazz.isAssignableFrom(Enum.class)) return MethodOperation.invoked(null , MethodOperation.getMethod(clazz , "valueOf" , String.class), value.asString()); throw new NotSupportConvertException(); }
public static ServerVersion extractNeo4jServerVersion( Map<String,Value> metadata ) { Value versionValue = metadata.get( "server" ); if ( versionValue == null || versionValue.isNull() ) { throw new UntrustedServerException( "Server provides no product identifier" ); } else { ServerVersion server = ServerVersion.version( versionValue.asString() ); if ( ServerVersion.NEO4J_PRODUCT.equalsIgnoreCase( server.product() ) ) { return server; } else { throw new UntrustedServerException( "Server does not identify as a genuine Neo4j instance: '" + server.product() + "'" ); } } }
public static final Object formatJavaBean(Class<?> returnType, SqlMethod sqlMethod, Value val) { List<Method> setMethods = sqlMethod.getSqlMethodRet().getSetMethods(returnType); if(val.isNull()) return null; Entity entity = val.asEntity(); if(entity.size() == 0) return null; Object tmp = ConstructorOperation.newInstance(returnType); for(Method setMethod : setMethods) { String key = setMethod.getName(); key = StringOperation.replaceFirst(key , "set" , ""); key = key.substring(0 , 1).toLowerCase() + key.substring(1); key = sqlMethod.getSqlMethodRet().getRealName(key , returnType); Object value = formatValue(setMethod.getParameterTypes()[0] , entity.get(key)); if(value != null) MethodOperation.invoked(tmp , setMethod , value); } return tmp; }
if ( value.isNull() )