package eu.dnetlib.uoamonitorservice.entities; import eu.dnetlib.uoamonitorservice.dto.CategoryFull; import eu.dnetlib.uoamonitorservice.generics.CategoryGeneric; import eu.dnetlib.uoamonitorservice.generics.Common; import eu.dnetlib.uoamonitorservice.generics.TopicGeneric; import org.springframework.data.mongodb.core.mapping.Document; import java.util.ArrayList; import java.util.Objects; import java.util.stream.Collectors; @Document public class Category extends CategoryGeneric { public Category() { super(); } public Category(CategoryFull category) { super(category); this.subCategories = category.getSubCategories().stream().map(Common::getId).collect(Collectors.toList()); this.subCategories.removeIf(Objects::isNull); } public void copyFromDefault(CategoryGeneric defaultCategory) { setName(defaultCategory.getName()); setAlias(defaultCategory.getAlias()); setDescription(defaultCategory.getDescription()); setVisibility(defaultCategory.getVisibility()); setCreationDate(defaultCategory.getCreationDate()); setUpdateDate(defaultCategory.getUpdateDate()); setDefaultId(defaultCategory.getId()); setSubCategories(new ArrayList<>()); } }