Neo4jDriver implements java.sql.Driver { protected Properties parseUrlProperties(String url, Properties params) { Properties properties = new Properties(); if(params != null) { for (Map.Entry<Object, Object> entry : params.entrySet()) { properties.put(entry.getKey().toString().toLowerCase(),entry.getValue()); } } if (url.contains("?")) { String urlProps = url.substring(url.indexOf('?') + 1); urlProps = decodeUrlComponent(urlProps); String[] props = urlProps.split("[,&]"); for (String prop : props) { int idx = prop.indexOf('='); if (idx != -1) { String key = prop.substring(0, idx); String value = prop.substring(idx + 1); properties.put(key.toLowerCase(), value); } else { properties.put(prop.toLowerCase(), "true"); } } properties.put("user", getUser(properties)); } return properties; } protected  Neo4jDriver(String prefix); @Override DriverPropertyInfo[] getPropertyInfo(String url, Properties info); @Override int getMajorVersion(); @Override int getMinorVersion(); @Override boolean jdbcCompliant(); @Override Logger getParentLogger(); @Override boolean acceptsURL(String url);  }
@Test public void parseUrlProperties() throws Exception { Properties props = new Properties(); assertEquals(props, neo4jDriver.parseUrlProperties("jdbc:neo4j:http: props.setProperty("user","neo4j"); assertEquals(props, neo4jDriver.parseUrlProperties("jdbc:neo4j:http: props.setProperty("password","a test/paßword"); assertEquals(props, neo4jDriver.parseUrlProperties("jdbc:neo4j:http: assertEquals(props, neo4jDriver.parseUrlProperties("jdbc:neo4j:http: }