ItEr33S13ArquitecturaServidorItEr32S16: Using specific reattach method for existent reattachments

This commit is contained in:
Óscar González Fernández 2009-11-02 14:48:30 +01:00
parent e80096c22b
commit 20a8795618
11 changed files with 26 additions and 29 deletions

View file

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

View file

@ -172,7 +172,7 @@ public class ManageOrderElementAdvancesModel implements
}
public void reattachmentOrderElement() {
orderElementDAO.save(orderElement);
orderElementDAO.reattach(orderElement);
}
private void fillVariables() {

View file

@ -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;
}

View file

@ -292,7 +292,7 @@ public class OrderModel implements IOrderModel {
private void reattachLabels() {
for (Label label : cacheLabels) {
labelDAO.save(label);
labelDAO.reattach(label);
}
}

View file

@ -131,7 +131,7 @@ public class TaskElementAdapter implements ITaskElementAdapter {
.runOnReadOnlyTransaction(new IOnTransaction<Long>() {
@Override
public Long execute() {
taskDAO.save(taskElement);
taskDAO.reattach(taskElement);
Long result = setBeginDateInsideTransaction(beginDate);
fireTaskElementMoved(taskElement);
return result;

View file

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

View file

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

View file

@ -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<TaskElement> context,
TaskElement taskElement) {
taskElementDAO.save(taskElement);
taskElementDAO.reattach(taskElement);
if (taskElement instanceof Task) {
forceLoadHoursGroup((Task) taskElement);
}

View file

@ -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();
}

View file

@ -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() {

View file

@ -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