diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/CommandOnTaskContextualized.java b/ganttzk/src/main/java/org/zkoss/ganttz/CommandOnTaskContextualized.java index f97300eae..21ebf9c7c 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/CommandOnTaskContextualized.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/CommandOnTaskContextualized.java @@ -33,11 +33,10 @@ import org.zkoss.zk.ui.event.Event; public class CommandOnTaskContextualized { - public static CommandOnTaskContextualized create( - ICommandOnTask commandOnTask, IDomainAndBeansMapper mapper, - IContext context) { - return new CommandOnTaskContextualized(commandOnTask, mapper, - context); + public static CommandOnTaskContextualized create(ICommandOnTask commandOnTask, + IDomainAndBeansMapper mapper, IContext context) { + + return new CommandOnTaskContextualized(commandOnTask, mapper, context); } private final ICommandOnTask commandOnTask; @@ -46,16 +45,17 @@ public class CommandOnTaskContextualized { private final IDomainAndBeansMapper mapper; - private CommandOnTaskContextualized(ICommandOnTask commandOnTask, - IDomainAndBeansMapper mapper, IContext context) { + private CommandOnTaskContextualized(ICommandOnTask commandOnTask, IDomainAndBeansMapper mapper, + IContext context) { this.commandOnTask = commandOnTask; this.mapper = mapper; this.context = context; } public void doAction(TaskComponent taskComponent) { - doAction(ContextRelativeToOtherComponent.makeRelativeTo(context, - taskComponent), domainObjectFor(taskComponent.getTask())); + doAction( + ContextRelativeToOtherComponent.makeRelativeTo(context, taskComponent), + domainObjectFor(taskComponent.getTask())); } public void doAction(Task task) { @@ -67,8 +67,9 @@ public class CommandOnTaskContextualized { } private void doAction(IContext context, T domainObject) { - IContextWithPlannerTask contextWithTask = ContextWithPlannerTask - .create(context, mapper.findAssociatedBean(domainObject)); + IContextWithPlannerTask contextWithTask = + ContextWithPlannerTask.create(context, mapper.findAssociatedBean(domainObject)); + commandOnTask.doAction(contextWithTask, domainObject); } diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java index ce23f7823..b51b074e5 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/TaskList.java @@ -119,8 +119,7 @@ public class TaskList extends XulElement implements AfterCompose { return result; } - public List asDependencyComponents( - Collection dependencies) { + public List asDependencyComponents(Collection dependencies) { List result = new ArrayList(); for (Dependency dependency : dependencies) { result.add(new DependencyComponent(taskComponentByTask @@ -134,13 +133,12 @@ public class TaskList extends XulElement implements AfterCompose { return asDependencyComponents(Arrays.asList(dependency)).get(0); } - private synchronized void addTaskComponent(TaskRow beforeThis, - final TaskComponent taskComponent, boolean relocate) { + private synchronized void addTaskComponent(TaskRow beforeThis, final TaskComponent taskComponent, boolean relocate) { insertBefore(taskComponent.getRow(), beforeThis); addContextMenu(taskComponent); addListenerForTaskComponentEditForm(taskComponent); taskComponent.afterCompose(); - if (relocate) { + if ( relocate ) { getGanttPanel().adjustZoomColumnsHeight(); } } @@ -168,9 +166,8 @@ public class TaskList extends XulElement implements AfterCompose { return null; } - private void addListenerForTaskComponentEditForm( - final TaskComponent taskComponent) { - if (doubleClickCommand == null) { + private void addListenerForTaskComponentEditForm(final TaskComponent taskComponent) { + if ( doubleClickCommand == null ) { return; } taskComponent.addEventListener("onDoubleClick", new EventListener() { @@ -292,25 +289,23 @@ public class TaskList extends XulElement implements AfterCompose { private Map contextMenus = new HashMap(); private Menupopup getContextMenuFor(TaskComponent taskComponent) { - if (contextMenus.get(taskComponent) == null) { - MenuBuilder menuBuilder = MenuBuilder.on(getPage(), - getTaskComponents()); - if (disabilityConfiguration.isAddingDependenciesEnabled()) { - menuBuilder.item(_("Add Dependency"), - "/common/img/ico_dependency.png", + if ( contextMenus.get(taskComponent) == null ) { + MenuBuilder menuBuilder = MenuBuilder.on(getPage(), getTaskComponents()); + + if ( disabilityConfiguration.isAddingDependenciesEnabled() ) { + menuBuilder.item(_("Add Dependency"), "/common/img/ico_dependency.png", new ItemAction() { @Override - public void onEvent(TaskComponent choosen, - Event event) { + public void onEvent(TaskComponent choosen, Event event) { choosen.addDependency(); } }); } + for (CommandOnTaskContextualized command : commandsOnTasksContextualized) { - if (command.accepts(taskComponent)) { - menuBuilder.item(command.getName(), command.getIcon(), - command.toItemAction()); + if ( command.accepts(taskComponent) ) { + menuBuilder.item(command.getName(), command.getIcon(), command.toItemAction()); } } Menupopup result = menuBuilder.createWithoutSettingContext(); @@ -358,22 +353,21 @@ public class TaskList extends XulElement implements AfterCompose { getGanttPanel().getDependencyList().redrawDependencies(); } - private void reload(List tasks, List tasksPendingToAdd, - boolean relocate) { + private void reload(List tasks, List tasksPendingToAdd, boolean relocate) { for (Task task : tasks) { - if (visibleTasks.contains(task)) { - addPendingTasks(tasksPendingToAdd, rowFor(task), - relocate); + if ( visibleTasks.contains(task) ) { + addPendingTasks(tasksPendingToAdd, rowFor(task), relocate); } final boolean isShown = visibleTasks.contains(task); - if (predicate.accepts(task) != isShown) { - if (isShown) { + + if ( predicate.accepts(task) != isShown ) { + if ( isShown ) { makeDisappear(task); } else { tasksPendingToAdd.add(task); } } - if (task instanceof TaskContainer) { + if ( task instanceof TaskContainer ) { reload(task.getTasks(), tasksPendingToAdd, relocate); } } @@ -391,9 +385,8 @@ public class TaskList extends XulElement implements AfterCompose { return taskComponent == null ? null : taskComponent.getRow(); } - private void addPendingTasks(List tasksPendingToAdd, - TaskRow insertBefore, boolean relocate) { - if (tasksPendingToAdd.isEmpty()) { + private void addPendingTasks(List tasksPendingToAdd, TaskRow insertBefore, boolean relocate) { + if ( tasksPendingToAdd.isEmpty() ) { return; } for (TaskComponent each : createAndPublishComponentsIfNeeded(tasksPendingToAdd)) { diff --git a/libreplan-business/src/main/java/org/libreplan/business/BusinessGlobalNames.java b/libreplan-business/src/main/java/org/libreplan/business/BusinessGlobalNames.java index 91001e733..6c9827012 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/BusinessGlobalNames.java +++ b/libreplan-business/src/main/java/org/libreplan/business/BusinessGlobalNames.java @@ -29,8 +29,7 @@ package org.libreplan.business; */ public class BusinessGlobalNames { - public final static String BUSINESS_SPRING_CONFIG_FILE = - "classpath:/libreplan-business-spring-config.xml"; + public final static String BUSINESS_SPRING_CONFIG_FILE = "classpath:/libreplan-business-spring-config.xml"; private BusinessGlobalNames () {} diff --git a/libreplan-business/src/main/java/org/libreplan/business/advance/bootstrap/PredefinedAdvancedTypes.java b/libreplan-business/src/main/java/org/libreplan/business/advance/bootstrap/PredefinedAdvancedTypes.java index c3c45ce5d..0c84f5ccd 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/advance/bootstrap/PredefinedAdvancedTypes.java +++ b/libreplan-business/src/main/java/org/libreplan/business/advance/bootstrap/PredefinedAdvancedTypes.java @@ -28,30 +28,22 @@ import org.libreplan.business.common.Registry; public enum PredefinedAdvancedTypes { - CHILDREN("children", new BigDecimal(100), new BigDecimal(0.01), true, - false), - PERCENTAGE( - "percentage", new BigDecimal(100), new BigDecimal(0.01), true, - false), - UNITS("units", new BigDecimal(Integer.MAX_VALUE), - new BigDecimal(1), false, false), - SUBCONTRACTOR("subcontractor", - new BigDecimal(100), new BigDecimal(0.01), true, false), - TIMESHEETS("timesheets", - new BigDecimal(100), new BigDecimal(0.01), true, false, true); + CHILDREN("children", new BigDecimal(100), new BigDecimal(0.01), true, false), + PERCENTAGE("percentage", new BigDecimal(100), new BigDecimal(0.01), true, false), + UNITS("units", new BigDecimal(Integer.MAX_VALUE), new BigDecimal(1), false, false), + SUBCONTRACTOR("subcontractor", new BigDecimal(100), new BigDecimal(0.01), true, false), + TIMESHEETS("timesheets", new BigDecimal(100), new BigDecimal(0.01), true, false, true); - private PredefinedAdvancedTypes(String name, BigDecimal defaultMaxValue, - BigDecimal precision, boolean percentage, boolean qualityForm) { + private PredefinedAdvancedTypes(String name, BigDecimal defaultMaxValue, BigDecimal precision, boolean percentage, + boolean qualityForm) { this(name, defaultMaxValue, precision, percentage, qualityForm, false); } - private PredefinedAdvancedTypes(String name, BigDecimal defaultMaxValue, - BigDecimal precision, boolean percentage, boolean qualityForm, - boolean readOnly) { + private PredefinedAdvancedTypes(String name, BigDecimal defaultMaxValue, BigDecimal precision, boolean percentage, + boolean qualityForm, boolean readOnly) { this.name = name; - this.defaultMaxValue = defaultMaxValue.setScale(4, - BigDecimal.ROUND_HALF_UP); + this.defaultMaxValue = defaultMaxValue.setScale(4, BigDecimal.ROUND_HALF_UP); this.unitPrecision = precision.setScale(4, BigDecimal.ROUND_HALF_UP); this.percentage = percentage; this.qualityForm = qualityForm; @@ -71,8 +63,10 @@ public enum PredefinedAdvancedTypes { private final boolean readOnly; public AdvanceType createType() { - AdvanceType advanceType = AdvanceType.create(name, defaultMaxValue, - false, unitPrecision, true, percentage, qualityForm); + + AdvanceType advanceType = + AdvanceType.create(name, defaultMaxValue, false, unitPrecision, true, percentage, qualityForm); + advanceType.setReadOnly(readOnly); return advanceType; } diff --git a/libreplan-business/src/main/java/org/libreplan/business/calendars/daos/BaseCalendarDAO.java b/libreplan-business/src/main/java/org/libreplan/business/calendars/daos/BaseCalendarDAO.java index 93f0458b1..8e3ce8b97 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/calendars/daos/BaseCalendarDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/calendars/daos/BaseCalendarDAO.java @@ -53,8 +53,7 @@ import org.springframework.transaction.annotation.Transactional; */ @Repository @Scope(BeanDefinition.SCOPE_SINGLETON) -public class BaseCalendarDAO extends IntegrationEntityDAO - implements IBaseCalendarDAO { +public class BaseCalendarDAO extends IntegrationEntityDAO implements IBaseCalendarDAO { @Override public List getBaseCalendars() { @@ -65,10 +64,9 @@ public class BaseCalendarDAO extends IntegrationEntityDAO } private void removeResourceCalendarInstances(List list) { - for (Iterator iterator = list.iterator(); iterator - .hasNext();) { + for (Iterator iterator = list.iterator(); iterator.hasNext();) { BaseCalendar baseCalendar = iterator.next(); - if (baseCalendar instanceof ResourceCalendar) { + if ( baseCalendar instanceof ResourceCalendar ) { iterator.remove(); } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/calendars/entities/BaseCalendar.java b/libreplan-business/src/main/java/org/libreplan/business/calendars/entities/BaseCalendar.java index 97e39cb96..da272928a 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/calendars/entities/BaseCalendar.java +++ b/libreplan-business/src/main/java/org/libreplan/business/calendars/entities/BaseCalendar.java @@ -56,11 +56,9 @@ import org.libreplan.business.workingday.ResourcesPerDay; * some exceptions of its parent calendar. * @author Manuel Rego Casasnovas */ -public class BaseCalendar extends IntegrationEntity implements ICalendar, - IHumanIdentifiable, Comparable { +public class BaseCalendar extends IntegrationEntity implements ICalendar, IHumanIdentifiable, Comparable { - private static final Capacity DEFAULT_VALUE = Capacity.zero() - .overAssignableWithoutLimit(); + private static final Capacity DEFAULT_VALUE = Capacity.zero().overAssignableWithoutLimit(); public static BaseCalendar create() { return create(new BaseCalendar(CalendarData.create())); @@ -84,7 +82,7 @@ public class BaseCalendar extends IntegrationEntity implements ICalendar, private static void resetDefaultCapacities(BaseCalendar calendar) { CalendarData calendarData = calendar.getLastCalendarData(); - if (calendarData != null) { + if ( calendarData != null ) { CalendarData.resetDefaultCapacities(calendarData); } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/BaseEntity.java b/libreplan-business/src/main/java/org/libreplan/business/common/BaseEntity.java index 1f011b597..c8f6d78c8 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/BaseEntity.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/BaseEntity.java @@ -61,7 +61,7 @@ public abstract class BaseEntity implements INewObject { Collection entities) { Map> result = new HashMap>(); for (T each : entities) { - if (!result.containsKey(each.getId())) { + if ( !result.containsKey(each.getId()) ) { result.put(each.getId(), new HashSet()); } result.get(each.getId()).add(each); @@ -71,8 +71,7 @@ public abstract class BaseEntity implements INewObject { private static final Log LOG = LogFactory.getLog(BaseEntity.class); - private static final ValidatorFactory validatorFactory = Validation - .buildDefaultValidatorFactory(); + private static final ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory(); private static final Validator validator = validatorFactory.getValidator(); @@ -134,9 +133,8 @@ public abstract class BaseEntity implements INewObject { @SuppressWarnings("unchecked") public void validate() throws ValidationException { - Set> violations = validator - .validate(this); - if (!violations.isEmpty()) { + Set> violations = validator.validate(this); + if ( !violations.isEmpty() ) { throw new ValidationException(violations); } } @@ -153,8 +151,7 @@ public abstract class BaseEntity implements INewObject { } public String getExtraInformation() { - return "[ id: " + getId() + ", newObject: " - + isNewObject() + "]"; + return "[ id: " + getId() + ", newObject: " + isNewObject() + "]"; } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/Flagged.java b/libreplan-business/src/main/java/org/libreplan/business/common/Flagged.java index 9aa44b8a7..76f4c4c92 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/Flagged.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/Flagged.java @@ -82,7 +82,7 @@ public class Flagged { public boolean isFlaggedWithSomeOf(F... flags) { for (F each : flags) { - if (this.isFlaggedWith(each)) { + if ( this.isFlaggedWith(each) ) { return true; } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/daos/ConfigurationDAO.java b/libreplan-business/src/main/java/org/libreplan/business/common/daos/ConfigurationDAO.java index 4efa5b725..29f2e6815 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/daos/ConfigurationDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/daos/ConfigurationDAO.java @@ -38,13 +38,12 @@ import org.springframework.transaction.annotation.Transactional; */ @Repository @Scope(BeanDefinition.SCOPE_SINGLETON) -public class ConfigurationDAO extends GenericDAOHibernate - implements IConfigurationDAO { +public class ConfigurationDAO extends GenericDAOHibernate implements IConfigurationDAO { @Override public Configuration getConfiguration() { List list = list(Configuration.class); - if (list.isEmpty()) { + if ( list.isEmpty() ) { return null; } return list.get(0); @@ -59,10 +58,8 @@ public class ConfigurationDAO extends GenericDAOHibernate @Override @Transactional(propagation = Propagation.REQUIRES_NEW) public void saveChangedDefaultPassword(String user, boolean change) { - user = user.substring(0, 1).toUpperCase() - + user.substring(1).toLowerCase(); - String sql = "UPDATE Configuration e SET e.changedDefault" + user - + "Password = :change"; + user = user.substring(0, 1).toUpperCase() + user.substring(1).toLowerCase(); + String sql = "UPDATE Configuration e SET e.changedDefault" + user + "Password = :change"; Query query = getSession().createQuery(sql); query.setParameter("change", change); query.executeUpdate(); diff --git a/libreplan-business/src/main/java/org/libreplan/business/common/daos/GenericDAOHibernate.java b/libreplan-business/src/main/java/org/libreplan/business/common/daos/GenericDAOHibernate.java index 012d30304..8bbad872e 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/common/daos/GenericDAOHibernate.java +++ b/libreplan-business/src/main/java/org/libreplan/business/common/daos/GenericDAOHibernate.java @@ -58,8 +58,7 @@ import org.springframework.transaction.annotation.Transactional; * @param * Primary key class */ -public class GenericDAOHibernate implements IGenericDAO { +public class GenericDAOHibernate implements IGenericDAO { private Class entityClass; @@ -68,8 +67,8 @@ public class GenericDAOHibernate) ((ParameterizedType) getClass() - .getGenericSuperclass()).getActualTypeArguments()[0]; + this.entityClass = + (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; } public GenericDAOHibernate(Class entityClass) { @@ -101,7 +100,7 @@ public class GenericDAOHibernate getAssociatedTasks() { ArrayList result = new ArrayList(); TaskGroup taskGroup = getAssociatedTaskElement(); - if (taskGroup != null) { + if ( taskGroup != null ) { result.addAll(taskGroup.getChildren()); } return result; @@ -353,15 +353,13 @@ public class Order extends OrderLineGroup implements Comparable { @SuppressWarnings("unused") @AssertTrue(message = "the project must have a start date") private boolean isIfSchedulingModeIsForwardOrderMustHaveStartDateConstraint() { - return getSchedulingMode() != SchedulingMode.FORWARD - || getInitDate() != null; + return getSchedulingMode() != SchedulingMode.FORWARD || getInitDate() != null; } @SuppressWarnings("unused") @AssertTrue(message = "the project must have a deadline") private boolean isIfSchedulingModeIsBackwardsOrderMustHaveDeadlineConstraint() { - return getSchedulingMode() != SchedulingMode.BACKWARDS - || getDeadline() != null; + return getSchedulingMode() != SchedulingMode.BACKWARDS || getDeadline() != null; } @SuppressWarnings("unused") diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java index dd698391a..49e130865 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderElement.java @@ -142,7 +142,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri private SchedulingDataForVersion.Data current = null; public SchedulingDataForVersion.Data getCurrentSchedulingData() { - if (current == null) { + if ( current == null ) { throw new IllegalStateException( "in order to use scheduling state related data " + "useSchedulingDataFor(OrderVersion orderVersion) " @@ -151,19 +151,15 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri return current; } - private void schedulingDataNowPointsTo(DeepCopy deepCopy, - OrderVersion version) { - current = getCurrentSchedulingData().pointsTo(deepCopy, version, - schedulingVersionFor(version)); + private void schedulingDataNowPointsTo(DeepCopy deepCopy, OrderVersion version) { + current = getCurrentSchedulingData().pointsTo(deepCopy, version, schedulingVersionFor(version)); for (OrderElement each : getChildren()) { each.schedulingDataNowPointsTo(deepCopy, version); } } - protected void addNeededReplaces(DeepCopy deepCopy, - OrderVersion newOrderVersion) { - SchedulingDataForVersion currentVersion = getCurrentSchedulingData() - .getVersion(); + protected void addNeededReplaces(DeepCopy deepCopy, OrderVersion newOrderVersion) { + SchedulingDataForVersion currentVersion = getCurrentSchedulingData().getVersion(); SchedulingDataForVersion newSchedulingVersion = schedulingVersionFor(newOrderVersion); deepCopy.replace(currentVersion, newSchedulingVersion); for (OrderElement each : getChildren()) { @@ -172,7 +168,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } public SchedulingState getSchedulingState() { - if (schedulingState == null) { + if ( schedulingState == null ) { ensureSchedulingStateInitializedFromTop(); initializeSchedulingState(); // maybe this order element was added // later @@ -189,11 +185,10 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } private SchedulingState initializeSchedulingState() { - if (schedulingState != null) { + if ( schedulingState != null ) { return schedulingState; } - return schedulingState = SchedulingState.createSchedulingState( - getSchedulingStateType(), getChildrenStates(), + return schedulingState = SchedulingState.createSchedulingState(getSchedulingStateType(), getChildrenStates(), getCurrentSchedulingData().onTypeChangeListener()); } @@ -227,11 +222,10 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri useSchedulingDataFor(orderVersion, true); } - public void useSchedulingDataFor(OrderVersion orderVersion, - boolean recursive) { + public void useSchedulingDataFor(OrderVersion orderVersion, boolean recursive) { Validate.notNull(orderVersion); SchedulingDataForVersion schedulingVersion = schedulingVersionFor(orderVersion); - if (recursive) { + if ( recursive ) { for (OrderElement each : getChildren()) { each.useSchedulingDataFor(orderVersion); } @@ -520,7 +514,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } public TaskElement getAssociatedTaskElement() { - if (getTaskSource() == null) { + if ( getTaskSource() == null ) { return null; } else { return getTaskSource().getTask(); @@ -541,7 +535,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } public void setName(String name) { - if (name != null && name.length() > 255) { + if ( name != null && name.length() > 255 ) { name = name.substring(0, 255); } this.getInfoComponent().setName(name); @@ -718,32 +712,28 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri * @throws DuplicateValueTrueReportGlobalAdvanceException * @throws DuplicateAdvanceAssignmentForOrderElementException */ - public void addAdvanceAssignment( - DirectAdvanceAssignment newAdvanceAssignment) - throws DuplicateValueTrueReportGlobalAdvanceException, - DuplicateAdvanceAssignmentForOrderElementException { - checkNoOtherGlobalAdvanceAssignment(newAdvanceAssignment); - checkAncestorsNoOtherAssignmentWithSameAdvanceType(this, - newAdvanceAssignment); - checkChildrenNoOtherAssignmentWithSameAdvanceType(this, - newAdvanceAssignment); + public void addAdvanceAssignment(DirectAdvanceAssignment newAdvanceAssignment) + throws DuplicateValueTrueReportGlobalAdvanceException, DuplicateAdvanceAssignmentForOrderElementException { - if (getReportGlobalAdvanceAssignment() == null) { + checkNoOtherGlobalAdvanceAssignment(newAdvanceAssignment); + checkAncestorsNoOtherAssignmentWithSameAdvanceType(this, newAdvanceAssignment); + checkChildrenNoOtherAssignmentWithSameAdvanceType(this, newAdvanceAssignment); + + if ( getReportGlobalAdvanceAssignment() == null ) { newAdvanceAssignment.setReportGlobalAdvance(true); } newAdvanceAssignment.setOrderElement(this); this.directAdvanceAssignments.add(newAdvanceAssignment); - if (this.getParent() != null) { + if ( this.getParent() != null ) { addChildrenAdvanceInParents(this.getParent()); - this.getParent().addIndirectAdvanceAssignment( - newAdvanceAssignment.createIndirectAdvanceFor(this.getParent())); + this.getParent().addIndirectAdvanceAssignment(newAdvanceAssignment.createIndirectAdvanceFor(this.getParent())); } } public void addChildrenAdvanceInParents(OrderLineGroup parent) { - if ((parent != null) && (!parent.existChildrenAdvance())) { + if ( (parent != null) && (!parent.existChildrenAdvance()) ) { parent.addChildrenAdvanceOrderLineGroup(); addChildrenAdvanceInParents(parent.getParent()); } @@ -751,7 +741,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } public void removeChildrenAdvanceInParents(OrderLineGroup parent) { - if ((parent != null) && (parent.existChildrenAdvance()) + if ( (parent != null) && (parent.existChildrenAdvance() ) && (!itsChildsHasAdvances(parent))) { parent.removeChildrenAdvanceOrderLineGroup(); removeChildrenAdvanceInParents(parent.getParent()); @@ -760,25 +750,26 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri private boolean itsChildsHasAdvances(OrderElement orderElement) { for (OrderElement child : orderElement.getChildren()) { - if ((!child.getIndirectAdvanceAssignments().isEmpty()) - || (!child.getDirectAdvanceAssignments().isEmpty())) { + + if ( (!child.getIndirectAdvanceAssignments().isEmpty()) || + (!child.getDirectAdvanceAssignments().isEmpty()) ) { return true; } - if (itsChildsHasAdvances(child)) { + if ( itsChildsHasAdvances(child) ) { return true; } } return false; } - protected void checkNoOtherGlobalAdvanceAssignment( - DirectAdvanceAssignment newAdvanceAssignment) + protected void checkNoOtherGlobalAdvanceAssignment(DirectAdvanceAssignment newAdvanceAssignment) throws DuplicateValueTrueReportGlobalAdvanceException { - if (!newAdvanceAssignment.getReportGlobalAdvance()) { + + if ( !newAdvanceAssignment.getReportGlobalAdvance() ) { return; } for (DirectAdvanceAssignment directAdvanceAssignment : directAdvanceAssignments) { - if (directAdvanceAssignment.getReportGlobalAdvance()) { + if ( directAdvanceAssignment.getReportGlobalAdvance() ) { throw new DuplicateValueTrueReportGlobalAdvanceException( _("Cannot spread two progress in the same task"), this, OrderElement.class); @@ -1022,14 +1013,14 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri public TaskElement getTaskElement() { TaskSource taskSource = getTaskSource(); - if (taskSource == null) { + if ( taskSource == null ) { return null; } return taskSource.getTask(); } public Set getTaskElements() { - if (getTaskSource() == null) { + if ( getTaskSource() == null ) { return Collections.emptySet(); } return Collections.singleton(getTaskSource().getTask()); @@ -1053,8 +1044,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri return result; } - private void schedulingDataForVersionFromBottomToTop( - List result) { + private void schedulingDataForVersionFromBottomToTop(List result) { for (OrderElement each : getChildren()) { each.schedulingDataForVersionFromBottomToTop(result); } @@ -1065,7 +1055,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri for (OrderElement each : getChildren()) { each.taskSourcesFromBottomToTop(result); } - if (getTaskSource() != null) { + if ( getTaskSource() != null ) { result.add(getTaskSource()); } } @@ -1486,16 +1476,16 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri } public void setCodeAutogenerated(Boolean codeAutogenerated) { - if (getOrder().equals(this)) { + if ( getOrder().equals(this) ) { super.setCodeAutogenerated(codeAutogenerated); } } public Boolean isCodeAutogenerated() { - if (getOrder().equals(this)) { + if ( getOrder().equals(this) ) { return super.isCodeAutogenerated(); } - return getOrder() != null ? getOrder().isCodeAutogenerated() : false; + return (getOrder() != null) ? getOrder().isCodeAutogenerated() : false; } @AssertTrue(message = "a quality form cannot be assigned twice to the same task") @@ -1503,7 +1493,7 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri Set qualityForms = new HashSet(); for (TaskQualityForm each : taskQualityForms) { QualityForm qualityForm = each.getQualityForm(); - if (qualityForms.contains(qualityForm)) { + if ( qualityForms.contains(qualityForm) ) { return false; } qualityForms.add(qualityForm); @@ -1511,11 +1501,9 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri return true; } - public void removeDirectAdvancesInList( - Set directAdvanceAssignments) { + public void removeDirectAdvancesInList(Set directAdvanceAssignments) { for (DirectAdvanceAssignment each : directAdvanceAssignments) { - removeAdvanceAssignment(getAdvanceAssignmentByType(each - .getAdvanceType())); + removeAdvanceAssignment(getAdvanceAssignmentByType(each.getAdvanceType())); } for (OrderElement each : getChildren()) { @@ -1528,31 +1516,29 @@ public abstract class OrderElement extends IntegrationEntity implements ICriteri result.addAll(directAdvanceAssignments); - if (getParent() != null) { - result.addAll(getParent() - .getDirectAdvanceAssignmentsAndAllInAncest()); + if ( getParent() != null ) { + result.addAll(getParent().getDirectAdvanceAssignmentsAndAllInAncest()); } return result; } protected void updateSpreadAdvance() { - if (getReportGlobalAdvanceAssignment() == null) { + if ( getReportGlobalAdvanceAssignment() == null ) { // Set PERCENTAGE type as spread if any String type = PredefinedAdvancedTypes.PERCENTAGE.getTypeName(); for (DirectAdvanceAssignment each : directAdvanceAssignments) { - if (each.getAdvanceType() != null - && each.getAdvanceType().getType() != null - && each.getAdvanceType().getType().equals(type)) { + if ( each.getAdvanceType() != null && + each.getAdvanceType().getType() != null && + each.getAdvanceType().getType().equals(type) ) { each.setReportGlobalAdvance(true); return; } } // Otherwise, set first advance assignment - if (!directAdvanceAssignments.isEmpty()) { - directAdvanceAssignments.iterator().next() - .setReportGlobalAdvance(true); + if ( !directAdvanceAssignments.isEmpty() ) { + directAdvanceAssignments.iterator().next().setReportGlobalAdvance(true); return; } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLine.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLine.java index f670d5f95..b44be3644 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLine.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLine.java @@ -45,8 +45,7 @@ import org.libreplan.business.templates.entities.OrderLineTemplate; public class OrderLine extends OrderElement { - private HoursGroupOrderLineHandler hoursGroupOrderLineHandler = HoursGroupOrderLineHandler - .getInstance(); + private HoursGroupOrderLineHandler hoursGroupOrderLineHandler = HoursGroupOrderLineHandler.getInstance(); public static OrderLine create() { OrderLine result = new OrderLine(); @@ -59,8 +58,7 @@ public class OrderLine extends OrderElement { return orderLine; } - public static OrderLine createUnvalidatedWithUnfixedPercentage(String code, - int hours) { + public static OrderLine createUnvalidatedWithUnfixedPercentage(String code, int hours) { OrderLine orderLine = createOrderLineWithUnfixedPercentage(hours); return create(orderLine, code); } @@ -400,4 +398,8 @@ public class OrderLine extends OrderElement { return convertedToContainer; } + @Override + public void setParent(OrderLineGroup parent) { + super.setParent(parent); + } } diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java index 7e0e17ad9..d4efd5831 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/entities/OrderLineGroup.java @@ -67,15 +67,12 @@ import org.libreplan.business.trees.ITreeParentNode; * * @author Manuel Rego Casasnovas */ -public class OrderLineGroup extends OrderElement implements - ITreeParentNode { +public class OrderLineGroup extends OrderElement implements ITreeParentNode { - private final class ChildrenManipulator extends - TreeNodeOnListWithSchedulingState { + private final class ChildrenManipulator extends TreeNodeOnListWithSchedulingState { - private ChildrenManipulator(OrderLineGroup parent, - List children) { + private ChildrenManipulator(List children) { super(children); } @@ -91,9 +88,8 @@ public class OrderLineGroup extends OrderElement implements @Override protected SchedulingState getSchedulingStateFrom(OrderElement node) { - if (!node.isSchedulingDataInitialized()) { - node.useSchedulingDataFor(getCurrentSchedulingData() - .getOriginOrderVersion()); + if ( !node.isSchedulingDataInitialized() ) { + node.useSchedulingDataFor(getCurrentSchedulingData().getOriginOrderVersion()); } return node.getSchedulingState(); } @@ -114,7 +110,7 @@ public class OrderLineGroup extends OrderElement implements removeChildTask(removedChild); } updateCriterionRequirements(); - if (!removedChild.isNewObject()) { + if ( !removedChild.isNewObject() ) { getOrder().markAsNeededToRecalculateSumChargedEfforts(); getOrder().markAsNeededToRecalculateSumExpenses(); } @@ -123,8 +119,7 @@ public class OrderLineGroup extends OrderElement implements private void removeChildTask(OrderElement removedChild) { TaskSource taskSource = removedChild.getTaskSource(); TaskElement childTask = taskSource.getTask(); - TaskGroup group = (TaskGroup) getThis().getTaskSource() - .getTask(); + TaskGroup group = (TaskGroup) getThis().getTaskSource().getTask(); group.remove(childTask); childTask.detachDependencies(); } @@ -184,8 +179,7 @@ public class OrderLineGroup extends OrderElement implements public void addChildrenAdvanceOrderLineGroup() { boolean spread = (getReportGlobalAdvanceAssignment() == null); - IndirectAdvanceAssignment indirectAdvanceAssignment = IndirectAdvanceAssignment - .create(spread); + IndirectAdvanceAssignment indirectAdvanceAssignment = IndirectAdvanceAssignment.create(spread); AdvanceType advanceType = PredefinedAdvancedTypes.CHILDREN.getType(); indirectAdvanceAssignment.setAdvanceType(advanceType); indirectAdvanceAssignment.setOrderElement(this); @@ -194,8 +188,7 @@ public class OrderLineGroup extends OrderElement implements public void removeChildrenAdvanceOrderLineGroup() { for (IndirectAdvanceAssignment advance : getIndirectAdvanceAssignments()) { - if (advance.getAdvanceType().getUnitName().equals( - PredefinedAdvancedTypes.CHILDREN.getTypeName())) { + if ( advance.getAdvanceType().getUnitName().equals(PredefinedAdvancedTypes.CHILDREN.getTypeName()) ) { indirectAdvanceAssignments.remove(advance); updateSpreadAdvance(); } @@ -204,22 +197,21 @@ public class OrderLineGroup extends OrderElement implements @Override protected void updateSpreadAdvance() { - if (getReportGlobalAdvanceAssignment() == null) { + if ( getReportGlobalAdvanceAssignment() == null ) { // Set CHILDREN type as spread if any String type = PredefinedAdvancedTypes.CHILDREN.getTypeName(); for (IndirectAdvanceAssignment each : indirectAdvanceAssignments) { - if (each.getAdvanceType() != null - && each.getAdvanceType().getType() != null - && each.getAdvanceType().getType().equals(type)) { + if ( each.getAdvanceType() != null && + each.getAdvanceType().getType() != null && + each.getAdvanceType().getType().equals(type) ) { each.setReportGlobalAdvance(true); return; } } // Otherwise, set first indirect advance assignment - if (!indirectAdvanceAssignments.isEmpty()) { - indirectAdvanceAssignments.iterator().next() - .setReportGlobalAdvance(true); + if ( !indirectAdvanceAssignments.isEmpty() ) { + indirectAdvanceAssignments.iterator().next().setReportGlobalAdvance(true); return; } @@ -289,46 +281,38 @@ public class OrderLineGroup extends OrderElement implements } private void addIndirectAdvanceAssignments(OrderElement orderElement) { - orderElement - .removeDirectAdvancesInList(getDirectAdvanceAssignmentsAndAllInAncest()); + orderElement.removeDirectAdvancesInList(getDirectAdvanceAssignmentsAndAllInAncest()); for (DirectAdvanceAssignment directAdvanceAssignment : orderElement.directAdvanceAssignments) { - IndirectAdvanceAssignment indirectAdvanceAssignment = IndirectAdvanceAssignment - .create(); - indirectAdvanceAssignment.setAdvanceType(directAdvanceAssignment - .getAdvanceType()); + IndirectAdvanceAssignment indirectAdvanceAssignment = IndirectAdvanceAssignment.create(); + indirectAdvanceAssignment.setAdvanceType(directAdvanceAssignment.getAdvanceType()); indirectAdvanceAssignment.setOrderElement(this); this.addIndirectAdvanceAssignment(indirectAdvanceAssignment); } - if (orderElement instanceof OrderLineGroup) { - for (IndirectAdvanceAssignment indirectAdvanceAssignment : ((OrderLineGroup) orderElement) - .getIndirectAdvanceAssignments()) { + if ( orderElement instanceof OrderLineGroup ) { + for (IndirectAdvanceAssignment indirectAdvanceAssignment : orderElement.getIndirectAdvanceAssignments()) { this.addIndirectAdvanceAssignment(indirectAdvanceAssignment); } } - if (!indirectAdvanceAssignments.isEmpty()) { + if ( !indirectAdvanceAssignments.isEmpty() ) { addChildrenAdvanceOrderLineGroup(); } } private void removeIndirectAdvanceAssignments(OrderElement orderElement) { for (DirectAdvanceAssignment directAdvanceAssignment : orderElement.directAdvanceAssignments) { - this.removeIndirectAdvanceAssignment(directAdvanceAssignment - .getAdvanceType()); + this.removeIndirectAdvanceAssignment(directAdvanceAssignment.getAdvanceType()); } if (orderElement instanceof OrderLineGroup) { - for (IndirectAdvanceAssignment indirectAdvanceAssignment : ((OrderLineGroup) orderElement) - .getIndirectAdvanceAssignments()) { - this.removeIndirectAdvanceAssignment(indirectAdvanceAssignment - .getAdvanceType()); + for (IndirectAdvanceAssignment indirectAdvanceAssignment : orderElement.getIndirectAdvanceAssignments()) { + this.removeIndirectAdvanceAssignment(indirectAdvanceAssignment.getAdvanceType()); } } - if (children.isEmpty() && (indirectAdvanceAssignments.size() == 1) - && existChildrenAdvance()) { + if ( children.isEmpty() && (indirectAdvanceAssignments.size() == 1) && existChildrenAdvance() ) { removeChildrenAdvanceOrderLineGroup(); } } @@ -339,7 +323,7 @@ public class OrderLineGroup extends OrderElement implements } private ChildrenManipulator getManipulator() { - return new ChildrenManipulator(this, children); + return new ChildrenManipulator(children); } @Override @@ -369,8 +353,8 @@ public class OrderLineGroup extends OrderElement implements return result; } - private static Set copyDirectAdvanceAssignments( - OrderElement origin, OrderElement destination) { + private static Set copyDirectAdvanceAssignments(OrderElement origin, + OrderElement destination) { Set result = new HashSet(); for (DirectAdvanceAssignment each : origin.directAdvanceAssignments) { result.add(DirectAdvanceAssignment.copy(each, destination)); @@ -378,8 +362,7 @@ public class OrderLineGroup extends OrderElement implements return result; } - private static Set copyMaterialAssignments( - OrderElement origin, OrderElement destination) { + private static Set copyMaterialAssignments(OrderElement origin, OrderElement destination) { Set result = new HashSet(); for (MaterialAssignment each : origin.materialAssignments) { result.add(MaterialAssignment.copy(each, destination)); @@ -387,8 +370,7 @@ public class OrderLineGroup extends OrderElement implements return result; } - private static Set