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);