Commit f2953c88 authored by 0Tyler's avatar 0Tyler

Quorum Contract

parent 9fe9c29d
...@@ -6,7 +6,40 @@ ...@@ -6,7 +6,40 @@
</artifacts-to-build> </artifacts-to-build>
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d3a5f2c9-d22f-4974-88fb-d506b4e5feaf" name="Default Changelist" comment="pdf update" /> <list default="true" id="d3a5f2c9-d22f-4974-88fb-d506b4e5feaf" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractReference.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/4.10.3/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/4.10.3/fileHashes/fileHashes.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gradle/4.10.3/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/4.10.3/fileHashes/fileHashes.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/build.gradle" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/build.gradle" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java" beforeDir="false" afterPath="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileContent/annotation-processors.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileContent/annotation-processors.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileContent/fileContent.lock" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileContent/fileContent.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/fileHashes.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/fileHashes.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/fileHashes.lock" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/fileHashes.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/resourceHashesCache.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/fileHashes/resourceHashesCache.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/classAnalysis.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/classAnalysis.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/jarAnalysis.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/jarAnalysis.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/javaCompile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/javaCompile.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/taskHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/javaCompile/taskHistory.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/taskHistory/taskHistory.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/taskHistory/taskHistory.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/4.10.3/taskHistory/taskHistory.lock" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/4.10.3/taskHistory/taskHistory.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/libs/gateway-0.0.1-SNAPSHOT-boot.jar" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/libs/gateway-0.0.1-SNAPSHOT-boot.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/libs/gateway-0.0.1-SNAPSHOT.jar" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/libs/gateway-0.0.1-SNAPSHOT.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/reports/tests/test/classes/edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests.html" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/reports/tests/test/classes/edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/reports/tests/test/classes/edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest.html" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/reports/tests/test/classes/edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/reports/tests/test/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/reports/tests/test/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/reports/tests/test/packages/edu.prlab.tyler.iotgateway.gateway.html" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/reports/tests/test/packages/edu.prlab.tyler.iotgateway.gateway.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/test-results/test/TEST-edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests.xml" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/test-results/test/TEST-edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/test-results/test/TEST-edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest.xml" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/test-results/test/TEST-edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/test-results/test/binary/output.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/test-results/test/binary/output.bin" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/test-results/test/binary/output.bin.idx" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/test-results/test/binary/output.bin.idx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/build/test-results/test/binary/results.bin" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/build/test-results/test/binary/results.bin" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" /> <ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/build/" /> <ignored path="$PROJECT_DIR$/build/" />
<ignored path="$PROJECT_DIR$/BCGateway/.gradle/" /> <ignored path="$PROJECT_DIR$/BCGateway/.gradle/" />
...@@ -79,11 +112,6 @@ ...@@ -79,11 +112,6 @@
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" /> <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="iotgateway" type="f1a62948:ProjectNode" /> <item name="iotgateway" type="f1a62948:ProjectNode" />
</path> </path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="iotgateway" type="f1a62948:ProjectNode" />
<item name="Tasks" type="e4a08cd1:TasksNode" />
</path>
<path> <path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" /> <item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="iotgateway" type="f1a62948:ProjectNode" /> <item name="iotgateway" type="f1a62948:ProjectNode" />
...@@ -132,8 +160,8 @@ ...@@ -132,8 +160,8 @@
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110"> <state relative-caret-position="4060">
<caret line="44" column="41" selection-start-line="44" selection-start-column="31" selection-end-line="44" selection-end-column="41" /> <caret line="729" column="42" selection-start-line="729" selection-start-column="42" selection-end-line="729" selection-end-column="42" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
...@@ -142,55 +170,62 @@ ...@@ -142,55 +170,62 @@
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/CloudApplication.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="370"> <state relative-caret-position="90">
<caret line="202" column="31" selection-start-line="202" selection-start-column="31" selection-end-line="202" selection-end-column="31" /> <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
<folding>
<element signature="e#399#400#0" expanded="true" />
<element signature="e#466#467#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/Resource.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522"> <state relative-caret-position="216">
<caret line="51" column="17" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="17" /> <caret line="36" column="5" lean-forward="true" selection-start-line="36" selection-start-column="5" selection-end-line="36" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/InputStreamSource.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/User.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="684"> <state relative-caret-position="306">
<caret line="53" column="13" selection-start-line="53" selection-start-column="13" selection-end-line="53" selection-end-column="13" /> <caret line="22" column="19" selection-start-line="22" selection-start-column="19" selection-end-line="22" selection-end-column="19" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/InputStream.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicyReport.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378"> <state relative-caret-position="486">
<caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" /> <caret line="35" column="30" lean-forward="true" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="30" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DocumentController.java"> <entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342"> <state relative-caret-position="596">
<caret line="31" column="32" selection-start-line="31" selection-start-column="32" selection-end-line="31" selection-end-column="32" /> <caret line="129" column="32" selection-start-line="129" selection-start-column="32" selection-end-line="129" selection-end-column="32" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="324"> <state relative-caret-position="474">
<caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" /> <caret line="96" column="75" selection-start-line="96" selection-start-column="75" selection-end-line="96" selection-end-column="75" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
...@@ -199,28 +234,28 @@ ...@@ -199,28 +234,28 @@
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/build.gradle"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyContent.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1098"> <state relative-caret-position="396">
<caret line="61" column="5" selection-start-line="61" selection-start-column="5" selection-end-line="61" selection-end-column="5" /> <caret line="30" column="16" selection-start-line="30" selection-start-column="16" selection-end-line="30" selection-end-column="16" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DocumentService.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/device/Device.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="216">
<caret line="23" column="33" selection-start-line="23" selection-start-column="33" selection-end-line="23" selection-end-column="33" /> <caret line="20" column="18" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="18" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="jar://$USER_HOME$/.gradle/wrapper/dists/gradle-4.10.3-bin/31t79e2qsceia4mkbojplrgx/gradle-4.10.3/lib/gradle-core-api-4.10.3.jar!/org/gradle/api/Project.class"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/UserController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36"> <state relative-caret-position="414">
<caret line="2" column="37" selection-start-line="2" selection-start-column="37" selection-end-line="2" selection-end-column="37" /> <caret line="31" column="5" selection-start-line="31" selection-start-column="5" selection-end-line="31" selection-end-column="5" />
</state> </state>
</provider> </provider>
</entry> </entry>
...@@ -237,9 +272,6 @@ ...@@ -237,9 +272,6 @@
</component> </component>
<component name="FindInProjectRecents"> <component name="FindInProjectRecents">
<findStrings> <findStrings>
<find>username</find>
<find>upc</find>
<find>accepted</find>
<find>accept</find> <find>accept</find>
<find>access</find> <find>access</find>
<find>fatJar</find> <find>fatJar</find>
...@@ -267,6 +299,9 @@ ...@@ -267,6 +299,9 @@
<find>.udn</find> <find>.udn</find>
<find>document</find> <find>document</find>
<find>Max</find> <find>Max</find>
<find>load</find>
<find>ContractGasProvider</find>
<find>knqxzdmu</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>cloud</replace> <replace>cloud</replace>
...@@ -288,9 +323,6 @@ ...@@ -288,9 +323,6 @@
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
<list> <list>
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/device/Device.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicy.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/RemoteService.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyChoiceResponse.java" /> <option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyChoiceResponse.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.java" />
...@@ -316,7 +348,6 @@ ...@@ -316,7 +348,6 @@
<option value="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/DeviceContractTester.java" /> <option value="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/DeviceContractTester.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceIndexRepository.java" /> <option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceIndexRepository.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java" /> <option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java" />
<option value="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyPolicyReportService.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyPolicyReportService.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/PrivacyChoiceRepository.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/PrivacyChoiceRepository.java" />
...@@ -332,13 +363,17 @@ ...@@ -332,13 +363,17 @@
<option value="$PROJECT_DIR$/gateway/build.gradle" /> <option value="$PROJECT_DIR$/gateway/build.gradle" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DocumentController.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DocumentController.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/Document.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/Document.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java" />
<option value="$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyPolicyReportResponse.java" /> <option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyPolicyReportResponse.java" />
<option value="$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java" />
<option value="$PROJECT_DIR$/cloud/build.gradle" /> <option value="$PROJECT_DIR$/cloud/build.gradle" />
<option value="$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java" />
<option value="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractReference.java" />
<option value="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractService.java" />
<option value="$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractUtil.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java" />
<option value="$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java" /> <option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java" />
<option value="$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java" />
</list> </list>
</option> </option>
</component> </component>
...@@ -356,8 +391,6 @@ ...@@ -356,8 +391,6 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="PackagesPane" />
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
...@@ -426,7 +459,9 @@ ...@@ -426,7 +459,9 @@
<item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -434,87 +469,63 @@ ...@@ -434,87 +469,63 @@
<item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
<item name="document" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
<item name="auth" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="cloud" type="462c0819:PsiDirectoryNode" /> <item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
<item name="device" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
</path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
<item name="privacy" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="services" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="cloud" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" /> <item name="cloud" type="462c0819:PsiDirectoryNode" />
<item name="util" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="config" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="controllers" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -522,9 +533,6 @@ ...@@ -522,9 +533,6 @@
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="model" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -533,8 +541,6 @@ ...@@ -533,8 +541,6 @@
<item name="src" type="462c0819:PsiDirectoryNode" /> <item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -544,8 +550,6 @@ ...@@ -544,8 +550,6 @@
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" /> <item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="pojo" type="462c0819:PsiDirectoryNode" />
<item name="auth" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -555,7 +559,7 @@ ...@@ -555,7 +559,7 @@
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" /> <item name="java" type="462c0819:PsiDirectoryNode" />
<item name="gateway" type="462c0819:PsiDirectoryNode" /> <item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="repositories" type="462c0819:PsiDirectoryNode" /> <item name="controllers" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
...@@ -567,14 +571,6 @@ ...@@ -567,14 +571,6 @@
<item name="gateway" type="462c0819:PsiDirectoryNode" /> <item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="services" type="462c0819:PsiDirectoryNode" /> <item name="services" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="gateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" /> <item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" /> <item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
...@@ -603,6 +599,8 @@ ...@@ -603,6 +599,8 @@
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
<pane id="PackagesPane" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
...@@ -626,11 +624,11 @@ ...@@ -626,11 +624,11 @@
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="nodejs_package_manager_path" value="npm" /> <property name="nodejs_package_manager_path" value="npm" />
<property name="project.structure.last.edited" value="Artifacts" /> <property name="project.structure.last.edited" value="Problems" />
<property name="project.structure.proportion" value="0.15" /> <property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.3115753" /> <property name="project.structure.side.proportion" value="0.3115753" />
<property name="restartRequiresConfirmation" value="false" /> <property name="restartRequiresConfirmation" value="false" />
<property name="settings.editor.selected.configurable" value="spring.boot" /> <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY"> <key name="CopyClassDialog.RECENTS_KEY">
...@@ -660,47 +658,9 @@ ...@@ -660,47 +658,9 @@
</RuleState> </RuleState>
</list> </list>
</option> </option>
<option name="contentProportion" value="0.18181819" /> <option name="contentProportion" value="0.18560606" />
</component> </component>
<component name="RunManager" selected="Gradle.iotgateway:gateway [build]"> <component name="RunManager" selected="Gradle.iotgateway:gateway [build]">
<configuration name="iotgateway:cloud [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$/cloud" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="build" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
<method v="2" />
</configuration>
<configuration name="iotgateway:cloud [clean]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$/cloud" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="clean" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<GradleScriptDebugEnabled>true</GradleScriptDebugEnabled>
<method v="2" />
</configuration>
<configuration name="iotgateway:gateway [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true"> <configuration name="iotgateway:gateway [build]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings> <ExternalSystemSettings>
<option name="executionName" /> <option name="executionName" />
...@@ -754,6 +714,36 @@ ...@@ -754,6 +714,36 @@
<option name="Make" enabled="true" /> <option name="Make" enabled="true" />
</method> </method>
</configuration> </configuration>
<configuration name="ContractTester" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="iotgateway.contract.test" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="edu.prlab.tyler.iotgateway.contract.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="edu.prlab.tyler.iotgateway.contract" />
<option name="MAIN_CLASS_NAME" value="edu.prlab.tyler.iotgateway.contract.ContractTester" />
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="GatewayHttpApiTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="iotgateway.gateway.test" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="edu.prlab.tyler.iotgateway.gateway.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<option name="PACKAGE_NAME" value="edu.prlab.tyler.iotgateway.gateway" />
<option name="MAIN_CLASS_NAME" value="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" />
<option name="TEST_OBJECT" value="class" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="iotgateway" type="Multirun" factoryName="Multirun" separateTabs="true" startOneByOne="true" markFailedProcess="true" hideSuccessProcess="false" delayTime="0"> <configuration name="iotgateway" type="Multirun" factoryName="Multirun" separateTabs="true" startOneByOne="true" markFailedProcess="true" hideSuccessProcess="false" delayTime="0">
<runConfiguration name="CloudApplication" type="Spring Boot" /> <runConfiguration name="CloudApplication" type="Spring Boot" />
<runConfiguration name="GatewayApplication" type="Spring Boot" /> <runConfiguration name="GatewayApplication" type="Spring Boot" />
...@@ -782,23 +772,23 @@ ...@@ -782,23 +772,23 @@
</method> </method>
</configuration> </configuration>
<list> <list>
<item itemvalue="Gradle.iotgateway:gateway [clean]" />
<item itemvalue="Gradle.iotgateway:gateway [build]" />
<item itemvalue="Gradle.iotgateway:cloud [clean]" />
<item itemvalue="Gradle.iotgateway:cloud [build]" />
<item itemvalue="JUnit.CloudHttpApiTest" /> <item itemvalue="JUnit.CloudHttpApiTest" />
<item itemvalue="Multirun.iotgateway" /> <item itemvalue="Multirun.iotgateway" />
<item itemvalue="Spring Boot.GatewayApplication" /> <item itemvalue="Spring Boot.GatewayApplication" />
<item itemvalue="Spring Boot.CloudApplication" /> <item itemvalue="Spring Boot.CloudApplication" />
<item itemvalue="Spring Boot.ContractApplication" /> <item itemvalue="Spring Boot.ContractApplication" />
<item itemvalue="JUnit.ContractTester" />
<item itemvalue="JUnit.GatewayHttpApiTest" />
<item itemvalue="Gradle.iotgateway:gateway [clean]" />
<item itemvalue="Gradle.iotgateway:gateway [build]" />
</list> </list>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="JUnit.CloudHttpApiTest" />
<item itemvalue="Gradle.iotgateway:cloud [build]" />
<item itemvalue="Gradle.iotgateway:cloud [clean]" />
<item itemvalue="Gradle.iotgateway:gateway [build]" /> <item itemvalue="Gradle.iotgateway:gateway [build]" />
<item itemvalue="Gradle.iotgateway:gateway [clean]" /> <item itemvalue="Gradle.iotgateway:gateway [clean]" />
<item itemvalue="JUnit.GatewayHttpApiTest" />
<item itemvalue="JUnit.CloudHttpApiTest" />
<item itemvalue="JUnit.ContractTester" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
...@@ -823,6 +813,9 @@ ...@@ -823,6 +813,9 @@
<workItem from="1559030426004" duration="26881000" /> <workItem from="1559030426004" duration="26881000" />
<workItem from="1559534946076" duration="8131000" /> <workItem from="1559534946076" duration="8131000" />
<workItem from="1559553604473" duration="428000" /> <workItem from="1559553604473" duration="428000" />
<workItem from="1559554179725" duration="860000" />
<workItem from="1559630541373" duration="451000" />
<workItem from="1559804918566" duration="17781000" />
</task> </task>
<task id="LOCAL-00001" summary="git init"> <task id="LOCAL-00001" summary="git init">
<created>1556204675975</created> <created>1556204675975</created>
...@@ -1027,19 +1020,17 @@ ...@@ -1027,19 +1020,17 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1559553929347</updated> <updated>1559553929347</updated>
</task> </task>
<option name="localTasksCounter" value="30" /> <task id="LOCAL-00030" summary="pdf update">
<created>1559554194377</created>
<option name="number" value="00030" />
<option name="presentableId" value="LOCAL-00030" />
<option name="project" value="LOCAL" />
<updated>1559554194377</updated>
</task>
<option name="localTasksCounter" value="31" />
<servers /> <servers />
</component> </component>
<component name="TestHistory"> <component name="TestHistory">
<history-entry file="ContractTester - 2019.05.31 at 17h 52m 49s.xml">
<configuration name="ContractTester" configurationId="JUnit" />
</history-entry>
<history-entry file="ContractTester - 2019.05.31 at 17h 53m 13s.xml">
<configuration name="ContractTester" configurationId="JUnit" />
</history-entry>
<history-entry file="ContractTester - 2019.05.31 at 17h 55m 55s.xml">
<configuration name="ContractTester" configurationId="JUnit" />
</history-entry>
<history-entry file="ContractTester - 2019.05.31 at 17h 56m 34s.xml"> <history-entry file="ContractTester - 2019.05.31 at 17h 56m 34s.xml">
<configuration name="ContractTester" configurationId="JUnit" /> <configuration name="ContractTester" configurationId="JUnit" />
</history-entry> </history-entry>
...@@ -1061,9 +1052,18 @@ ...@@ -1061,9 +1052,18 @@
<history-entry file="CloudHttpApiTest - 2019.06.03 at 14h 10m 43s.xml"> <history-entry file="CloudHttpApiTest - 2019.06.03 at 14h 10m 43s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" /> <configuration name="CloudHttpApiTest" configurationId="JUnit" />
</history-entry> </history-entry>
<history-entry file="ContractTester - 2019.06.06 at 15h 25m 04s.xml">
<configuration name="ContractTester" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.06.10 at 16h 14m 51s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="GatewayHttpApiTest - 2019.06.10 at 16h 15m 10s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
</component> </component>
<component name="TimeTrackingManager"> <component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="328261000" /> <option name="totallyTimeSpent" value="347353000" />
</component> </component>
<component name="TodoView"> <component name="TodoView">
<todo-panel id="selected-file"> <todo-panel id="selected-file">
...@@ -1076,18 +1076,20 @@ ...@@ -1076,18 +1076,20 @@
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<editor active="true" />
<layout> <layout>
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.20095949" /> <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.18763326" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Designer" order="2" /> <window_info id="Designer" order="2" />
<window_info id="UI Designer" order="3" /> <window_info id="UI Designer" order="3" />
<window_info id="Favorites" order="4" side_tool="true" /> <window_info id="Favorites" order="4" side_tool="true" />
<window_info id="Web" order="5" side_tool="true" /> <window_info id="Web" order="5" side_tool="true" />
<window_info anchor="bottom" id="Run Dashboard" order="0" sideWeight="0.49946696" weight="0.77616924" /> <window_info anchor="bottom" id="Duplicates" weight="0.32962137" />
<window_info anchor="bottom" id="Run Dashboard" order="0" sideWeight="0.49946696" weight="0.42650333" />
<window_info anchor="bottom" id="Messages" order="1" sideWeight="0.49733475" weight="0.2806236" /> <window_info anchor="bottom" id="Messages" order="1" sideWeight="0.49733475" weight="0.2806236" />
<window_info anchor="bottom" id="Message" order="2" /> <window_info anchor="bottom" id="Message" order="2" />
<window_info anchor="bottom" id="Find" order="3" sideWeight="0.4989339" weight="0.3596882" /> <window_info anchor="bottom" id="Find" order="3" sideWeight="0.4989339" weight="0.3596882" />
<window_info anchor="bottom" id="Run" order="4" sideWeight="0.49840087" weight="0.4610245" /> <window_info active="true" anchor="bottom" id="Run" order="4" sideWeight="0.49840087" visible="true" weight="0.056792874" />
<window_info anchor="bottom" id="Debug" order="5" weight="0.2962138" /> <window_info anchor="bottom" id="Debug" order="5" weight="0.2962138" />
<window_info anchor="bottom" id="Cvs" order="6" weight="0.25" /> <window_info anchor="bottom" id="Cvs" order="6" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="7" weight="0.4" /> <window_info anchor="bottom" id="Inspection" order="7" weight="0.4" />
...@@ -1096,9 +1098,9 @@ ...@@ -1096,9 +1098,9 @@
<window_info anchor="bottom" id="Spring" order="10" weight="0.32850778" /> <window_info anchor="bottom" id="Spring" order="10" weight="0.32850778" />
<window_info anchor="bottom" id="Terminal" order="11" weight="0.32739422" /> <window_info anchor="bottom" id="Terminal" order="11" weight="0.32739422" />
<window_info anchor="bottom" id="Docker" order="12" show_stripe_button="false" /> <window_info anchor="bottom" id="Docker" order="12" show_stripe_button="false" />
<window_info active="true" anchor="bottom" id="Event Log" order="13" sideWeight="0.50159913" side_tool="true" visible="true" weight="0.41536748" /> <window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" side_tool="true" weight="0.6648107" />
<window_info anchor="bottom" id="Database Changes" order="14" /> <window_info anchor="bottom" id="Database Changes" order="14" />
<window_info anchor="bottom" id="Version Control" order="15" weight="0.18819599" /> <window_info anchor="bottom" id="Version Control" order="15" sideWeight="0.49946696" weight="0.24164811" />
<window_info anchor="bottom" id="Java Enterprise" order="16" weight="0.52895325" /> <window_info anchor="bottom" id="Java Enterprise" order="16" weight="0.52895325" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" /> <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" /> <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
...@@ -1162,393 +1164,375 @@ ...@@ -1162,393 +1164,375 @@
</breakpoint-manager> </breakpoint-manager>
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/27.1-jre/5dfa313690a903560bf27478345780a607bf1e9b/guava-27.1-jre-sources.jar!/com/google/common/collect/MapMaker.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/DocumentController.java" />
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/ByteArrayResource.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-108"> <state relative-caret-position="-445">
<caret line="88" column="19" selection-start-line="88" selection-start-column="19" selection-end-line="88" selection-end-column="19" /> <caret line="42" column="13" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/util/TreeMap.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/FileInputStream.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="272"> <state relative-caret-position="89">
<caret line="110" column="13" selection-start-line="110" selection-start-column="13" selection-end-line="110" selection-end-column="13" /> <caret line="137" column="8" selection-start-line="137" selection-start-column="8" selection-end-line="137" selection-end-column="8" />
<folding>
<element signature="e#5767#5768#0" expanded="true" />
<element signature="e#5800#5801#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/util/stream/Stream.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyChoiceResponse.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="261"> <state relative-caret-position="72">
<caret line="806" column="13" selection-start-line="806" selection-start-column="13" selection-end-line="806" selection-end-column="13" /> <caret line="10" column="4" selection-start-line="10" selection-start-column="4" selection-end-line="10" selection-end-column="4" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/SensitiveUser.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/File.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162"> <state relative-caret-position="-77">
<caret line="19" column="26" selection-start-line="19" selection-start-column="13" selection-end-line="19" selection-end-column="26" /> <caret line="452" column="25" selection-start-line="452" selection-start-column="18" selection-end-line="452" selection-end-column="25" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/util/HashMap.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/CrudService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="251"> <state relative-caret-position="72">
<caret line="783" column="16" selection-start-line="783" selection-start-column="16" selection-end-line="783" selection-end-column="16" /> <caret line="6" column="22" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" />
<folding>
<element signature="e#19327#19328#0" expanded="true" />
<element signature="e#19410#19411#0" expanded="true" />
<element signature="e#31056#31057#0" expanded="true" />
<element signature="e#31094#31095#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/lang/Integer.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DeviceService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209"> <state relative-caret-position="288">
<caret line="51" column="19" selection-start-line="51" selection-start-column="19" selection-end-line="51" selection-end-column="19" /> <caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/27.1-jre/5dfa313690a903560bf27478345780a607bf1e9b/guava-27.1-jre-sources.jar!/com/google/common/collect/ImmutableBiMap.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/DefaultData.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209"> <state relative-caret-position="90">
<caret line="69" column="44" selection-start-line="69" selection-start-column="44" selection-end-line="69" selection-end-column="44" /> <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
<folding>
<element signature="e#2853#2854#0" expanded="true" />
<element signature="e#2907#2908#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/lang/Long.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="276"> <state relative-caret-position="108">
<caret line="990" column="15" selection-start-line="990" selection-start-column="15" selection-end-line="990" selection-end-column="15" /> <caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
<folding>
<element signature="e#37238#37239#0" expanded="true" />
<element signature="e#37271#37272#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/27.1-jre/5dfa313690a903560bf27478345780a607bf1e9b/guava-27.1-jre-sources.jar!/com/google/common/collect/ImmutableMap.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/IOException.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-8804"> <state relative-caret-position="270">
<caret line="64" column="22" selection-start-line="64" selection-start-column="22" selection-end-line="64" selection-end-column="22" /> <caret line="38" column="6" selection-start-line="38" selection-start-column="6" selection-end-line="38" selection-end-column="6" />
<folding>
<element signature="e#5105#5106#0" expanded="true" />
<element signature="e#5147#5148#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/util/CodeTools.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <state relative-caret-position="72">
<caret line="22" column="18" selection-start-line="22" selection-start-column="18" selection-end-line="22" selection-end-column="18" /> <caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyContent.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/net/SocketInputStream.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="468"> <state relative-caret-position="1530">
<caret line="34" column="20" selection-start-line="34" selection-start-column="20" selection-end-line="34" selection-end-column="20" /> <caret line="115" selection-start-line="115" selection-end-line="115" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicy.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/Document.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="162"> <state relative-caret-position="270">
<caret line="21" column="13" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" /> <caret line="21" selection-start-line="21" selection-end-line="21" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/util/stream/Collectors.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="20394"> <state relative-caret-position="111">
<caret line="1209" column="30" selection-start-line="1209" selection-start-column="30" selection-end-line="1209" selection-end-column="30" /> <caret line="28" column="54" selection-start-line="28" selection-start-column="54" selection-end-line="28" selection-end-column="54" />
<folding>
<element signature="e#33990#33991#0" expanded="true" />
<element signature="e#34045#34046#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/27.1-jre/5dfa313690a903560bf27478345780a607bf1e9b/guava-27.1-jre-sources.jar!/com/google/common/collect/Streams.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/RemoteService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="5580"> <state relative-caret-position="111">
<caret line="354" column="5" selection-start-line="354" selection-start-column="5" selection-end-line="354" selection-end-column="5" /> <caret line="61" column="28" selection-start-line="61" selection-start-column="28" selection-end-line="61" selection-end-column="28" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/DocumentController.java" /> <entry file="file://$PROJECT_DIR$/gateway/build.gradle">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/ByteArrayResource.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-445"> <state relative-caret-position="717">
<caret line="42" column="13" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" /> <caret line="50" column="14" selection-start-line="50" selection-start-column="14" selection-end-line="50" selection-end-column="14" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/FileInputStream.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyPolicyReportResponse.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="89"> <state relative-caret-position="306">
<caret line="137" column="8" selection-start-line="137" selection-start-column="8" selection-end-line="137" selection-end-column="8" /> <caret line="25" column="1" selection-start-line="25" selection-start-column="1" selection-end-line="25" selection-end-column="1" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/UserController.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/resources/application.properties">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="414"> <state relative-caret-position="234">
<caret line="31" column="5" selection-start-line="31" selection-start-column="5" selection-end-line="31" selection-end-column="5" /> <caret line="13" column="26" selection-start-line="13" selection-start-column="26" selection-end-line="13" selection-end-column="26" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyChoiceResponse.java"> <entry file="file://$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="72"> <state relative-caret-position="3114">
<caret line="10" column="4" selection-start-line="10" selection-start-column="4" selection-end-line="10" selection-end-column="4" /> <caret line="202" column="31" selection-start-line="202" selection-start-column="31" selection-end-line="202" selection-end-column="31" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/User.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/Resource.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <state relative-caret-position="522">
<caret line="22" column="19" selection-start-line="22" selection-start-column="19" selection-end-line="22" selection-end-column="19" /> <caret line="51" column="17" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="17" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/File.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/InputStreamSource.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-77"> <state relative-caret-position="684">
<caret line="452" column="25" selection-start-line="452" selection-start-column="18" selection-end-line="452" selection-end-column="25" /> <caret line="53" column="13" selection-start-line="53" selection-start-column="13" selection-end-line="53" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java"> <entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/InputStream.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="273"> <state relative-caret-position="378">
<caret line="50" column="26" selection-start-line="50" selection-start-column="19" selection-end-line="50" selection-end-column="26" /> <caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DocumentController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="486"> <state relative-caret-position="342">
<caret line="43" column="5" selection-start-line="43" selection-start-column="5" selection-end-line="43" selection-end-column="5" /> <caret line="31" column="32" selection-start-line="31" selection-start-column="32" selection-end-line="31" selection-end-column="32" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/CrudService.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DocumentService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="72"> <state relative-caret-position="270">
<caret line="6" column="22" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" /> <caret line="23" column="33" selection-start-line="23" selection-start-column="33" selection-end-line="23" selection-end-column="33" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DeviceService.java"> <entry file="jar://$USER_HOME$/.gradle/wrapper/dists/gradle-4.10.3-bin/31t79e2qsceia4mkbojplrgx/gradle-4.10.3/lib/gradle-core-api-4.10.3.jar!/org/gradle/api/Project.class">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288"> <state relative-caret-position="36">
<caret line="23" lean-forward="true" selection-start-line="23" selection-end-line="23" /> <caret line="2" column="37" selection-start-line="2" selection-start-column="37" selection-end-line="2" selection-end-column="37" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/DefaultData.java"> <entry file="file://$PROJECT_DIR$/cloud/build.gradle">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="564">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" /> <caret line="48" selection-start-line="48" selection-end-line="48" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.java"> <entry file="file://$PROJECT_DIR$/contract/.gitignore">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor" />
<state relative-caret-position="108">
<caret line="10" column="13" selection-start-line="10" selection-start-column="13" selection-end-line="10" selection-end-column="13" />
</state>
</provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/IOException.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.web3j/quorum/4.0.6/57e1fc8a1bc9846cb4c5ca82d070771cd0033389/quorum-4.0.6-sources.jar!/org/web3j/quorum/Quorum.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="126">
<caret line="38" column="6" selection-start-line="38" selection-start-column="6" selection-end-line="38" selection-end-column="6" /> <caret line="14" column="37" selection-start-line="14" selection-start-column="32" selection-end-line="14" selection-end-column="37" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/CloudApplication.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.web3j/core/4.0.4/f5bd332fb36b9e947967c930de1177a404ca1b2d/core-4.0.4-sources.jar!/org/web3j/protocol/core/methods/response/TransactionReceipt.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90"> <state relative-caret-position="144">
<caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" /> <caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
<folding>
<element signature="e#399#400#0" expanded="true" />
<element signature="e#466#467#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/util/CodeTools.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.web3j/core/4.0.4/f5bd332fb36b9e947967c930de1177a404ca1b2d/core-4.0.4-sources.jar!/org/web3j/tx/ClientTransactionManager.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="72"> <state relative-caret-position="162">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" /> <caret line="15" column="64" selection-start-line="15" selection-start-column="46" selection-end-line="15" selection-end-column="64" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/net/SocketInputStream.java"> <entry file="file://$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/GatewayContract.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1530"> <state relative-caret-position="-522">
<caret line="115" selection-start-line="115" selection-end-line="115" /> <caret line="35" column="13" selection-start-line="35" selection-start-column="13" selection-end-line="35" selection-end-column="13" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/Document.java"> <entry file="file://$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/DeviceContract.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="260">
<caret line="21" selection-start-line="21" selection-end-line="21" /> <caret line="35" column="13" selection-start-line="35" selection-start-column="13" selection-end-line="35" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.web3j/core/4.0.4/f5bd332fb36b9e947967c930de1177a404ca1b2d/core-4.0.4-sources.jar!/org/web3j/tx/Contract.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="503"> <state relative-caret-position="-864">
<caret line="58" column="38" selection-start-line="58" selection-start-column="38" selection-end-line="58" selection-end-column="38" /> <caret line="346" column="48" selection-start-line="346" selection-start-column="37" selection-end-line="346" selection-end-column="48" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java"> <entry file="file://$PROJECT_DIR$/contract/src/test/java/edu/prlab/tyler/iotgateway/contract/ContractTester.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="326"> <state relative-caret-position="372">
<caret line="87" column="62" selection-start-line="87" selection-start-column="41" selection-end-line="87" selection-end-column="62" /> <caret line="103" column="71" selection-start-line="103" selection-start-column="71" selection-end-line="103" selection-end-column="71" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java"> <entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.web3j/core/4.0.4/f5bd332fb36b9e947967c930de1177a404ca1b2d/core-4.0.4-sources.jar!/org/web3j/protocol/core/RemoteCall.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="111"> <state relative-caret-position="522">
<caret line="28" column="54" selection-start-line="28" selection-start-column="54" selection-end-line="28" selection-end-column="54" /> <caret line="36" column="7" lean-forward="true" selection-start-line="36" selection-start-column="7" selection-end-line="36" selection-end-column="7" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/RemoteService.java"> <entry file="file://$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractReference.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="111"> <state relative-caret-position="324">
<caret line="61" column="28" selection-start-line="61" selection-start-column="28" selection-end-line="61" selection-end-column="28" /> <caret line="18" column="3" lean-forward="true" selection-end-line="19" />
<folding>
<element signature="e#0#535#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java"> <entry file="file://$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="129"> <state relative-caret-position="378">
<caret line="62" column="72" selection-start-line="62" selection-start-column="72" selection-end-line="62" selection-end-column="72" /> <caret line="21" column="20" selection-end-line="40" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/build.gradle"> <entry file="file://$PROJECT_DIR$/contract/src/main/java/edu/prlab/tyler/iotgateway/contract/common/QuorumContractUtil.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="717"> <state relative-caret-position="216">
<caret line="50" column="14" selection-start-line="50" selection-start-column="14" selection-end-line="50" selection-end-column="14" /> <caret line="12" lean-forward="true" selection-start-line="12" selection-end-line="12" />
<folding>
<element signature="e#0#171#0" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicyReport.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicy.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="92"> <state relative-caret-position="234">
<caret line="17" column="13" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" /> <caret line="25" column="22" lean-forward="true" selection-start-line="25" selection-start-column="22" selection-end-line="25" selection-end-column="22" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/model/PrivacyPolicyReportResponse.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306"> <state relative-caret-position="571">
<caret line="25" column="1" selection-start-line="25" selection-start-column="1" selection-end-line="25" selection-end-column="1" /> <caret line="58" column="25" selection-start-line="58" selection-start-column="18" selection-end-line="58" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/resources/application.properties"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234"> <state relative-caret-position="612">
<caret line="13" column="26" selection-start-line="13" selection-start-column="26" selection-end-line="13" selection-end-column="26" /> <caret line="44" selection-start-line="44" selection-end-line="44" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/Resource.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyContent.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522"> <state relative-caret-position="396">
<caret line="51" column="17" selection-start-line="51" selection-start-column="17" selection-end-line="51" selection-end-column="17" /> <caret line="30" column="16" selection-start-line="30" selection-start-column="16" selection-end-line="30" selection-end-column="16" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.1.6.RELEASE/aa74700198d24e1ed8b3c8ad663ad50733658ac6/spring-core-5.1.6.RELEASE-sources.jar!/org/springframework/core/io/InputStreamSource.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/device/Device.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="684"> <state relative-caret-position="216">
<caret line="53" column="13" selection-start-line="53" selection-start-column="13" selection-end-line="53" selection-end-column="13" /> <caret line="20" column="18" selection-start-line="20" selection-start-column="12" selection-end-line="20" selection-end-column="18" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/io/InputStream.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378"> <state relative-caret-position="474">
<caret line="44" column="22" selection-start-line="44" selection-start-column="22" selection-end-line="44" selection-end-column="22" /> <caret line="96" column="75" selection-start-line="96" selection-start-column="75" selection-end-line="96" selection-end-column="75" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DocumentController.java"> <entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342"> <state relative-caret-position="596">
<caret line="31" column="32" selection-start-line="31" selection-start-column="32" selection-end-line="31" selection-end-column="32" /> <caret line="129" column="32" selection-start-line="129" selection-start-column="32" selection-end-line="129" selection-end-column="32" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/CloudApplication.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="324"> <state relative-caret-position="90">
<caret line="28" column="11" selection-start-line="28" selection-start-column="11" selection-end-line="28" selection-end-column="11" /> <caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="e#399#400#0" expanded="true" />
<element signature="e#466#467#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/build.gradle"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/UserController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1098"> <state relative-caret-position="414">
<caret line="61" column="5" selection-start-line="61" selection-start-column="5" selection-end-line="61" selection-end-column="5" /> <caret line="31" column="5" selection-start-line="31" selection-start-column="5" selection-end-line="31" selection-end-column="5" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DocumentService.java"> <entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270"> <state relative-caret-position="216">
<caret line="23" column="33" selection-start-line="23" selection-start-column="33" selection-end-line="23" selection-end-column="33" /> <caret line="36" column="5" lean-forward="true" selection-start-line="36" selection-start-column="5" selection-end-line="36" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="jar://$USER_HOME$/.gradle/wrapper/dists/gradle-4.10.3-bin/31t79e2qsceia4mkbojplrgx/gradle-4.10.3/lib/gradle-core-api-4.10.3.jar!/org/gradle/api/Project.class"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/User.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="36"> <state relative-caret-position="306">
<caret line="2" column="37" selection-start-line="2" selection-start-column="37" selection-end-line="2" selection-end-column="37" /> <caret line="22" column="19" selection-start-line="22" selection-start-column="19" selection-end-line="22" selection-end-column="19" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicyReport.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="370"> <state relative-caret-position="486">
<caret line="202" column="31" selection-start-line="202" selection-start-column="31" selection-end-line="202" selection-end-column="31" /> <caret line="35" column="30" lean-forward="true" selection-start-line="35" selection-start-column="30" selection-end-line="35" selection-end-column="30" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java"> <entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="110"> <state relative-caret-position="4060">
<caret line="44" column="41" selection-start-line="44" selection-start-column="31" selection-end-line="44" selection-end-column="41" /> <caret line="729" column="42" selection-start-line="729" selection-start-column="42" selection-end-line="729" selection-end-column="42" />
<folding> <folding>
<element signature="imports" expanded="true" /> <element signature="imports" expanded="true" />
</folding> </folding>
...@@ -1566,9 +1550,9 @@ ...@@ -1566,9 +1550,9 @@
<artifact-editor> <artifact-editor>
<show-content> <show-content>
<type id="library" /> <type id="library" />
<type id="jpa-descriptors" />
<type id="javaee-facet-resources" /> <type id="javaee-facet-resources" />
<type id="artifact" /> <type id="artifact" />
<type id="jpa-descriptors" />
</show-content> </show-content>
</artifact-editor> </artifact-editor>
<last-edited>iotgateway.cloud:jar</last-edited> <last-edited>iotgateway.cloud:jar</last-edited>
...@@ -1624,6 +1608,7 @@ ...@@ -1624,6 +1608,7 @@
<option name="proportions"> <option name="proportions">
<list> <list>
<option value="0.3115753" /> <option value="0.3115753" />
<option value="0.6" />
</list> </list>
</option> </option>
</splitter-proportions> </splitter-proportions>
......
...@@ -57,7 +57,4 @@ bootJar { ...@@ -57,7 +57,4 @@ bootJar {
attributes 'Start-Class': 'edu.prlab.tyler.iotgateway.cloud.CloudApplication' attributes 'Start-Class': 'edu.prlab.tyler.iotgateway.cloud.CloudApplication'
attributes 'Main-Class': 'org.springframework.boot.loader.PropertiesLauncher' attributes 'Main-Class': 'org.springframework.boot.loader.PropertiesLauncher'
} }
from('src/main/resources/document') {
into('document')
}
} }
...@@ -39,6 +39,7 @@ public class DefaultData implements ApplicationRunner { ...@@ -39,6 +39,7 @@ public class DefaultData implements ApplicationRunner {
this.privacyPolicyReportService = privacyPolicyReportService; this.privacyPolicyReportService = privacyPolicyReportService;
this.documentService = documentService; this.documentService = documentService;
} }
@Value("classpath:document/心跳血氧機檢測報告.pdf") @Value("classpath:document/心跳血氧機檢測報告.pdf")
Resource oxygenResource; Resource oxygenResource;
...@@ -486,12 +487,608 @@ public class DefaultData implements ApplicationRunner { ...@@ -486,12 +487,608 @@ public class DefaultData implements ApplicationRunner {
.build(); .build();
privacyPolicyReportService.add(gasPrivacyPolicyReport); privacyPolicyReportService.add(gasPrivacyPolicyReport);
//==================================================================================
//心跳感測裝置
Device heartbeatDevice = Device.builder()
.udn("2udwl107-4128-4e6d-a32e-3xg04i62rukl")
.name("心跳感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("Maxim Integrated")
.serialNumber("3176927193")
.url("https://www.maximintegrated.com/en.html")
.build())
.model(Model.builder()
.name("心跳感測裝置")
.description("本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況")
.url("https://www.maximintegrated.com/en/products/sensors/MAX30100.html")
.build())
.upc("B00HXXO332")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(heartbeatDevice);
PrivacyPolicy heartbeatPrivacyPolicy = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-015370fe0a3e")
.description("本APP會蒐集使用者心跳作為第三方之分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW)
.build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c664fl4")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者心跳作為第三方之分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("心跳健康資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build(), Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c664f45")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者心跳作為第三方之分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("心跳健康資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()
))
.build();
document = resourceToMultipartFile(oxygenResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport heartBeatPolicyReport = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者心跳作為第三方之分析資料。")
.device(heartbeatDevice)
.policies(asList(heartbeatPrivacyPolicy))
.document(document)
.build();
privacyPolicyReportService.add(heartBeatPolicyReport);
//血氧感測裝置
Device oxygen2Device = Device.builder()
.udn("z5fx8c6b-4128-4e6d-a32e-tyribifgsne9")
.name("血氧感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("Maxim Integrated")
.serialNumber("3176927193")
.url("https://www.maximintegrated.com/en.html")
.build())
.model(Model.builder()
.name("血氧感測裝置")
.description("本設備檢測人體內血液中氧濃度含量," +
"例如能監測動脈中攜帶氧的血紅蛋白與不攜帶氧的血紅蛋白的比例," +
"本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況")
.url("https://www.maximintegrated.com/en/products/sensors/MAX30100.html")
.build())
.upc("B00HXXO332")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(oxygen2Device);
PrivacyPolicy oxygen2PrivacyPolicy = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014870fe0a3e")
.description("本APP會蒐集使用者血氧作為第三方之分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW)
.build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c664f48")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者血氧作為第三方之分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("血氧資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build(), Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c664f89")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者血氧作為第三方之分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("血氧資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()
)).build();
document = resourceToMultipartFile(oxygenResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport oxygen2PrivacyPolicyReport = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本設備檢測人體內血液中氧濃度含量," +
"例如能監測動脈中攜帶氧的血紅蛋白與不攜帶氧的血紅蛋白的比例," +
"本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況")
.device(oxygen2Device)
.policies(asList(oxygen2PrivacyPolicy))
.document(document)
.build();
privacyPolicyReportService.add(oxygen2PrivacyPolicyReport);
//PM2.5粉塵感測裝置
Device dustDevice2 = Device.builder()
.udn("cx9lrnuy-6834-4e6a-9305-s3zlkheeplcc")
.name("PM2.5粉塵感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("PM2.5粉塵感測裝置")
.description("最新推出G7,全稱 PMS7003,厚度僅12mm,專為便攜式檢測產品設計。" +
"可兼容G1和G5,更小更薄,進出氣口在同一側,全金屬外殼。" +
"PM1.0、PM2.5、PM10濃度以及顆粒物個數等12個參數輸出。")
.url("https://www.taiwaniot.com.tw/product/%E6%94%80%E8%97%A4-g7-pms7003-pm1-0-pm2-5-pm10-%E7%B2%89%E5%A1%B5%E6%BF%83%E5%BA%A6%E6%84%9F%E6%B8%AC%E5%99%A8/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(dustDevice2);
PrivacyPolicy dustPrivacyPolicy2 = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014870fe0a1j")
.description("本APP會蒐集使用者周遭空氣品質作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c66s1r9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭空氣品質作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("空氣品質資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()))
.build();
document = resourceToMultipartFile(dustResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport dustPrivacyPolicyReport2 = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭空氣品質作為第三方資料之地區環境分析資料。")
.device(dustDevice2)
.policies(asList(dustPrivacyPolicy2))
.document(document)
.build();
privacyPolicyReportService.add(dustPrivacyPolicyReport2);
//紫外線感測裝置
Device sensorDevice2 = Device.builder()
.udn("72ht8ggp-6834-4e6a-9305-7hq4a9pccsfd")
.name("紫外線感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("UVM-30A紫外線傳感器")
.description("專為需要高可靠性和精確性測量紫外線指數(UVI)的場合所設計,且適合測量太陽光紫外線強度總量,適用於小尺寸裝置、行動電話等便攜產品。")
.url("https://www.taiwaniot.com.tw/product/uvm-30a%E7%B4%AB%E5%A4%96%E7%B7%9A%E5%82%B3%E6%84%9F%E5%99%A8%E6%A8%A1%E7%B5%84/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(sensorDevice2);
PrivacyPolicy sensorPrivacyPolicy2 = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014870fe0a3e")
.description("本APP會蒐集使用者周遭紫外線強度作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c664fb9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭紫外線強度作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("紫外線強度資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()))
.build();
document = resourceToMultipartFile(sensorResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport sensorPrivacyPolicyReport2 = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭紫外線強度作為第三方資料之地區環境分析資料。")
.device(sensorDevice2)
.policies(asList(sensorPrivacyPolicy2))
.document(document)
.build();
privacyPolicyReportService.add(sensorPrivacyPolicyReport2);
//濕度感測裝置
Device humidityDevice = Device.builder()
.udn("40ceb1e7-6834-4e6a-9305-57348as38asc")
.name("濕度感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("濕度感測裝置")
.description("濕度感測器是一款含有已校準數位信號輸出的濕度感測器," +
"它應用專用的數位模組採集技術和濕度傳感技術,來確保產品具有極高的可靠性與卓越的長期穩定性")
.url("https://www.taiwaniot.com.tw/product/dht22-%E6%BA%AB%E5%BA%A6%E6%A8%A1%E7%B5%84-%E6%BF%95%E5%BA%A6%E6%A8%A1%E7%B5%84-%E6%BA%AB%E6%BF%95%E5%BA%A6%E6%A8%A1%E7%B5%84-dht22/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(humidityDevice);
PrivacyPolicy humidityPrivacyPolicy = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014870fe00e1")
.description("本APP會蒐集使用者周遭濕度作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c6621f9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭濕度作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("濕度資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()
)).build();
document = resourceToMultipartFile(tempResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport humidityPrivacyPolicyReport = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭周遭濕度作為第三方資料之地區環境分析資料。")
.device(humidityDevice)
.policies(asList(humidityPrivacyPolicy))
.document(document)
.build();
privacyPolicyReportService.add(humidityPrivacyPolicyReport);
//溫度感測裝置
Device temp2Device = Device.builder()
.udn("knqxzdmu-6834-4e6a-9305-spyp3gvix2d4")
.name("溫度感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("溫度感測裝置")
.description("DHT22溫濕度感測器是一款含有已校準數位信號輸出的溫濕度複合感測器," +
"它應用專用的數位模組採集技術和溫濕度傳感技術,來確保產品具有極高的可靠性與卓越的長期穩定性")
.url("https://www.taiwaniot.com.tw/product/dht22-%E6%BA%AB%E5%BA%A6%E6%A8%A1%E7%B5%84-%E6%BF%95%E5%BA%A6%E6%A8%A1%E7%B5%84-%E6%BA%AB%E6%BF%95%E5%BA%A6%E6%A8%A1%E7%B5%84-dht22/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(temp2Device);
PrivacyPolicy tempPrivacyPolicy2 = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014870fe00e1")
.description("本APP會蒐集使用者周遭溫度作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c6621f9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭溫度作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("溫度資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()
)).build();
document = resourceToMultipartFile(tempResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport tempPrivacyPolicyReport2 = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭周遭溫度作為第三方資料之地區環境分析資料。")
.device(temp2Device)
.policies(asList(tempPrivacyPolicy2))
.document(document)
.build();
privacyPolicyReportService.add(tempPrivacyPolicyReport2);
//溫室氣體(甲烷)裝置
Device gas2Device = Device.builder()
.udn("iatm4k4x-6834-4e6a-9305-x4sqjb9wkir5")
.name("溫室氣體(甲烷)裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("溫室氣體(甲烷)裝置")
.description("MQ-4氣體感測器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫 (SnO2)。" +
"MQ-4氣體感測器對甲烷的靈敏度高,是一款適合多種應用的低成本感測器。")
.url("https://www.taiwaniot.com.tw/product/mq-4-ch4-%E5%A4%A9%E7%84%B6%E6%B0%A3%E3%80%81%E7%94%B2%E7%83%B7%E6%84%9F%E6%B8%AC%E5%99%A8%E6%A8%A1%E7%B5%84/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(gas2Device);
PrivacyPolicy gasPrivacyPolicy2 = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014642fe00e1")
.description("本APP會蒐集使用者周遭氣體作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c6621f9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭氣體作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("氣體資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()))
.build();
document = resourceToMultipartFile(gasResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport gasPrivacyPolicyReport2 = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭周遭氣體作為第三方資料之地區環境分析資料。")
.device(gas2Device)
.policies(asList(gasPrivacyPolicy2))
.document(document)
.build();
privacyPolicyReportService.add(gasPrivacyPolicyReport2);
//天然氣感測裝置
Device gas3Device = Device.builder()
.udn("3fvrenhl-6834-4e6a-9305-p7cujv6kfp7v")
.name("天然氣感測裝置")
.type(Device.Type.Sensor)
.manufacturer(Manufacturer.builder()
.name("台灣物聯科技")
.serialNumber("6307683948")
.url("https://www.taiwaniot.com.tw/")
.build())
.model(Model.builder()
.name("天然氣感測裝置")
.description("MQ-4氣體感測器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫 (SnO2)。" +
"此感測器可檢測多種可燃性氣體,特別是天然氣,是一款適合多種應用的低成本感測器。")
.url("https://www.taiwaniot.com.tw/product/mq-4-ch4-%E5%A4%A9%E7%84%B6%E6%B0%A3%E3%80%81%E7%94%B2%E7%83%B7%E6%84%9F%E6%B8%AC%E5%99%A8%E6%A8%A1%E7%B5%84/")
.build())
.upc("B0744D6C8X")
.location("25.013068, 121.541651")
.status(Device.Status.Disconnected)
.build();
deviceService.add(gas3Device);
PrivacyPolicy gasPrivacyPolicy3 = PrivacyPolicy.builder()
.id("abe5ca7b-780e-4857-87e6-014642fe00e1")
.description("本APP會蒐集使用者周遭天然氣作為第三方資料之地區環境分析資料。")
.collector(Collector.builder()
.name("AirRadio")
.email("[email protected]")
.phone("0987654177")
.build())
.access(Access.NON_IDENT)
.dispute(Dispute.builder()
.relatedOrganization("地方法院")
.type(Dispute.Type.LAW).build())
.remedies(asList(Remedy.builder()
.type(Remedy.Type.LAW).build()))
.statements(asList(Statement.builder()
.consequence("a1252c49-4188-4e6d-a32e-66604c6621f9")
.purposes(asList(Purpose.builder()
.type(Purpose.Type.PSEUDO_ANALYSIS)
.description("本APP會蒐集使用者周遭天然氣作為第三方資料之地區環境分析資料。")
.build()))
.data(asList(Datum.builder()
.type(Datum.Type.OTHER_CATEGORY)
.description("天然氣資料")
.build()))
.recipients(asList(Recipient.builder()
.entity("AirRadio")
.type(Recipient.Type.OURS)
.build()))
.retention(Retention.STATED_PURPOSE)
.build()))
.build();
document = resourceToMultipartFile(gasResource)
.flatMap(documentService::add)
.orElse(Document.builder().build());
PrivacyPolicyReport gasPrivacyPolicyReport3 = PrivacyPolicyReport.builder()
.id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a")
.version("1.0")
.description("本APP會蒐集使用者周遭周遭天然氣作為第三方資料之地區環境分析資料。")
.device(gas3Device)
.policies(asList(gasPrivacyPolicy3))
.document(document)
.build();
privacyPolicyReportService.add(gasPrivacyPolicyReport3);
} }
private Optional<MockMultipartFile> resourceToMultipartFile(Resource resource) { private Optional<MockMultipartFile> resourceToMultipartFile(Resource resource) {
try { try {
InputStream file = resource.getInputStream(); InputStream file = resource.getInputStream();
return Optional.of(new MockMultipartFile(resource.getFilename(), resource.getFilename(), return Optional.ofNullable(new MockMultipartFile(resource.getFilename(), resource.getFilename(),
"application/pdf", resource.getInputStream())); "application/pdf", resource.getInputStream()));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
......
//package edu.prlab.tyler.iotgateway.contract.common;
//
//import lombok.AllArgsConstructor;
//import lombok.Builder;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//import org.web3j.quorum.Quorum;
//import org.web3j.tx.ClientTransactionManager;
//import org.web3j.tx.gas.ContractGasProvider;
//
//@Data
//@Builder
//@NoArgsConstructor
//@AllArgsConstructor
//public class QuorumContractReference {
// private Quorum quorum;
// private ContractGasProvider provider;
// private ClientTransactionManager manager;
//}
//package edu.prlab.tyler.iotgateway.contract.common;
//
//import org.web3j.quorum.Quorum;
//import org.web3j.tx.ClientTransactionManager;
//import org.web3j.tx.gas.ContractGasProvider;
//import org.web3j.tx.gas.DefaultGasProvider;
//import org.web3j.tx.gas.StaticGasProvider;
//
//import java.math.BigInteger;
//import java.util.Optional;
//
//public abstract class QuorumContractService<Data, Contract extends org.web3j.tx.Contract> {
// private static final String rpcUrl = "http://localhost:22000";
//
// private static final ContractGasProvider DEFAULT_GAS_PROVIDER = new StaticGasProvider(
// BigInteger.ZERO,
// DefaultGasProvider.GAS_LIMIT
// );
//
// Quorum quorum;
// ContractGasProvider provider;
// ClientTransactionManager manager;
//
// public QuorumContractService(Quorum quorum, ContractGasProvider provider, ClientTransactionManager manager) {
// this.quorum = quorum;
// this.provider = provider;
// this.manager = manager;
// }
//
// //部屬合約
//
// protected Optional<Contract> deploy(QuorumContractReference reference) {
// return null;
// }
//
// protected Optional<Contract> load() {
//
// }
// //載入合約
//}
//package edu.prlab.tyler.iotgateway.contract.common;
//
//public class QuorumContractUtil {
//
// //合約呼叫函式
// public static
// //呼叫
//
// //驗證合約有效性
//
//
//}
...@@ -40,7 +40,7 @@ public class ContractTester { ...@@ -40,7 +40,7 @@ public class ContractTester {
// Credentials credentials = Credentials.create(privateKey); // Credentials credentials = Credentials.create(privateKey);
Quorum quorum = Quorum.build(new HttpService(rpcUrl)); Quorum quorum = Quorum.build(new HttpService(rpcUrl));
String userAddress = quorum.ethAccounts().send().getAccounts().get(quorum.ethAccounts().send().getAccounts().size() - 1); String userAddress = quorum.ethAccounts().send().getAccounts().get(0);
Assert.assertNotNull(userAddress); Assert.assertNotNull(userAddress);
ClientTransactionManager manager = new ClientTransactionManager(quorum, userAddress); ClientTransactionManager manager = new ClientTransactionManager(quorum, userAddress);
......
...@@ -87,29 +87,29 @@ ...@@ -87,29 +87,29 @@
<div id="tab1" class="tab"> <div id="tab1" class="tab">
<h2>Standard output</h2> <h2>Standard output</h2>
<span class="code"> <span class="code">
<pre>14:13:26.293 [Test worker] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] <pre>16:21:13.451 [Test worker] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.299 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 16:21:13.456 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
14:13:26.305 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 16:21:13.462 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
14:13:26.318 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 16:21:13.476 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
14:13:26.327 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests], using SpringBootContextLoader 16:21:13.487 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests], using SpringBootContextLoader
14:13:26.329 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests-context.xml] does not exist 16:21:13.490 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests-context.xml] does not exist
14:13:26.329 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTestsContext.groovy] does not exist 16:21:13.491 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTestsContext.groovy] does not exist
14:13:26.329 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}. 16:21:13.491 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
14:13:26.330 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: GatewayApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 16:21:13.492 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: GatewayApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
14:13:26.356 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.522 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.400 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\SpringBoot\iotgateway\gateway\build\classes\java\main\edu\prlab\tyler\iotgateway\gateway\GatewayApplication.class] 16:21:13.570 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\SpringBoot\iotgateway\gateway\build\classes\java\main\edu\prlab\tyler\iotgateway\gateway\GatewayApplication.class]
14:13:26.401 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration edu.prlab.tyler.iotgateway.gateway.GatewayApplication for test class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests 16:21:13.571 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration edu.prlab.tyler.iotgateway.gateway.GatewayApplication for test class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests
14:13:26.464 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: using defaults. 16:21:13.643 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: using defaults.
14:13:26.464 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] 16:21:13.643 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener]
14:13:26.476 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@1b8667a5, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@6a9b7e53, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@7e595118, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4a5bfbb6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@62c81617, org.springframework.test.context.transaction.TransactionalTestExecutionListener@531085fb, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6775cf10, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@72e61e03, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@503cd6e6, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@7d4be47, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4e90ece2, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@c44e535] 16:21:13.656 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@1b8667a5, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@6a9b7e53, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@7e595118, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4a5bfbb6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@62c81617, org.springframework.test.context.transaction.TransactionalTestExecutionListener@531085fb, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6775cf10, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@72e61e03, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@503cd6e6, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@7d4be47, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4e90ece2, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@c44e535]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.658 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.658 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.659 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.659 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.481 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@26c1b343 testClass = GatewayApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@7604582e testClass = GatewayApplicationTests, locations = '{}', classes = '{class edu.prlab.tyler.iotgateway.gateway.GatewayApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5dec0e8b, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@5bb44255, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@140c0cee, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1eb32443], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -&gt; true]], class annotated with @DirtiesContext [false] with mode [null]. 16:21:13.662 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@26c1b343 testClass = GatewayApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@7604582e testClass = GatewayApplicationTests, locations = '{}', classes = '{class edu.prlab.tyler.iotgateway.gateway.GatewayApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5dec0e8b, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@5bb44255, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@140c0cee, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1eb32443], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -&gt; true]], class annotated with @DirtiesContext [false] with mode [null].
14:13:26.482 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.663 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.482 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.663 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.497 [Test worker] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1} 16:21:13.679 [Test worker] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}
. ____ _ __ _ _ . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
...@@ -119,26 +119,26 @@ ...@@ -119,26 +119,26 @@
=========|_|==============|___/=/_/_/_/ =========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE) :: Spring Boot :: (v2.1.4.RELEASE)
2019-06-03 14:13:26.641 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Starting GatewayApplicationTests on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) 2019-06-10 16:21:13.836 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Starting GatewayApplicationTests on DESKTOP-1ADCP8A with PID 13652 (started by Tyler in D:\SpringBoot\iotgateway\gateway)
2019-06-03 14:13:26.642 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : No active profile set, falling back to default profiles: default 2019-06-10 16:21:13.837 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : No active profile set, falling back to default profiles: default
2019-06-03 14:13:27.069 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 2019-06-10 16:21:14.302 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-06-03 14:13:27.122 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 46ms. Found 3 repository interfaces. 2019-06-10 16:21:14.354 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 46ms. Found 3 repository interfaces.
2019-06-03 14:13:27.363 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2019-06-10 16:21:14.612 INFO 13652 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$e0e33b69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-06-03 14:13:27.491 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2019-06-10 16:21:14.750 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2019-06-03 14:13:27.630 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2019-06-10 16:21:14.907 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2019-06-03 14:13:27.703 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 2019-06-10 16:21:14.977 INFO 13652 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default name: default
...] ...]
2019-06-03 14:13:27.751 INFO 19448 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate Core {5.3.9.Final} 2019-06-10 16:21:15.025 INFO 13652 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate Core {5.3.9.Final}
2019-06-03 14:13:27.752 INFO 19448 --- [ Test worker] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found 2019-06-10 16:21:15.026 INFO 13652 --- [ Test worker] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2019-06-03 14:13:27.858 INFO 19448 --- [ Test worker] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.4.Final} 2019-06-10 16:21:15.131 INFO 13652 --- [ Test worker] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-06-03 14:13:27.977 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2019-06-10 16:21:15.247 INFO 13652 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2019-06-03 14:13:28.656 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' 2019-06-10 16:21:15.987 INFO 13652 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@459d24be'
2019-06-03 14:13:28.659 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2019-06-10 16:21:15.990 INFO 13652 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-06-03 14:13:29.437 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-06-10 16:21:16.807 INFO 13652 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-06-03 14:13:29.474 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2019-06-10 16:21:16.844 WARN 13652 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-06-03 14:13:29.680 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Started GatewayApplicationTests in 3.178 seconds (JVM running for 3.836) 2019-06-10 16:21:17.077 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Started GatewayApplicationTests in 3.392 seconds (JVM running for 4.234)
2019-06-03 14:13:29.697 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory 2019-06-10 16:21:17.097 INFO 13652 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
</pre> </pre>
</span> </span>
</div> </div>
...@@ -150,7 +150,7 @@ ...@@ -150,7 +150,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/3 下午 02:13:31</p> <a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/10 下午 04:21:19</p>
</div> </div>
</div> </div>
</body> </body>
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">0.649s</div> <div class="counter">0.687s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
</thead> </thead>
<tr> <tr>
<td class="success">getPrivacyPolicyAndSetChoice</td> <td class="success">getPrivacyPolicyAndSetChoice</td>
<td class="success">0.649s</td> <td class="success">0.687s</td>
<td class="success">passed</td> <td class="success">passed</td>
</tr> </tr>
</table> </table>
...@@ -87,10 +87,10 @@ ...@@ -87,10 +87,10 @@
<div id="tab1" class="tab"> <div id="tab1" class="tab">
<h2>Standard output</h2> <h2>Standard output</h2>
<span class="code"> <span class="code">
<pre>2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader <pre>2019-06-10 16:21:17.274 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader
2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}. 2019-06-10 16:21:17.274 INFO 13652 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}.
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] 2019-06-10 16:21:17.276 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener]
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@35f71a, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@1f565b02, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@2f8d0bfa, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@14426abb, org.springframework.test.context.support.DirtiesContextTestExecutionListener@3b60c20e, org.springframework.test.context.transaction.TransactionalTestExecutionListener@1643102b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@51561bc2, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@5646a4e1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@6b8b7c95, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6547fb87, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4ae74e6, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@672cb93e] 2019-06-10 16:21:17.276 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@254d5edb, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@483a64c, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@3bda8b0d, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@190ba193, org.springframework.test.context.support.DirtiesContextTestExecutionListener@567f8fef, org.springframework.test.context.transaction.TransactionalTestExecutionListener@4f57f2aa, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@203a8aae, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@64f9b003, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@4e535b84, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@3ee13246, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4a7aa0ce, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@632a682a]
. ____ _ __ _ _ . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
...@@ -100,26 +100,26 @@ ...@@ -100,26 +100,26 @@
=========|_|==============|___/=/_/_/_/ =========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE) :: Spring Boot :: (v2.1.4.RELEASE)
2019-06-03 14:13:29.876 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) 2019-06-10 16:21:17.297 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 13652 (started by Tyler in D:\SpringBoot\iotgateway\gateway)
2019-06-03 14:13:29.877 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default 2019-06-10 16:21:17.297 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default
2019-06-03 14:13:29.974 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 2019-06-10 16:21:17.418 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-06-03 14:13:29.982 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 8ms. Found 3 repository interfaces. 2019-06-10 16:21:17.430 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12ms. Found 3 repository interfaces.
2019-06-03 14:13:30.021 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2019-06-10 16:21:17.477 INFO 13652 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$e0e33b69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... 2019-06-10 16:21:17.526 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting...
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. 2019-06-10 16:21:17.528 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed.
2019-06-03 14:13:30.097 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 2019-06-10 16:21:17.554 INFO 13652 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default name: default
...] ...]
2019-06-03 14:13:30.107 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2019-06-10 16:21:17.564 INFO 13652 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' 2019-06-10 16:21:17.662 INFO 13652 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@459d24be'
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2019-06-10 16:21:17.662 INFO 13652 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-06-03 14:13:30.449 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-06-10 16:21:17.926 INFO 13652 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-06-03 14:13:30.457 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2019-06-10 16:21:17.934 WARN 13652 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-06-03 14:13:30.612 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.749 seconds (JVM running for 4.767) 2019-06-10 16:21:18.120 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.842 seconds (JVM running for 5.277)
2019-06-03 14:13:30.613 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory 2019-06-10 16:21:18.121 INFO 13652 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
2019-06-03 14:13:30.624 INFO 19448 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet '' 2019-06-10 16:21:18.135 INFO 13652 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet ''
2019-06-03 14:13:30.625 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet '' 2019-06-10 16:21:18.136 INFO 13652 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet ''
2019-06-03 14:13:30.633 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 8 ms 2019-06-10 16:21:18.146 INFO 13652 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 10 ms
MockHttpServletRequest: MockHttpServletRequest:
HTTP Method = POST HTTP Method = POST
...@@ -301,7 +301,7 @@ MockHttpServletResponse: ...@@ -301,7 +301,7 @@ MockHttpServletResponse:
Error message = null Error message = null
Headers = [Content-Type:&quot;application/json;charset=UTF-8&quot;] Headers = [Content-Type:&quot;application/json;charset=UTF-8&quot;]
Content type = application/json;charset=UTF-8 Content type = application/json;charset=UTF-8
Body = {&quot;id&quot;:1,&quot;localDateTime&quot;:&quot;2019-06-03T14:13:31.205&quot;,&quot;privacyChoice&quot;:{&quot;id&quot;:1,&quot;privacyContent&quot;:{&quot;id&quot;:1,&quot;user&quot;:{&quot;id&quot;:1,&quot;account&quot;:&quot;test&quot;,&quot;password&quot;:null},&quot;device&quot;:{&quot;udn&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fb8&quot;,&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;type&quot;:&quot;Sensor&quot;,&quot;manufacturer&quot;:{&quot;name&quot;:&quot;Maxim Integrated&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en.html&quot;,&quot;serialNumber&quot;:&quot;3176927193&quot;},&quot;model&quot;:{&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en/products/sensors/MAX30100.html&quot;,&quot;description&quot;:&quot;本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況&quot;},&quot;upc&quot;:&quot;B00HXXO332&quot;,&quot;location&quot;:&quot;25.013068, 121.541651&quot;,&quot;icons&quot;:[],&quot;status&quot;:&quot;Disconnected&quot;},&quot;policy&quot;:{&quot;id&quot;:&quot;1&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;,&quot;collector&quot;:{&quot;name&quot;:&quot;AirRadio&quot;,&quot;phone&quot;:&quot;0987654177&quot;,&quot;email&quot;:&quot;[email protected]&quot;},&quot;dispute&quot;:{&quot;relatedOrganization&quot;:&quot;地方法院&quot;,&quot;type&quot;:&quot;LAW&quot;},&quot;access&quot;:&quot;NON_IDENT&quot;,&quot;remedies&quot;:[{&quot;type&quot;:&quot;LAW&quot;}],&quot;statements&quot;:[{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fl4&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;},{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664f45&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;}]}},&quot;accepted&quot;:true,&quot;isAccepted&quot;:true}} Body = {&quot;id&quot;:1,&quot;localDateTime&quot;:&quot;2019-06-10T16:21:18.758&quot;,&quot;privacyChoice&quot;:{&quot;id&quot;:1,&quot;privacyContent&quot;:{&quot;id&quot;:1,&quot;user&quot;:{&quot;id&quot;:1,&quot;account&quot;:&quot;test&quot;,&quot;password&quot;:null},&quot;device&quot;:{&quot;udn&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fb8&quot;,&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;type&quot;:&quot;Sensor&quot;,&quot;manufacturer&quot;:{&quot;name&quot;:&quot;Maxim Integrated&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en.html&quot;,&quot;serialNumber&quot;:&quot;3176927193&quot;},&quot;model&quot;:{&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en/products/sensors/MAX30100.html&quot;,&quot;description&quot;:&quot;本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況&quot;},&quot;upc&quot;:&quot;B00HXXO332&quot;,&quot;location&quot;:&quot;25.013068, 121.541651&quot;,&quot;icons&quot;:[],&quot;status&quot;:&quot;Disconnected&quot;},&quot;policy&quot;:{&quot;id&quot;:&quot;1&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;,&quot;collector&quot;:{&quot;name&quot;:&quot;AirRadio&quot;,&quot;phone&quot;:&quot;0987654177&quot;,&quot;email&quot;:&quot;[email protected]&quot;},&quot;dispute&quot;:{&quot;relatedOrganization&quot;:&quot;地方法院&quot;,&quot;type&quot;:&quot;LAW&quot;},&quot;access&quot;:&quot;NON_IDENT&quot;,&quot;remedies&quot;:[{&quot;type&quot;:&quot;LAW&quot;}],&quot;statements&quot;:[{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fl4&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;},{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664f45&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;}]}},&quot;accepted&quot;:true,&quot;isAccepted&quot;:true}}
Forwarded URL = null Forwarded URL = null
Redirected URL = null Redirected URL = null
Cookies = [] Cookies = []
...@@ -375,7 +375,7 @@ MockHttpServletResponse: ...@@ -375,7 +375,7 @@ MockHttpServletResponse:
Error message = null Error message = null
Headers = [Content-Type:&quot;application/json;charset=UTF-8&quot;] Headers = [Content-Type:&quot;application/json;charset=UTF-8&quot;]
Content type = application/json;charset=UTF-8 Content type = application/json;charset=UTF-8
Body = [{&quot;id&quot;:1,&quot;localDateTime&quot;:&quot;2019-06-03T14:13:31.205&quot;,&quot;privacyChoice&quot;:{&quot;id&quot;:1,&quot;privacyContent&quot;:{&quot;id&quot;:1,&quot;user&quot;:{&quot;id&quot;:1,&quot;account&quot;:&quot;test&quot;,&quot;password&quot;:null},&quot;device&quot;:{&quot;udn&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fb8&quot;,&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;type&quot;:&quot;Sensor&quot;,&quot;manufacturer&quot;:{&quot;name&quot;:&quot;Maxim Integrated&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en.html&quot;,&quot;serialNumber&quot;:&quot;3176927193&quot;},&quot;model&quot;:{&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en/products/sensors/MAX30100.html&quot;,&quot;description&quot;:&quot;本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況&quot;},&quot;upc&quot;:&quot;B00HXXO332&quot;,&quot;location&quot;:&quot;25.013068, 121.541651&quot;,&quot;icons&quot;:[],&quot;status&quot;:&quot;Disconnected&quot;},&quot;policy&quot;:{&quot;id&quot;:&quot;1&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;,&quot;collector&quot;:{&quot;name&quot;:&quot;AirRadio&quot;,&quot;phone&quot;:&quot;0987654177&quot;,&quot;email&quot;:&quot;[email protected]&quot;},&quot;dispute&quot;:{&quot;relatedOrganization&quot;:&quot;地方法院&quot;,&quot;type&quot;:&quot;LAW&quot;},&quot;access&quot;:&quot;NON_IDENT&quot;,&quot;remedies&quot;:[{&quot;type&quot;:&quot;LAW&quot;}],&quot;statements&quot;:[{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fl4&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;},{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664f45&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;}]}},&quot;accepted&quot;:true,&quot;isAccepted&quot;:true}}] Body = [{&quot;id&quot;:1,&quot;localDateTime&quot;:&quot;2019-06-10T16:21:18.758&quot;,&quot;privacyChoice&quot;:{&quot;id&quot;:1,&quot;privacyContent&quot;:{&quot;id&quot;:1,&quot;user&quot;:{&quot;id&quot;:1,&quot;account&quot;:&quot;test&quot;,&quot;password&quot;:null},&quot;device&quot;:{&quot;udn&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fb8&quot;,&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;type&quot;:&quot;Sensor&quot;,&quot;manufacturer&quot;:{&quot;name&quot;:&quot;Maxim Integrated&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en.html&quot;,&quot;serialNumber&quot;:&quot;3176927193&quot;},&quot;model&quot;:{&quot;name&quot;:&quot;心跳血氧機&quot;,&quot;url&quot;:&quot;https://www.maximintegrated.com/en/products/sensors/MAX30100.html&quot;,&quot;description&quot;:&quot;本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況&quot;},&quot;upc&quot;:&quot;B00HXXO332&quot;,&quot;location&quot;:&quot;25.013068, 121.541651&quot;,&quot;icons&quot;:[],&quot;status&quot;:&quot;Disconnected&quot;},&quot;policy&quot;:{&quot;id&quot;:&quot;1&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;,&quot;collector&quot;:{&quot;name&quot;:&quot;AirRadio&quot;,&quot;phone&quot;:&quot;0987654177&quot;,&quot;email&quot;:&quot;[email protected]&quot;},&quot;dispute&quot;:{&quot;relatedOrganization&quot;:&quot;地方法院&quot;,&quot;type&quot;:&quot;LAW&quot;},&quot;access&quot;:&quot;NON_IDENT&quot;,&quot;remedies&quot;:[{&quot;type&quot;:&quot;LAW&quot;}],&quot;statements&quot;:[{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664fl4&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;},{&quot;consequence&quot;:&quot;a1252c49-4188-4e6d-a32e-66604c664f45&quot;,&quot;purposes&quot;:[{&quot;type&quot;:&quot;PSEUDO_ANALYSIS&quot;,&quot;description&quot;:&quot;本APP會蒐集使用者心跳作為第三方之分析資料。&quot;}],&quot;data&quot;:[{&quot;type&quot;:&quot;OTHER_CATEGORY&quot;,&quot;description&quot;:&quot;心跳健康資料&quot;}],&quot;recipients&quot;:[{&quot;entity&quot;:&quot;AirRadio&quot;,&quot;type&quot;:&quot;OURS&quot;}],&quot;retention&quot;:&quot;STATED_PURPOSE&quot;}]}},&quot;accepted&quot;:true,&quot;isAccepted&quot;:true}}]
Forwarded URL = null Forwarded URL = null
Redirected URL = null Redirected URL = null
Cookies = [] Cookies = []
...@@ -390,7 +390,7 @@ MockHttpServletResponse: ...@@ -390,7 +390,7 @@ MockHttpServletResponse:
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/3 下午 02:13:31</p> <a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/10 下午 04:21:19</p>
</div> </div>
</div> </div>
</body> </body>
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">0.680s</div> <div class="counter">0.718s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
<td>2</td> <td>2</td>
<td>0</td> <td>0</td>
<td>0</td> <td>0</td>
<td>0.680s</td> <td>0.718s</td>
<td class="success">100%</td> <td class="success">100%</td>
</tr> </tr>
</tbody> </tbody>
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
<td>1</td> <td>1</td>
<td>0</td> <td>0</td>
<td>0</td> <td>0</td>
<td>0.649s</td> <td>0.687s</td>
<td class="success">100%</td> <td class="success">100%</td>
</tr> </tr>
</tbody> </tbody>
...@@ -134,7 +134,7 @@ ...@@ -134,7 +134,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/3 下午 02:13:31</p> <a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/10 下午 04:21:19</p>
</div> </div>
</div> </div>
</body> </body>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</td> </td>
<td> <td>
<div class="infoBox" id="duration"> <div class="infoBox" id="duration">
<div class="counter">0.680s</div> <div class="counter">0.718s</div>
<p>duration</p> <p>duration</p>
</div> </div>
</td> </td>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<td>1</td> <td>1</td>
<td>0</td> <td>0</td>
<td>0</td> <td>0</td>
<td>0.649s</td> <td>0.687s</td>
<td class="success">100%</td> <td class="success">100%</td>
</tr> </tr>
</table> </table>
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
<input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/> <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
</label> </label>
</div>Generated by </div>Generated by
<a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/3 下午 02:13:31</p> <a href="http://www.gradle.org">Gradle 4.10.3</a> at 2019/6/10 下午 04:21:19</p>
</div> </div>
</div> </div>
</body> </body>
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite name="edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests" tests="1" skipped="0" failures="0" errors="0" timestamp="2019-06-03T06:13:29" hostname="DESKTOP-1ADCP8A" time="0.031"> <testsuite name="edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests" tests="1" skipped="0" failures="0" errors="0" timestamp="2019-06-10T08:21:17" hostname="DESKTOP-1ADCP8A" time="0.031">
<properties/> <properties/>
<testcase name="contextLoads" classname="edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests" time="0.031"/> <testcase name="contextLoads" classname="edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests" time="0.031"/>
<system-out><![CDATA[14:13:26.293 [Test worker] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] <system-out><![CDATA[16:21:13.451 [Test worker] DEBUG org.springframework.test.context.junit4.SpringJUnit4ClassRunner - SpringJUnit4ClassRunner constructor called with [class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.299 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 16:21:13.456 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
14:13:26.305 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 16:21:13.462 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
14:13:26.318 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 16:21:13.476 [Test worker] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
14:13:26.327 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests], using SpringBootContextLoader 16:21:13.487 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests], using SpringBootContextLoader
14:13:26.329 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests-context.xml] does not exist 16:21:13.490 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests-context.xml] does not exist
14:13:26.329 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTestsContext.groovy] does not exist 16:21:13.491 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: class path resource [edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTestsContext.groovy] does not exist
14:13:26.329 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}. 16:21:13.491 [Test worker] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: no resource found for suffixes {-context.xml, Context.groovy}.
14:13:26.330 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: GatewayApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 16:21:13.492 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: GatewayApplicationTests does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
14:13:26.356 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.522 [Test worker] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.400 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\SpringBoot\iotgateway\gateway\build\classes\java\main\edu\prlab\tyler\iotgateway\gateway\GatewayApplication.class] 16:21:13.570 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\SpringBoot\iotgateway\gateway\build\classes\java\main\edu\prlab\tyler\iotgateway\gateway\GatewayApplication.class]
14:13:26.401 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration edu.prlab.tyler.iotgateway.gateway.GatewayApplication for test class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests 16:21:13.571 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration edu.prlab.tyler.iotgateway.gateway.GatewayApplication for test class edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests
14:13:26.464 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: using defaults. 16:21:13.643 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]: using defaults.
14:13:26.464 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] 16:21:13.643 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener]
14:13:26.476 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@1b8667a5, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@6a9b7e53, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@7e595118, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4a5bfbb6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@62c81617, org.springframework.test.context.transaction.TransactionalTestExecutionListener@531085fb, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6775cf10, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@72e61e03, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@503cd6e6, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@7d4be47, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4e90ece2, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@c44e535] 16:21:13.656 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@1b8667a5, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@6a9b7e53, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@7e595118, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4a5bfbb6, org.springframework.test.context.support.DirtiesContextTestExecutionListener@62c81617, org.springframework.test.context.transaction.TransactionalTestExecutionListener@531085fb, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@6775cf10, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@72e61e03, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@503cd6e6, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@7d4be47, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4e90ece2, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@c44e535]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.658 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.658 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.659 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.478 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.659 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.481 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@26c1b343 testClass = GatewayApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@7604582e testClass = GatewayApplicationTests, locations = '{}', classes = '{class edu.prlab.tyler.iotgateway.gateway.GatewayApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5dec0e8b, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@5bb44255, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@140c0cee, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1eb32443], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null]. 16:21:13.662 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@26c1b343 testClass = GatewayApplicationTests, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@7604582e testClass = GatewayApplicationTests, locations = '{}', classes = '{class edu.prlab.tyler.iotgateway.gateway.GatewayApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@5dec0e8b, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@5bb44255, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@140c0cee, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1eb32443], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
14:13:26.482 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.663 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved @ProfileValueSourceConfiguration [null] for test class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.482 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests] 16:21:13.663 [Test worker] DEBUG org.springframework.test.annotation.ProfileValueUtils - Retrieved ProfileValueSource type [class org.springframework.test.annotation.SystemProfileValueSource] for class [edu.prlab.tyler.iotgateway.gateway.GatewayApplicationTests]
14:13:26.497 [Test worker] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1} 16:21:13.679 [Test worker] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true, server.port=-1}
. ____ _ __ _ _ . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
...@@ -34,26 +34,26 @@ ...@@ -34,26 +34,26 @@
=========|_|==============|___/=/_/_/_/ =========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE) :: Spring Boot :: (v2.1.4.RELEASE)
2019-06-03 14:13:26.641 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Starting GatewayApplicationTests on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) 2019-06-10 16:21:13.836 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Starting GatewayApplicationTests on DESKTOP-1ADCP8A with PID 13652 (started by Tyler in D:\SpringBoot\iotgateway\gateway)
2019-06-03 14:13:26.642 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : No active profile set, falling back to default profiles: default 2019-06-10 16:21:13.837 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : No active profile set, falling back to default profiles: default
2019-06-03 14:13:27.069 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 2019-06-10 16:21:14.302 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-06-03 14:13:27.122 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 46ms. Found 3 repository interfaces. 2019-06-10 16:21:14.354 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 46ms. Found 3 repository interfaces.
2019-06-03 14:13:27.363 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2019-06-10 16:21:14.612 INFO 13652 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$e0e33b69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-06-03 14:13:27.491 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2019-06-10 16:21:14.750 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2019-06-03 14:13:27.630 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2019-06-10 16:21:14.907 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2019-06-03 14:13:27.703 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 2019-06-10 16:21:14.977 INFO 13652 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default name: default
...] ...]
2019-06-03 14:13:27.751 INFO 19448 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate Core {5.3.9.Final} 2019-06-10 16:21:15.025 INFO 13652 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate Core {5.3.9.Final}
2019-06-03 14:13:27.752 INFO 19448 --- [ Test worker] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found 2019-06-10 16:21:15.026 INFO 13652 --- [ Test worker] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2019-06-03 14:13:27.858 INFO 19448 --- [ Test worker] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.4.Final} 2019-06-10 16:21:15.131 INFO 13652 --- [ Test worker] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.4.Final}
2019-06-03 14:13:27.977 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2019-06-10 16:21:15.247 INFO 13652 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2019-06-03 14:13:28.656 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' 2019-06-10 16:21:15.987 INFO 13652 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@459d24be'
2019-06-03 14:13:28.659 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2019-06-10 16:21:15.990 INFO 13652 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-06-03 14:13:29.437 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-06-10 16:21:16.807 INFO 13652 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-06-03 14:13:29.474 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2019-06-10 16:21:16.844 WARN 13652 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-06-03 14:13:29.680 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Started GatewayApplicationTests in 3.178 seconds (JVM running for 3.836) 2019-06-10 16:21:17.077 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayApplicationTests : Started GatewayApplicationTests in 3.392 seconds (JVM running for 4.234)
2019-06-03 14:13:29.697 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory 2019-06-10 16:21:17.097 INFO 13652 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
]]></system-out> ]]></system-out>
<system-err><![CDATA[]]></system-err> <system-err><![CDATA[]]></system-err>
</testsuite> </testsuite>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<testsuite name="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2019-06-03T06:13:30" hostname="DESKTOP-1ADCP8A" time="0.649"> <testsuite name="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" tests="1" skipped="0" failures="0" errors="0" timestamp="2019-06-10T08:21:18" hostname="DESKTOP-1ADCP8A" time="0.687">
<properties/> <properties/>
<testcase name="getPrivacyPolicyAndSetChoice" classname="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" time="0.649"/> <testcase name="getPrivacyPolicyAndSetChoice" classname="edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest" time="0.687"/>
<system-out><![CDATA[2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader <system-out><![CDATA[2019-06-10 16:21:17.274 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Neither @ContextConfiguration nor @ContextHierarchy found for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest], using SpringBootContextLoader
2019-06-03 14:13:29.860 INFO 19448 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}. 2019-06-10 16:21:17.274 INFO 13652 --- [ Test worker] o.s.t.c.support.AbstractContextLoader : Could not detect default resource locations for test class [edu.prlab.tyler.iotgateway.gateway.GatewayHttpApiTest]: no resource found for suffixes {-context.xml, Context.groovy}.
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener] 2019-06-10 16:21:17.276 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener]
2019-06-03 14:13:29.862 INFO 19448 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@35f71a, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@1f565b02, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@2f8d0bfa, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@14426abb, org.springframework.test.context.support.DirtiesContextTestExecutionListener@3b60c20e, org.springframework.test.context.transaction.TransactionalTestExecutionListener@1643102b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@51561bc2, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@5646a4e1, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@6b8b7c95, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@6547fb87, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4ae74e6, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@672cb93e] 2019-06-10 16:21:17.276 INFO 13652 --- [ Test worker] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@254d5edb, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@483a64c, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@3bda8b0d, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@190ba193, org.springframework.test.context.support.DirtiesContextTestExecutionListener@567f8fef, org.springframework.test.context.transaction.TransactionalTestExecutionListener@4f57f2aa, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@203a8aae, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@64f9b003, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@4e535b84, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@3ee13246, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4a7aa0ce, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@632a682a]
. ____ _ __ _ _ . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
...@@ -15,26 +15,26 @@ ...@@ -15,26 +15,26 @@
=========|_|==============|___/=/_/_/_/ =========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.1.4.RELEASE) :: Spring Boot :: (v2.1.4.RELEASE)
2019-06-03 14:13:29.876 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 19448 (started by Tyler in D:\SpringBoot\iotgateway\gateway) 2019-06-10 16:21:17.297 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Starting GatewayHttpApiTest on DESKTOP-1ADCP8A with PID 13652 (started by Tyler in D:\SpringBoot\iotgateway\gateway)
2019-06-03 14:13:29.877 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default 2019-06-10 16:21:17.297 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : No active profile set, falling back to default profiles: default
2019-06-03 14:13:29.974 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode. 2019-06-10 16:21:17.418 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data repositories in DEFAULT mode.
2019-06-03 14:13:29.982 INFO 19448 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 8ms. Found 3 repository interfaces. 2019-06-10 16:21:17.430 INFO 13652 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 12ms. Found 3 repository interfaces.
2019-06-03 14:13:30.021 INFO 19448 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$78358982] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2019-06-10 16:21:17.477 INFO 13652 --- [ Test worker] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$e0e33b69] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting... 2019-06-10 16:21:17.526 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Starting...
2019-06-03 14:13:30.068 INFO 19448 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed. 2019-06-10 16:21:17.528 INFO 13652 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-2 - Start completed.
2019-06-03 14:13:30.097 INFO 19448 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [ 2019-06-10 16:21:17.554 INFO 13652 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default name: default
...] ...]
2019-06-03 14:13:30.107 INFO 19448 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2019-06-10 16:21:17.564 INFO 13652 --- [ Test worker] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@431ca4c0' 2019-06-10 16:21:17.662 INFO 13652 --- [ Test worker] o.h.t.schema.internal.SchemaCreatorImpl : HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@459d24be'
2019-06-03 14:13:30.200 INFO 19448 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2019-06-10 16:21:17.662 INFO 13652 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2019-06-03 14:13:30.449 INFO 19448 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' 2019-06-10 16:21:17.926 INFO 13652 --- [ Test worker] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2019-06-03 14:13:30.457 WARN 19448 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2019-06-10 16:21:17.934 WARN 13652 --- [ Test worker] aWebConfiguration$JpaWebMvcConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2019-06-03 14:13:30.612 INFO 19448 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.749 seconds (JVM running for 4.767) 2019-06-10 16:21:18.120 INFO 13652 --- [ Test worker] e.p.t.i.gateway.GatewayHttpApiTest : Started GatewayHttpApiTest in 0.842 seconds (JVM running for 5.277)
2019-06-03 14:13:30.613 INFO 19448 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory 2019-06-10 16:21:18.121 INFO 13652 --- [ Test worker] o.h.h.i.QueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory
2019-06-03 14:13:30.624 INFO 19448 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet '' 2019-06-10 16:21:18.135 INFO 13652 --- [ Test worker] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet ''
2019-06-03 14:13:30.625 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet '' 2019-06-10 16:21:18.136 INFO 13652 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Initializing Servlet ''
2019-06-03 14:13:30.633 INFO 19448 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 8 ms 2019-06-10 16:21:18.146 INFO 13652 --- [ Test worker] o.s.t.web.servlet.TestDispatcherServlet : Completed initialization in 10 ms
MockHttpServletRequest: MockHttpServletRequest:
HTTP Method = POST HTTP Method = POST
...@@ -216,7 +216,7 @@ MockHttpServletResponse: ...@@ -216,7 +216,7 @@ MockHttpServletResponse:
Error message = null Error message = null
Headers = [Content-Type:"application/json;charset=UTF-8"] Headers = [Content-Type:"application/json;charset=UTF-8"]
Content type = application/json;charset=UTF-8 Content type = application/json;charset=UTF-8
Body = {"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}} Body = {"id":1,"localDateTime":"2019-06-10T16:21:18.758","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}}
Forwarded URL = null Forwarded URL = null
Redirected URL = null Redirected URL = null
Cookies = [] Cookies = []
...@@ -290,7 +290,7 @@ MockHttpServletResponse: ...@@ -290,7 +290,7 @@ MockHttpServletResponse:
Error message = null Error message = null
Headers = [Content-Type:"application/json;charset=UTF-8"] Headers = [Content-Type:"application/json;charset=UTF-8"]
Content type = application/json;charset=UTF-8 Content type = application/json;charset=UTF-8
Body = [{"id":1,"localDateTime":"2019-06-03T14:13:31.205","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}}] Body = [{"id":1,"localDateTime":"2019-06-10T16:21:18.758","privacyChoice":{"id":1,"privacyContent":{"id":1,"user":{"id":1,"account":"test","password":null},"device":{"udn":"a1252c49-4188-4e6d-a32e-66604c664fb8","name":"心跳血氧機","type":"Sensor","manufacturer":{"name":"Maxim Integrated","url":"https://www.maximintegrated.com/en.html","serialNumber":"3176927193"},"model":{"name":"心跳血氧機","url":"https://www.maximintegrated.com/en/products/sensors/MAX30100.html","description":"本設備檢測人體內產生的小信號,例如心臟產生的電信號,此信號通常經過調理後傳輸至微控制器,進行儲存、計算或顯示在健康監測設備上。本設備測量數據用於健身監測,或者被醫療保健專家用於判定被觀察病人的總體健康狀況"},"upc":"B00HXXO332","location":"25.013068, 121.541651","icons":[],"status":"Disconnected"},"policy":{"id":"1","description":"本APP會蒐集使用者心跳作為第三方之分析資料。","collector":{"name":"AirRadio","phone":"0987654177","email":"[email protected]"},"dispute":{"relatedOrganization":"地方法院","type":"LAW"},"access":"NON_IDENT","remedies":[{"type":"LAW"}],"statements":[{"consequence":"a1252c49-4188-4e6d-a32e-66604c664fl4","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"},{"consequence":"a1252c49-4188-4e6d-a32e-66604c664f45","purposes":[{"type":"PSEUDO_ANALYSIS","description":"本APP會蒐集使用者心跳作為第三方之分析資料。"}],"data":[{"type":"OTHER_CATEGORY","description":"心跳健康資料"}],"recipients":[{"entity":"AirRadio","type":"OURS"}],"retention":"STATED_PURPOSE"}]}},"accepted":true,"isAccepted":true}}]
Forwarded URL = null Forwarded URL = null
Redirected URL = null Redirected URL = null
Cookies = [] Cookies = []
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment