diff --git a/assets/lib/java/Makefile.am b/assets/lib/java/Makefile.am
index 92df9171c..5295821d3 100644
--- a/assets/lib/java/Makefile.am
+++ b/assets/lib/java/Makefile.am
@@ -15,7 +15,8 @@ dist_java_DATA = \
@JTANGO_JAR@ \
@ATK_WIDGET_JAR@ \
@DBBENCH_JAR@ \
- @JSSH_TERMINAL_JAR@
+ @JSSH_TERMINAL_JAR@ \
+ @REST_SERVER_JAR@
if TANGO_JAVA_ENABLED
bin_SCRIPTS = \
@@ -31,6 +32,7 @@ bin_SCRIPTS = \
atkmoni \
tg_devtest \
TangoVers \
+ TangoRestServer \
cvstag
edit = sed \
@@ -67,6 +69,7 @@ atkmoni: $(srcdir)/atkmoni.in
cvstag: $(srcdir)/cvstag.in
TangoVers: $(srcdir)/TangoVers.in
tg_devtest: $(srcdir)/tg_devtest.in
+TangoRestServer: $(srcdir)/TangoRestServer.in
distclean-local: distclean-local-check
.PHONY: distclean-local-check
@@ -89,7 +92,8 @@ EXTRA_DIST = \
atkmoni.in \
cvstag.in \
tg_devtest.in \
- TangoVers.in
+ TangoVers.in \
+ TangoRestServer.in
# Even though we do not want to compile anything in the
diff --git a/assets/lib/java/TangoRestServer.in b/assets/lib/java/TangoRestServer.in
new file mode 100644
index 000000000..071256018
--- /dev/null
+++ b/assets/lib/java/TangoRestServer.in
@@ -0,0 +1,13 @@
+#!@SHELL@
+if [ ! $TANGO_HOST ] && [ -f @TANGO_RC_FILE@ ]; then
+ . @TANGO_RC_FILE@
+fi
+
+JAVALIB=@prefix@/share/java
+LOG_HOME=/tmp/log/TangoRestServer
+LOG_LEVEL=ERROR
+TANGO_REST_SERVER_JAR=$JAVALIB/RestServer.jar
+
+JAVA_OPTS="-Xmx2G -server -Xshare:off -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_HOME/TangoRestServer.hprof -XX:-OmitStackTraceInFastThrow"
+
+@JAVA@ $JAVA_OPTS -Duser.dir=$LOG_HOME -DTANGO_HOST=$TANGO_HOST -DLOG_HOME=$LOG_HOME -DLOG_LEVEL=$LOG_LEVEL -jar $TANGO_REST_SERVER_JAR $* org.tango.TangoRestServer $* $@
\ No newline at end of file
diff --git a/assets/scripts/tango_wca.in b/assets/scripts/tango_wca.in
index 7aad46fda..ee027fcb7 100644
--- a/assets/scripts/tango_wca.in
+++ b/assets/scripts/tango_wca.in
@@ -37,6 +37,34 @@ checkdatabaseds() {
fi
}
+startproc() {
+ findproc $1
+ if [ "$pid" != "" ];
+ then
+ ${ECHO} "$1 Server is already running"
+ 'date' >> ${TANGO_LOG}
+ ${ECHO} "$1 Server is already running" >> ${TANGO_LOG}
+ else
+ $2 &
+
+ ${ECHO} "Starting Tango $1 Server"
+ 'date' >> ${TANGO_LOG}
+ ${ECHO} "Starting Tango $1 Server" >> ${TANGO_LOG}
+
+ # wait for a while before checking status
+ sleep 3
+ findproc $1
+ if [ "$pid" = "" ];
+ then
+ ${ECHO} "Failed to start Tango $1 server"
+ 'date' >> ${TANGO_LOG}
+ ${ECHO} "Failed to start Tango $1 server" >> ${TANGO_LOG}
+ exit 1
+ fi
+ ${ECHO} "$rc_done"
+ fi
+}
+
killproc() {
pid=`$PS -e | $GREP "$1" | $SED -e 's/^ *//' -e 's/ .*//'`
@@ -52,8 +80,7 @@ OS=`uname -s`
#
# Settings common to all platforms
#
-DATABASEDSHOME=@prefix@/bin
-ACCESSCONTROLHOME=@prefix@/bin
+SERVERBINHOME=@prefix@/bin
LD_LIBRARY_PATH=@prefix@/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
@@ -100,7 +127,7 @@ esac
case "$1" in
start)
- ${ECHO} "Starting TANGO database"
+ ${ECHO} "Starting TANGO database"
# first check the MySQL server
checkmysql
@@ -122,68 +149,27 @@ case "$1" in
fi
fi
# Start the database device server if needed
- findproc DataBase
- if [ "$pid" != "" ];
- then
- ${ECHO} "Database Server already running"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "Database Server already running" >> ${TANGO_LOG}
- else
- ${DATABASEDSHOME}/DataBaseds 2 -ORBendPoint giop:tcp::$TANGO_DB_PORT &
-
- ${ECHO} "Starting TANGO Database Server"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "Starting TANGO Database Server" >> ${TANGO_LOG}
+ startproc DataBase "${SERVERBINHOME}/DataBaseds 2 -ORBendPoint giop:tcp::$TANGO_DB_PORT"
- # wait for a while before checking status
- sleep 3
- findproc DataBase
- if [ "$pid" = "" ];
- then
- ${ECHO} "Failed to start Tango database server"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "Failed to start Tango database server" >> ${TANGO_LOG}
- exit 1
- fi
- ${ECHO} "$rc_done"
- fi
# Start the tango control access server if needed
- findproc TangogAccessC
- if [ "$pid" != "" ];
- then
- ${ECHO} "TangoAccessControl Server already running, exiting"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "TangoAccessControl Server already running, exiting" >> ${TANGO_LOG}
- else
- export SUPER_TANGO=true
- ${ACCESSCONTROLHOME}/TangoAccessControl 1 &
-
- ${ECHO} "Starting TANGO Control Access Server"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "Starting TANGO Control Access Server" >> ${TANGO_LOG}
-
- # wait for a while before checking status
- sleep 2
- findproc TangoAccessControl
- if [ "$pid" = "" ];
- then
- ${ECHO} "Failed to start Tango access control server"
- 'date' >> ${TANGO_LOG}
- ${ECHO} "Failed to start Tango access control server" >> ${TANGO_LOG}
- exit 1
- fi
- ${ECHO} "$rc_done"
- fi
+ export SUPER_TANGO=true
+ startproc TangoAccessC "${SERVERBINHOME}/TangoAccessControl 1"
+ startproc TangoRestSer "${SERVERBINHOME}/TangoRestServer rest"
;;
stop)
${ECHO} "Shutting down TANGO control system"
-
- # first shutdown the control access device server
+
+ # first shutdown the rest-server
+ 'date' >> ${TANGO_LOG}
+ ${ECHO} "Stopping TangoRestServer" >> ${TANGO_LOG}
+ killproc TangoRestSer
+
+ # second shutdown the control access device server
'date' >> ${TANGO_LOG}
${ECHO} "Stopping TANGO Control Access Server" >> ${TANGO_LOG}
- killproc TangoAccessControl
+ killproc TangoAccessC
# then shutdown the database device server
'date' >> ${TANGO_LOG}
@@ -218,6 +204,14 @@ case "$1" in
else
${ECHO} "TANGO Access Control server : No process"
fi
+
+ findproc TangoRestSer
+ if [ "$pid" != "" ];
+ then
+ ${ECHO} "TangoRestServer server OK"
+ else
+ ${ECHO} "TangoRestServer server : No process"
+ fi
;;
*)
${ECHO} "Usage: $0 {start|stop|status|restart}"
@@ -225,4 +219,3 @@ case "$1" in
esac
exit 0
-
diff --git a/build.xml b/build.xml
index 8894775b5..e43490fa8 100644
--- a/build.xml
+++ b/build.xml
@@ -55,6 +55,7 @@
+
@@ -322,6 +323,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -359,6 +374,7 @@
+
diff --git a/distribution.properties b/distribution.properties
index 9ed1c39f1..a6e9316c9 100644
--- a/distribution.properties
+++ b/distribution.properties
@@ -2,6 +2,7 @@ src-root-repo=https://github.com/tango-controls
jtango-root-repo=https://bintray.com/tango-controls/generic/download_file?file_path
java-root-repo=https://bintray.com/tango-controls/maven/download_file?file_path
docs-root-repo=https://readthedocs.org/projects/tango-controls/downloads/pdf
+rest-server-root-repo=https://github.com/tango-controls/rest-server/releases
#VERSION_INFO = current:revision:age
# where
#current = tango lib major + $age
@@ -21,10 +22,11 @@ dbbench-ver=1.3
jssh-terminal-ver=1.11
log-viewer-ver=2.0.5
pogo-ver=9.6.16
+rest-server-ver=1.2
#tool_panels=
#cppserver
TangoTest=TangoTest-Release-2.1
-TangoDatabase=DataBase-Release-5.6
+TangoDatabase=DataBase-Release-5.8
TangoAccessControl=master
starter=Starter-7.0
#doc