blob: 56f6be3da56fd02c6ae9b495a0523791dc21f79e [file] [log] [blame]
/*
*******************************************************************************
* Copyright (c) 2019 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************
*/
package org.eclipse.openk.contactbasedata.service;
import lombok.extern.log4j.Log4j2;
import org.eclipse.openk.contactbasedata.mapper.ContactMapper;
import org.eclipse.openk.contactbasedata.model.VwDetailedContact;
import org.eclipse.openk.contactbasedata.repository.ContactRepository;
import org.eclipse.openk.contactbasedata.repository.DetailedContactRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.UUID;
@Log4j2
@Service
public class ContactService {
@Autowired
private DetailedContactRepository detailedContactRepository;
@Autowired
private ContactRepository contactRepository;
@Autowired
private ContactMapper contactMapper;
public Page<VwDetailedContact> findDetailedContacts(String contactType,
UUID personTypeUuid,
String searchText,
String moduleName,
boolean withoutModule,
Pageable pageable) {
if( contactType == null &&
personTypeUuid == null &&
searchText == null &&
moduleName == null &&
!withoutModule) {
return detailedContactRepository.findAll(pageable);
}
else {
return detailedContactRepository.findByFilter( contactType,
personTypeUuid,
searchText != null ? searchText.toUpperCase() : null,
moduleName,
withoutModule,
pageable);
}
}
public Page<VwDetailedContact> findDetailedContactsByModulName(String modulName, String searchText, Pageable pageable) {
return detailedContactRepository.findByModulName(modulName, searchText, pageable);
}
}