Commit 20f39116 authored by 0Tyler's avatar 0Tyler

User

parent 39dc692a
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="d3a5f2c9-d22f-4974-88fb-d506b4e5feaf" name="Default Changelist" comment="cloud test">
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/RemoteConfig.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceIndexRepository.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/PrivacyChoiceIndexRepository.java" afterDir="false" />
<list default="true" id="d3a5f2c9-d22f-4974-88fb-d506b4e5feaf" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/DefaultData.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/UserController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/UserRepository.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/UserService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/META-INF/iotgateway.gateway.main.kotlin_module" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService$1.class" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/production/classes/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/out/test/classes/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.class" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/out/test/classes/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/GatewayController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java" afterDir="false" />
</list>
......@@ -78,10 +80,10 @@
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<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$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="679">
<caret line="38" column="5" selection-start-line="38" selection-start-column="5" selection-end-line="38" selection-end-column="5" />
<state relative-caret-position="-250">
<caret line="33" column="32" selection-start-line="33" selection-start-column="26" selection-end-line="33" selection-end-column="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -90,28 +92,34 @@
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/UserRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="792">
<caret line="83" lean-forward="true" selection-start-line="83" selection-end-line="83" />
<state relative-caret-position="162">
<caret line="9" column="1" lean-forward="true" selection-start-line="9" selection-start-column="1" selection-end-line="9" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/SensitiveUser.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="396">
<caret line="27" column="29" lean-forward="true" selection-start-line="18" selection-start-column="4" selection-end-line="27" selection-end-column="29" />
<state relative-caret-position="306">
<caret line="17" column="20" lean-forward="true" selection-start-line="17" selection-start-column="20" selection-end-line="17" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java">
<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">
<state relative-caret-position="596">
<caret line="36" column="40" lean-forward="true" selection-start-line="36" selection-start-column="40" selection-end-line="36" selection-end-column="40" />
<state relative-caret-position="211">
<caret line="21" selection-start-line="21" selection-end-line="21" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -119,24 +127,23 @@
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java">
<file pinned="false" current-in-tab="true">
<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">
<state relative-caret-position="686">
<caret line="54" column="43" selection-start-line="54" selection-start-column="15" selection-end-line="54" selection-end-column="43" />
<state relative-caret-position="133">
<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="e#2400#2401#0" expanded="true" />
<element signature="e#2450#2451#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.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">
<state relative-caret-position="378">
<caret line="21" column="1" lean-forward="true" selection-start-line="21" selection-start-column="1" selection-end-line="21" selection-end-column="1" />
<state relative-caret-position="183">
<caret line="32" lean-forward="true" selection-start-line="32" selection-end-line="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
......@@ -145,37 +152,43 @@
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyContent.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/SensitiveUser.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="342">
<caret line="27" column="30" selection-start-line="27" selection-start-column="26" selection-end-line="27" selection-end-column="30" />
<state relative-caret-position="126">
<caret line="12" selection-start-line="12" selection-end-line="14" selection-end-column="19" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java">
<file pinned="false" current-in-tab="false">
<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">
<state relative-caret-position="144">
<caret line="8" column="29" lean-forward="true" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" />
<state relative-caret-position="384">
<caret line="39" column="5" lean-forward="true" selection-start-line="39" selection-start-column="5" selection-end-line="39" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
<state relative-caret-position="270">
<caret line="15" column="13" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="306">
<caret line="22" column="31" lean-forward="true" selection-start-line="22" selection-start-column="31" selection-end-line="22" selection-end-column="31" />
<state relative-caret-position="254">
<caret line="23" column="20" lean-forward="true" selection-start-line="23" selection-start-column="20" selection-end-line="23" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
......@@ -192,9 +205,6 @@
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>bcgateway</find>
<find>gateway</find>
<find>responseType</find>
<find>null</find>
<find>account</find>
<find>url</find>
......@@ -222,6 +232,9 @@
<find>user</find>
<find>SensitiveUser</find>
<find>getPrivacyPolicyChoices</find>
<find>PrivacyChoiceIndexRepository</find>
<find>TypeReference</find>
<find>DeviceIndex</find>
</findStrings>
<replaceStrings>
<replace>cloud</replace>
......@@ -238,13 +251,6 @@
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/Account.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/AccountRepository.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/AccountService.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/UserDetailService.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/jwt/JWTTokenProvider.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/jwt/SecurityConstants.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/model/mapper/UserMapper.java" />
<option value="$PROJECT_DIR$/cloud/out/production/classes/generated/edu/prlab/tyler/iotgateway/cloud/model/mapper/UserMapperImpl.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/model/User.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/UserService.java" />
......@@ -279,16 +285,23 @@
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/DeviceController.java" />
<option value="$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceRepository.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoicesIndex.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/PrivacyChoiceIndexRepository.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/config/RemoteConfig.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.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/repositories/UserRepository.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.java" />
<option value="$PROJECT_DIR$/gateway/src/main/resources/application.properties" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/controllers/UserController.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/DefaultData.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.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/pojo/PrivacyChoiceIndex.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/services/DeviceService.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java" />
<option value="$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/UserService.java" />
<option value="$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/controllers/GatewayController.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/pojo/auth/User.java" />
</list>
</option>
</component>
......@@ -412,17 +425,6 @@
<item name="pojo" type="462c0819:PsiDirectoryNode" />
<item name="device" 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="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>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
......@@ -568,6 +570,14 @@
<item name="gateway" type="462c0819:PsiDirectoryNode" />
<item name="services" 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="main" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
<item name="resources" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="iotgateway" type="b2602c69:ProjectViewProjectNode" />
<item name="iotgateway" type="8a07ba80:GradleTreeStructureProvider$GradleModuleDirectoryNode" />
......@@ -653,7 +663,7 @@
</option>
<option name="contentProportion" value="0.15800866" />
</component>
<component name="RunManager" selected="Spring Boot.GatewayApplication">
<component name="RunManager" selected="JUnit.GatewayHttpApiTest">
<configuration name="GatewayHttpApiTest" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
......@@ -758,8 +768,8 @@
</list>
<recent_temporary>
<list>
<item itemvalue="JUnit.CloudHttpApiTest" />
<item itemvalue="JUnit.GatewayHttpApiTest" />
<item itemvalue="JUnit.CloudHttpApiTest" />
<item itemvalue="JUnit.ContractTester" />
<item itemvalue="Gradle.GatewayHttpApiTest" />
</list>
......@@ -779,7 +789,7 @@
<workItem from="1556190478077" duration="66951000" />
<workItem from="1556716964298" duration="27672000" />
<workItem from="1557364868133" duration="620000" />
<workItem from="1557365602468" duration="32208000" />
<workItem from="1557365602468" duration="42563000" />
</task>
<task id="LOCAL-00001" summary="git init">
<created>1556204675975</created>
......@@ -823,43 +833,50 @@
<option name="project" value="LOCAL" />
<updated>1557722261206</updated>
</task>
<option name="localTasksCounter" value="7" />
<task id="LOCAL-00007" summary="gateway api">
<created>1557723722134</created>
<option name="number" value="00007" />
<option name="presentableId" value="LOCAL-00007" />
<option name="project" value="LOCAL" />
<updated>1557723722134</updated>
</task>
<option name="localTasksCounter" value="8" />
<servers />
</component>
<component name="TestHistory">
<history-entry file="CloudHttpApiTest - 2019.05.09 at 15h 04m 00s.xml">
<history-entry file="CloudHttpApiTest - 2019.05.09 at 17h 49m 24s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.05.09 at 15h 06m 36s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 20m 02s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 15h 06m 42s.xml">
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 21m 01s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.05.09 at 17h 47m 24s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 21m 18s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.05.09 at 17h 48m 50s.xml">
<history-entry file="CloudHttpApiTest - 2019.05.10 at 12h 38m 46s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.05.09 at 17h 49m 24s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
<history-entry file="GatewayHttpApiTest - 2019.05.13 at 14h 51m 54s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 20m 02s.xml">
<history-entry file="GatewayHttpApiTest - 2019.05.13 at 14h 54m 24s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 21m 01s.xml">
<history-entry file="GatewayHttpApiTest - 2019.05.13 at 15h 02m 23s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="GatewayHttpApiTest - 2019.05.09 at 20h 21m 18s.xml">
<history-entry file="GatewayHttpApiTest - 2019.05.13 at 15h 32m 42s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
<history-entry file="CloudHttpApiTest - 2019.05.10 at 12h 38m 46s.xml">
<configuration name="CloudHttpApiTest" configurationId="JUnit" />
<history-entry file="GatewayHttpApiTest - 2019.05.13 at 15h 36m 24s.xml">
<configuration name="GatewayHttpApiTest" configurationId="JUnit" />
</history-entry>
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="130123000" />
<option name="totallyTimeSpent" value="140478000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
......@@ -873,29 +890,29 @@
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.18070363" />
<window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.18070363" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Designer" order="2" />
<window_info id="UI Designer" order="3" />
<window_info id="Favorites" order="4" side_tool="true" />
<window_info id="Web" order="5" side_tool="true" />
<window_info anchor="bottom" id="Run Dashboard" sideWeight="0.49946696" weight="0.19042316" />
<window_info anchor="bottom" id="Messages" order="0" sideWeight="0.49733475" weight="0.20824054" />
<window_info anchor="bottom" id="Message" order="1" />
<window_info anchor="bottom" id="Find" order="2" sideWeight="0.4989339" weight="0.4532294" />
<window_info anchor="bottom" id="Run" order="3" sideWeight="0.49840087" weight="0.34632516" />
<window_info anchor="bottom" id="Debug" order="4" weight="0.40269965" />
<window_info anchor="bottom" id="Cvs" order="5" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="6" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="7" weight="0.32739422" />
<window_info anchor="bottom" id="Build" order="8" sideWeight="0.49946696" weight="0.42486086" />
<window_info anchor="bottom" id="Spring" order="9" weight="0.3295838" />
<window_info anchor="bottom" id="Terminal" order="10" weight="0.32739422" />
<window_info anchor="bottom" id="Docker" order="11" show_stripe_button="false" />
<window_info anchor="bottom" id="Event Log" order="12" sideWeight="0.50053304" side_tool="true" weight="0.48775056" />
<window_info anchor="bottom" id="Java Enterprise" order="13" weight="0.32925472" />
<window_info active="true" anchor="bottom" id="Run Dashboard" order="0" sideWeight="0.49946696" visible="true" weight="0.5" />
<window_info anchor="bottom" id="Messages" order="1" sideWeight="0.49733475" weight="0.20824054" />
<window_info anchor="bottom" id="Message" order="2" />
<window_info anchor="bottom" id="Find" order="3" sideWeight="0.4989339" weight="0.4532294" />
<window_info anchor="bottom" id="Run" order="4" sideWeight="0.49840087" weight="0.35634744" />
<window_info anchor="bottom" id="Debug" order="5" weight="0.40269965" />
<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="TODO" order="8" weight="0.32739422" />
<window_info anchor="bottom" id="Build" order="9" sideWeight="0.49946696" weight="0.42427617" />
<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="Docker" order="12" show_stripe_button="false" />
<window_info anchor="bottom" id="Event Log" order="13" sideWeight="0.50053304" side_tool="true" weight="0.48775056" />
<window_info anchor="bottom" id="Database Changes" order="14" />
<window_info anchor="bottom" id="Version Control" order="15" visible="true" weight="0.18819599" />
<window_info anchor="bottom" id="Java Enterprise" order="15" weight="0.32850778" />
<window_info anchor="bottom" id="Version Control" order="16" weight="0.18819599" />
<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" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
......@@ -916,7 +933,8 @@
<MESSAGE value="deviceContractTest" />
<MESSAGE value="cloud test" />
<MESSAGE value="gateway api update" />
<option name="LAST_COMMIT_MESSAGE" value="gateway api update" />
<MESSAGE value="gateway api" />
<option name="LAST_COMMIT_MESSAGE" value="gateway api" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
......@@ -949,404 +967,429 @@
</breakpoint-manager>
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/CloudApplication.java">
<entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
<state relative-caret-position="108">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.9.0/a0ad4e203304ccab7e01266fa814115850edb8a9/jackson-annotations-2.9.0-sources.jar!/com/fasterxml/jackson/annotation/JsonIgnore.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/DeviceRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="37">
<caret line="51" column="18" selection-start-line="51" selection-start-column="18" selection-end-line="51" selection-end-column="18" />
<state relative-caret-position="90">
<caret line="9" column="17" selection-start-line="9" selection-start-column="17" selection-end-line="9" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.9.0/a0ad4e203304ccab7e01266fa814115850edb8a9/jackson-annotations-2.9.0-sources.jar!/com/fasterxml/jackson/annotation/JsonProperty.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">
<state relative-caret-position="91">
<caret line="123" column="11" selection-start-line="123" selection-start-column="11" selection-end-line="123" selection-end-column="11" />
<state relative-caret-position="-241">
<caret line="13" selection-start-line="13" selection-end-line="14" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.1.6.RELEASE/dfb9e2cce0376ed468b6988b88a08fa7fb43f355/spring-web-5.1.6.RELEASE-sources.jar!/org/springframework/web/method/support/InvocableHandlerMethod.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">
<state relative-caret-position="75">
<caret line="137" selection-start-line="137" selection-end-line="137" />
<state relative-caret-position="252">
<caret line="18" column="23" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="23" />
<folding>
<element signature="e#518#519#0" expanded="true" />
<element signature="e#568#569#0" expanded="true" />
<element signature="e#599#600#0" expanded="true" />
<element signature="e#646#647#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.1.6.RELEASE/1ae0d2f0262265869a8f15ea170a01d9d0583b79/spring-webmvc-5.1.6.RELEASE-sources.jar!/org/springframework/web/servlet/mvc/method/annotation/ServletInvocableHandlerMethod.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">
<state relative-caret-position="75">
<caret line="110" selection-start-line="110" selection-end-line="110" />
<state relative-caret-position="90">
<caret line="10" column="42" selection-start-line="10" selection-start-column="42" selection-end-line="10" selection-end-column="42" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.1.6.RELEASE/1ae0d2f0262265869a8f15ea170a01d9d0583b79/spring-webmvc-5.1.6.RELEASE-sources.jar!/org/springframework/web/servlet/mvc/method/annotation/RequestMappingHandlerAdapter.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="796" selection-start-line="796" selection-end-line="796" />
<state relative-caret-position="234">
<caret line="20" column="5" selection-start-line="20" selection-start-column="5" selection-end-line="20" selection-end-column="5" />
<folding>
<element signature="e#618#619#0" expanded="true" />
<element signature="e#683#684#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.1.6.RELEASE/1ae0d2f0262265869a8f15ea170a01d9d0583b79/spring-webmvc-5.1.6.RELEASE-sources.jar!/org/springframework/web/servlet/mvc/method/AbstractHandlerMethodAdapter.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">
<state relative-caret-position="83">
<caret line="86" selection-start-line="86" selection-end-line="86" />
<state relative-caret-position="18">
<caret line="155" column="25" lean-forward="true" selection-start-line="155" selection-start-column="25" selection-end-line="155" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.1.6.RELEASE/1ae0d2f0262265869a8f15ea170a01d9d0583b79/spring-webmvc-5.1.6.RELEASE-sources.jar!/org/springframework/web/servlet/DispatcherServlet.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyPolicyReportService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="944" selection-start-line="944" selection-end-line="944" />
<state relative-caret-position="108">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.1.6.RELEASE/1ae0d2f0262265869a8f15ea170a01d9d0583b79/spring-webmvc-5.1.6.RELEASE-sources.jar!/org/springframework/web/servlet/FrameworkServlet.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyChoiceService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="883" selection-start-line="883" selection-end-line="883" />
<state relative-caret-position="126">
<caret line="12" column="5" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.17/22819cd1fae898e96ca84a3e8394b0f0b15d9f17/tomcat-embed-core-9.0.17-sources.jar!/org/apache/catalina/core/ApplicationFilterChain.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.persistence/javax.persistence-api/2.2/462dff65f6f8bde02ee9d8afe07fe9d50268199c/javax.persistence-api-2.2-sources.jar!/javax/persistence/GenerationType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="167" selection-start-line="167" selection-end-line="167" />
<state relative-caret-position="463">
<caret line="47" column="18" selection-start-line="47" selection-start-column="7" selection-end-line="47" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.17/7eb434a1927798863ed8813164b2744211c6ba62/tomcat-embed-websocket-9.0.17-sources.jar!/org/apache/tomcat/websocket/server/WsFilter.java">
<entry file="jar://C:/Program Files/Java/jdk1.8.0_201/src.zip!/java/lang/String.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="83">
<caret line="53" selection-start-line="53" selection-end-line="53" />
<state relative-caret-position="234">
<caret line="975" column="19" selection-start-line="975" selection-start-column="19" selection-end-line="975" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/device/Icon.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.1.6.RELEASE/dfb9e2cce0376ed468b6988b88a08fa7fb43f355/spring-web-5.1.6.RELEASE-sources.jar!/org/springframework/http/ResponseEntity.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="116">
<caret line="15" column="13" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<state relative-caret-position="2332">
<caret line="277" column="36" selection-start-line="277" selection-start-column="36" selection-end-line="277" selection-end-column="36" />
<folding>
<element signature="e#7122#7123#0" expanded="true" />
<element signature="e#7157#7158#0" expanded="true" />
<element signature="e#8242#8243#0" expanded="true" />
<element signature="e#8285#8286#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/config/DefaultData.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/RemoteConfig.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="70">
<caret line="117" column="25" lean-forward="true" selection-start-line="66" selection-start-column="8" selection-end-line="117" selection-end-column="25" />
<state relative-caret-position="180">
<caret line="12" column="1" lean-forward="true" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.3.9.Final/e0922b9cc0621641bdec33b4e2869d033f918a4c/hibernate-core-5.3.9.Final-sources.jar!/org/hibernate/annotations/Cascade.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.1.4.RELEASE/fc28861fbd06b8aa6d151f8810a7748a86f1f155/spring-boot-2.1.4.RELEASE-sources.jar!/org/springframework/boot/ApplicationRunner.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="188">
<caret line="24" column="18" selection-start-line="24" selection-start-column="18" selection-end-line="24" selection-end-column="18" />
<state relative-caret-position="306">
<caret line="32" column="17" selection-start-line="32" selection-start-column="17" selection-end-line="32" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplication.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">
<state relative-caret-position="90">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
<state relative-caret-position="-1319">
<caret line="20" column="35" selection-start-line="20" selection-start-column="25" selection-end-line="20" selection-end-column="35" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/SensitiveUserRepository.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.1.4.RELEASE/2edd9ce8f7fe3dafb83eef9248b882abc6fe6192/spring-boot-autoconfigure-2.1.4.RELEASE-sources.jar!/org/springframework/boot/autoconfigure/orm/jpa/JpaBaseConfiguration.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="8" column="17" selection-start-line="8" selection-start-column="17" selection-end-line="8" selection-end-column="17" />
<state relative-caret-position="98">
<caret line="136" column="50" selection-start-line="136" selection-start-column="50" selection-end-line="136" selection-end-column="50" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/PrivacyChoiseRecordRepository.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.3.9.Final/e0922b9cc0621641bdec33b4e2869d033f918a4c/hibernate-core-5.3.9.Final-sources.jar!/org/hibernate/mapping/SimpleValue.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="144">
<caret line="8" column="1" lean-forward="true" selection-start-line="8" selection-start-column="1" selection-end-line="8" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="117">
<caret line="470" column="86" selection-start-line="470" selection-start-column="86" selection-end-line="470" selection-end-column="86" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.9.8/f66792d499a6fea6c7a743558f940e0ebf775ce3/jackson-databind-2.9.8-sources.jar!/com/fasterxml/jackson/databind/ObjectMapper.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.3.9.Final/e0922b9cc0621641bdec33b4e2869d033f918a4c/hibernate-core-5.3.9.Final-sources.jar!/org/hibernate/type/TypeResolver.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="209">
<caret line="3019" column="50" selection-start-line="3019" selection-start-column="43" selection-end-line="3019" selection-end-column="56" />
<state relative-caret-position="-99">
<caret line="115" column="16" selection-start-line="115" selection-start-column="16" selection-end-line="115" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.9.8/ecaea301e166a0b48f11615864246de739b6619b/jackson-core-2.9.8-sources.jar!/com/fasterxml/jackson/core/type/TypeReference.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.persistence/javax.persistence-api/2.2/462dff65f6f8bde02ee9d8afe07fe9d50268199c/javax.persistence-api-2.2-sources.jar!/javax/persistence/CascadeType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="81">
<caret line="26" column="22" selection-start-line="26" selection-start-column="22" selection-end-line="26" selection-end-column="22" />
<state relative-caret-position="212">
<caret line="30" column="23" selection-start-line="30" selection-start-column="16" selection-end-line="30" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.1.6.RELEASE/dfb9e2cce0376ed468b6988b88a08fa7fb43f355/spring-web-5.1.6.RELEASE-sources.jar!/org/springframework/web/client/RestOperations.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">
<state relative-caret-position="201">
<caret line="54" column="10" selection-start-line="54" selection-start-column="10" selection-end-line="54" selection-end-column="10" />
<state relative-caret-position="288">
<caret line="33" column="16" lean-forward="true" selection-start-line="33" selection-start-column="16" selection-end-line="33" selection-end-column="16" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.1.6.RELEASE/dfb9e2cce0376ed468b6988b88a08fa7fb43f355/spring-web-5.1.6.RELEASE-sources.jar!/org/springframework/web/client/RestTemplate.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/p3p/Dispute.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="208">
<caret line="602" column="38" selection-start-line="602" selection-start-column="12" selection-end-line="602" selection-end-column="38" />
<state relative-caret-position="324">
<caret line="24" column="22" lean-forward="true" selection-start-line="24" selection-start-column="22" selection-end-line="24" selection-end-column="22" />
</state>
</provider>
</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/ParameterizedTypeReference.java">
<entry file="file://$PROJECT_DIR$/settings.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-358">
<caret line="48" column="14" selection-start-line="48" selection-start-column="14" selection-end-line="48" selection-end-column="14" />
<state>
<caret column="31" lean-forward="true" selection-start-column="31" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudApplicationTests.java">
<entry file="file://$PROJECT_DIR$/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="13" column="13" selection-start-line="13" selection-start-column="13" selection-end-line="13" selection-end-column="13" />
<state relative-caret-position="288">
<caret line="16" column="69" lean-forward="true" selection-start-line="16" selection-start-column="69" selection-end-line="16" selection-end-column="69" />
</state>
</provider>
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.persistence/javax.persistence-api/2.2/462dff65f6f8bde02ee9d8afe07fe9d50268199c/javax.persistence-api-2.2-sources.jar!/javax/persistence/GenerationType.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="414">
<caret line="52" column="55" selection-start-line="52" selection-start-column="55" selection-end-line="52" selection-end-column="55" />
</state>
</provider>
<entry file="file://$PROJECT_DIR$/gateway/settings.gradle">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.1.6.RELEASE/d6c2a24d22131dd891c73ebc3c9ab3ee00fcbb8f/spring-data-commons-2.1.6.RELEASE-sources.jar!/org/springframework/data/repository/CrudRepository.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.1.6.RELEASE/3c7025695a16e39586ac70d2f57185c95abc5556/spring-orm-5.1.6.RELEASE-sources.jar!/org/springframework/orm/jpa/vendor/SpringHibernateJpaPersistenceProvider.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="35" column="20" selection-start-line="35" selection-start-column="20" selection-end-line="35" selection-end-column="20" />
<state relative-caret-position="70">
<caret line="43" column="13" lean-forward="true" selection-start-line="43" selection-start-column="13" selection-end-line="43" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceIndexRepository.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">
<state relative-caret-position="108">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="8" selection-end-column="1" />
<state relative-caret-position="90">
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#266#267#0" expanded="true" />
<element signature="e#335#336#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/PrivacyChoiceIndexRepository.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.persistence/javax.persistence-api/2.2/462dff65f6f8bde02ee9d8afe07fe9d50268199c/javax.persistence-api-2.2-sources.jar!/javax/persistence/Entity.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="7" column="17" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="17" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="217">
<caret line="32" column="18" selection-start-line="32" selection-start-column="18" selection-end-line="32" selection-end-column="18" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayApplicationTests.java">
<entry file="file://$PROJECT_DIR$/gateway/build.gradle">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="108">
<caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
<state relative-caret-position="396">
<caret line="34" column="36" lean-forward="true" selection-start-line="34" selection-start-column="36" selection-end-line="34" selection-end-column="36" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/repositories/DeviceRepository.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/resources/application.properties">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="90">
<caret line="9" column="17" selection-start-line="9" selection-start-column="17" selection-end-line="9" selection-end-column="17" />
<state relative-caret-position="18">
<caret line="1" column="48" selection-start-line="1" selection-start-column="48" selection-end-line="1" selection-end-column="48" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/device/Device.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">
<state relative-caret-position="-241">
<caret line="13" selection-start-line="13" selection-end-line="14" />
<state relative-caret-position="234">
<caret line="15" lean-forward="true" selection-start-line="15" selection-end-line="15" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/config/RemoteConfig.java">
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="180">
<caret line="12" column="1" lean-forward="true" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="1" />
<state relative-caret-position="289">
<caret line="21" column="19" selection-start-line="21" selection-start-column="19" selection-end-line="21" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</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/pojo/privacy/PrivacyContent.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="252">
<caret line="18" column="23" selection-start-line="18" selection-start-column="19" selection-end-line="18" selection-end-column="23" />
<folding>
<element signature="e#518#519#0" expanded="true" />
<element signature="e#568#569#0" expanded="true" />
<element signature="e#599#600#0" expanded="true" />
<element signature="e#646#647#0" expanded="true" />
</folding>
<state relative-caret-position="150">
<caret line="18" column="13" selection-start-line="18" selection-start-column="13" selection-end-line="18" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/DeviceService.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">
<state relative-caret-position="90">
<caret line="10" column="42" selection-start-line="10" selection-start-column="42" selection-end-line="10" selection-end-column="42" />
<state relative-caret-position="42">
<caret line="17" column="13" selection-start-line="17" selection-start-column="13" selection-end-line="17" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/SensitiveUserService.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.9.8/ecaea301e166a0b48f11615864246de739b6619b/jackson-core-2.9.8-sources.jar!/com/fasterxml/jackson/core/ObjectCodec.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="234">
<caret line="20" column="5" selection-start-line="20" selection-start-column="5" selection-end-line="20" selection-end-column="5" />
<folding>
<element signature="e#618#619#0" expanded="true" />
<element signature="e#683#684#0" expanded="true" />
</folding>
<state relative-caret-position="330">
<caret line="58" column="63" selection-start-line="58" selection-start-column="50" selection-end-line="58" selection-end-column="63" />
</state>
</provider>
</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/jre/lib/rt.jar!/jdk/internal/org/objectweb/asm/TypeReference.class">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="324">
<caret line="32" column="30" selection-start-line="32" selection-start-column="17" selection-end-line="32" selection-end-column="30" />
<state relative-caret-position="522">
<caret line="32" column="11" selection-start-line="32" selection-start-column="11" selection-end-line="32" selection-end-column="11" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#1408#1409#0" expanded="true" />
<element signature="e#1441#1442#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/test/java/edu/prlab/tyler/iotgateway/cloud/CloudHttpApiTest.java">
<entry file="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.9.8/f66792d499a6fea6c7a743558f940e0ebf775ce3/jackson-databind-2.9.8-sources.jar!/com/fasterxml/jackson/databind/ObjectMapper.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="18">
<caret line="155" column="25" lean-forward="true" selection-start-line="155" selection-start-column="25" selection-end-line="155" selection-end-column="25" />
<folding>
<element signature="imports" expanded="true" />
</folding>
<state relative-caret-position="150">
<caret line="3019" column="17" selection-start-line="3019" selection-start-column="17" selection-end-line="3019" selection-end-column="17" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyPolicyReportService.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">
<state relative-caret-position="108">
<caret line="11" column="13" selection-start-line="11" selection-start-column="13" selection-end-line="11" selection-end-column="13" />
<state relative-caret-position="160">
<caret line="108" column="30" selection-start-line="108" selection-start-column="24" selection-end-line="108" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/services/PrivacyChoiceService.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/UserService.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="126">
<caret line="12" column="5" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
<state relative-caret-position="380">
<caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicyReport.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">
<state relative-caret-position="360">
<caret line="28" lean-forward="true" selection-start-line="28" selection-end-line="28" />
<state relative-caret-position="684">
<caret line="50" column="7" lean-forward="true" selection-start-line="50" selection-start-column="7" selection-end-line="50" selection-end-column="7" />
<folding>
<element signature="e#2305#2306#0" expanded="true" />
<element signature="e#2366#2367#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyPolicy.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/PrivacyChoiceIndexRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="270">
<caret line="26" selection-start-line="26" selection-end-line="26" />
<state relative-caret-position="126">
<caret line="7" column="45" selection-start-line="7" selection-start-column="17" selection-end-line="7" selection-end-column="45" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/DeviceIndexRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="288">
<caret line="16" column="23" lean-forward="true" selection-start-line="16" selection-start-column="23" selection-end-line="16" selection-end-column="23" />
<state relative-caret-position="108">
<caret line="6" lean-forward="true" selection-start-line="6" selection-end-line="8" selection-end-column="1" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/DeviceService.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/DeviceIndex.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="596">
<caret line="36" column="40" lean-forward="true" selection-start-line="36" selection-start-column="40" selection-end-line="36" selection-end-column="40" />
<state relative-caret-position="270">
<caret line="15" column="13" selection-start-line="15" selection-start-column="13" selection-end-line="15" selection-end-column="13" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/services/PrivacyService.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/repositories/UserRepository.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="686">
<caret line="54" column="43" selection-start-line="54" selection-start-column="15" selection-end-line="54" selection-end-column="43" />
<state relative-caret-position="162">
<caret line="9" column="1" lean-forward="true" selection-start-line="9" selection-start-column="1" selection-end-line="9" selection-end-column="1" />
<folding>
<element signature="e#2400#2401#0" expanded="true" />
<element signature="e#2450#2451#0" expanded="true" />
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="378">
<caret line="21" column="1" lean-forward="true" selection-start-line="21" selection-start-column="1" selection-end-line="21" selection-end-column="1" />
<state relative-caret-position="254">
<caret line="23" column="20" lean-forward="true" selection-start-line="23" selection-start-column="20" selection-end-line="23" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/test/java/edu/prlab/tyler/iotgateway/gateway/GatewayHttpApiTest.java">
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/PrivacyChoiceIndex.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="792">
<caret line="83" lean-forward="true" selection-start-line="83" selection-end-line="83" />
<state relative-caret-position="306">
<caret line="17" column="20" lean-forward="true" selection-start-line="17" selection-start-column="20" selection-end-line="17" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</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/pojo/auth/SensitiveUser.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="522">
<caret line="40" lean-forward="true" selection-start-line="40" selection-end-line="40" />
<state relative-caret-position="126">
<caret line="12" selection-start-line="12" selection-end-line="14" selection-end-column="19" />
</state>
</provider>
</entry>
<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/controllers/UserController.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="679">
<caret line="38" column="5" selection-start-line="38" selection-start-column="5" selection-end-line="38" selection-end-column="5" />
<state relative-caret-position="211">
<caret line="21" selection-start-line="21" selection-end-line="21" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyChoice.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">
<state relative-caret-position="306">
<caret line="22" column="31" lean-forward="true" selection-start-line="22" selection-start-column="31" selection-end-line="22" selection-end-column="31" />
<state relative-caret-position="183">
<caret line="32" lean-forward="true" selection-start-line="32" selection-end-line="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/privacy/PrivacyContent.java">
<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">
<state relative-caret-position="342">
<caret line="27" column="30" selection-start-line="27" selection-start-column="26" selection-end-line="27" selection-end-column="30" />
<state relative-caret-position="384">
<caret line="39" column="5" lean-forward="true" selection-start-line="39" selection-start-column="5" selection-end-line="39" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/cloud/src/main/java/edu/prlab/tyler/iotgateway/cloud/pojo/auth/SensitiveUser.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">
<state relative-caret-position="396">
<caret line="27" column="29" lean-forward="true" selection-start-line="18" selection-start-column="4" selection-end-line="27" selection-end-column="29" />
<state relative-caret-position="-250">
<caret line="33" column="32" selection-start-line="33" selection-start-column="26" selection-end-line="33" selection-end-column="32" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/gateway/src/main/java/edu/prlab/tyler/iotgateway/gateway/pojo/auth/User.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">
<state relative-caret-position="144">
<caret line="8" column="29" lean-forward="true" selection-start-line="8" selection-start-column="29" selection-end-line="8" selection-end-column="29" />
<state relative-caret-position="133">
<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>
</provider>
</entry>
......@@ -1400,7 +1443,7 @@
</state>
<state key="ModuleStructureConfigurable.UI">
<settings>
<last-edited>contract</last-edited>
<last-edited>main|gateway|iotgateway</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
......
......@@ -38,11 +38,4 @@ public class GatewayController {
.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
// @PostMapping("/user")
// public ResponseEntity<SensitiveUser> setUser(@RequestBody SensitiveUser sensitiveUser) {
// return sensitiveUserService.add(sensitiveUser)
// .map(ResponseEntity::ok)
// .orElseGet(()->ResponseEntity.noContent().build());
// }
}
......@@ -5,9 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
package edu.prlab.tyler.iotgateway.gateway.config;
import edu.prlab.tyler.iotgateway.gateway.pojo.auth.User;
import edu.prlab.tyler.iotgateway.gateway.services.UserService;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
@Component
public class DefaultData implements ApplicationRunner {
private UserService userService;
public DefaultData(UserService userService) {
this.userService = userService;
}
@Override
public void run(ApplicationArguments args) throws Exception {
User defaultUser = userService.registerNewUser(User.builder().username("testUser0").password("testUser0").build()).get();
System.out.println(defaultUser.toString());
}
}
......@@ -47,9 +47,9 @@ public class GatewayController {
}
//
@GetMapping("/device/{UDN}")
public ResponseEntity<PrivacyPolicyReport> readPrivacyPolicyReportByDevice(@PathVariable(value = "UDN") String UDN) {
return privacyService.getRelatedPrivacyPolicies(UDN)
@GetMapping("/device/{udn}")
public ResponseEntity<PrivacyPolicyReport> readPrivacyPolicyReportByDevice(@PathVariable(value = "udn") String udn) {
return privacyService.getRelatedPrivacyPolicies(udn)
.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
......
package edu.prlab.tyler.iotgateway.gateway.controllers;
import edu.prlab.tyler.iotgateway.gateway.pojo.auth.User;
import edu.prlab.tyler.iotgateway.gateway.services.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@PostMapping("/user")
public ResponseEntity<User> register(@RequestBody User user) {
return userService.registerNewUser(user)
.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
@PostMapping("/login")
public ResponseEntity<User> login(@RequestBody User user) {
return userService.login(user)
.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.noContent().build());
}
}
package edu.prlab.tyler.iotgateway.gateway.pojo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class DeviceIndex {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String udn;
}
package edu.prlab.tyler.iotgateway.gateway.pojo;
import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyChoice;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.*;
import java.time.LocalDateTime;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class PrivacyChoiceIndex {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private LocalDateTime localDateTime;
private PrivacyChoice privacyChoice;
}
package edu.prlab.tyler.iotgateway.gateway.pojo.auth;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonIgnore
private long id;
private String username;
private String password;
// private BigInteger publicKey;
// private BigInteger privateKey;
......
package edu.prlab.tyler.iotgateway.gateway.repositories;
import edu.prlab.tyler.iotgateway.gateway.pojo.auth.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
User findUserByUsername(String username);
boolean existsByUsername(String username);
}
......@@ -6,8 +6,6 @@ import edu.prlab.tyler.iotgateway.gateway.pojo.PrivacyChoiceIndex;
import edu.prlab.tyler.iotgateway.gateway.repositories.PrivacyChoiceIndexRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
......@@ -39,11 +37,12 @@ public class PrivacyService {
public Optional<PrivacyChoice> setPrivacyPolicyChoice(PrivacyChoice privacyChoice) {
return Optional.of(privacyChoice)
.map(choice -> template.postForObject(cloudAddress + "/choice", choice, PrivacyChoice.class))
.map(choice -> privacyChoiceIndexRepository.save(PrivacyChoiceIndex.builder()
.id(choice.getId())
.localDateTime(LocalDateTime.now())
.privacyChoice(choice)
.build()))
.map((choice) -> template.postForObject(cloudAddress + "/choice", choice.getPrivacyChoice(), PrivacyChoice.class));
.map(choice -> privacyChoice);
}
// public Optional<Iterable<PrivacyChoice>> getPrivacyPolicyChoices() {
......
package edu.prlab.tyler.iotgateway.gateway.services;
import edu.prlab.tyler.iotgateway.gateway.pojo.auth.User;
import edu.prlab.tyler.iotgateway.gateway.repositories.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Optional;
@Service
public class UserService {
private UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
//TODO
//需要增加加密機制
public Optional<User> registerNewUser(User user) {
return Optional.ofNullable(user)
.map(User::getUsername)
.filter(username->!userRepository.existsByUsername(username))
.map(username -> userRepository.save(user));
}
//TODO
//需要增加解密確認
public Optional<User> login(User user) {
return Optional.ofNullable(user.getUsername())
.map(username -> userRepository.findUserByUsername(username))
.filter(sensitiveUser->sensitiveUser.getPassword().equals(user.getPassword()));
}
}
package edu.prlab.tyler.iotgateway.gateway;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import edu.prlab.tyler.iotgateway.cloud.pojo.auth.SensitiveUser;
import edu.prlab.tyler.iotgateway.cloud.pojo.device.Device;
import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyChoice;
import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyContent;
import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyPolicyReport;
import edu.prlab.tyler.iotgateway.gateway.pojo.auth.User;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
......@@ -42,14 +44,45 @@ public class GatewayHttpApiTest {
}
@Test
public void getPrivacyPolicyAndSetChoice() throws Exception{
public void getPrivacyPolicyAndSetChoice() throws Exception {
//取得裝置清單
//登入預設帳號
MvcResult result = mvc.perform(MockMvcRequestBuilders
.post("/login")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.content(mapper.writeValueAsString(User.builder().username("testUser0").password("testUser0").build())))
.andDo(print())
.andExpect(status().isOk())
.andReturn();
Assert.assertNotNull(result);
//取得裝置清單
result = mvc.perform(MockMvcRequestBuilders
.get("/device")
.accept(MediaType.APPLICATION_JSON_UTF8))
.andDo(print())
.andExpect(status().isOk())
.andReturn();
Iterable<Device> devices = mapper.readValue(result.getResponse().getContentAsString(),
new TypeReference<Iterable<Device>>() {
});
Assert.assertNotNull(devices);
//綁定裝置
result = mvc.perform(MockMvcRequestBuilders
.post("/device/" + "a1252c49-4188-4e6d-a32e-66604c664fb8")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.accept(MediaType.APPLICATION_JSON_UTF8)
.content(mapper.writeValueAsString(User.builder().username("testUser0").password("testUser0").build())))
.andDo(print())
.andExpect(status().isOk())
.andReturn();
Device device= mapper.readValue(result.getResponse().getContentAsString(), Device.class);
Assert.assertNotNull(device);
//拿取隱私政策
MvcResult result = mvc.perform(MockMvcRequestBuilders
result = mvc.perform(MockMvcRequestBuilders
.get("/device/" + "a1252c49-4188-4e6d-a32e-66604c664fb8")
.accept(MediaType.APPLICATION_JSON_UTF8))
.andDo(print())
......@@ -59,7 +92,7 @@ public class GatewayHttpApiTest {
Assert.assertNotNull(report);
//表達隱私偏好
Device device = report.getDevice();
device = report.getDevice();
PrivacyChoice privacyChoice = PrivacyChoice.builder()
.privacyContent(PrivacyContent.builder()
.user(SensitiveUser.builder()
......@@ -83,12 +116,12 @@ public class GatewayHttpApiTest {
Assert.assertNotNull(result);
//取得所有隱私偏好
// result = mvc.perform(MockMvcRequestBuilders
// .get("/choice")
// .accept(MediaType.APPLICATION_JSON_UTF8))
// .andDo(print())
// .andExpect(status().isOk())
// .andReturn();
// Assert.assertNotNull(result);
result = mvc.perform(MockMvcRequestBuilders
.get("/choice")
.accept(MediaType.APPLICATION_JSON_UTF8))
.andDo(print())
.andExpect(status().isOk())
.andReturn();
Assert.assertNotNull(result);
}
}
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