-
Notifications
You must be signed in to change notification settings - Fork 0
/
ProductCatalogService.java
35 lines (29 loc) · 1.06 KB
/
ProductCatalogService.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package io.irw.hawk.scraper.service.scrape;
import io.irw.hawk.configuration.HawkProperties;
import io.irw.hawk.dto.merchandise.ProductVariantEnum;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import lombok.experimental.FieldDefaults;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
@Service
@Slf4j
public class ProductCatalogService {
HawkProperties hawkProperties;
AtomicLong productVariantId = new AtomicLong();
AtomicLong productQualifierId = new AtomicLong();
public List<ProductVariantEnum> getProducts() {
List<ProductVariantEnum> candidateValues = List.of(ProductVariantEnum.values());
if (hawkProperties.getSubset().isEnabled()) {
return candidateValues.stream()
.filter(pv -> hawkProperties.getSubset().getProducts().getVariants().contains(pv))
.toList();
} else {
return candidateValues;
}
}
}