diff --git a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/LeaveCriterions.java b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/CategoryCriteria.java similarity index 61% rename from libreplan-business/src/main/java/org/libreplan/business/resources/entities/LeaveCriterions.java rename to libreplan-business/src/main/java/org/libreplan/business/resources/entities/CategoryCriteria.java index 208c0698c..3499c9925 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/LeaveCriterions.java +++ b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/CategoryCriteria.java @@ -1,9 +1,7 @@ /* * This file is part of LibrePlan * - * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e - * Desenvolvemento Tecnolóxico de Galicia - * Copyright (C) 2010-2011 Igalia, S.L. + * Copyright (C) 2011 CafédeRed Solutions, S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -25,18 +23,18 @@ import java.util.ArrayList; import java.util.List; /** - * Predefined leave criterions
- * @author Lorenzo Tilve - * @author Diego Pino García + * Predefined categories
+ * + * @author Ignacio Díaz Teijido */ -public enum LeaveCriterions { - MEDICAL_LEAVE("medicalLeave"), - PATERNITY_LEAVE("paternityLeave"); +public enum CategoryCriteria { + MANAGER("Manager"), SENIOR_WORKER("Senior worker"), JUNIOR_WORKER( + "Junior worker"); public static List getCriterionNames() { ArrayList result = new ArrayList(); - for (LeaveCriterions leaveCriterions: values()) { - result.add(leaveCriterions.criterionName); + for (CategoryCriteria category : values()) { + result.add(category.criterionName); } return result; } @@ -44,10 +42,11 @@ public enum LeaveCriterions { private final String criterionName; public Criterion criterion() { - return Criterion.create(criterionName, CriterionType.asCriterionType(PredefinedCriterionTypes.LEAVE)); + return Criterion.create(criterionName, CriterionType + .asCriterionType(PredefinedCriterionTypes.CATEGORY)); } - private LeaveCriterions(String name) { + private CategoryCriteria(String name) { this.criterionName = name; } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/WorkingRelationship.java b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/LocationCriteria.java similarity index 56% rename from libreplan-business/src/main/java/org/libreplan/business/resources/entities/WorkingRelationship.java rename to libreplan-business/src/main/java/org/libreplan/business/resources/entities/LocationCriteria.java index d272bda7d..35360ba64 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/WorkingRelationship.java +++ b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/LocationCriteria.java @@ -1,9 +1,7 @@ /* * This file is part of LibrePlan * - * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e - * Desenvolvemento Tecnolóxico de Galicia - * Copyright (C) 2010-2011 Igalia, S.L. + * Copyright (C) 2011 CafédeRed Solutions, S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -25,18 +23,18 @@ import java.util.ArrayList; import java.util.List; /** - * Predefined working relationships
- * @author Óscar González Fernández - * @author Diego Pino García + * Predefined location criterions
+ * + * @author Ignacio Díaz Teijido */ -public enum WorkingRelationship { - HIRED("hiredResourceWorkingRelationship"), - FIRED("firedResourceWorkingRelationship"); +public enum LocationCriteria { + AFRICA("Africa"), AMERICA("America"), ASIA("Asia"), AUSTRALIA("Australia"), EUROPE( + "Europe"); public static List getCriterionNames() { ArrayList result = new ArrayList(); - for (WorkingRelationship workingRelationship : values()) { - result.add(workingRelationship.criterionName); + for (LocationCriteria locationCriterions : values()) { + result.add(locationCriterions.criterionName); } return result; } @@ -44,14 +42,11 @@ public enum WorkingRelationship { private final String criterionName; public Criterion criterion() { - return Criterion.create(criterionName, CriterionType.asCriterionType(PredefinedCriterionTypes.WORK_RELATIONSHIP)); + return Criterion.create(criterionName, CriterionType + .asCriterionType(PredefinedCriterionTypes.LOCATION)); } - public String getCriterionName() { - return criterionName; - } - - private WorkingRelationship(String name) { + private LocationCriteria(String name) { this.criterionName = name; } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/PredefinedCriterionTypes.java b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/PredefinedCriterionTypes.java index fa71ac24b..f06832c62 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/resources/entities/PredefinedCriterionTypes.java +++ b/libreplan-business/src/main/java/org/libreplan/business/resources/entities/PredefinedCriterionTypes.java @@ -29,51 +29,29 @@ import org.libreplan.business.common.Registry; /** * This class defines some criterion types known a priori
+ * * @author Óscar González Fernández * @author Diego Pino García + * @author Ignacio Díaz Teijido */ public enum PredefinedCriterionTypes implements ICriterionType { - WORK_RELATIONSHIP(_("WORK_RELATIONSHIP"), "Relationship of the resource with the enterprise ",false, false,true, ResourceEnum.WORKER) { - @Override - public List getPredefined() { - return WorkingRelationship.getCriterionNames(); - } - }, - LOCATION_GROUP(_("LOCATION_GROUP"), "Location where the workers work", + LOCATION(_("LOCATION"), "Worker location", false, true, true, ResourceEnum.WORKER) { @Override public List getPredefined() { - return Arrays.asList(); + return LocationCriteria.getCriterionNames(); } }, - MACHINE_LOCATION_GROUP(_("MACHINE LOCATION_GROUP"), - "Location where there are machines", false, true, true, - ResourceEnum.MACHINE) { + CATEGORY(_("CATEGORY"), "Professional category", true, true, true, + ResourceEnum.WORKER) { @Override public List getPredefined() { - return Arrays.asList(); + return CategoryCriteria.getCriterionNames(); } }, - LEAVE(_("LEAVE"), "Leave",false, false, true, ResourceEnum.WORKER) { - @Override - public List getPredefined() { - return LeaveCriterions.getCriterionNames(); - } - }, - TRAINING(_("TRAINING"), "Training courses and labor training",true, true, true, ResourceEnum.WORKER) { - @Override - public List getPredefined() { - return Arrays.asList(); - } - }, - JOB(_("JOB"),"Job",true, true, true, ResourceEnum.WORKER) { - @Override - public List getPredefined() { - return Arrays.asList(); - } - }, - CATEGORY(_("CATEGORY"),"Professional category",true, true, true, ResourceEnum.WORKER) { + SKILL(_("SKILL"), "Worker skill", true, true, true, + ResourceEnum.WORKER) { @Override public List getPredefined() { return Arrays.asList(); diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/resources/bootstrap/CriterionsBootstrapTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/resources/bootstrap/CriterionsBootstrapTest.java index d89d4f6bb..b9d113e01 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/resources/bootstrap/CriterionsBootstrapTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/resources/bootstrap/CriterionsBootstrapTest.java @@ -32,8 +32,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.libreplan.business.resources.bootstrap.ICriterionsBootstrap; import org.libreplan.business.resources.daos.ICriterionDAO; +import org.libreplan.business.resources.entities.CategoryCriteria; import org.libreplan.business.resources.entities.Criterion; -import org.libreplan.business.resources.entities.WorkingRelationship; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -59,8 +59,8 @@ public class CriterionsBootstrapTest { private List getSomePredefinedCriterions() { List result = new ArrayList(); - for (WorkingRelationship workingRelationship : WorkingRelationship.values()) { - result.add(workingRelationship.criterion()); + for (CategoryCriteria category : CategoryCriteria.values()) { + result.add(category.criterion()); } return result; } diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/resources/entities/CriterionTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/resources/entities/CriterionTest.java index c2a6c85ff..5964daded 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/resources/entities/CriterionTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/resources/entities/CriterionTest.java @@ -48,10 +48,9 @@ import org.libreplan.business.resources.entities.Worker; public class CriterionTest { @Test public void testCreateWithAType() { - Criterion firedCriterion = PredefinedCriterionTypes.WORK_RELATIONSHIP - .createCriterion("fired"); - assertTrue(PredefinedCriterionTypes.WORK_RELATIONSHIP - .contains(firedCriterion)); + Criterion managerCriterion = PredefinedCriterionTypes.CATEGORY + .createCriterion("Manager"); + assertTrue(PredefinedCriterionTypes.CATEGORY.contains(managerCriterion)); } @Test @@ -190,9 +189,9 @@ public class CriterionTest { @Test public void testCanBeRelatedTo() { - assertTrue(PredefinedCriterionTypes.LOCATION_GROUP + assertTrue(PredefinedCriterionTypes.LOCATION .criterionCanBeRelatedTo(Worker.class)); - assertTrue(PredefinedCriterionTypes.WORK_RELATIONSHIP + assertTrue(PredefinedCriterionTypes.CATEGORY .criterionCanBeRelatedTo(Worker.class)); } diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java index ae594e4f8..2f5cbaba0 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/resources/worker/WorkerModel.java @@ -92,8 +92,8 @@ public class WorkerModel extends IntegrationEntityModel implements IWorkerModel private IBaseCalendarDAO baseCalendarDAO; private final ICriterionType[] laboralRelatedTypes = { - PredefinedCriterionTypes.LEAVE, - PredefinedCriterionTypes.WORK_RELATIONSHIP }; + PredefinedCriterionTypes.LOCATION, + PredefinedCriterionTypes.CATEGORY, PredefinedCriterionTypes.SKILL }; private Worker worker; @@ -214,8 +214,7 @@ public class WorkerModel extends IntegrationEntityModel implements IWorkerModel setDefaultCode(); } localizationsAssigner = new MultipleCriterionActiveAssigner( - criterionDAO, worker, - PredefinedCriterionTypes.LOCATION_GROUP); + criterionDAO, worker, PredefinedCriterionTypes.LOCATION); } @Override @@ -228,7 +227,7 @@ public class WorkerModel extends IntegrationEntityModel implements IWorkerModel forceLoadCalendar(this.worker); localizationsAssigner = new MultipleCriterionActiveAssigner( criterionDAO, this.worker, - PredefinedCriterionTypes.LOCATION_GROUP); + PredefinedCriterionTypes.LOCATION); initOldCodes(); } catch (InstanceNotFoundException e) { throw new RuntimeException(e); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/orders/OrderElementTreeModelTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/orders/OrderElementTreeModelTest.java index 5dce97ee9..b156dc236 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/orders/OrderElementTreeModelTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/orders/OrderElementTreeModelTest.java @@ -150,7 +150,7 @@ public class OrderElementTreeModelTest { } private void addCriterionRequirement(OrderElement orderElement) { - criterion = criterionDAO.findByNameAndType("medicalLeave", "LEAVE") + criterion = criterionDAO.findByNameAndType("Europe", "LOCATION") .get(0); DirectCriterionRequirement directCriterionRequirement = DirectCriterionRequirement .create(criterion); @@ -158,8 +158,8 @@ public class OrderElementTreeModelTest { } private void addAnotherCriterionRequirement(OrderElement orderElement) { - criterion2 = criterionDAO.findByNameAndType( - "hiredResourceWorkingRelationship", "WORK_RELATIONSHIP").get(0); + criterion2 = criterionDAO.findByNameAndType("Manager", "CATEGORY").get( + 0); DirectCriterionRequirement directCriterionRequirement = DirectCriterionRequirement .create(criterion2); orderElement.addCriterionRequirement(directCriterionRequirement); @@ -167,7 +167,7 @@ public class OrderElementTreeModelTest { private void addAnotherDifferentCriterionRequirement( OrderElement orderElement) { - criterion3 = criterionDAO.findByNameAndType("paternityLeave", "LEAVE") + criterion3 = criterionDAO.findByNameAndType("Asia", "LOCATION") .get(0); DirectCriterionRequirement directCriterionRequirement = DirectCriterionRequirement .create(criterion3); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/resources/CriterionModelTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/resources/CriterionModelTest.java index afda8512a..6d49b9bfb 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/resources/CriterionModelTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/resources/CriterionModelTest.java @@ -112,12 +112,11 @@ public class CriterionModelTest { @Test public void savingCriterionIncreasesTheNumberOfCriterions() { - givenValidCriterionFor(PredefinedCriterionTypes.WORK_RELATIONSHIP); - int initial = getCriterionsNumber(PredefinedCriterionTypes.WORK_RELATIONSHIP); + givenValidCriterionFor(PredefinedCriterionTypes.CATEGORY); + int initial = getCriterionsNumber(PredefinedCriterionTypes.CATEGORY); criterionDAO.save(criterion); criterionDAO.flush(); - assertThat( - getCriterionsNumber(PredefinedCriterionTypes.WORK_RELATIONSHIP), + assertThat(getCriterionsNumber(PredefinedCriterionTypes.CATEGORY), equalTo(initial + 1)); } @@ -175,13 +174,12 @@ public class CriterionModelTest { @Test public void modifyingDontAlterTheNumberOfCriterions() { - givenCreatedCriterionFor(PredefinedCriterionTypes.WORK_RELATIONSHIP); - int initial = getCriterionsNumber(PredefinedCriterionTypes.WORK_RELATIONSHIP); + givenCreatedCriterionFor(PredefinedCriterionTypes.CATEGORY); + int initial = getCriterionsNumber(PredefinedCriterionTypes.CATEGORY); String newName = UUID.randomUUID().toString() + "random"; criterion.setName(newName); criterionDAO.save(criterion); - assertThat( - getCriterionsNumber(PredefinedCriterionTypes.WORK_RELATIONSHIP), + assertThat(getCriterionsNumber(PredefinedCriterionTypes.CATEGORY), equalTo(initial)); } @@ -221,7 +219,7 @@ public class CriterionModelTest { @Override public Void execute() { Criterion criterion = givenValidCriterionFor( - PredefinedCriterionTypes.WORK_RELATIONSHIP, unique); + PredefinedCriterionTypes.CATEGORY, unique); try { criterionDAO.save(criterion); } catch (ValidationException e) { @@ -236,7 +234,7 @@ public class CriterionModelTest { public Void execute() { try { Criterion criterion2 = givenValidCriterionFor( - PredefinedCriterionTypes.WORK_RELATIONSHIP, unique); + PredefinedCriterionTypes.CATEGORY, unique); criterionDAO.save(criterion2); fail("must send " + ValidationException.class.getSimpleName()); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/resources/WorkerModelTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/resources/WorkerModelTest.java index dccaf7f56..dfdf5601a 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/resources/WorkerModelTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/resources/WorkerModelTest.java @@ -82,7 +82,7 @@ public class WorkerModelTest { List criterions = new ArrayList(); expect( criterionServiceMock - .findByType(PredefinedCriterionTypes.LOCATION_GROUP)) + .findByType(PredefinedCriterionTypes.LOCATION)) .andReturn(criterions).anyTimes(); expect(resourceDAOMock.find(workerToReturn.getId())) .andReturn(workerToReturn); @@ -109,7 +109,7 @@ public class WorkerModelTest { List criterions = new ArrayList(); expect( criterionServiceMock - .findByType(PredefinedCriterionTypes.LOCATION_GROUP)) + .findByType(PredefinedCriterionTypes.LOCATION)) .andReturn(criterions).anyTimes(); expect(resourceDAOMock.find(workerToReturn.getId())).andReturn( workerToReturn); diff --git a/libreplan-webapp/src/test/java/org/libreplan/web/test/ws/orders/OrderElementServiceTest.java b/libreplan-webapp/src/test/java/org/libreplan/web/test/ws/orders/OrderElementServiceTest.java index b3d27364f..b5e3c2c60 100644 --- a/libreplan-webapp/src/test/java/org/libreplan/web/test/ws/orders/OrderElementServiceTest.java +++ b/libreplan-webapp/src/test/java/org/libreplan/web/test/ws/orders/OrderElementServiceTest.java @@ -64,7 +64,6 @@ import org.libreplan.business.materials.entities.MaterialAssignment; import org.libreplan.business.orders.daos.IOrderDAO; import org.libreplan.business.orders.daos.IOrderElementDAO; import org.libreplan.business.orders.entities.HoursGroup; -import org.libreplan.business.orders.entities.Order; import org.libreplan.business.orders.entities.OrderElement; import org.libreplan.business.orders.entities.OrderLine; import org.libreplan.business.requirements.entities.CriterionRequirement; @@ -1311,8 +1310,8 @@ public class OrderElementServiceTest { orderDTO.code = code; orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date()); - String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0); - String type = PredefinedCriterionTypes.LEAVE.getName(); + String name = PredefinedCriterionTypes.LOCATION.getPredefined().get(0); + String type = PredefinedCriterionTypes.LOCATION.getName(); CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO( name, type); @@ -1364,8 +1363,8 @@ public class OrderElementServiceTest { orderDTO.code = code; orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date()); - String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0); - String type = PredefinedCriterionTypes.LEAVE.getName(); + String name = PredefinedCriterionTypes.LOCATION.getPredefined().get(0); + String type = PredefinedCriterionTypes.LOCATION.getName(); CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO( name, type); @@ -1451,8 +1450,8 @@ public class OrderElementServiceTest { orderDTO.code = code; orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date()); - String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0); - String type = PredefinedCriterionTypes.LEAVE.getName(); + String name = PredefinedCriterionTypes.LOCATION.getPredefined().get(0); + String type = PredefinedCriterionTypes.LOCATION.getName(); CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO( name, type); @@ -1480,7 +1479,7 @@ public class OrderElementServiceTest { assertNotNull(orderElement); assertThat(orderElement.getCriterionRequirements().size(), equalTo(1)); - String name2 = PredefinedCriterionTypes.LEAVE.getPredefined().get(1); + String name2 = PredefinedCriterionTypes.LOCATION.getPredefined().get(1); transactionService.runOnTransaction(new IOnTransaction() { @Override @@ -1554,8 +1553,8 @@ public class OrderElementServiceTest { orderDTO.code = code; orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date()); - String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0); - String type = PredefinedCriterionTypes.LEAVE.getName(); + String name = PredefinedCriterionTypes.LOCATION.getPredefined().get(0); + String type = PredefinedCriterionTypes.LOCATION.getName(); CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO( name, type); @@ -1705,8 +1704,8 @@ public class OrderElementServiceTest { orderDTO.code = code; orderDTO.initDate = DateConverter.toXMLGregorianCalendar(new Date()); - String name = PredefinedCriterionTypes.LEAVE.getPredefined().get(0); - String type = PredefinedCriterionTypes.LEAVE.getName(); + String name = PredefinedCriterionTypes.LOCATION.getPredefined().get(0); + String type = PredefinedCriterionTypes.LOCATION.getName(); CriterionRequirementDTO criterionRequirementDTO = new DirectCriterionRequirementDTO( name, type);