From 0eb486a8d44953d6784d0e4cc982c6e7abb5ee38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Rou=C4=8Da?= <xrouca@fi.muni.cz> Date: Fri, 14 Apr 2023 10:54:38 +0200 Subject: [PATCH] DeviceFacade and Company --- .../cz/muni/fi/pa165/core/company/Company.java | 5 +++++ .../muni/fi/pa165/core/device/DeviceFacade.java | 16 +++++++++++++++- .../pa165/core/company/UnitTestCompanyJPA.java | 2 +- emailmicroservice/pom.xml | 7 ------- .../pa165/model/dto/device/DeviceCreateDto.java | 2 ++ 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/cz/muni/fi/pa165/core/company/Company.java b/core/src/main/java/cz/muni/fi/pa165/core/company/Company.java index 4d1097b..0a296da 100644 --- a/core/src/main/java/cz/muni/fi/pa165/core/company/Company.java +++ b/core/src/main/java/cz/muni/fi/pa165/core/company/Company.java @@ -2,6 +2,7 @@ package cz.muni.fi.pa165.core.company; import cz.muni.fi.pa165.core.common.DomainObject; import cz.muni.fi.pa165.core.device.Device; +import cz.muni.fi.pa165.core.house.House; import cz.muni.fi.pa165.core.user.roles.CompanyRole; import jakarta.persistence.*; import lombok.AllArgsConstructor; @@ -27,4 +28,8 @@ public class Company extends DomainObject { @OneToMany(mappedBy = "company") private List<Device> deviceList; + + @OneToMany + @JoinColumn(name = "domain_company_id") + private List<House> houseList; } diff --git a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceFacade.java b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceFacade.java index 3084375..b3652f2 100644 --- a/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceFacade.java +++ b/core/src/main/java/cz/muni/fi/pa165/core/device/DeviceFacade.java @@ -1,10 +1,14 @@ package cz.muni.fi.pa165.core.device; import cz.muni.fi.pa165.core.common.DomainFacade; +import cz.muni.fi.pa165.core.company.CompanyService; import cz.muni.fi.pa165.core.helpers.exceptions.EntityDeletionException; +import cz.muni.fi.pa165.core.smartmeter.SmartMeter; import cz.muni.fi.pa165.model.dto.device.DeviceCreateDto; import cz.muni.fi.pa165.model.dto.device.DeviceDto; import cz.muni.fi.pa165.model.dto.device.DeviceUpdateDto; +import cz.muni.fi.pa165.model.dto.smartDevice.SmartMeterCreateDto; +import cz.muni.fi.pa165.model.dto.smartDevice.SmartMeterDto; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -14,10 +18,20 @@ public class DeviceFacade extends DomainFacade<Device, DeviceDto, DeviceCreateDt private final DeviceService deviceService; // For the "DeviceService" specific methods + private final CompanyService companyService; + @Autowired - public DeviceFacade(DeviceService deviceService, DeviceMapper deviceMapper) { + public DeviceFacade(DeviceService deviceService, DeviceMapper deviceMapper, CompanyService companyService) { super(deviceService, deviceMapper); this.deviceService = deviceService; + this.companyService = companyService; + } + + @Override + public DeviceDto create(DeviceCreateDto deviceCreateDto){ + Device device = mapper.fromCreateDto(deviceCreateDto); + device.setCompany(companyService.findById(deviceCreateDto.getCompanyId())); + return mapper.toDto(deviceService.create(device)); } @SneakyThrows diff --git a/core/src/test/java/cz/muni/fi/pa165/core/company/UnitTestCompanyJPA.java b/core/src/test/java/cz/muni/fi/pa165/core/company/UnitTestCompanyJPA.java index 4f738cf..5442c63 100644 --- a/core/src/test/java/cz/muni/fi/pa165/core/company/UnitTestCompanyJPA.java +++ b/core/src/test/java/cz/muni/fi/pa165/core/company/UnitTestCompanyJPA.java @@ -47,7 +47,7 @@ public class UnitTestCompanyJPA { } private Company helperRegister() { - return companyRepository.save(new Company("Tesla", new ArrayList<>(), new ArrayList<>())); + return companyRepository.save(new Company("Tesla", new ArrayList<>(), new ArrayList<>(), new ArrayList<>())); } @Test diff --git a/emailmicroservice/pom.xml b/emailmicroservice/pom.xml index 990589d..da19b79 100644 --- a/emailmicroservice/pom.xml +++ b/emailmicroservice/pom.xml @@ -17,11 +17,4 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> - <dependencies> - <dependency> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-starter-mail</artifactId> - </dependency> - </dependencies> - </project> \ No newline at end of file diff --git a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java index b8ceeae..834d233 100644 --- a/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java +++ b/model/src/main/java/cz/muni/fi/pa165/model/dto/device/DeviceCreateDto.java @@ -9,4 +9,6 @@ import lombok.Setter; public class DeviceCreateDto extends DomainObjectDto { private String name; + + private String companyId; } -- GitLab