diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java index be6988b9e..4d7ad674e 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/hibernate/notification/PredefinedDatabaseSnapshots.java @@ -29,6 +29,10 @@ import javax.annotation.PostConstruct; import org.navalplanner.business.common.AdHocTransactionService; import org.navalplanner.business.common.IAdHocTransactionService; +import org.navalplanner.business.labels.daos.ILabelDAO; +import org.navalplanner.business.labels.daos.ILabelTypeDAO; +import org.navalplanner.business.labels.entities.Label; +import org.navalplanner.business.labels.entities.LabelType; import org.navalplanner.business.resources.daos.ICriterionDAO; import org.navalplanner.business.resources.daos.ICriterionTypeDAO; import org.navalplanner.business.resources.entities.Criterion; @@ -58,11 +62,18 @@ public class PredefinedDatabaseSnapshots { return criterionsMap.getValue(); } + private IAutoUpdatedSnapshot>> labelsMap; + + public Map> snapshotLabelsMap() { + return labelsMap.getValue(); + } + @PostConstruct @SuppressWarnings("unused") private void postConstruct() { criterionsMap = snapshot(calculateCriterionsMap(), CriterionType.class, Criterion.class); + labelsMap = snapshot(calculateLabelsMap(), LabelType.class, Label.class); } private IAutoUpdatedSnapshot snapshot(Callable callable, @@ -100,4 +111,25 @@ public class PredefinedDatabaseSnapshots { }; } + @Autowired + private ILabelTypeDAO labelTypeDAO; + + @Autowired + private ILabelDAO labelDAO; + + private Callable>> calculateLabelsMap() { + return new Callable>>() { + @Override + public Map> call() throws Exception { + Map> result = new HashMap>(); + for (LabelType labelType : labelTypeDAO.getAll()) { + List