ItEr19S04ArquitecturaServidorItEr18S04: Removed "forceLoad*" methods from classes related with OrderElement.
This commit is contained in:
parent
4374ba9510
commit
91668fba1b
7 changed files with 42 additions and 46 deletions
|
|
@ -6,7 +6,6 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
import org.hibernate.validator.NotEmpty;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
|
||||
|
|
@ -114,10 +113,6 @@ public abstract class OrderElement {
|
|||
|
||||
public abstract OrderLineGroup toContainer();
|
||||
|
||||
public abstract void forceLoadHourGroups();
|
||||
|
||||
public abstract void forceLoadHourGroupsCriterions();
|
||||
|
||||
public void makeTransientAgain() {
|
||||
// FIXME Review reattachment
|
||||
id = null;
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ import java.util.HashSet;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
|
||||
public class OrderLine extends OrderElement {
|
||||
|
||||
public static OrderLine createOrderLineWithUnfixedHours(int hours) {
|
||||
|
|
@ -326,20 +324,4 @@ public class OrderLine extends OrderElement {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceLoadHourGroups() {
|
||||
for (HoursGroup hoursGroup : hoursGroups) {
|
||||
for (Criterion c : hoursGroup.getCriterions()) {
|
||||
c.getType().getName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceLoadHourGroupsCriterions() {
|
||||
for (HoursGroup hoursGroup : hoursGroups) {
|
||||
hoursGroup.forceLoadCriterions();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package org.navalplanner.business.orders.entities;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.hibernate.validator.Valid;
|
||||
|
||||
public class OrderLineGroup extends OrderElement implements IOrderLineGroup {
|
||||
|
|
@ -89,17 +90,4 @@ public class OrderLineGroup extends OrderElement implements IOrderLineGroup {
|
|||
return hoursGroups;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceLoadHourGroups() {
|
||||
for (OrderElement orderElement : children) {
|
||||
orderElement.forceLoadHourGroups();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void forceLoadHourGroupsCriterions() {
|
||||
for (OrderElement orderElement : children) {
|
||||
orderElement.forceLoadHourGroupsCriterions();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,26 @@
|
|||
package org.navalplanner.web.orders;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
|
||||
public interface IOrderElementModel {
|
||||
|
||||
public OrderElement getOrderElement();
|
||||
OrderElement getOrderElement();
|
||||
|
||||
public void setCurrent(OrderElement orderElement, OrderModel order);
|
||||
void setCurrent(OrderElement orderElement, OrderModel order);
|
||||
|
||||
public List<CriterionType> getCriterionTypes();
|
||||
List<CriterionType> getCriterionTypes();
|
||||
|
||||
public CriterionType getCriterionTypeByName(String name);
|
||||
CriterionType getCriterionTypeByName(String name);
|
||||
|
||||
public List<Criterion> getCriterionsFor(CriterionType type);
|
||||
List<Criterion> getCriterionsFor(CriterionType type);
|
||||
|
||||
Set<Criterion> getCriterionsHoursGroup(HoursGroup hoursGroup);
|
||||
|
||||
CriterionType getCriterionType(Criterion criterion);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -357,10 +357,13 @@ public class OrderElementController extends GenericForwardComposer {
|
|||
Set<CriterionType> criterionTypes = new LinkedHashSet<CriterionType>();
|
||||
|
||||
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
|
||||
Set<Criterion> criterions = hoursGroup.getCriterions();
|
||||
Set<Criterion> criterions = model
|
||||
.getCriterionsHoursGroup(hoursGroup);
|
||||
for (Criterion criterion : criterions) {
|
||||
CriterionType type = criterion.getType();
|
||||
criterionTypes.add(model.getCriterionTypeByName(type.getName()));
|
||||
CriterionType type = model.getCriterionType(criterion);
|
||||
CriterionType criterionTypeByName = model
|
||||
.getCriterionTypeByName(type.getName());
|
||||
criterionTypes.add(criterionTypeByName);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import org.navalplanner.business.orders.daos.IOrderElementDao;
|
|||
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.daos.ICriterionTypeDAO;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
|
|
@ -31,6 +32,9 @@ public class OrderElementModel implements IOrderElementModel {
|
|||
@Autowired
|
||||
private IOrderElementDao orderElementDao;
|
||||
|
||||
@Autowired
|
||||
private ICriterionTypeDAO criterionTypeDao;
|
||||
|
||||
@Autowired
|
||||
private ICriterionsBootstrap criterionsBootstrap;
|
||||
|
||||
|
|
@ -55,7 +59,11 @@ public class OrderElementModel implements IOrderElementModel {
|
|||
Set<HoursGroup> transientHoursGroups = orderElement
|
||||
.getTransientHoursGroups();
|
||||
orderElementDao.save(orderElement);
|
||||
orderElement.forceLoadHourGroupsCriterions();
|
||||
|
||||
for (HoursGroup hoursGroup : orderElement.getHoursGroups()) {
|
||||
hoursGroup.getCriterions().size();
|
||||
}
|
||||
|
||||
if (wasTransient) {
|
||||
orderElement.makeTransientAgain();
|
||||
}
|
||||
|
|
@ -95,4 +103,19 @@ public class OrderElementModel implements IOrderElementModel {
|
|||
public List<Criterion> getCriterionsFor(CriterionType type) {
|
||||
return (List<Criterion>) order.getCriterionsFor(type);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public Set<Criterion> getCriterionsHoursGroup(HoursGroup hoursGroup) {
|
||||
return hoursGroup.getCriterions();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public CriterionType getCriterionType(Criterion criterion) {
|
||||
CriterionType criterionType = criterion.getType();
|
||||
criterionTypeDao.save(criterionType);
|
||||
criterionType.getName();
|
||||
return criterionType;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class OrderElementTreeModel extends SimpleTreeModel {
|
|||
}
|
||||
|
||||
private static SimpleTreeNode asNode(OrderElement orderElement) {
|
||||
orderElement.forceLoadHourGroups();
|
||||
orderElement.getHoursGroups().size();
|
||||
return new SimpleTreeNode(orderElement, asNodes(orderElement
|
||||
.getChildren()));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue