Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
Function_as_a_Device
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mosaical
Function_as_a_Device
Commits
d127423b
Commit
d127423b
authored
Apr 11, 2022
by
Mosaical
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial commit
parent
bf2e28e7
Pipeline
#164
canceled with stages
Changes
19
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
1312 additions
and
0 deletions
+1312
-0
.gitignore
.gitignore
+33
-0
.mvn/wrapper/MavenWrapperDownloader.java
.mvn/wrapper/MavenWrapperDownloader.java
+118
-0
.mvn/wrapper/maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar
+0
-0
.mvn/wrapper/maven-wrapper.properties
.mvn/wrapper/maven-wrapper.properties
+2
-0
mvnw
mvnw
+322
-0
mvnw.cmd
mvnw.cmd
+182
-0
pom.xml
pom.xml
+64
-0
src/main/java/com/mxc/DemoApplication.java
src/main/java/com/mxc/DemoApplication.java
+13
-0
src/main/java/com/mxc/Service/DeviceServices.java
src/main/java/com/mxc/Service/DeviceServices.java
+17
-0
src/main/java/com/mxc/Service/DeviceServicesImpl.java
src/main/java/com/mxc/Service/DeviceServicesImpl.java
+183
-0
src/main/java/com/mxc/config/HTTPBody.java
src/main/java/com/mxc/config/HTTPBody.java
+31
-0
src/main/java/com/mxc/config/IDIPHash.java
src/main/java/com/mxc/config/IDIPHash.java
+26
-0
src/main/java/com/mxc/config/PLUSArgData.java
src/main/java/com/mxc/config/PLUSArgData.java
+23
-0
src/main/java/com/mxc/config/RestTemplateConfig.java
src/main/java/com/mxc/config/RestTemplateConfig.java
+29
-0
src/main/java/com/mxc/model/Arg.java
src/main/java/com/mxc/model/Arg.java
+5
-0
src/main/java/com/mxc/model/Device.java
src/main/java/com/mxc/model/Device.java
+37
-0
src/main/java/com/mxc/web/test.java
src/main/java/com/mxc/web/test.java
+213
-0
src/main/resources/application.properties
src/main/resources/application.properties
+1
-0
src/test/java/com/mxc/DemoApplicationTests.java
src/test/java/com/mxc/DemoApplicationTests.java
+13
-0
No files found.
.gitignore
0 → 100644
View file @
d127423b
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
.mvn/wrapper/MavenWrapperDownloader.java
0 → 100644
View file @
d127423b
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import
java.net.*
;
import
java.io.*
;
import
java.nio.channels.*
;
import
java.util.Properties
;
public
class
MavenWrapperDownloader
{
private
static
final
String
WRAPPER_VERSION
=
"0.5.6"
;
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private
static
final
String
DEFAULT_DOWNLOAD_URL
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+
WRAPPER_VERSION
+
"/maven-wrapper-"
+
WRAPPER_VERSION
+
".jar"
;
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private
static
final
String
MAVEN_WRAPPER_PROPERTIES_PATH
=
".mvn/wrapper/maven-wrapper.properties"
;
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private
static
final
String
MAVEN_WRAPPER_JAR_PATH
=
".mvn/wrapper/maven-wrapper.jar"
;
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private
static
final
String
PROPERTY_NAME_WRAPPER_URL
=
"wrapperUrl"
;
public
static
void
main
(
String
args
[])
{
System
.
out
.
println
(
"- Downloader started"
);
File
baseDirectory
=
new
File
(
args
[
0
]);
System
.
out
.
println
(
"- Using base directory: "
+
baseDirectory
.
getAbsolutePath
());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File
mavenWrapperPropertyFile
=
new
File
(
baseDirectory
,
MAVEN_WRAPPER_PROPERTIES_PATH
);
String
url
=
DEFAULT_DOWNLOAD_URL
;
if
(
mavenWrapperPropertyFile
.
exists
())
{
FileInputStream
mavenWrapperPropertyFileInputStream
=
null
;
try
{
mavenWrapperPropertyFileInputStream
=
new
FileInputStream
(
mavenWrapperPropertyFile
);
Properties
mavenWrapperProperties
=
new
Properties
();
mavenWrapperProperties
.
load
(
mavenWrapperPropertyFileInputStream
);
url
=
mavenWrapperProperties
.
getProperty
(
PROPERTY_NAME_WRAPPER_URL
,
url
);
}
catch
(
IOException
e
)
{
System
.
out
.
println
(
"- ERROR loading '"
+
MAVEN_WRAPPER_PROPERTIES_PATH
+
"'"
);
}
finally
{
try
{
if
(
mavenWrapperPropertyFileInputStream
!=
null
)
{
mavenWrapperPropertyFileInputStream
.
close
();
}
}
catch
(
IOException
e
)
{
// Ignore ...
}
}
}
System
.
out
.
println
(
"- Downloading from: "
+
url
);
File
outputFile
=
new
File
(
baseDirectory
.
getAbsolutePath
(),
MAVEN_WRAPPER_JAR_PATH
);
if
(!
outputFile
.
getParentFile
().
exists
())
{
if
(!
outputFile
.
getParentFile
().
mkdirs
())
{
System
.
out
.
println
(
"- ERROR creating output directory '"
+
outputFile
.
getParentFile
().
getAbsolutePath
()
+
"'"
);
}
}
System
.
out
.
println
(
"- Downloading to: "
+
outputFile
.
getAbsolutePath
());
try
{
downloadFileFromURL
(
url
,
outputFile
);
System
.
out
.
println
(
"Done"
);
System
.
exit
(
0
);
}
catch
(
Throwable
e
)
{
System
.
out
.
println
(
"- Error downloading"
);
e
.
printStackTrace
();
System
.
exit
(
1
);
}
}
private
static
void
downloadFileFromURL
(
String
urlString
,
File
destination
)
throws
Exception
{
if
(
System
.
getenv
(
"MVNW_USERNAME"
)
!=
null
&&
System
.
getenv
(
"MVNW_PASSWORD"
)
!=
null
)
{
String
username
=
System
.
getenv
(
"MVNW_USERNAME"
);
char
[]
password
=
System
.
getenv
(
"MVNW_PASSWORD"
).
toCharArray
();
Authenticator
.
setDefault
(
new
Authenticator
()
{
@Override
protected
PasswordAuthentication
getPasswordAuthentication
()
{
return
new
PasswordAuthentication
(
username
,
password
);
}
});
}
URL
website
=
new
URL
(
urlString
);
ReadableByteChannel
rbc
;
rbc
=
Channels
.
newChannel
(
website
.
openStream
());
FileOutputStream
fos
=
new
FileOutputStream
(
destination
);
fos
.
getChannel
().
transferFrom
(
rbc
,
0
,
Long
.
MAX_VALUE
);
fos
.
close
();
rbc
.
close
();
}
}
.mvn/wrapper/maven-wrapper.jar
0 → 100644
View file @
d127423b
File added
.mvn/wrapper/maven-wrapper.properties
0 → 100644
View file @
d127423b
distributionUrl
=
https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.3/apache-maven-3.8.3-bin.zip
wrapperUrl
=
https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
mvnw
0 → 100644
View file @
d127423b
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if
[
-z
"
$MAVEN_SKIP_RC
"
]
;
then
if
[
-f
/etc/mavenrc
]
;
then
.
/etc/mavenrc
fi
if
[
-f
"
$HOME
/.mavenrc"
]
;
then
.
"
$HOME
/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin
=
false
darwin
=
false
mingw
=
false
case
"
$(
uname
)
"
in
CYGWIN
*
)
cygwin
=
true
;;
MINGW
*
)
mingw
=
true
;;
Darwin
*
)
darwin
=
true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-x
"/usr/libexec/java_home"
]
;
then
export
JAVA_HOME
=
"
$(
/usr/libexec/java_home
)
"
else
export
JAVA_HOME
=
"/Library/Java/Home"
fi
fi
;;
esac
if
[
-z
"
$JAVA_HOME
"
]
;
then
if
[
-r
/etc/gentoo-release
]
;
then
JAVA_HOME
=
$(
java-config
--jre-home
)
fi
fi
if
[
-z
"
$M2_HOME
"
]
;
then
## resolve links - $0 may be a link to maven's home
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
saveddir
=
$(
pwd
)
M2_HOME
=
$(
dirname
"
$PRG
"
)
/..
# make it fully qualified
M2_HOME
=
$(
cd
"
$M2_HOME
"
&&
pwd
)
cd
"
$saveddir
"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
$(
cygpath
--unix
"
$M2_HOME
"
)
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
$(
cygpath
--unix
"
$JAVA_HOME
"
)
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
$(
cygpath
--path
--unix
"
$CLASSPATH
"
)
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if
$mingw
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
"
$(
(
cd
"
$M2_HOME
"
pwd
)
)
"
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
"
$(
(
cd
"
$JAVA_HOME
"
pwd
)
)
"
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
javaExecutable
=
"
$(
which javac
)
"
if
[
-n
"
$javaExecutable
"
]
&&
!
[
"
$(
expr
\"
$javaExecutable
\"
:
'\([^ ]*\)'
)
"
=
"no"
]
;
then
# readlink(1) is not available as standard on Solaris 10.
readLink
=
$(
which
readlink
)
if
[
!
$(
expr
"
$readLink
"
:
'\([^ ]*\)'
)
=
"no"
]
;
then
if
$darwin
;
then
javaHome
=
"
$(
dirname
\"
$javaExecutable
\"
)
"
javaExecutable
=
"
$(
cd
\"
$javaHome
\"
&&
pwd
-P
)
/javac"
else
javaExecutable
=
"
$(
readlink
-f
\"
$javaExecutable
\"
)
"
fi
javaHome
=
"
$(
dirname
\"
$javaExecutable
\"
)
"
javaHome
=
$(
expr
"
$javaHome
"
:
'\(.*\)/bin'
)
JAVA_HOME
=
"
$javaHome
"
export
JAVA_HOME
fi
fi
fi
if
[
-z
"
$JAVACMD
"
]
;
then
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
else
JAVACMD
=
"
$(
which java
)
"
fi
fi
if
[
!
-x
"
$JAVACMD
"
]
;
then
echo
"Error: JAVA_HOME is not defined correctly."
>
&2
echo
" We cannot execute
$JAVACMD
"
>
&2
exit
1
fi
if
[
-z
"
$JAVA_HOME
"
]
;
then
echo
"Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER
=
org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir
()
{
if
[
-z
"
$1
"
]
;
then
echo
"Path not specified to find_maven_basedir"
return
1
fi
basedir
=
"
$1
"
wdir
=
"
$1
"
while
[
"
$wdir
"
!=
'/'
]
;
do
if
[
-d
"
$wdir
"
/.mvn
]
;
then
basedir
=
$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if
[
-d
"
${
wdir
}
"
]
;
then
wdir
=
$(
cd
"
$wdir
/.."
pwd
)
fi
# end of workaround
done
echo
"
${
basedir
}
"
}
# concatenates all lines of a file
concat_lines
()
{
if
[
-f
"
$1
"
]
;
then
echo
"
$(
tr
-s
'\n'
' '
<
"
$1
"
)
"
fi
}
BASE_DIR
=
$(
find_maven_basedir
"
$(
pwd
)
"
)
if
[
-z
"
$BASE_DIR
"
]
;
then
exit
1
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if
[
-r
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if
[
-n
"
$MVNW_REPOURL
"
]
;
then
jarUrl
=
"
$MVNW_REPOURL
/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
else
jarUrl
=
"https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
fi
while
IFS
=
"="
read
key value
;
do
case
"
$key
"
in
wrapperUrl
)
jarUrl
=
"
$value
"
break
;;
esac
done
<
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.properties"
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Downloading from:
$jarUrl
"
fi
wrapperJarPath
=
"
$BASE_DIR
/.mvn/wrapper/maven-wrapper.jar"
if
$cygwin
;
then
wrapperJarPath
=
$(
cygpath
--path
--windows
"
$wrapperJarPath
"
)
fi
if
command
-v
wget
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found wget ... using wget"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
wget
"
$jarUrl
"
-O
"
$wrapperJarPath
"
else
wget
--http-user
=
$MVNW_USERNAME
--http-password
=
$MVNW_PASSWORD
"
$jarUrl
"
-O
"
$wrapperJarPath
"
fi
elif
command
-v
curl
>
/dev/null
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Found curl ... using curl"
fi
if
[
-z
"
$MVNW_USERNAME
"
]
||
[
-z
"
$MVNW_PASSWORD
"
]
;
then
curl
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
else
curl
--user
$MVNW_USERNAME
:
$MVNW_PASSWORD
-o
"
$wrapperJarPath
"
"
$jarUrl
"
-f
fi
else
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
"Falling back to using Java to download"
fi
javaClass
=
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if
$cygwin
;
then
javaClass
=
$(
cygpath
--path
--windows
"
$javaClass
"
)
fi
if
[
-e
"
$javaClass
"
]
;
then
if
[
!
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
(
"
$JAVA_HOME
/bin/javac"
"
$javaClass
"
)
fi
if
[
-e
"
$BASE_DIR
/.mvn/wrapper/MavenWrapperDownloader.class"
]
;
then
# Running the downloader
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
" - Running MavenWrapperDownloader.java ..."
fi
(
"
$JAVA_HOME
/bin/java"
-cp
.mvn/wrapper MavenWrapperDownloader
"
$MAVEN_PROJECTBASEDIR
"
)
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export
MAVEN_PROJECTBASEDIR
=
${
MAVEN_BASEDIR
:-
"
$BASE_DIR
"
}
if
[
"
$MVNW_VERBOSE
"
=
true
]
;
then
echo
$MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS
=
"
$(
concat_lines
"
$MAVEN_PROJECTBASEDIR
/.mvn/jvm.config"
)
$MAVEN_OPTS
"
# For Cygwin, switch paths to Windows format before running java
if
$cygwin
;
then
[
-n
"
$M2_HOME
"
]
&&
M2_HOME
=
$(
cygpath
--path
--windows
"
$M2_HOME
"
)
[
-n
"
$JAVA_HOME
"
]
&&
JAVA_HOME
=
$(
cygpath
--path
--windows
"
$JAVA_HOME
"
)
[
-n
"
$CLASSPATH
"
]
&&
CLASSPATH
=
$(
cygpath
--path
--windows
"
$CLASSPATH
"
)
[
-n
"
$MAVEN_PROJECTBASEDIR
"
]
&&
MAVEN_PROJECTBASEDIR
=
$(
cygpath
--path
--windows
"
$MAVEN_PROJECTBASEDIR
"
)
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS
=
"
$MAVEN_CONFIG
$@
"
export
MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER
=
org.apache.maven.wrapper.MavenWrapperMain
exec
"
$JAVACMD
"
\
$MAVEN_OPTS
\
-classpath
"
$MAVEN_PROJECTBASEDIR
/.mvn/wrapper/maven-wrapper.jar"
\
"-Dmaven.home=
${
M2_HOME
}
"
"-Dmaven.multiModuleProjectDirectory=
${
MAVEN_PROJECTBASEDIR
}
"
\
${
WRAPPER_LAUNCHER
}
$MAVEN_CONFIG
"
$@
"
mvnw.cmd
0 → 100644
View file @
d127423b
@REM
----------------------------------------------------------------------------
@REM
Licensed
to
the
Apache
Software
Foundation
(
ASF
)
under
one
@REM
or
more
contributor
license
agreements
.
See
the
NOTICE
file
@REM
distributed
with
this
work
for
additional
information
@REM
regarding
copyright
ownership
.
The
ASF
licenses
this
file
@REM
to
you
under
the
Apache
License
,
Version
2
.0
(
the
@REM
"License"
);
you
may
not
use
this
file
except
in
compliance
@REM
with
the
License
.
You
may
obtain
a
copy
of
the
License
at
@REM
@REM
https
://www.apache.org/licenses/LICENSE
-
2
.0
@REM
@REM
Unless
required
by
applicable
law
or
agreed
to
in
writing
,
@REM
software
distributed
under
the
License
is
distributed
on
an
@REM
"AS IS"
BASIS
,
WITHOUT
WARRANTIES
OR
CONDITIONS
OF
ANY
@REM
KIND
,
either
express
or
implied
.
See
the
License
for
the
@REM
specific
language
governing
permissions
and
limitations
@REM
under
the
License
.
@REM
----------------------------------------------------------------------------
@REM
----------------------------------------------------------------------------
@REM
Maven
Start
Up
Batch
script
@REM
@REM
Required
ENV
vars
:
@REM
JAVA_HOME
-
location
of
a
JDK
home
dir
@REM
@REM
Optional
ENV
vars
@REM
M2_HOME
-
location
of
maven2
's installed home dir
@REM MAVEN_BATCH_ECHO - set to '
on
' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to '
on
' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '
@
' in case MAVEN_BATCH_ECHO is '
on
'
@echo off
@REM set title of command window
title
%
0
@REM enable echoing by setting MAVEN_BATCH_ECHO to '
on
'
@if "
%MAVEN_BATCH_ECHO%
" == "on" echo
%MAVEN_BATCH_ECHO%
@REM set
%HOME%
to equivalent of $HOME
if "
%HOME%
" == "" (set "HOME=
%HOMEDRIVE%%
HOMEPATH
%
")
@REM Execute a user defined script before this one
if not "
%MAVEN_SKIP_RC%
" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "
%HOME%
\mavenrc_pre.bat" call "
%HOME%
\mavenrc_pre.bat"
if exist "
%HOME%
\mavenrc_pre.cmd" call "
%HOME%
\mavenrc_pre.cmd"
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "
%JAVA_HOME%
" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "
%JAVA_HOME%
\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "
%JAVA_HOME%
" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=
%MAVEN_BASEDIR%
IF NOT "
%MAVEN_PROJECTBASEDIR%
"=="" goto endDetectBaseDir
set EXEC_DIR=
%CD%
set WDIR=
%EXEC_DIR%
:findBaseDir
IF EXIST "
%WDIR%
"\.mvn goto baseDirFound
cd ..
IF "
%WDIR%
"=="
%CD%
" goto baseDirNotFound
set WDIR=
%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=
%WDIR%
cd "
%EXEC_DIR%
"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=
%EXEC_DIR%
cd "
%EXEC_DIR%
"
:endDetectBaseDir
IF NOT EXIST "
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims="
%%a
in ("
%MAVEN_PROJECTBASEDIR%
\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=
!JVM_CONFIG_MAVEN_PROPS!
%%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=
%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="
%JAVA_HOME%
\bin\java.exe"
set WRAPPER_JAR="
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
FOR /F "tokens=1,2 delims=="
%%A
IN ("
%MAVEN_PROJECTBASEDIR%
\.mvn\wrapper\maven-wrapper.properties") DO (
IF "
%%A
"=="wrapperUrl" SET DOWNLOAD_URL=
%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist
%WRAPPER_JAR%
(
if "
%MVNW_VERBOSE%
" == "true" (
echo Found
%WRAPPER_JAR%
)
) else (
if not "
%MVNW_REPOURL%
" == "" (
SET DOWNLOAD_URL="
%MVNW_REPOURL%
/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
)
if "
%MVNW_VERBOSE%
" == "true" (
echo Couldn'
t
find
%WRAPPER_JAR%
,
downloading
it
...
echo
Downloading
from
:
%DOWNLOAD_URL%
)
powershell
-Command
"&{"
^
"$webclient = new-object System.Net.WebClient;"
^
"if (-not ([string]::IsNullOrEmpty('
%MVNW_USERNAME%
') -and [string]::IsNullOrEmpty('
%MVNW_PASSWORD%
'))) {"
^
"$webclient.Credentials = new-object System.Net.NetworkCredential('
%MVNW_USERNAME%
', '
%MVNW_PASSWORD%
');"
^
"}"
^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('
%DOWNLOAD_URL%
', '
%WRAPPER_JAR%
')"
^
"}"
if
"
%MVNW_VERBOSE%
"
==
"true"
(
echo
Finished
downloading
%WRAPPER_JAR%
)
)
@REM
End
of
extension
@REM
Provide
a
"standardized"
way
to
retrieve
the
CLI
args
that
will
@REM
work
with
both
Windows
and
non
-Windows
executions
.
set
MAVEN_CMD_LINE_ARGS
=
%
*
%MAVEN_JAVA_EXE%
%JVM_CONFIG_MAVEN_PROPS%
%MAVEN_OPTS%
%MAVEN_DEBUG_OPTS%
-classpath
%WRAPPER_JAR%
"-Dmaven.multiModuleProjectDirectory=
%MAVEN_PROJECTBASEDIR%
"
%WRAPPER_LAUNCHER%
%MAVEN_CONFIG%
%
*
if
ERRORLEVEL
1
goto
error
goto
end
:error
set
ERROR_CODE
=
1
:end
@endlocal
&
set
ERROR_CODE
=
%ERROR_CODE%
if
not
"
%MAVEN_SKIP_RC%
"
==
""
goto
skipRcPost
@REM
check
for
post
script
,
once
with
legacy
.bat
ending
and
once
with
.cmd
ending
if
exist
"
%HOME%
\mavenrc_post.bat"
call
"
%HOME%
\mavenrc_post.bat"
if
exist
"
%HOME%
\mavenrc_post.cmd"
call
"
%HOME%
\mavenrc_post.cmd"
:skipRcPost
@REM
pause
the
script
if
MAVEN_BATCH_PAUSE
is
set
to
'on'
if
"
%MAVEN_BATCH_PAUSE%
"
==
"on"
pause
if
"
%MAVEN_TERMINATE_CMD%
"
==
"on"
exit
%ERROR_CODE%
exit
/B
%ERROR_CODE%
pom.xml
0 → 100644
View file @
d127423b
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
2.5.6
</version>
<relativePath/>
<!-- lookup parent from repository -->
</parent>
<groupId>
com.mxc.001Test
</groupId>
<artifactId>
demo
</artifactId>
<version>
1.0.0
</version>
<name>
demo
</name>
<description>
Demo project for Spring Boot
</description>
<properties>
<java.version>
1.8
</java.version>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
fastjson
</artifactId>
<version>
1.2.70
</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>
src/main/webapp
</directory>
<targetPath>
META-INF/resources
</targetPath>
<includes>
<include>
*.*
</include>
</includes>
</resource>
<resource>
<directory>
src/main/resources
</directory>
<includes>
<include>
**/*.*
</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<version>
1.4.2.RELEASE
</version>
</plugin>
</plugins>
</build>
</project>
src/main/java/com/mxc/DemoApplication.java
0 → 100644
View file @
d127423b
package
com.mxc
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
@SpringBootApplication
public
class
DemoApplication
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
DemoApplication
.
class
,
args
);
}
}
src/main/java/com/mxc/Service/DeviceServices.java
0 → 100644
View file @
d127423b
package
com.mxc.Service
;
import
com.mxc.model.Device
;
public
interface
DeviceServices
{
String
getter
(
Device
device
);
String
putter
(
Device
device
);
//int putter();
int
posterPLUSLocal
(
String
fun
,
int
A
,
int
B
);
int
posterPLUSFarEnd
(
String
fun
,
Device
device
,
int
A
,
int
B
);
int
posterFarEnd
(
String
fun
,
Device
device
);
<
T
>
String
poster
(
String
method
,
T
arg
,
Device
device
);
<
T
>
String
poster
(
String
method
,
T
arg
);
public
String
zhuanFaZhuCe
();
void
setipv4
(
String
ipv4
);
String
getURL
(
String
ID
);
}
src/main/java/com/mxc/Service/DeviceServicesImpl.java
0 → 100644
View file @
d127423b
package
com.mxc.Service
;
import
com.alibaba.fastjson.JSON
;
import
com.mxc.config.HTTPBody
;
import
com.mxc.config.IDIPHash
;
import
com.mxc.config.PLUSArgData
;
import
com.mxc.model.Device
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.Objects
;
@Service
public
class
DeviceServicesImpl
implements
DeviceServices
{
@Autowired
private
RestTemplate
restTemplate
;
// @Autowired
// private IDIPHash idipHash;
@Override
public
String
getter
(
Device
device
)
{
String
url
=
device
.
getIP
();
//url = url + "/student";
//ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://127.0.0.1:8081/student", String.class);
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
getForEntity
(
url
,
String
.
class
);
String
body
=
responseEntity
.
getBody
();
HttpStatus
statusCode
=
responseEntity
.
getStatusCode
();
//200OK
int
statusCodeValue
=
responseEntity
.
getStatusCodeValue
();
//200
HttpHeaders
headers
=
responseEntity
.
getHeaders
();
//headers[Content-Type:"application/json"
// , Transfer-Encoding:"chunked", Date:"Wed, 03 Nov 2021 07:18:52 GMT", Keep-Alive:"timeout=60", Connection:"keep-alive"]
System
.
out
.
println
(
"body:"
+
body
);
//body就是取得的温度数据等
return
body
;
}
@Override
public
String
putter
(
Device
device
){
String
body
=
"enable"
;
String
url
=
device
.
getIP
();
restTemplate
.
put
(
url
,
body
,
100
);
return
"end"
;
}
@Override
public
int
posterPLUSLocal
(
String
fun
,
int
A
,
int
B
)
{
//for instance PLUS
int
res
=
A
+
B
;
return
res
;
}
@Override
public
int
posterPLUSFarEnd
(
String
fun
,
Device
device
,
int
A
,
int
B
)
{
return
0
;
}
// @Override
// public int posterPLUSFarEnd(String fun, Device device, int A, int B){
// System.out.println("test start!");
// String url = device.getIP();
// HTTPBody httpBody = new HTTPBody();
// httpBody.setA(A);
// httpBody.setB(B);
// httpBody.setFunctionName(fun);
// String httpBodyJsonString = JSON.toJSONString(httpBody);
// ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, httpBodyJsonString, String.class);
// System.out.println(responseEntity.getBody());
// int res = 0;
// try{
// res = Integer.parseInt(responseEntity.getBody());
// }catch (NumberFormatException e){
// res = -1;
// }
// return res;
// }
@Override
public
int
posterFarEnd
(
String
fun
,
Device
device
){
return
0
;
}
@Override
//隋林配合2.0版
public
<
T
>
String
poster
(
String
method
,
T
arg
,
Device
device
)
{
String
url
=
device
.
getIP
();
//目标实例的IP
HTTPBody
httpBody
=
new
HTTPBody
();
if
(
method
.
equals
(
"PLUS"
)){
PLUSArgData
temp
=
(
PLUSArgData
)
arg
;
//两个数字
//httpBody.setFunctionName("PLUS");
//http中的arg是String的
//PLUSArgData plusArgData = new PLUSArgData();
String
argJsonString
=
JSON
.
toJSONString
(
temp
);
//生成HTTP中的两个数字部分String
httpBody
.
setFunctionName
(
method
);
httpBody
.
setArg
(
argJsonString
);
httpBody
.
setReturnMessage
(
""
);
String
httpBodyString
=
JSON
.
toJSONString
(
httpBody
);
//生成httpBody的String
//****************
//插入一个查询数据库{"images":"","name":""}
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
postForEntity
(
url
,
httpBodyString
,
String
.
class
);
System
.
out
.
println
(
responseEntity
.
getBody
());
int
res
=
0
;
try
{
res
=
Integer
.
parseInt
(
Objects
.
requireNonNull
(
responseEntity
.
getBody
()));
}
catch
(
NumberFormatException
e
){
res
=
Integer
.
MIN_VALUE
;
}
return
res
+
""
;
//END IF PLUS
}
else
if
(
method
.
equals
(
"GET"
)){
httpBody
.
setFunctionName
(
method
);
String
argString
=
(
String
)
arg
;
httpBody
.
setArg
(
argString
);
httpBody
.
setReturnMessage
(
""
);
String
httpBodyString
=
JSON
.
toJSONString
(
httpBody
);
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
postForEntity
(
url
,
httpBodyString
,
String
.
class
);
System
.
out
.
println
(
responseEntity
.
getBody
());
String
res
=
responseEntity
.
getBody
();
return
res
;
}
else
{
//method是任意自写函数
httpBody
.
setFunctionName
(
method
);
String
argString
=
(
String
)
arg
;
httpBody
.
setArg
(
argString
);
httpBody
.
setReturnMessage
(
""
);
String
httpBodyString
=
JSON
.
toJSONString
(
httpBody
);
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
postForEntity
(
url
,
httpBodyString
,
String
.
class
);
System
.
out
.
println
(
responseEntity
.
getBody
());
String
res
=
responseEntity
.
getBody
();
return
res
;
}
//******************************************************************
/**/
//String res = arg.getClass().toString();
//return res;
}
@Override
//隋林配合2.0版
public
<
T
>
String
poster
(
String
method
,
T
arg
)
{
if
(
method
.
equals
(
"PLUS"
)){
//本地加法
PLUSArgData
temp
=
(
PLUSArgData
)
arg
;
int
res
=
temp
.
getA
()
+
temp
.
getB
();
return
res
+
""
;
}
else
if
(
method
.
equals
(
"MINUS"
)){
//减法
PLUSArgData
temp
=
(
PLUSArgData
)
arg
;
int
res
=
temp
.
getA
()
-
temp
.
getB
();
return
res
+
""
;
}
else
{
return
"Input Error!"
;
}
}
@Override
public
String
zhuanFaZhuCe
(){
return
""
;
}
@Override
public
void
setipv4
(
String
ipv4
)
{
}
@Override
public
String
getURL
(
String
ID
){
String
IP
;
if
(
ID
==
"testSHT30"
)
IP
=
"http://192.168.211.129:10001/insert"
;
else
if
(
ID
==
"test12HoursAverage"
)
IP
=
"http://192.168.211.128:11001/test30DaysAverage"
;
else
if
(
ID
==
"testNRF"
)
IP
=
"http://192.168.211.128:8081"
;
else
IP
=
"0.0.0.0"
;
return
IP
;
}
}
src/main/java/com/mxc/config/HTTPBody.java
0 → 100644
View file @
d127423b
package
com.mxc.config
;
public
class
HTTPBody
{
private
String
FunctionName
;
private
String
arg
;
private
String
returnMessage
;
public
String
getFunctionName
()
{
return
FunctionName
;
}
public
void
setFunctionName
(
String
functionName
)
{
FunctionName
=
functionName
;
}
public
String
getArg
()
{
return
arg
;
}
public
void
setArg
(
String
arg
)
{
this
.
arg
=
arg
;
}
public
String
getReturnMessage
()
{
return
returnMessage
;
}
public
void
setReturnMessage
(
String
returnMessage
)
{
this
.
returnMessage
=
returnMessage
;
}
}
src/main/java/com/mxc/config/IDIPHash.java
0 → 100644
View file @
d127423b
package
com.mxc.config
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
@Component
public
class
IDIPHash
{
public
IDIPHash
(){
this
.
IDIPHash
.
put
(
"MXCNO1"
,
"http://127.0.0.1:8081/insert"
);
}
static
HashMap
<
String
,
String
>
IDIPHash
=
new
HashMap
<>();
//ID IP
public
HashMap
<
String
,
String
>
getIDIPHash
()
{
return
IDIPHash
;
}
public
void
setIDIP
(
String
ID
,
String
IP
)
{
this
.
IDIPHash
.
put
(
ID
,
IP
);
}
public
String
getIPFromID
(
String
ID
){
String
IP
=
this
.
IDIPHash
.
get
(
ID
);
return
IP
;
}
}
src/main/java/com/mxc/config/PLUSArgData.java
0 → 100644
View file @
d127423b
package
com.mxc.config
;
public
class
PLUSArgData
{
private
int
A
;
private
int
B
;
//private String returnMessage;
public
int
getA
()
{
return
A
;
}
public
void
setA
(
int
a
)
{
A
=
a
;
}
public
int
getB
()
{
return
B
;
}
public
void
setB
(
int
b
)
{
B
=
b
;
}
}
src/main/java/com/mxc/config/RestTemplateConfig.java
0 → 100644
View file @
d127423b
package
com.mxc.config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.client.ClientHttpRequestFactory
;
import
org.springframework.http.client.SimpleClientHttpRequestFactory
;
import
org.springframework.http.converter.StringHttpMessageConverter
;
import
org.springframework.web.client.RestTemplate
;
import
java.nio.charset.StandardCharsets
;
@Configuration
public
class
RestTemplateConfig
{
@Bean
public
RestTemplate
restTemplate
(
ClientHttpRequestFactory
factory
){
RestTemplate
restTemplate
=
new
RestTemplate
(
factory
);
restTemplate
.
getMessageConverters
().
set
(
1
,
new
StringHttpMessageConverter
(
StandardCharsets
.
UTF_8
));
return
restTemplate
;
}
@Bean
public
ClientHttpRequestFactory
simpleClientHttpRequestFactory
(){
SimpleClientHttpRequestFactory
factory
=
new
SimpleClientHttpRequestFactory
();
factory
.
setReadTimeout
(
5000
);
factory
.
setConnectTimeout
(
5000
);
return
factory
;
}
}
src/main/java/com/mxc/model/Arg.java
0 → 100644
View file @
d127423b
package
com.mxc.model
;
public
class
Arg
{
}
src/main/java/com/mxc/model/Device.java
0 → 100644
View file @
d127423b
package
com.mxc.model
;
public
class
Device
{
private
String
ID
;
private
String
IP
;
String
Arg
=
""
;
String
Method
=
""
;
String
Return
=
""
;
public
Device
(
String
ID
,
String
IP
)
{
this
.
IP
=
IP
;
this
.
ID
=
ID
;
}
public
Device
(
String
ID
,
String
IP
,
String
Arg
,
String
Method
){
this
.
IP
=
IP
;
this
.
ID
=
ID
;
this
.
Arg
=
Arg
;
this
.
Method
=
Method
;
}
public
String
getIP
()
{
return
IP
;
}
public
void
setIP
(
String
IP
)
{
this
.
IP
=
IP
;
}
public
String
getID
()
{
return
ID
;
}
public
void
setID
(
String
ID
)
{
this
.
ID
=
ID
;
}
}
src/main/java/com/mxc/web/test.java
0 → 100644
View file @
d127423b
package
com.mxc.web
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mxc.Service.DeviceServicesImpl
;
import
com.mxc.config.IDIPHash
;
import
com.mxc.config.PLUSArgData
;
import
com.mxc.model.Device
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
javax.management.ObjectName
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.concurrent.TimeUnit
;
@RestController
public
class
test
{
@Autowired
private
DeviceServicesImpl
deviceServices
;
@Autowired
private
IDIPHash
idipHash
;
private
ArrayList
<
Device
>
deviceArrayList
=
new
ArrayList
<>();
//存储虚拟化的实例
@GetMapping
(
value
=
"/add"
)
//添加新的idip进入哈希表
public
Object
add
(
@RequestParam
String
ID
,
String
IP
){
idipHash
.
setIDIP
(
ID
,
IP
);
return
"add success!"
;
}
@GetMapping
(
value
=
"/GetTest"
)
public
Object
GetTest
(
@RequestParam
String
ID
){
//从哈希表取值
String
IP
=
idipHash
.
getIPFromID
(
ID
);
System
.
out
.
println
(
"IP:"
+
IP
);
Device
device
=
new
Device
(
ID
,
IP
);
deviceArrayList
.
add
(
device
);
String
getter
=
deviceServices
.
getter
(
deviceArrayList
.
get
(
0
));
return
"Getter is :"
+
getter
;
}
@GetMapping
(
value
=
"/PUTTest"
)
public
Object
PUTTest
(
@RequestParam
String
ID
){
return
"PUTTest end!"
;
}
@GetMapping
(
value
=
"/POSTTest"
)
public
Object
POSTTest
(
@RequestParam
String
ID
,
String
fun
){
//#http://127.0.0.1:8080/POSTTest?ID=MXCNO1&fun=PLUS 跑17module
String
IP
=
idipHash
.
getIPFromID
(
ID
);
System
.
out
.
println
(
"IP:"
+
IP
);
Device
device
=
new
Device
(
ID
,
IP
);
deviceArrayList
.
add
(
device
);
int
getter
=
deviceServices
.
posterPLUSFarEnd
(
"PLUS"
,
deviceArrayList
.
get
(
0
),
1
,
2
);
return
getter
;
}
@GetMapping
(
value
=
"/POSTTest2"
)
public
Object
POSTTtest2
(
@RequestParam
String
fun
){
return
"POSTTest end!"
;
}
@GetMapping
(
value
=
"/student1"
)
//触发这个服务
public
Object
test1
(
@RequestParam
String
IP
){
String
ID
=
"127.0.0.1:8080/student"
;
Device
device
=
new
Device
(
ID
,
IP
);
deviceArrayList
.
add
(
device
);
return
Arrays
.
toString
(
deviceArrayList
.
toArray
());
}
@GetMapping
(
"/del"
)
public
Object
test2
(){
deviceArrayList
.
remove
(
0
);
return
Arrays
.
toString
(
deviceArrayList
.
toArray
());
}
@GetMapping
(
"/querry"
)
public
String
test3
(){
String
getter
=
deviceServices
.
getter
(
deviceArrayList
.
get
(
0
));
return
getter
;
}
//测试泛型
@GetMapping
(
"/fanshiTest"
)
public
String
fanshiTest
(){
Device
device
=
new
Device
(
"MXCNO1"
,
"http://127.0.0.1:8081/insert"
);
PLUSArgData
plusArgData
=
new
PLUSArgData
();
plusArgData
.
setA
(
1
);
plusArgData
.
setB
(
2
);
String
getter
=
deviceServices
.
poster
(
"PLUS"
,
plusArgData
,
device
);
System
.
out
.
println
(
getter
);
return
getter
;
}
@GetMapping
(
"/fanshiGETTest"
)
public
String
fanshiGETTest
(){
Device
device
=
new
Device
(
"MXCNO1"
,
"http://127.0.0.1:8081/insert"
);
//JSON转String传进去
String
ArgData
=
"{\"NO1\":\"temperature\",\"NO2\":\"wet\"}"
;
//System.out.println(ArgData);
String
getter
=
deviceServices
.
poster
(
"GET"
,
ArgData
,
device
);
return
getter
;
}
@GetMapping
(
"/fanshiPUTTest"
)
public
String
fanshiPUTTest
(){
//hashmap由注册部分维护,此处实用时不必写入IP
Device
device
=
new
Device
(
"MXCNO1"
,
"http://127.0.0.1:8081/insert"
);
//可改
String
ID
=
"MXCNO1"
;
String
ArgData
=
"{\"arg1\":\"123\",\"arg2\":\"auto\",\"arg3\":\"Registered\"}"
;
String
method
=
"anyOne"
;
String
getter
=
deviceServices
.
poster
(
method
,
ArgData
,
device
);
return
getter
;
}
@PutMapping
(
"/zhuanFaZhuCe"
)
public
String
zhuanFaZhuCe
(
@RequestBody
String
body
){
System
.
out
.
println
(
body
);
return
body
;
}
Device
SHT30
=
new
Device
(
"SHT30"
,
"http://192.168.211.129:10001/insert"
);
//物联网器件
Device
JSGN_JiTuToLong
=
new
Device
(
"JSGN_JiTuTongLong"
,
"http://192.168.211.128:11001/JSGN_JiTuTongLong"
);
//计算功能
//Device testAMF = new Device("testAMF", "http://192.168.211.128:8081");//5G核心网网元
@GetMapping
(
"/testMain"
)
public
String
lianHeBianCheng
(){
String
res
,
ArgNULL
=
""
;
Device
testSHT30
=
new
Device
(
"SHT30"
,
deviceServices
.
getURL
(
"SHT30"
));
Device
test12HoursAverage
=
new
Device
(
"12HoursAverage"
,
deviceServices
.
getURL
(
"12HoursAverage"
));
Device
testNRF
=
new
Device
(
"NRF"
,
deviceServices
.
getURL
(
"NRF"
));
String
tempGetter
=
deviceServices
.
poster
(
"getTemp"
,
ArgNULL
,
testSHT30
);
while
(
true
){
String
AverageGetter
=
deviceServices
.
poster
(
"POST"
,
tempGetter
,
test12HoursAverage
);
if
(
Integer
.
parseInt
(
AverageGetter
)
>=
30
){
String
Profile
=
deviceServices
.
poster
(
"GET"
,
"UPFStatus"
,
testNRF
);
JSONObject
ProJSON
=
JSON
.
parseObject
(
Profile
);
if
(
ProJSON
.
get
(
"status"
)
==
"REGISTERED"
);
else
{
System
.
out
.
println
(
"!!!UPF IS DOWN!!!"
);
}
}
else
if
(
Integer
.
parseInt
(
AverageGetter
)
<=
10
)
{
res
=
"Temperature is safe!"
;
break
;
}
try
{
TimeUnit
.
SECONDS
.
sleep
(
10
);
}
catch
(
InterruptedException
ie
){
System
.
out
.
println
(
"Sleep End!"
);}
}
return
res
;
}
@GetMapping
(
"/testMain1"
)
public
String
lianHeBianCheng1
()
throws
InterruptedException
{
//Date date = new Date();
System
.
out
.
print
(
"date:Sat Mar 05 03:29:17 CST 2022"
);
System
.
out
.
print
(
" Temperature is 24\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:29:27 CST 2022"
);
System
.
out
.
print
(
" Temperature is 24\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:29:37 CST 2022"
);
System
.
out
.
print
(
" Temperature is 25\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:29:47 CST 2022"
);
System
.
out
.
print
(
" Temperature is 28\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:29:57 CST 2022"
);
System
.
out
.
print
(
" Temperature is 31 "
);
System
.
out
.
print
(
" Status is REGISTERED\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:30:07 CST 2022"
);
System
.
out
.
print
(
" Temperature is 35 "
);
System
.
out
.
print
(
" Status is SUSPENDED "
);
System
.
out
.
print
(
" !!!UPF IS DOWN!!!\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:30:17 CST 2022"
);
System
.
out
.
print
(
" Temperature is 40 "
);
System
.
out
.
print
(
" Status is SUSPENDED "
);
System
.
out
.
print
(
" !!!UPF IS DOWN!!!\n"
);
TimeUnit
.
SECONDS
.
sleep
(
10
);
System
.
out
.
print
(
"date:Sat Mar 05 03:30:27 CST 2022"
);
System
.
out
.
print
(
" Temperature is 45 "
);
return
"done"
;
}
//*******************************************************************
@GetMapping
(
"/IoTYeWuKaiFa"
)
//进行物联网应用开发
public
String
IoTYeWuKaiFa
(){
Device
IoTSheBei
=
new
Device
(
"EquipmentID"
,
"http://127.0.0.1:10001/test"
);
//Device IoTSheBei = new Device("EquipmentID", "http://47.92.29.228:10001/test");
String
tempGetter
=
deviceServices
.
poster
(
"getTemp"
,
""
,
IoTSheBei
);
return
tempGetter
;
}
}
src/main/resources/application.properties
0 → 100644
View file @
d127423b
src/test/java/com/mxc/DemoApplicationTests.java
0 → 100644
View file @
d127423b
package
com.mxc
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.test.context.SpringBootTest
;
@SpringBootTest
class
DemoApplicationTests
{
@Test
void
contextLoads
()
{
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment