Skip to content

Commit

Permalink
Resolve optional in service
Browse files Browse the repository at this point in the history
RISDEV-0000
  • Loading branch information
leonie-koch committed Dec 17, 2024
1 parent bb469ff commit d02b2ed
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package de.bund.digitalservice.ris.caselaw.adapter.database.jpa;

import java.util.List;
import java.util.Optional;
import java.util.UUID;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
Expand All @@ -20,5 +19,5 @@ OR LOWER(ct.title) LIKE COALESCE(concat(LOWER(:searchStr), '%'), '%'))
ORDER BY ct.abbreviation
LIMIT 15
""")
List<LegalPeriodicalDTO> findBySearchStr(@Param("searchStr") Optional<String> searchStr);
List<LegalPeriodicalDTO> findBySearchStr(@Param("searchStr") String searchStr);
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import de.bund.digitalservice.ris.caselaw.domain.LegalPeriodicalRepository;
import de.bund.digitalservice.ris.caselaw.domain.lookuptable.LegalPeriodical;
import java.util.List;
import java.util.Optional;
import org.springframework.stereotype.Repository;

@Repository
Expand All @@ -16,7 +15,7 @@ public PostgresLegalPeriodicalRepositoryImpl(DatabaseLegalPeriodicalRepository r
}

@Override
public List<LegalPeriodical> findAllBySearchStr(Optional<String> searchStr) {
public List<LegalPeriodical> findAllBySearchStr(String searchStr) {
return repository.findBySearchStr(searchStr).stream()
.map(LegalPeriodicalTransformer::transformToDomain)
.toList();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import de.bund.digitalservice.ris.caselaw.domain.lookuptable.LegalPeriodical;
import java.util.List;
import java.util.Optional;
import org.springframework.data.repository.NoRepositoryBean;

/** Domain repository for legal periodicals */
Expand All @@ -15,5 +14,5 @@ public interface LegalPeriodicalRepository {
* @return list of legal periodical which contain the search string or the whole list of legal
* periodical if no search string is given
*/
List<LegalPeriodical> findAllBySearchStr(Optional<String> searchStr);
List<LegalPeriodical> findAllBySearchStr(String searchStr);
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ public LegalPeriodicalService(LegalPeriodicalRepository legalPeriodicalRepositor
* periodical if no search string is given
*/
public List<LegalPeriodical> getLegalPeriodicals(Optional<String> searchStr) {
return legalPeriodicalRepository.findAllBySearchStr(searchStr.map(String::trim));
return legalPeriodicalRepository.findAllBySearchStr(searchStr.map(String::trim).orElse(null));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ void setUp() {
}));

legalPeriodical =
legalPeriodicalRepository.findAllBySearchStr(Optional.of("ABC")).stream()
legalPeriodicalRepository.findAllBySearchStr("ABC").stream()
.findAny()
.orElseThrow(
() ->
Expand All @@ -174,12 +174,11 @@ void tearDown() {
@Test
void testFindLegalPeriodical_byAbbreviationOrTitle_shouldSucceed() {
Assertions.assertNotNull(
legalPeriodicalRepository.findAllBySearchStr(Optional.of("A&G")).stream().findFirst(),
legalPeriodicalRepository.findAllBySearchStr("A&G").stream().findFirst(),
"Expected a legal periodical by abbreviation but none was found");

Assertions.assertNotNull(
legalPeriodicalRepository.findAllBySearchStr(Optional.of("Arbeit & Gesundheit")).stream()
.findFirst(),
legalPeriodicalRepository.findAllBySearchStr("Arbeit & Gesundheit").stream().findFirst(),
"Expected a legal periodical by title but none was found");
}

Expand Down

0 comments on commit d02b2ed

Please sign in to comment.