Merge branch 'DEVELOP'
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/controller/CompanyController.java b/src/main/java/org/eclipse/openk/contactbasedata/controller/CompanyController.java
index 19c55db..b16586a 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/controller/CompanyController.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/controller/CompanyController.java
@@ -112,36 +112,5 @@
return companyService.findContactPersonsToCompany(contactUuid);
}
-// @GetMapping("/{contactCompanyUuid}/contact-persons/{contactPersonUuid}")
-// @Secured({"ROLE_KON-READER", "ROLE_KON-WRITER", "ROLE_KON-ADMIN"})
-// @ApiOperation(value = "Anzeigen eines bestimmten Ansprechpartners zu einer Firma")
-// @ApiResponses(value = {
-// @ApiResponse(code = 404, message = "Ansprechpartner nicht gefunden."),
-// @ApiResponse(code = 400, message = "Ungültige Anfrage."),
-// @ApiResponse(code = 200, message = "Ansprechpartner erfolgreich gelesen.")})
-// public ContactPersonDto findContactPerson(
-// @PathVariable("contactCompanyUuid") UUID contactCompanyUuid,
-// @PathVariable("contactPersonUuid") UUID contactPersonUuid){
-// return companyService.findContactPersonToCompany(contactCompanyUuid, contactPersonUuid);
-// }
-//
-// @PostMapping
-// @Secured("ROLE_KON-ADMIN")
-// @ApiOperation(value = "Anlegen einer Kontaktperson")
-// @ApiResponses(value = {
-// @ApiResponse(code = 201, message = "Kontaktperson erfolgreich angelegt"),
-// @ApiResponse(code = 500, message = "Konnte nicht durchgeführt werden")
-// })
-// public ResponseEntity<ContactPersonDto> insertContactPerson(
-// @Validated @RequestBody ContactPersonDto contactPersonDto) {
-// ContactPersonDto savedContactPersonDto = companyService.insertContactPerson(contactPersonDto);
-// URI location = ServletUriComponentsBuilder
-// .fromCurrentRequestUri()
-// .path("/{uuid}")
-// .buildAndExpand(savedExternalPersonDto.getContactUuid())
-// .toUri();
-// return ResponseEntity.created(location).body(savedExternalPersonDto);
-// }
-
}
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java b/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
index bed5d07..bb17aaf 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/service/CompanyService.java
@@ -16,11 +16,11 @@
import lombok.extern.log4j.Log4j2;
import org.eclipse.openk.contactbasedata.constants.Constants;
-import org.eclipse.openk.contactbasedata.exceptions.BadRequestException;
import org.eclipse.openk.contactbasedata.exceptions.NotFoundException;
import org.eclipse.openk.contactbasedata.mapper.CompanyMapper;
import org.eclipse.openk.contactbasedata.mapper.ContactMapper;
import org.eclipse.openk.contactbasedata.mapper.ContactPersonMapper;
+import org.eclipse.openk.contactbasedata.model.TblCommunication;
import org.eclipse.openk.contactbasedata.model.TblCompany;
import org.eclipse.openk.contactbasedata.model.TblContact;
import org.eclipse.openk.contactbasedata.model.TblContactPerson;
@@ -34,6 +34,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
+import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
@@ -115,9 +116,27 @@
public List<ContactPersonDto> findContactPersonsToCompany( UUID companyContactUuid ) {
TblCompany company = companyRepository.findByTblContactUuid( companyContactUuid )
.orElseThrow( NotFoundException::new);
- return company.getContactPersons().stream()
+ List<TblContactPerson> tblContactPeople = company.getContactPersons();
+ Map<UUID, TblContactPerson> tblContactPersonMap = tblContactPeople.stream()
+ .collect( Collectors.toMap(cp -> cp.getContact().getUuid(), x -> x));
+
+
+ List<ContactPersonDto> contactPersonDtos = tblContactPeople.stream()
.map(contactPersonMapper::toContactPersonDto)
.collect(Collectors.toList());
+ // fill in the emails
+ contactPersonDtos.stream().forEach( x -> mapEmail( x, tblContactPersonMap ));
+ return contactPersonDtos;
+ }
+
+
+ private void mapEmail( ContactPersonDto dto, Map<UUID, TblContactPerson> cpMap ) {
+ TblCommunication tblComm = cpMap.get(dto.getContactUuid()).getContact()
+ .getCommunications().stream()
+ .filter(comm -> comm.getRefCommunicationType().getId() == 1L)
+ .findFirst().orElse(null);
+// TODO: exchange constant 1L with DB-Solution
+ dto.setEmail( tblComm == null ? "" : tblComm.getCommunicationData() );
}
private void setFromCompanyDto( TblCompany destTblCompany, CompanyDto sourceDto ) {
diff --git a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/ContactPersonDto.java b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/ContactPersonDto.java
index 3e4e99b..2e6f162 100644
--- a/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/ContactPersonDto.java
+++ b/src/main/java/org/eclipse/openk/contactbasedata/viewmodel/ContactPersonDto.java
@@ -54,4 +54,6 @@
@JsonProperty("salutationId")
private UUID salutationUuid;
private String salutationType;
+
+ private String email;
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e35bf15..5ba8fd2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -112,7 +112,7 @@
authNAuthService:
ribbon:
- listOfServers: http://localhost:8380
+ listOfServers: http://localhost:8080
cors:
allowedOrigins: http://localhost:8080
diff --git a/src/main/resources/application_localdev.yml b/src/main/resources/application_localdev.yml
index 387436a..c699abf 100644
--- a/src/main/resources/application_localdev.yml
+++ b/src/main/resources/application_localdev.yml
@@ -38,6 +38,10 @@
ribbon:
listOfServers: http://entopkon:8880
+cors:
+ allowedOrigins: http://localhost:8080
+ corsEnabled: false
+
logging:
file: contact-base-data.log