git init
Showing
| package edu.prlab.tyler.iotgateway.cloud.config; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.device.Device; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.device.Manufacturer; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.device.Model; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyPolicy; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.PrivacyPolicyReport; | |||
| import edu.prlab.tyler.iotgateway.cloud.pojo.privacy.p3p.*; | |||
| import edu.prlab.tyler.iotgateway.cloud.services.DeviceService; | |||
| import edu.prlab.tyler.iotgateway.cloud.services.PrivacyPolicyReportService; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.boot.ApplicationArguments; | |||
| import org.springframework.boot.ApplicationRunner; | |||
| import org.springframework.stereotype.Component; | |||
| import java.util.Arrays; | |||
| import static java.util.Arrays.asList; | |||
| @Component | |||
| public class DefaultData implements ApplicationRunner { | |||
| private DeviceService deviceService; | |||
| private PrivacyPolicyReportService privacyPolicyReportService; | |||
| @Autowired | |||
| public DefaultData(DeviceService deviceService, | |||
| PrivacyPolicyReportService privacyPolicyReportService) { | |||
| this.deviceService = deviceService; | |||
| this.privacyPolicyReportService = privacyPolicyReportService; | |||
| } | |||
| @Override | |||
| public void run(ApplicationArguments args) { | |||
| Device oxygenDevice = Device.builder() | |||
| .udn("a1252c49-4188-4e6d-a32e-66604c664fb8") | |||
| .name("指尖式血氧機") | |||
| .type(Device.Type.Sensor) | |||
| .manufacturer(Manufacturer.builder() | |||
| .name("Facelake") | |||
| .serialNumber("3176927193") | |||
| .url("http://facelake.com") | |||
| .build()) | |||
| .model(Model.builder() | |||
| .name("指尖式血氧機") | |||
| .description("本設備是為符合不同領域及照護應用而設計,並把這些特色融入小如指節的分析儀中,可在數秒內量測出準確可靠的血氧及心跳值。") | |||
| .url("https://www.amazon.com/Pulse-Oximeter-Blood-Oxygen-Monitor/dp/B00HXXO332") | |||
| .build()) | |||
| .UPC("B00HXXO332") | |||
| .location("25.013068, 121.541651") | |||
| .status(Device.Status.Disconnected) | |||
| .build(); | |||
| deviceService.add(oxygenDevice); | |||
| PrivacyPolicy oxygenPrivacyPolicy = PrivacyPolicy.builder() | |||
| .id("abe5ca7b-780e-4857-87e6-014870fe0a3e") | |||
| .description("本APP會蒐集使用者周遭溫度作為第三方資料之地區環境分析資料。") | |||
| .collector(Collector.builder() | |||
| .name("AirRadio") | |||
| .email("[email protected]") | |||
| .phone("0987654177") | |||
| .build()) | |||
| .remedies(Arrays.asList(Remedy.builder() | |||
| .type(Remedy.Type.LAW) | |||
| .build())) | |||
| .statements(Arrays.asList(Statement.builder() | |||
| .consequence("a1252c49-4188-4e6d-a32e-66604c664fb9") | |||
| .purposes(Arrays.asList(Purpose.builder() | |||
| .type(Purpose.Type.PSEUDO_ANALYSIS) | |||
| .description("本APP會蒐集使用者周遭溫度作為第三方資料之地區環境分析資料。") | |||
| .build())) | |||
| .data(Arrays.asList(Datum.builder() | |||
| .type(Datum.Type.OTHER_CATEGORY) | |||
| .description("室溫資料") | |||
| .build())) | |||
| .recipients(Arrays.asList(Recipient.builder() | |||
| .entity("AirRadio") | |||
| .type(Recipient.Type.OURS) | |||
| .build())) | |||
| .retention(Retention.STATED_PURPOSE) | |||
| .build(), Statement.builder() | |||
| .consequence("a1252c49-4188-4e6d-a32e-66604c664fb9") | |||
| .purposes(Arrays.asList(Purpose.builder() | |||
| .type(Purpose.Type.PSEUDO_ANALYSIS) | |||
| .description("本APP會蒐集使用者周遭溫度作為第三方資料之地區環境分析資料。") | |||
| .build())) | |||
| .data(Arrays.asList(Datum.builder() | |||
| .type(Datum.Type.OTHER_CATEGORY) | |||
| .description("室溫資料") | |||
| .build())) | |||
| .recipients(Arrays.asList(Recipient.builder() | |||
| .entity("AirRadio") | |||
| .type(Recipient.Type.OURS) | |||
| .build())) | |||
| .retention(Retention.STATED_PURPOSE) | |||
| .build() | |||
| )) | |||
| .build(); | |||
| PrivacyPolicyReport oxygenPrivacyPolicyReport = PrivacyPolicyReport.builder() | |||
| .id("0cfb6be3-6f0f-4e63-85b8-e9c936707c0a") | |||
| .version("1.0") | |||
| .description("本APP會蒐集使用者周遭溫度、濕度及空氣品質作為第三方資料之地區環境分析資料。") | |||
| .device(oxygenDevice) | |||
| .policies(Arrays.asList(oxygenPrivacyPolicy)) | |||
| .build(); | |||
| privacyPolicyReportService.add(oxygenPrivacyPolicyReport); | |||
| } | |||
| } | |||
| \ No newline at end of file |
Please register or sign in to comment