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