diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..5c98b42
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,2 @@
+# Default ignored files
+/workspace.xml
\ No newline at end of file
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
new file mode 100644
index 0000000..386e077
Binary files /dev/null and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..fd8bfea
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..15a15b2
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644
index 0000000..5918b36
--- /dev/null
+++ b/.idea/gradle.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..b8d198b
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_1_2.xml b/.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_1_2.xml
new file mode 100644
index 0000000..47a8dd3
--- /dev/null
+++ b/.idea/libraries/Gradle__ch_qos_logback_logback_classic_1_1_2.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__ch_qos_logback_logback_core_1_1_2.xml b/.idea/libraries/Gradle__ch_qos_logback_logback_core_1_1_2.xml
new file mode 100644
index 0000000..4637511
--- /dev/null
+++ b/.idea/libraries/Gradle__ch_qos_logback_logback_core_1_1_2.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__com_google_guava_guava_jdk5_13_0.xml b/.idea/libraries/Gradle__com_google_guava_guava_jdk5_13_0.xml
new file mode 100644
index 0000000..54ed937
--- /dev/null
+++ b/.idea/libraries/Gradle__com_google_guava_guava_jdk5_13_0.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_4_12.xml b/.idea/libraries/Gradle__junit_junit_4_12.xml
new file mode 100644
index 0000000..7104f8c
--- /dev/null
+++ b/.idea/libraries/Gradle__junit_junit_4_12.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__junit_junit_dep_4_10.xml b/.idea/libraries/Gradle__junit_junit_dep_4_10.xml
new file mode 100644
index 0000000..c2d6895
--- /dev/null
+++ b/.idea/libraries/Gradle__junit_junit_dep_4_10.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_codehaus_groovy_groovy_all_2_4_0.xml b/.idea/libraries/Gradle__org_codehaus_groovy_groovy_all_2_4_0.xml
new file mode 100644
index 0000000..fd17d6a
--- /dev/null
+++ b/.idea/libraries/Gradle__org_codehaus_groovy_groovy_all_2_4_0.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
new file mode 100644
index 0000000..3d1348e
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
new file mode 100644
index 0000000..b3ed2ba
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
new file mode 100644
index 0000000..bee5237
--- /dev/null
+++ b/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_8.xml b/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_8.xml
new file mode 100644
index 0000000..3911a20
--- /dev/null
+++ b/.idea/libraries/Gradle__org_mockito_mockito_core_1_10_8.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_objenesis_objenesis_2_1.xml b/.idea/libraries/Gradle__org_objenesis_objenesis_2_1.xml
new file mode 100644
index 0000000..e6b52ad
--- /dev/null
+++ b/.idea/libraries/Gradle__org_objenesis_objenesis_2_1.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_6.xml b/.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_6.xml
new file mode 100644
index 0000000..b4476b3
--- /dev/null
+++ b/.idea/libraries/Gradle__org_slf4j_slf4j_api_1_7_6.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Gradle__org_spockframework_spock_core_0_7_groovy_2_0.xml b/.idea/libraries/Gradle__org_spockframework_spock_core_0_7_groovy_2_0.xml
new file mode 100644
index 0000000..50e61a0
--- /dev/null
+++ b/.idea/libraries/Gradle__org_spockframework_spock_core_0_7_groovy_2_0.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..84da703
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..2ab88d3
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/hsm-java.hsm.iml b/.idea/modules/hsm/hsm-java.hsm.iml
new file mode 100644
index 0000000..c4ebe8f
--- /dev/null
+++ b/.idea/modules/hsm/hsm-java.hsm.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/hsm-java.hsm.main.iml b/.idea/modules/hsm/hsm-java.hsm.main.iml
new file mode 100644
index 0000000..4f4ccf3
--- /dev/null
+++ b/.idea/modules/hsm/hsm-java.hsm.main.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/hsm-java.hsm.test.iml b/.idea/modules/hsm/hsm-java.hsm.test.iml
new file mode 100644
index 0000000..c328677
--- /dev/null
+++ b/.idea/modules/hsm/hsm-java.hsm.test.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/module_hsm-java.hsm.main.xml b/.idea/modules/hsm/module_hsm-java.hsm.main.xml
new file mode 100644
index 0000000..8555b58
--- /dev/null
+++ b/.idea/modules/hsm/module_hsm-java.hsm.main.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/module_hsm-java.hsm.test.xml b/.idea/modules/hsm/module_hsm-java.hsm.test.xml
new file mode 100644
index 0000000..f0b08d8
--- /dev/null
+++ b/.idea/modules/hsm/module_hsm-java.hsm.test.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/hsm/module_hsm-java.hsm.xml b/.idea/modules/hsm/module_hsm-java.hsm.xml
new file mode 100644
index 0000000..a912190
--- /dev/null
+++ b/.idea/modules/hsm/module_hsm-java.hsm.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/hsm-java.tests.iml b/.idea/modules/tests/hsm-java.tests.iml
new file mode 100644
index 0000000..d84bb46
--- /dev/null
+++ b/.idea/modules/tests/hsm-java.tests.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/hsm-java.tests.main.iml b/.idea/modules/tests/hsm-java.tests.main.iml
new file mode 100644
index 0000000..7a8685d
--- /dev/null
+++ b/.idea/modules/tests/hsm-java.tests.main.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/hsm-java.tests.test.iml b/.idea/modules/tests/hsm-java.tests.test.iml
new file mode 100644
index 0000000..caaed06
--- /dev/null
+++ b/.idea/modules/tests/hsm-java.tests.test.iml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/module_hsm-java.tests.main.xml b/.idea/modules/tests/module_hsm-java.tests.main.xml
new file mode 100644
index 0000000..16fd6c2
--- /dev/null
+++ b/.idea/modules/tests/module_hsm-java.tests.main.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/module_hsm-java.tests.test.xml b/.idea/modules/tests/module_hsm-java.tests.test.xml
new file mode 100644
index 0000000..1448da1
--- /dev/null
+++ b/.idea/modules/tests/module_hsm-java.tests.test.xml
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules/tests/module_hsm-java.tests.xml b/.idea/modules/tests/module_hsm-java.tests.xml
new file mode 100644
index 0000000..e399753
--- /dev/null
+++ b/.idea/modules/tests/module_hsm-java.tests.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index ce22f1e..f173ca8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,9 @@ task wrapper(type: Wrapper) {
allprojects {
repositories {
- mavenCentral()
+ jcenter()
+ google()
+ mavenLocal()
}
}
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 667288a..758de96 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index bb8c6ae..2d80b69 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,5 @@
-#Mon Feb 23 09:41:19 CET 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
diff --git a/gradlew b/gradlew
index 91a7e26..cccdd3d 100755
--- a/gradlew
+++ b/gradlew
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
##############################################################################
##
@@ -6,20 +6,38 @@
##
##############################################################################
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ 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 ( ) {
+warn () {
echo "$*"
}
-die ( ) {
+die () {
echo
echo "$*"
echo
@@ -30,6 +48,7 @@ die ( ) {
cygwin=false
msys=false
darwin=false
+nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
@@ -40,31 +59,11 @@ case "`uname`" in
MINGW* )
msys=true
;;
+ NONSTOP* )
+ nonstop=true
+ ;;
esac
-# For Cygwin, ensure paths are in UNIX format before anything is touched.
-if $cygwin ; then
- [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-fi
-
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >&-
-APP_HOME="`pwd -P`"
-cd "$SAVED" >&-
-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
@@ -90,7 +89,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+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
@@ -114,6 +113,7 @@ fi
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`
@@ -154,11 +154,19 @@ if $cygwin ; then
esac
fi
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+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" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index aec9973..e95643d 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -8,14 +8,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
-@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=
-
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
@@ -46,10 +46,9 @@ echo location of your Java installation.
goto fail
:init
-@rem Get command-line arguments, handling Windowz variants
+@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
@@ -60,11 +59,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line
diff --git a/hsm-java.iml b/hsm-java.iml
new file mode 100644
index 0000000..4da3820
--- /dev/null
+++ b/hsm-java.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hsm/build.gradle b/hsm/build.gradle
index 82918bd..647a6b7 100644
--- a/hsm/build.gradle
+++ b/hsm/build.gradle
@@ -30,7 +30,7 @@ publishing {
}
dependencies {
- compile 'org.slf4j:slf4j-api:1.7.3'
+// compile 'org.slf4j:slf4j-api:1.7.3'
/* compile 'com.google.guava:guava:17.0' */
compile 'com.google.guava:guava-jdk5:13.0'
}
diff --git a/hsm/src/main/java/de/artcom/hsm/ILogger.java b/hsm/src/main/java/de/artcom/hsm/ILogger.java
new file mode 100644
index 0000000..90935ba
--- /dev/null
+++ b/hsm/src/main/java/de/artcom/hsm/ILogger.java
@@ -0,0 +1,5 @@
+package de.artcom.hsm;
+
+public interface ILogger {
+ void debug(String message);
+}
diff --git a/hsm/src/main/java/de/artcom/hsm/State.java b/hsm/src/main/java/de/artcom/hsm/State.java
index 25cb78e..6e1dbf8 100644
--- a/hsm/src/main/java/de/artcom/hsm/State.java
+++ b/hsm/src/main/java/de/artcom/hsm/State.java
@@ -1,19 +1,24 @@
package de.artcom.hsm;
-import com.google.common.collect.LinkedListMultimap;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.google.common.collect.LinkedListMultimap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public class State> {
- final static Logger LOGGER = LoggerFactory.getLogger(State.class);
+ ILogger LOGGER = new ILogger() {
+ @Override
+ public void debug(String message) {
+ Logger.getAnonymousLogger().log(Level.INFO,message);
+ }
+ };
private final String mId;
private Action mOnEnterAction;
@@ -29,7 +34,10 @@ public State(String id) {
mHandlers = LinkedListMultimap.create();
mId = id;
}
-
+ public void setLogger(ILogger log)
+ {
+ LOGGER = log;
+ }
public T onEnter(Action onEnterAction) {
mOnEnterAction = onEnterAction;
return getThis();
diff --git a/hsm/src/main/java/de/artcom/hsm/StateMachine.java b/hsm/src/main/java/de/artcom/hsm/StateMachine.java
index 4f13b3a..770d2d5 100644
--- a/hsm/src/main/java/de/artcom/hsm/StateMachine.java
+++ b/hsm/src/main/java/de/artcom/hsm/StateMachine.java
@@ -1,8 +1,8 @@
package de.artcom.hsm;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+
+import java.io.Console;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@@ -12,10 +12,17 @@
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.logging.Level;
+import java.util.logging.Logger;
public class StateMachine implements EventHandler {
- final static Logger LOGGER = LoggerFactory.getLogger(StateMachine.class);
+ ILogger LOGGER = new ILogger() {
+ @Override
+ public void debug(String message) {
+ Logger.getAnonymousLogger().log(Level.INFO,message);
+ }
+ };
private final List mStateList = new ArrayList();
private final List mDescendantStateList = new ArrayList();
@@ -26,7 +33,7 @@ public class StateMachine implements EventHandler {
private boolean mEventQueueInProgress = false;
private final List mPath = new ArrayList();
private State mContainer;
-
+ private ILogger logger;
public StateMachine(String name, State initialState, State... states) {
this(initialState, states);
mName = name;
@@ -42,6 +49,10 @@ public StateMachine(State initialState, State... states) {
mName = "";
}
+ public void setLogger(ILogger log)
+ {
+ LOGGER = log;
+ }
void setContainer(State container) {
mContainer = container;
}
diff --git a/tests/build.gradle b/tests/build.gradle
index a0f22e7..84e5cc7 100644
--- a/tests/build.gradle
+++ b/tests/build.gradle
@@ -29,4 +29,5 @@ dependencies {
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.8'
+
}
diff --git a/tests/src/test/java/de/artcom/hsm/test/CustomLogStateMachineTest.java b/tests/src/test/java/de/artcom/hsm/test/CustomLogStateMachineTest.java
new file mode 100644
index 0000000..389df14
--- /dev/null
+++ b/tests/src/test/java/de/artcom/hsm/test/CustomLogStateMachineTest.java
@@ -0,0 +1,44 @@
+package de.artcom.hsm.test;
+
+import de.artcom.hsm.*;
+import de.artcom.hsm.test.helper.Logger;
+import groovy.util.logging.Log;
+import org.junit.Assert;
+import org.junit.Test;
+import org.mockito.InOrder;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.*;
+import static org.mockito.Mockito.*;
+
+public class CustomLogStateMachineTest {
+
+
+
+ @Test
+ public void getAllActiveStates() {
+ // given:
+ ILogger log = new Logger();
+ State a11 = new State("a11");
+ State a22 = new State("a22");
+ State a33 = new State("a33");
+ Parallel a1 = new Parallel("a1", new StateMachine(a11), new StateMachine(a22, a33));
+ Sub a = new Sub("a", a1);
+ a11.setLogger(log);
+ StateMachine sm = new StateMachine(a);
+ sm.setLogger(log);
+ sm.init();
+
+ // when:
+ List allActiveStates = sm.getAllActiveStates();
+
+ // then:
+ assertThat(allActiveStates, hasItems(a, a1, a11, a22));
+ assertThat(allActiveStates, not(hasItems(a33)));
+ }
+
+}
diff --git a/tests/src/test/java/de/artcom/hsm/test/helper/Logger.java b/tests/src/test/java/de/artcom/hsm/test/helper/Logger.java
new file mode 100644
index 0000000..e3ff64e
--- /dev/null
+++ b/tests/src/test/java/de/artcom/hsm/test/helper/Logger.java
@@ -0,0 +1,14 @@
+package de.artcom.hsm.test.helper;
+
+import de.artcom.hsm.ILogger;
+
+import java.util.logging.Level;
+
+public class Logger implements ILogger {
+
+
+ @Override
+ public void debug(String message) {
+ java.util.logging.Logger.getAnonymousLogger().log(Level.ALL,message);
+ }
+}