diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedLabelsToOrderElementModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedLabelsToOrderElementModel.java index 28729d7b4..6c548be55 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedLabelsToOrderElementModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/AssignedLabelsToOrderElementModel.java @@ -22,11 +22,9 @@ package org.navalplanner.web.orders; import java.util.ArrayList; import java.util.Collection; -import java.util.HashSet; import java.util.List; import java.util.Set; -import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.labels.daos.ILabelDAO; import org.navalplanner.business.labels.daos.ILabelTypeDAO; import org.navalplanner.business.labels.entities.Label; @@ -90,7 +88,7 @@ public class AssignedLabelsToOrderElementModel implements private void reattachLabels() { for (Label label : orderModel.getLabels()) { - labelDAO.save(label); + labelDAO.reattach(label); } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java index 816d5883e..834170f6a 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/ManageOrderElementAdvancesModel.java @@ -172,7 +172,7 @@ public class ManageOrderElementAdvancesModel implements } public void reattachmentOrderElement() { - orderElementDAO.save(orderElement); + orderElementDAO.reattach(orderElement); } private void fillVariables() { 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 423e7230a..69669b613 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 @@ -70,7 +70,7 @@ public class OrderElementModel implements IOrderElementModel { @Override @Transactional(readOnly = true) public void setCurrent(OrderElement orderElement, OrderModel order) { - orderElementDAO.save(orderElement); + orderElementDAO.reattach(orderElement); for (HoursGroup hoursGroup : orderElement.getHoursGroups()) { hoursGroup.getCriterions().size(); @@ -123,7 +123,7 @@ public class OrderElementModel implements IOrderElementModel { @Transactional(readOnly = true) public CriterionType getCriterionType(Criterion criterion) { CriterionType criterionType = criterion.getType(); - criterionTypeDao.save(criterionType); + criterionTypeDao.reattach(criterionType); criterionType.getName(); return criterionType; } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java index 5f32cc499..17fec6b16 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/OrderModel.java @@ -292,7 +292,7 @@ public class OrderModel implements IOrderModel { private void reattachLabels() { for (Label label : cacheLabels) { - labelDAO.save(label); + labelDAO.reattach(label); } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java index ceb8d8c23..7fa5ead13 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java @@ -131,7 +131,7 @@ public class TaskElementAdapter implements ITaskElementAdapter { .runOnReadOnlyTransaction(new IOnTransaction() { @Override public Long execute() { - taskDAO.save(taskElement); + taskDAO.reattach(taskElement); Long result = setBeginDateInsideTransaction(beginDate); fireTaskElementMoved(taskElement); return result; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java index 3086c6475..316457e81 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/ResourceAllocationModel.java @@ -144,8 +144,8 @@ public class ResourceAllocationModel implements IResourceAllocationModel { this.task = task; this.planningState = planningState; planningState.reassociateResourcesWithSession(resourceDAO); - taskElementDAO.save(this.task); - hoursGroupDAO.save(this.task.getHoursGroup()); + taskElementDAO.reattach(this.task); + hoursGroupDAO.reattach(this.task.getHoursGroup()); loadCriterionsOfGenericAllocations(); reattachHoursGroup(this.task.getHoursGroup()); reattachCriterions(this.task.getHoursGroup().getCriterions()); @@ -196,7 +196,7 @@ public class ResourceAllocationModel implements IResourceAllocationModel { } private void reattachResource(Resource resource) { - resourceDAO.save(resource); + resourceDAO.reattach(resource); reattachCriterionSatisfactions(resource.getCriterionSatisfactions()); if (resource.getCalendar() != null) { resource.getCalendar().getWorkableHours(new LocalDate()); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/milestone/AddMilestoneCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/milestone/AddMilestoneCommand.java index deefb47f7..f47eeaee6 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/milestone/AddMilestoneCommand.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/milestone/AddMilestoneCommand.java @@ -59,7 +59,7 @@ public class AddMilestoneCommand implements IAddMilestoneCommand { TaskMilestone milestone = new TaskMilestone(); milestone.setName("new milestone"); - taskElementDAO.save(task); + taskElementDAO.reattach(task); getRoot(task).addTaskElement(getRoot(task).getChildren().indexOf(task), milestone); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskCommand.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskCommand.java index 84e22c43e..a3d6ad47d 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskCommand.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/taskedition/EditTaskCommand.java @@ -20,6 +20,8 @@ package org.navalplanner.web.planner.taskedition; +import static org.navalplanner.web.I18nHelper._; + import org.navalplanner.business.planner.daos.ITaskElementDAO; import org.navalplanner.business.planner.entities.Task; import org.navalplanner.business.planner.entities.TaskElement; @@ -30,8 +32,6 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.zkoss.ganttz.extensions.IContextWithPlannerTask; -import static org.navalplanner.web.I18nHelper._; - /** * Command to edit a {@link TaskElement}. * @@ -51,7 +51,7 @@ public class EditTaskCommand implements IEditTaskCommand { public void doAction(IContextWithPlannerTask context, TaskElement taskElement) { - taskElementDAO.save(taskElement); + taskElementDAO.reattach(taskElement); if (taskElement instanceof Task) { forceLoadHoursGroup((Task) taskElement); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java index a422e8e09..c093390f3 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resourceload/ResourceLoadModel.java @@ -84,7 +84,7 @@ public class ResourceLoadModel implements IResourceLoadModel { @Transactional(readOnly = true) public void initGlobalView(Order filterBy) { this.filterBy = filterBy; - orderDAO.save(filterBy); + orderDAO.reattach(filterBy); doGlobalView(); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/machine/AssignedMachineCriterionsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/machine/AssignedMachineCriterionsModel.java index 7cc238147..e26d080ec 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/machine/AssignedMachineCriterionsModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/machine/AssignedMachineCriterionsModel.java @@ -84,7 +84,7 @@ public class AssignedMachineCriterionsModel implements IAssignedMachineCriterion @Override @Transactional(readOnly = true) public void reattachmentResource() { - resourceDAO.save(resource); + resourceDAO.reattach(resource); initializeCriterionSatisfactions(resource.getCriterionSatisfactions()); } @@ -109,7 +109,7 @@ public class AssignedMachineCriterionsModel implements IAssignedMachineCriterion } private void reattachCriterionType(CriterionType criterionType) { - criterionTypeDAO.save(criterionType); + criterionTypeDAO.reattach(criterionType); } private void initDTOs() { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/AssignedCriterionsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/AssignedCriterionsModel.java index 8591e2669..20d8ef602 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/AssignedCriterionsModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/AssignedCriterionsModel.java @@ -5,14 +5,14 @@ package org.navalplanner.web.resources.worker; +import static org.navalplanner.web.I18nHelper._; + import java.util.ArrayList; -import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; import org.hibernate.validator.ClassValidator; -import static org.navalplanner.web.I18nHelper._; import org.hibernate.validator.InvalidValue; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.business.resources.daos.ICriterionTypeDAO; @@ -24,7 +24,6 @@ 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.Interval; -import org.navalplanner.business.resources.entities.Resource; import org.navalplanner.business.resources.entities.ResourceEnum; import org.navalplanner.business.resources.entities.Worker; import org.springframework.beans.factory.annotation.Autowired; @@ -117,15 +116,15 @@ public class AssignedCriterionsModel implements IAssignedCriterionsModel { @Override @Transactional(readOnly = true) public void reattachmentWorker(){ - resourceDAO.save(worker); - for(CriterionSatisfaction criterionSatisfaction : - worker.getCriterionSatisfactions()){ - criterionSatisfaction.getCriterion().getName(); - criterionSatisfaction.getCriterion().getType().getName(); - if(criterionSatisfaction.getCriterion().getParent() != null){ - criterionSatisfaction.getCriterion().getParent().getName(); - } + resourceDAO.reattach(worker); + for (CriterionSatisfaction criterionSatisfaction : worker + .getCriterionSatisfactions()) { + criterionSatisfaction.getCriterion().getName(); + criterionSatisfaction.getCriterion().getType().getName(); + if (criterionSatisfaction.getCriterion().getParent() != null) { + criterionSatisfaction.getCriterion().getParent().getName(); } + } } @Override