From 40ca4e68432b1fc4df28e8d1a1d6e950da4a1b82 Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Tue, 7 Jul 2009 13:30:49 +0200 Subject: [PATCH] ItEr16S10ClasificacionTraballoItEr15S13: Retrieve CriterionTypes from DB instead of from PredefinedCriterionTypes --- .../bootstrap/CriterionsBootstrap.java | 9 --- .../bootstrap/ICriterionsBootstrap.java | 2 - .../business/resources/entities/Resource.java | 4 +- .../services/CriterionTypeService.java | 2 + .../impl/CriterionTypeServiceImpl.java | 6 ++ .../services/impl/ResourceServiceImpl.java | 9 ++- .../services/CriterionTypeServiceTest.java | 27 ++++++--- .../web/orders/IOrderElementModel.java | 8 +-- .../web/orders/OrderElementController.java | 59 +++++++++---------- .../web/orders/OrderElementModel.java | 23 ++++---- .../criterion/CriterionAdminController.java | 9 +-- .../resources/criterion/CriterionsModel.java | 9 ++- .../resources/criterion/ICriterionsModel.java | 3 +- 13 files changed, 97 insertions(+), 73 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java index b1124785f..3bb8f7d5d 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/CriterionsBootstrap.java @@ -5,7 +5,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.navalplanner.business.common.exceptions.ValidationException; @@ -43,14 +42,6 @@ public class CriterionsBootstrap implements ICriterionsBootstrap { public CriterionsBootstrap() { } - public List> getTypes() { - ArrayList> result = new ArrayList>(); - for (ICriterionTypeProvider provider : providers) { - result.addAll(provider.getRequiredCriterions().keySet()); - } - return result; - } - @Override @Transactional public void loadRequiredData() { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/ICriterionsBootstrap.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/ICriterionsBootstrap.java index 009f5345e..ccfa450bc 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/ICriterionsBootstrap.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/bootstrap/ICriterionsBootstrap.java @@ -11,8 +11,6 @@ import org.navalplanner.business.resources.entities.ICriterionType; */ public interface ICriterionsBootstrap extends IDataBootstrap { - public abstract List> getTypes(); - public abstract void loadRequiredData(); } \ No newline at end of file diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java index e07fc9ad9..96840ece3 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/entities/Resource.java @@ -401,8 +401,8 @@ public abstract class Resource { return criterionSatisfactions.contains(satisfaction); } - public void checkNotOverlaps(List> types) { - for (ICriterionType criterionType : types) { + public void checkNotOverlaps(List types) { + for (CriterionType criterionType : types) { if (!criterionType.allowSimultaneousCriterionsPerResource()) { List satisfactions = query().from( criterionType).sortByStartDate().result(); diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/CriterionTypeService.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/CriterionTypeService.java index 99f250a96..043375b76 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/CriterionTypeService.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/CriterionTypeService.java @@ -20,6 +20,8 @@ public interface CriterionTypeService { CriterionType findUniqueByName(String name); + List getAll(); + void remove(CriterionType criterionType) throws InstanceNotFoundException; void save(CriterionType entity) throws ValidationException; diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionTypeServiceImpl.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionTypeServiceImpl.java index ca191e655..c007b3d2c 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionTypeServiceImpl.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/CriterionTypeServiceImpl.java @@ -1,6 +1,7 @@ package org.navalplanner.business.resources.services.impl; +import java.util.List; import org.hibernate.validator.InvalidValue; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.common.exceptions.ValidationException; @@ -49,6 +50,11 @@ public class CriterionTypeServiceImpl implements CriterionTypeService { } } + @Override + public List getAll() { + return criterionTypeDAO.list(CriterionType.class); + } + @Override public void remove(CriterionType criterionType) throws InstanceNotFoundException { if (criterionType.getId() != null ) { diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java index 35a7ce9d1..82c7a08b5 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/resources/services/impl/ResourceServiceImpl.java @@ -7,10 +7,11 @@ import java.util.Set; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.resources.bootstrap.ICriterionsBootstrap; import org.navalplanner.business.resources.daos.IResourceDao; +import org.navalplanner.business.resources.entities.CriterionType; import org.navalplanner.business.resources.entities.ICriterion; -import org.navalplanner.business.resources.entities.ICriterionType; import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.entities.Worker; +import org.navalplanner.business.resources.services.CriterionTypeService; import org.navalplanner.business.resources.services.ResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -34,6 +35,10 @@ public class ResourceServiceImpl implements ResourceService { @Autowired private ICriterionsBootstrap criterionsBootstrap; + @Autowired + private CriterionTypeService criterionTypeService; + + @Transactional public void saveResource(Resource resource) { checkResourceIsOk(resource); @@ -46,7 +51,7 @@ public class ResourceServiceImpl implements ResourceService { } private void checkResourceIsOk(Resource resource) { - List> types = criterionsBootstrap.getTypes(); + List types = criterionTypeService.getAll(); resource.checkNotOverlaps(types); } diff --git a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/services/CriterionTypeServiceTest.java b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/services/CriterionTypeServiceTest.java index b8c3160a6..756143d15 100644 --- a/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/services/CriterionTypeServiceTest.java +++ b/navalplanner-business/src/test/java/org/navalplanner/business/test/resources/services/CriterionTypeServiceTest.java @@ -1,5 +1,7 @@ package org.navalplanner.business.test.resources.services; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertEquals; import java.util.UUID; import org.hibernate.exception.ConstraintViolationException; @@ -13,7 +15,6 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; -import static org.junit.Assert.assertTrue; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE; @@ -30,33 +31,45 @@ public class CriterionTypeServiceTest { @Autowired private CriterionTypeService criterionTypeService; + public CriterionType createValidCriterionType() { + String unique = UUID.randomUUID().toString(); + return createValidCriterionType(unique); + } + public CriterionType createValidCriterionType(String name) { return new CriterionType(name); } @Test public void testSaveCriterionType() throws ValidationException { - String unique = UUID.randomUUID().toString(); - CriterionType criterionType = createValidCriterionType(unique); + CriterionType criterionType = createValidCriterionType(); criterionTypeService.save(criterionType); assertTrue(criterionTypeService.exists(criterionType)); } @Test public void testSaveCriterionTypeTwice() throws ValidationException { - String unique = UUID.randomUUID().toString(); - CriterionType criterionType = createValidCriterionType(unique); + CriterionType criterionType = createValidCriterionType(); criterionTypeService.save(criterionType); criterionTypeService.save(criterionType); assertTrue(criterionTypeService.exists(criterionType)); } - @Test(expected=ConstraintViolationException.class) - public void testCannotSaveTwoCriterionTypesWithTheSameName() throws ValidationException { + @Test(expected=ConstraintViolationException.class) + public void testCannotSaveTwoDifferentCriterionTypesWithTheSameName() throws ValidationException { String unique = UUID.randomUUID().toString(); CriterionType criterionType = createValidCriterionType(unique); criterionTypeService.save(criterionType); criterionType = createValidCriterionType(unique); criterionTypeService.save(criterionType); } + + @Test + public void testGetAll() throws ValidationException { + int previous = criterionTypeService.getAll().size(); + CriterionType criterionType = createValidCriterionType(); + criterionTypeService.save(criterionType); + int now = criterionTypeService.getAll().size(); + assertEquals(now, previous + 1); + } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderElementModel.java index ecabc6805..8dee7d953 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/IOrderElementModel.java @@ -4,7 +4,7 @@ import java.util.List; import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.resources.entities.Criterion; -import org.navalplanner.business.resources.entities.ICriterionType; +import org.navalplanner.business.resources.entities.CriterionType; public interface IOrderElementModel { @@ -12,10 +12,10 @@ public interface IOrderElementModel { public void setCurrent(OrderElement orderElement); - public List> getCriterionTypes(); + public List getCriterionTypes(); - public ICriterionType getCriterionTypeByName(String name); + public CriterionType getCriterionTypeByName(String name); - public List getCriterionsFor(ICriterionType type); + public List getCriterionsFor(CriterionType type); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java index 87adee7c8..aed9ea147 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementController.java @@ -15,7 +15,6 @@ import org.navalplanner.business.orders.entities.OrderLine; import org.navalplanner.business.orders.entities.OrderLineGroup; import org.navalplanner.business.resources.entities.Criterion; import org.navalplanner.business.resources.entities.CriterionType; -import org.navalplanner.business.resources.entities.ICriterionType; import org.navalplanner.web.common.Util; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; @@ -64,9 +63,9 @@ public class OrderElementController extends GenericForwardComposer { private Listbox hoursGroupsListbox; /** - * List of selected {@link ICriterionType} just used in the controller + * List of selected {@link CriterionType} just used in the controller */ - private Set> selectedCriterionTypes = new LinkedHashSet>(); + private Set selectedCriterionTypes = new LinkedHashSet(); public OrderElement getOrderElement() { if (model == null) { @@ -102,9 +101,9 @@ public class OrderElementController extends GenericForwardComposer { return model.getOrderElement().getHoursGroups(); } else { // If it's an OrderLineGroup - Set> criterionTypes = getSelectedCriterionTypes(); + Set criterionTypes = getSelectedCriterionTypes(); - // If there isn't any ICriterionType selected + // If there isn't any CriterionType selected if (criterionTypes.isEmpty()) { return model.getOrderElement().getHoursGroups(); } @@ -118,7 +117,7 @@ public class OrderElementController extends GenericForwardComposer { for (HoursGroup hoursGroup : hoursGroups) { String key = ""; - for (ICriterionType criterionType : criterionTypes) { + for (CriterionType criterionType : criterionTypes) { Criterion criterion = hoursGroup .getCriterionByType(criterionType); if (criterion != null) { @@ -291,40 +290,40 @@ public class OrderElementController extends GenericForwardComposer { } /** - * Gets the list of possible {@link ICriterionType}. + * Gets the list of possible {@link CriterionType}. * - * @return A {@link List} of {@link ICriterionType} + * @return A {@link List} of {@link CriterionType} */ - public List> getCriterionTypes() { + public List getCriterionTypes() { if (model == null) { - return new ArrayList>(); + return new ArrayList(); } - List> list = model.getCriterionTypes(); + List list = model.getCriterionTypes(); list.removeAll(getSelectedCriterionTypes()); return list; } /** - * Returns the selected {@link ICriterionType}. + * Returns the selected {@link CriterionType}. * - * @return A {@link List} of {@link ICriterionType} + * @return A {@link List} of {@link CriterionType} */ - public Set> getSelectedCriterionTypes() { + public Set getSelectedCriterionTypes() { return selectedCriterionTypes; } /** - * Reloads the selected {@link ICriterionType}, depending on the + * Reloads the selected {@link CriterionType}, depending on the * {@link Criterion} related with the {@link HoursGroup} */ private void reloadSelectedCriterionTypes() { OrderElement orderElement = getOrderElement(); if (orderElement == null) { - selectedCriterionTypes = new LinkedHashSet>(); + selectedCriterionTypes = new LinkedHashSet(); } else { - Set> criterionTypes = new LinkedHashSet>(); + Set criterionTypes = new LinkedHashSet(); for (HoursGroup hoursGroup : orderElement.getHoursGroups()) { Set criterions = hoursGroup.getCriterions(); @@ -339,32 +338,32 @@ public class OrderElementController extends GenericForwardComposer { } /** - * Adds the selected {@link ICriterionType} to the selectedCriterionTypes + * Adds the selected {@link CriterionType} to the selectedCriterionTypes * attribute. * * @param selectedItems * {@link Set} of {@link Listitem} with the selected - * {@link ICriterionType} + * {@link CriterionType} */ public void assignCriterions(Set selectedItems) { for (Listitem listitem : selectedItems) { - ICriterionType value = (ICriterionType) listitem.getValue(); + CriterionType value = (CriterionType) listitem.getValue(); selectedCriterionTypes.add(value); } Util.reloadBindings(popup); } /** - * Removes the selected {@link ICriterionType} from the + * Removes the selected {@link CriterionType} from the * selectedCriterionTypes attribute. * * @param selectedItems * {@link Set} of {@link Listitem} with the selected - * {@link ICriterionType} + * {@link CriterionType} */ public void unassignCriterions(Set selectedItems) { for (Listitem listitem : selectedItems) { - ICriterionType value = (ICriterionType) listitem.getValue(); + CriterionType value = (CriterionType) listitem.getValue(); selectedCriterionTypes.remove(value); removeCriterionsFromHoursGroup(value); } @@ -378,7 +377,7 @@ public class OrderElementController extends GenericForwardComposer { * @param type * The type of the {@link Criterion} that should be removed */ - private void removeCriterionsFromHoursGroup(ICriterionType type) { + private void removeCriterionsFromHoursGroup(CriterionType type) { OrderElement orderElement = getOrderElement(); for (HoursGroup hoursGroup : orderElement.getHoursGroups()) { hoursGroup.removeCriterionByType(type); @@ -440,8 +439,8 @@ public class OrderElementController extends GenericForwardComposer { } })); - // For each ICriterionType selected - for (ICriterionType criterionType : getSelectedCriterionTypes()) { + // For each CriterionType selected + for (CriterionType criterionType : getSelectedCriterionTypes()) { Listcell cellCriterion = new Listcell(); cellCriterion.setParent(item); @@ -450,7 +449,7 @@ public class OrderElementController extends GenericForwardComposer { headerCriterion.setLabel(criterionType.getName()); headerCriterion.setParent(header); - // Add a new Listbox for each ICriterionType + // Add a new Listbox for each CriterionType final Listbox criterionListbox = new Listbox(); criterionListbox.setRows(1); criterionListbox.setMold("select"); @@ -582,8 +581,8 @@ public class OrderElementController extends GenericForwardComposer { cellPercentage.appendChild(percentage); cellFixedPercentage.appendChild(fixedPercentage); - // For each ICriterionType selected - for (ICriterionType criterionType : getSelectedCriterionTypes()) { + // For each CriterionType selected + for (CriterionType criterionType : getSelectedCriterionTypes()) { Listcell cellCriterion = new Listcell(); cellCriterion.setParent(item); @@ -592,7 +591,7 @@ public class OrderElementController extends GenericForwardComposer { headerCriterion.setLabel(criterionType.getName()); headerCriterion.setParent(header); - // Add a new Listbox for each ICriterionType + // Add a new Listbox for each CriterionType final Listbox criterionListbox = new Listbox(); criterionListbox.setRows(1); criterionListbox.setMold("select"); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java index e26fd92f5..0afe31da9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderElementModel.java @@ -10,8 +10,9 @@ import org.navalplanner.business.orders.entities.HoursGroup; import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.business.resources.bootstrap.ICriterionsBootstrap; import org.navalplanner.business.resources.entities.Criterion; -import org.navalplanner.business.resources.entities.ICriterionType; +import org.navalplanner.business.resources.entities.CriterionType; import org.navalplanner.business.resources.services.CriterionService; +import org.navalplanner.business.resources.services.CriterionTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; @@ -33,7 +34,10 @@ public class OrderElementModel implements IOrderElementModel { @Autowired private CriterionService criterionService; - private Map> mapCriterionTypes = new HashMap>(); + @Autowired + private CriterionTypeService criterionTypeService; + + private Map mapCriterionTypes = new HashMap(); @Override public OrderElement getOrderElement() { @@ -59,12 +63,11 @@ public class OrderElementModel implements IOrderElementModel { } @Override - public List> getCriterionTypes() { - List> criterionTypes = criterionsBootstrap - .getTypes(); + public List getCriterionTypes() { + List criterionTypes = criterionTypeService.getAll(); if (mapCriterionTypes.isEmpty()) { - for (ICriterionType criterionType : criterionTypes) { + for (CriterionType criterionType : criterionTypes) { mapCriterionTypes.put(criterionType.getName(), criterionType); } } @@ -73,10 +76,10 @@ public class OrderElementModel implements IOrderElementModel { } @Override - public ICriterionType getCriterionTypeByName(String name) { + public CriterionType getCriterionTypeByName(String name) { if (mapCriterionTypes.isEmpty()) { - for (ICriterionType criterionType : criterionsBootstrap - .getTypes()) { + for (CriterionType criterionType : criterionTypeService + .getAll()) { mapCriterionTypes.put(criterionType.getName(), criterionType); } } @@ -85,7 +88,7 @@ public class OrderElementModel implements IOrderElementModel { } @Override - public List getCriterionsFor(ICriterionType type) { + public List getCriterionsFor(CriterionType type) { return (List) criterionService.getCriterionsFor(type); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionAdminController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionAdminController.java index a26abd29e..8eeae4501 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionAdminController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionAdminController.java @@ -6,6 +6,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.CriterionType; import org.navalplanner.business.resources.entities.ICriterionType; import org.navalplanner.web.common.IMessagesForUser; import org.navalplanner.web.common.Level; @@ -166,20 +167,20 @@ public class CriterionAdminController extends GenericForwardComposer { } private GroupsModel getTypesWithCriterions() { - List> types = criterionsModel.getTypes(); + List types = criterionsModel.getTypes(); Object[][] groups = new Object[types.size()][]; int i = 0; - for (ICriterionType type : types) { + for (CriterionType type : types) { groups[i] = criterionsModel.getCriterionsFor(type).toArray(); i++; } return new SimpleGroupsModel(groups, asStrings(types), types.toArray()); } - private String[] asStrings(List> types) { + private String[] asStrings(List types) { String[] result = new String[types.size()]; int i = 0; - for (ICriterionType criterionType : types) { + for (CriterionType criterionType : types) { result[i++] = criterionType.getName(); } return result; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionsModel.java index 9b30bbc0a..058993534 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionsModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/CriterionsModel.java @@ -13,11 +13,13 @@ import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.resources.bootstrap.ICriterionsBootstrap; import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.CriterionType; import org.navalplanner.business.resources.entities.CriterionWithItsType; import org.navalplanner.business.resources.entities.ICriterionType; import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.entities.Worker; import org.navalplanner.business.resources.services.CriterionService; +import org.navalplanner.business.resources.services.CriterionTypeService; import org.navalplanner.business.resources.services.ResourceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; @@ -44,6 +46,9 @@ public class CriterionsModel implements ICriterionsModel { @Autowired private CriterionService criterionService; + @Autowired + private CriterionTypeService criterionTypeService; + @Autowired private ResourceService resourceService; @@ -53,8 +58,8 @@ public class CriterionsModel implements ICriterionsModel { @Override @Transactional(readOnly = true) - public List> getTypes() { - return criterionsBootstrap.getTypes(); + public List getTypes() { + return criterionTypeService.getAll(); } @Override diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/ICriterionsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/ICriterionsModel.java index 22cedc0b4..1d6c6dc08 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/ICriterionsModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/criterion/ICriterionsModel.java @@ -5,6 +5,7 @@ import java.util.List; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.resources.entities.Criterion; +import org.navalplanner.business.resources.entities.CriterionType; import org.navalplanner.business.resources.entities.ICriterionType; import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.entities.Worker; @@ -15,7 +16,7 @@ import org.navalplanner.business.resources.entities.Worker; */ public interface ICriterionsModel { - List> getTypes(); + List getTypes(); Collection getCriterionsFor(ICriterionType type);