From 3cf5974461d7bd9be349f1b08e0625b06cce03ed Mon Sep 17 00:00:00 2001 From: Edgardo Vega <1819243+vegaed@users.noreply.github.com> Date: Fri, 11 Jan 2019 08:59:51 -0500 Subject: [PATCH] THOR-903 now have to folders one for the core server and one for the es adapter and working gradle files --- .vscode/launch.json | 16 +- build.gradle | 32 +--- esadapter/.vscode/settings.json | 3 + esadapter/build.gradle | 36 ++++ esadapter/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + esadapter/gradlew | 172 ++++++++++++++++++ esadapter/gradlew.bat | 84 +++++++++ .../adapter/es/ElasticSearchAdapter.java | 45 +++++ .../es/ElasticSearchAdapterFactory.java | 27 +++ gradle/wrapper/gradle-wrapper.jar | Bin 54711 -> 56177 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 6 +- LICENSE => server/LICENSE | 0 README.md => server/README.md | 0 server/build.gradle | 44 +++++ server/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54711 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + server/gradlew | 172 ++++++++++++++++++ server/gradlew.bat | 84 +++++++++ lombok.config => server/lombok.config | 0 server/settings.gradle | 1 + .../neon/server/NeonServerApplication.java | 0 .../com/ncc/neon/server/config/WebConfig.java | 0 .../server/controllers/FilterController.java | 0 .../server/controllers/QueryController.java | 0 .../models/connection/ConnectionInfo.java | 0 .../ncc/neon/server/models/query/Query.java | 0 .../server/models/query/QueryOptions.java | 0 .../models/query/clauses/AggregateClause.java | 0 .../models/query/clauses/AndWhereClause.java | 0 .../query/clauses/BooleanWhereClause.java | 0 .../models/query/clauses/FieldFunction.java | 0 .../models/query/clauses/GroupByClause.java | 0 .../query/clauses/GroupByFieldClause.java | 0 .../query/clauses/GroupByFunctionClause.java | 0 .../models/query/clauses/LimitClause.java | 0 .../models/query/clauses/OffsetClause.java | 0 .../models/query/clauses/OrWhereClause.java | 0 .../models/query/clauses/SelectClause.java | 0 .../query/clauses/SingularWhereClause.java | 0 .../models/query/clauses/SortClause.java | 0 .../models/query/clauses/SortOrder.java | 0 .../query/clauses/SortOrderDeserializer.java | 0 .../models/query/clauses/WhereClause.java | 0 .../query/clauses/WithinDistanceClause.java | 0 .../server/models/query/filter/Filter.java | 0 .../models/query/filter/FilterEvent.java | 0 .../server/models/query/filter/FilterKey.java | 0 .../models/query/result/FieldTypePair.java | 0 .../models/query/result/QueryResult.java | 0 .../query/result/TabularQueryResult.java | 0 .../server/services/QueryAdapterLocator.java | 1 + .../neon/server/services/QueryService.java | 0 .../services/adapters/QueryAdapter.java | 0 .../adapters/QueryAdapterFactory.java | 0 .../adapters/dummy/DummyQueryAdapter.java | 0 .../dummy/DummyQueryAdapterFactory.java | 2 +- .../ncc/neon/server/stores/FilterState.java | 0 .../resources/Neon.postman_collection.json | 0 .../main/resources/application.properties | 0 .../src}/main/resources/json/queryPost.json | 0 .../main/resources/json/serializedQuery.json | 0 .../server/NeonServerApplicationTests.java | 0 .../controllers/QueryControllerTests.java | 6 +- .../server/models/query/QueryJsonTest.java | 0 settings.gradle | 11 ++ 67 files changed, 713 insertions(+), 41 deletions(-) create mode 100644 esadapter/.vscode/settings.json create mode 100644 esadapter/build.gradle create mode 100644 esadapter/gradle/wrapper/gradle-wrapper.jar create mode 100644 esadapter/gradle/wrapper/gradle-wrapper.properties create mode 100755 esadapter/gradlew create mode 100644 esadapter/gradlew.bat create mode 100644 esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapter.java create mode 100644 esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapterFactory.java rename LICENSE => server/LICENSE (100%) rename README.md => server/README.md (100%) create mode 100644 server/build.gradle create mode 100644 server/gradle/wrapper/gradle-wrapper.jar create mode 100644 server/gradle/wrapper/gradle-wrapper.properties create mode 100755 server/gradlew create mode 100644 server/gradlew.bat rename lombok.config => server/lombok.config (100%) create mode 100644 server/settings.gradle rename {src => server/src}/main/java/com/ncc/neon/server/NeonServerApplication.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/config/WebConfig.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/controllers/FilterController.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/controllers/QueryController.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/connection/ConnectionInfo.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/Query.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/QueryOptions.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/AggregateClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/AndWhereClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/BooleanWhereClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/FieldFunction.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/GroupByClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/GroupByFieldClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/GroupByFunctionClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/LimitClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/OffsetClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/OrWhereClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/SelectClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/SingularWhereClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/SortClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/SortOrder.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/SortOrderDeserializer.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/WhereClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/clauses/WithinDistanceClause.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/filter/Filter.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/filter/FilterEvent.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/filter/FilterKey.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/result/FieldTypePair.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/result/QueryResult.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/models/query/result/TabularQueryResult.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java (96%) rename {src => server/src}/main/java/com/ncc/neon/server/services/QueryService.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/services/adapters/QueryAdapter.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/services/adapters/QueryAdapterFactory.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapter.java (100%) rename {src => server/src}/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java (94%) rename {src => server/src}/main/java/com/ncc/neon/server/stores/FilterState.java (100%) rename {src => server/src}/main/resources/Neon.postman_collection.json (100%) rename {src => server/src}/main/resources/application.properties (100%) rename {src => server/src}/main/resources/json/queryPost.json (100%) rename {src => server/src}/main/resources/json/serializedQuery.json (100%) rename {src => server/src}/test/java/com/ncc/neon/server/NeonServerApplicationTests.java (100%) rename {src => server/src}/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java (95%) rename {src => server/src}/test/java/com/ncc/neon/server/models/query/QueryJsonTest.java (100%) diff --git a/.vscode/launch.json b/.vscode/launch.json index fff5c1e..521ba27 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,12 +2,22 @@ "configurations": [ { "type": "java", - "name": "Spring Boot-NeonServerApplication", + "name": "Spring Boot-EsNeonServerApplication", "request": "launch", - "cwd": "${workspaceFolder}", + "cwd": "${workspaceFolder}/esadapter", "console": "internalConsole", "mainClass": "com.ncc.neon.server.NeonServerApplication", - "projectName": "neon-server", + "projectName": "esadapter", + "args": "" + }, + { + "type": "java", + "name": "Spring Boot-NeonServerApplication", + "request": "launch", + "cwd": "${workspaceFolder}/server", + "console": "internalConsole", + "mainClass": "com.ncc.neon.server.NeonServerApplication", + "projectName": "server", "args": "" } ] diff --git a/build.gradle b/build.gradle index 0f7f61d..9fa597a 100644 --- a/build.gradle +++ b/build.gradle @@ -10,34 +10,6 @@ buildscript { } } -apply plugin: 'java' -apply plugin: 'eclipse' -apply plugin: 'org.springframework.boot' -apply plugin: 'io.spring.dependency-management' - -// https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html -// Because Spring WebFlux does not strictly depend on the Servlet API and applications are deployed by default on an embedded Reactor Netty server, War deployment is not supported for WebFlux applications. -// WHAT? https://stackoverflow.com/questions/52881199/spring-boot-deploying-a-war -group = 'com.ncc.neon' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = 1.9 - -repositories { - mavenCentral() -} - -/* -If we want to use log4j2 vs logback -configurations.all { - exclude group:'org.springframework.boot', module: 'spring-boot-starter-logging' -} -*/ -dependencies { - implementation('org.springframework.boot:spring-boot-starter-actuator') - implementation('org.springframework.boot:spring-boot-starter-webflux') - //compile('org.springframework.boot:spring-boot-starter-log4j2') - runtimeOnly('org.springframework.boot:spring-boot-devtools') - compileOnly('org.projectlombok:lombok') - testImplementation('org.springframework.boot:spring-boot-starter-test') - testImplementation('io.projectreactor:reactor-test') +subprojects { + version = '0.0.1-SNAPSHOT' } diff --git a/esadapter/.vscode/settings.json b/esadapter/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/esadapter/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/esadapter/build.gradle b/esadapter/build.gradle new file mode 100644 index 0000000..7cb392f --- /dev/null +++ b/esadapter/build.gradle @@ -0,0 +1,36 @@ + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.spring.dependency-management' + + +group = 'com.ncc.neon' +//version = '0.0.1-SNAPSHOT' +sourceCompatibility = 1.9 + +repositories { + mavenCentral() +} + + +springBoot { + mainClassName = 'com.ncc.neon.server.NeonServerApplication' +} + +//Build traditional jar which is what we want as the library +jar { + enabled = true +} + +bootJar { + enabled=false + classifier = 'boot' +} + +dependencies { + compile project(':server') + //TODO: figure this out. How do you take the version from the server project and keep them in sync + compileOnly 'io.projectreactor:reactor-core:3.2.4.RELEASE' + compileOnly('org.springframework.boot:spring-boot-starter:2.1.1.RELEASE') + testCompile('org.springframework.boot:spring-boot-starter-test:2.1.1.RELEASE') +} diff --git a/esadapter/gradle/wrapper/gradle-wrapper.jar b/esadapter/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..29953ea141f55e3b8fc691d31b5ca8816d89fa87 GIT binary patch literal 56177 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 i;x|p)^~-yfPOPa3(|vBayXKz \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/esadapter/gradlew.bat b/esadapter/gradlew.bat new file mode 100644 index 0000000..e95643d --- /dev/null +++ b/esadapter/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapter.java b/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapter.java new file mode 100644 index 0000000..7d8df7c --- /dev/null +++ b/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapter.java @@ -0,0 +1,45 @@ +package com.ncc.neon.server.services.adapter.es; + +import com.ncc.neon.server.models.query.Query; +import com.ncc.neon.server.models.query.QueryOptions; +import com.ncc.neon.server.models.query.result.FieldTypePair; +import com.ncc.neon.server.models.query.result.TabularQueryResult; +import com.ncc.neon.server.services.adapters.QueryAdapter; + +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** + * ElasticSearchAdapter + */ +public class ElasticSearchAdapter implements QueryAdapter { + + public ElasticSearchAdapter() { + } + + @Override + public Mono execute(Query query, QueryOptions options) { + return null; + } + + @Override + public Flux showDatabases() { + return Flux.just("data"); + } + + @Override + public Flux showTables(String dbName) { + return null; + } + + @Override + public Flux getFieldNames(String databaseName, String tableName) { + return null; + } + + @Override + public Flux getFieldTypes(String databaseName, String tableName) { + return null; + } + +} \ No newline at end of file diff --git a/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapterFactory.java b/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapterFactory.java new file mode 100644 index 0000000..d3bbf27 --- /dev/null +++ b/esadapter/src/main/java/com/ncc/neon/server/services/adapter/es/ElasticSearchAdapterFactory.java @@ -0,0 +1,27 @@ +package com.ncc.neon.server.services.adapter.es; + +import com.ncc.neon.server.models.connection.ConnectionInfo; +import com.ncc.neon.server.services.adapters.QueryAdapter; +import com.ncc.neon.server.services.adapters.QueryAdapterFactory; + +import org.springframework.stereotype.Component; + +//import org.springframework.stereotype.Component; + +/** + * ElasticSearchAdapterFactory + */ +@Component +public class ElasticSearchAdapterFactory implements QueryAdapterFactory { + + @Override + public String getName() { + return "elasticsearchrest1"; + } + + @Override + public QueryAdapter initialize(ConnectionInfo cInfo) { + return new ElasticSearchAdapter(); + } + +} \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1ce6e58f1ce8ae3a3be37719a2180b5567cea91d..29953ea141f55e3b8fc691d31b5ca8816d89fa87 100644 GIT binary patch delta 50150 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 \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/server/gradlew.bat b/server/gradlew.bat new file mode 100644 index 0000000..e95643d --- /dev/null +++ b/server/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lombok.config b/server/lombok.config similarity index 100% rename from lombok.config rename to server/lombok.config diff --git a/server/settings.gradle b/server/settings.gradle new file mode 100644 index 0000000..b45c903 --- /dev/null +++ b/server/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'neon-serversub' diff --git a/src/main/java/com/ncc/neon/server/NeonServerApplication.java b/server/src/main/java/com/ncc/neon/server/NeonServerApplication.java similarity index 100% rename from src/main/java/com/ncc/neon/server/NeonServerApplication.java rename to server/src/main/java/com/ncc/neon/server/NeonServerApplication.java diff --git a/src/main/java/com/ncc/neon/server/config/WebConfig.java b/server/src/main/java/com/ncc/neon/server/config/WebConfig.java similarity index 100% rename from src/main/java/com/ncc/neon/server/config/WebConfig.java rename to server/src/main/java/com/ncc/neon/server/config/WebConfig.java diff --git a/src/main/java/com/ncc/neon/server/controllers/FilterController.java b/server/src/main/java/com/ncc/neon/server/controllers/FilterController.java similarity index 100% rename from src/main/java/com/ncc/neon/server/controllers/FilterController.java rename to server/src/main/java/com/ncc/neon/server/controllers/FilterController.java diff --git a/src/main/java/com/ncc/neon/server/controllers/QueryController.java b/server/src/main/java/com/ncc/neon/server/controllers/QueryController.java similarity index 100% rename from src/main/java/com/ncc/neon/server/controllers/QueryController.java rename to server/src/main/java/com/ncc/neon/server/controllers/QueryController.java diff --git a/src/main/java/com/ncc/neon/server/models/connection/ConnectionInfo.java b/server/src/main/java/com/ncc/neon/server/models/connection/ConnectionInfo.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/connection/ConnectionInfo.java rename to server/src/main/java/com/ncc/neon/server/models/connection/ConnectionInfo.java diff --git a/src/main/java/com/ncc/neon/server/models/query/Query.java b/server/src/main/java/com/ncc/neon/server/models/query/Query.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/Query.java rename to server/src/main/java/com/ncc/neon/server/models/query/Query.java diff --git a/src/main/java/com/ncc/neon/server/models/query/QueryOptions.java b/server/src/main/java/com/ncc/neon/server/models/query/QueryOptions.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/QueryOptions.java rename to server/src/main/java/com/ncc/neon/server/models/query/QueryOptions.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/AggregateClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/AggregateClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/AggregateClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/AggregateClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/AndWhereClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/AndWhereClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/AndWhereClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/AndWhereClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/BooleanWhereClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/BooleanWhereClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/BooleanWhereClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/BooleanWhereClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/FieldFunction.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/FieldFunction.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/FieldFunction.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/FieldFunction.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/GroupByClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFieldClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFieldClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFieldClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFieldClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFunctionClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFunctionClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFunctionClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/GroupByFunctionClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/LimitClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/LimitClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/LimitClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/LimitClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/OffsetClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/OffsetClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/OffsetClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/OffsetClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/OrWhereClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/OrWhereClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/OrWhereClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/OrWhereClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/SelectClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/SelectClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/SelectClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/SelectClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/SingularWhereClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/SingularWhereClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/SingularWhereClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/SingularWhereClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/SortClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/SortClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/SortClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/SortClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrder.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrder.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/SortOrder.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrder.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrderDeserializer.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrderDeserializer.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/SortOrderDeserializer.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/SortOrderDeserializer.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/WhereClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/WhereClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/WhereClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/WhereClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/clauses/WithinDistanceClause.java b/server/src/main/java/com/ncc/neon/server/models/query/clauses/WithinDistanceClause.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/clauses/WithinDistanceClause.java rename to server/src/main/java/com/ncc/neon/server/models/query/clauses/WithinDistanceClause.java diff --git a/src/main/java/com/ncc/neon/server/models/query/filter/Filter.java b/server/src/main/java/com/ncc/neon/server/models/query/filter/Filter.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/filter/Filter.java rename to server/src/main/java/com/ncc/neon/server/models/query/filter/Filter.java diff --git a/src/main/java/com/ncc/neon/server/models/query/filter/FilterEvent.java b/server/src/main/java/com/ncc/neon/server/models/query/filter/FilterEvent.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/filter/FilterEvent.java rename to server/src/main/java/com/ncc/neon/server/models/query/filter/FilterEvent.java diff --git a/src/main/java/com/ncc/neon/server/models/query/filter/FilterKey.java b/server/src/main/java/com/ncc/neon/server/models/query/filter/FilterKey.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/filter/FilterKey.java rename to server/src/main/java/com/ncc/neon/server/models/query/filter/FilterKey.java diff --git a/src/main/java/com/ncc/neon/server/models/query/result/FieldTypePair.java b/server/src/main/java/com/ncc/neon/server/models/query/result/FieldTypePair.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/result/FieldTypePair.java rename to server/src/main/java/com/ncc/neon/server/models/query/result/FieldTypePair.java diff --git a/src/main/java/com/ncc/neon/server/models/query/result/QueryResult.java b/server/src/main/java/com/ncc/neon/server/models/query/result/QueryResult.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/result/QueryResult.java rename to server/src/main/java/com/ncc/neon/server/models/query/result/QueryResult.java diff --git a/src/main/java/com/ncc/neon/server/models/query/result/TabularQueryResult.java b/server/src/main/java/com/ncc/neon/server/models/query/result/TabularQueryResult.java similarity index 100% rename from src/main/java/com/ncc/neon/server/models/query/result/TabularQueryResult.java rename to server/src/main/java/com/ncc/neon/server/models/query/result/TabularQueryResult.java diff --git a/src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java b/server/src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java similarity index 96% rename from src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java rename to server/src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java index 896650e..973144f 100644 --- a/src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java +++ b/server/src/main/java/com/ncc/neon/server/services/QueryAdapterLocator.java @@ -29,6 +29,7 @@ public class QueryAdapterLocator { } for (QueryAdapterFactory queryAdapterFactory : queryAdapterFactories) { + log.error(queryAdapterFactory.getName()); initialContext.put(queryAdapterFactory.getName(), queryAdapterFactory); } } diff --git a/src/main/java/com/ncc/neon/server/services/QueryService.java b/server/src/main/java/com/ncc/neon/server/services/QueryService.java similarity index 100% rename from src/main/java/com/ncc/neon/server/services/QueryService.java rename to server/src/main/java/com/ncc/neon/server/services/QueryService.java diff --git a/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapter.java b/server/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapter.java similarity index 100% rename from src/main/java/com/ncc/neon/server/services/adapters/QueryAdapter.java rename to server/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapter.java diff --git a/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapterFactory.java b/server/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapterFactory.java similarity index 100% rename from src/main/java/com/ncc/neon/server/services/adapters/QueryAdapterFactory.java rename to server/src/main/java/com/ncc/neon/server/services/adapters/QueryAdapterFactory.java diff --git a/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapter.java b/server/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapter.java similarity index 100% rename from src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapter.java rename to server/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapter.java diff --git a/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java b/server/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java similarity index 94% rename from src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java rename to server/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java index a8a7f6d..a0b170b 100644 --- a/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java +++ b/server/src/main/java/com/ncc/neon/server/services/adapters/dummy/DummyQueryAdapterFactory.java @@ -14,7 +14,7 @@ public class DummyQueryAdapterFactory implements QueryAdapterFactory { @Override public String getName() { - return "elasticsearchrest"; + return "dummy"; } @Override diff --git a/src/main/java/com/ncc/neon/server/stores/FilterState.java b/server/src/main/java/com/ncc/neon/server/stores/FilterState.java similarity index 100% rename from src/main/java/com/ncc/neon/server/stores/FilterState.java rename to server/src/main/java/com/ncc/neon/server/stores/FilterState.java diff --git a/src/main/resources/Neon.postman_collection.json b/server/src/main/resources/Neon.postman_collection.json similarity index 100% rename from src/main/resources/Neon.postman_collection.json rename to server/src/main/resources/Neon.postman_collection.json diff --git a/src/main/resources/application.properties b/server/src/main/resources/application.properties similarity index 100% rename from src/main/resources/application.properties rename to server/src/main/resources/application.properties diff --git a/src/main/resources/json/queryPost.json b/server/src/main/resources/json/queryPost.json similarity index 100% rename from src/main/resources/json/queryPost.json rename to server/src/main/resources/json/queryPost.json diff --git a/src/main/resources/json/serializedQuery.json b/server/src/main/resources/json/serializedQuery.json similarity index 100% rename from src/main/resources/json/serializedQuery.json rename to server/src/main/resources/json/serializedQuery.json diff --git a/src/test/java/com/ncc/neon/server/NeonServerApplicationTests.java b/server/src/test/java/com/ncc/neon/server/NeonServerApplicationTests.java similarity index 100% rename from src/test/java/com/ncc/neon/server/NeonServerApplicationTests.java rename to server/src/test/java/com/ncc/neon/server/NeonServerApplicationTests.java diff --git a/src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java b/server/src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java similarity index 95% rename from src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java rename to server/src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java index cfb70f3..87c40c0 100644 --- a/src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java +++ b/server/src/test/java/com/ncc/neon/server/controllers/QueryControllerTests.java @@ -42,7 +42,7 @@ public class QueryControllerTests { public void getTablesAndFieldsTest() { this.webClient.get() - .uri("/queryservice/tablesandfields/localhost/elasticsearchrest/ldc_uyg_jul_18") + .uri("/queryservice/tablesandfields/localhost/dummy/ldc_uyg_jul_18") .accept(MediaType.APPLICATION_JSON_UTF8) .exchange() .expectStatus() @@ -63,7 +63,7 @@ public void getTablesAndFieldsTest() { public void getDatabaseNamesTest() { this.webClient.get() - .uri("/queryservice/databasenames/localhost/elasticsearchrest") + .uri("/queryservice/databasenames/localhost/dummy") .accept(MediaType.APPLICATION_JSON_UTF8) .exchange() .expectStatus() @@ -98,7 +98,7 @@ public void executeQueryTest() { sortClauses, limitClause, offsetClause); this.webClient.post() - .uri("/queryservice/query/localhost/elasticsearchrest") + .uri("/queryservice/query/localhost/dummy") .accept(MediaType.APPLICATION_JSON_UTF8) .contentType(MediaType.APPLICATION_JSON_UTF8) .body(Mono.just(query), Query.class) diff --git a/src/test/java/com/ncc/neon/server/models/query/QueryJsonTest.java b/server/src/test/java/com/ncc/neon/server/models/query/QueryJsonTest.java similarity index 100% rename from src/test/java/com/ncc/neon/server/models/query/QueryJsonTest.java rename to server/src/test/java/com/ncc/neon/server/models/query/QueryJsonTest.java diff --git a/settings.gradle b/settings.gradle index 2f72bd8..eff14f1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,12 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/4.10.2/userguide/multi_project_builds.html + */ + rootProject.name = 'neon-server' +include 'server' +include 'esadapter'