Skip to content
Snippets Groups Projects
Commit 0eb486a8 authored by Miroslav Rouča's avatar Miroslav Rouča
Browse files

DeviceFacade and Company

parent 899f98be
No related branches found
No related tags found
3 merge requests!79Final merge to main,!43Testing user,!38Deleted manufacturer
Pipeline #
...@@ -2,6 +2,7 @@ package cz.muni.fi.pa165.core.company; ...@@ -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.common.DomainObject;
import cz.muni.fi.pa165.core.device.Device; 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 cz.muni.fi.pa165.core.user.roles.CompanyRole;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -27,4 +28,8 @@ public class Company extends DomainObject { ...@@ -27,4 +28,8 @@ public class Company extends DomainObject {
@OneToMany(mappedBy = "company") @OneToMany(mappedBy = "company")
private List<Device> deviceList; private List<Device> deviceList;
@OneToMany
@JoinColumn(name = "domain_company_id")
private List<House> houseList;
} }
package cz.muni.fi.pa165.core.device; package cz.muni.fi.pa165.core.device;
import cz.muni.fi.pa165.core.common.DomainFacade; 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.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.DeviceCreateDto;
import cz.muni.fi.pa165.model.dto.device.DeviceDto; 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.device.DeviceUpdateDto;
import cz.muni.fi.pa165.model.dto.smartDevice.SmartMeterCreateDto;
import cz.muni.fi.pa165.model.dto.smartDevice.SmartMeterDto;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -14,10 +18,20 @@ public class DeviceFacade extends DomainFacade<Device, DeviceDto, DeviceCreateDt ...@@ -14,10 +18,20 @@ public class DeviceFacade extends DomainFacade<Device, DeviceDto, DeviceCreateDt
private final DeviceService deviceService; // For the "DeviceService" specific methods private final DeviceService deviceService; // For the "DeviceService" specific methods
private final CompanyService companyService;
@Autowired @Autowired
public DeviceFacade(DeviceService deviceService, DeviceMapper deviceMapper) { public DeviceFacade(DeviceService deviceService, DeviceMapper deviceMapper, CompanyService companyService) {
super(deviceService, deviceMapper); super(deviceService, deviceMapper);
this.deviceService = deviceService; 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 @SneakyThrows
......
...@@ -47,7 +47,7 @@ public class UnitTestCompanyJPA { ...@@ -47,7 +47,7 @@ public class UnitTestCompanyJPA {
} }
private Company helperRegister() { 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 @Test
......
...@@ -17,11 +17,4 @@ ...@@ -17,11 +17,4 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
</project> </project>
\ No newline at end of file
...@@ -9,4 +9,6 @@ import lombok.Setter; ...@@ -9,4 +9,6 @@ import lombok.Setter;
public class DeviceCreateDto extends DomainObjectDto { public class DeviceCreateDto extends DomainObjectDto {
private String name; private String name;
private String companyId;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment