diff --git a/src/main/java/org/neo4j/community/console/Neo4jService.java b/src/main/java/org/neo4j/community/console/Neo4jService.java index 4550e9b..d6f4963 100644 --- a/src/main/java/org/neo4j/community/console/Neo4jService.java +++ b/src/main/java/org/neo4j/community/console/Neo4jService.java @@ -19,6 +19,7 @@ class Neo4jService { private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(Neo4jService.class); + public static final String VERSION_REGEXP = "(\\d+\\.\\d+(?:\\.experimental|-cost|-rule)?)"; private GraphDatabaseService gdb; @@ -144,12 +145,16 @@ public String getVersion() { public void setVersion(String version) { if (version==null || version.trim().isEmpty()) this.version=null; else { - version = version.replaceAll("^(\\d+\\.\\d+(?:\\.experimental|-cost|-rule)?).*","$1"); - if (!version.matches("\\d+\\.\\d+(?:\\.experimental)?")) throw new IllegalArgumentException("Incorrect version string "+version); - this.version = version; + this.version = checkVersion(version); } } + public static String checkVersion(String version) { + version = version.replaceAll("^"+VERSION_REGEXP+".*","$1"); + if (!version.matches(VERSION_REGEXP)) throw new IllegalArgumentException("Incorrect version string "+version); + return version; + } + public boolean isMutatingQuery(String query) { return cypherQueryExecutor.isMutatingQuery(query); }