FormResponseElastic.java
package fr.paris.lutece.plugins.elasticdatasearch.business;
import java.time.LocalDate;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
public class FormResponseElastic {
private HashMap<String,String> mapAttributes = new HashMap<>();
private String strFormName;
private String strStatus;
private LocalDate dateForm;
public HashMap<String, String> getMapAttributes() {
return mapAttributes;
}
public void setMapAttributes(HashMap<String, String> mapAttributes) {
this.mapAttributes = mapAttributes;
}
public String getFormName() {
return strFormName;
}
public void setFormName(String strFormName) {
this.strFormName = strFormName;
}
public String getStatus() {
return strStatus;
}
public void setStatus(String strStatus) {
this.strStatus = strStatus;
}
public LocalDate getDateForm() {
return dateForm;
}
public void setDateForm(LocalDate dateForm) {
this.dateForm = dateForm;
}
public static Comparator<FormResponseElastic> sortByAttributeKey(String key) {
return Comparator.comparing(
fr -> fr.getMapAttributes().getOrDefault(key, ""),
Comparator.nullsLast(String::compareToIgnoreCase)
);
}
public static List<FormResponseElastic> filterByAttribute(
List<FormResponseElastic> list,
String key,
String value) {
return list.stream()
.filter(fr -> value.equals(fr.getMapAttributes().get(key)))
.collect(Collectors.toList());
}
}