Package org.libreplan.web.orders.criterionrequirements

Source Code of org.libreplan.web.orders.criterionrequirements.AssignedCriterionRequirementToOrderElementController

/*
* 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.
*
* 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
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.libreplan.web.orders.criterionrequirements;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import org.libreplan.business.orders.entities.HoursGroup;
import org.libreplan.business.orders.entities.OrderElement;
import org.libreplan.business.orders.entities.OrderLine;
import org.libreplan.business.resources.entities.CriterionType;
import org.libreplan.business.resources.entities.CriterionWithItsType;
import org.libreplan.web.common.Util;
import org.libreplan.web.orders.CriterionRequirementWrapper;
import org.libreplan.web.orders.HoursGroupWrapper;
import org.libreplan.web.orders.IOrderElementModel;

/**
* Controller for showing OrderElement assigned labels
*
* @author Diego Pino Garcia <dpino@igalia.com>
*/
public class AssignedCriterionRequirementToOrderElementController extends
    AssignedCriterionRequirementController<OrderElement, IOrderElementModel> {

    protected IAssignedCriterionRequirementToOrderElementModel assignedCriterionRequirementToOrderElementModel;

    @Override
    public OrderElement getElement() {
       return getOrderElement();
    }

    public OrderElement getOrderElement() {
        return assignedCriterionRequirementToOrderElementModel.getElement();
    }

    public Set<CriterionType> getCriterionTypes() {
        return assignedCriterionRequirementToOrderElementModel.getTypes();
    }

    public void setOrderElement(OrderElement orderElement) {
        assignedCriterionRequirementToOrderElementModel.setElement(orderElement);
    }

    public void openWindow(IOrderElementModel orderElementModel) {
        assignedCriterionRequirementToOrderElementModel.setModel(orderElementModel.getOrderModel());
        openWindow(orderElementModel.getOrderElement());
    }

    public void openWindow(OrderElement orderElement) {
        assignedCriterionRequirementToOrderElementModel.init(orderElement);
        Util.createBindingsFor(self);
        Util.reloadBindings(self);
    }

    public void confirm() {
        assignedCriterionRequirementToOrderElementModel.confirm();
    }

    public List<CriterionRequirementWrapper> criterionRequirementWrappers() {
        return assignedCriterionRequirementToOrderElementModel
                .getCriterionRequirementWrappers();
    }

    public List<CriterionWithItsType> getCriterionWithItsTypes() {
        return assignedCriterionRequirementToOrderElementModel
                .getCriterionWithItsTypes();
    }

    public void addCriterionRequirementWrapper() {
        assignedCriterionRequirementToOrderElementModel
                .assignCriterionRequirementWrapper();
        reload();
    }

    public void remove(CriterionRequirementWrapper requirement) {
        assignedCriterionRequirementToOrderElementModel
                .deleteCriterionRequirementWrapper(requirement);
        reload();
    }

    public void invalidate(CriterionRequirementWrapper requirement) {
        assignedCriterionRequirementToOrderElementModel
                .setValidCriterionRequirementWrapper(requirement, false);
        reload();
    }

    public void validate(CriterionRequirementWrapper requirement) {
        assignedCriterionRequirementToOrderElementModel
                .setValidCriterionRequirementWrapper(requirement, true);
        reload();
    }

    protected void changeCriterionAndType(
            CriterionRequirementWrapper requirementWrapper,
            CriterionWithItsType newCriterionAndType) {
        assignedCriterionRequirementToOrderElementModel.changeCriterionAndType(
                requirementWrapper, newCriterionAndType);
    }

    protected void updateCriterionsWithDiferentResourceType(
            HoursGroupWrapper hoursGroupWrapper) {
        assignedCriterionRequirementToOrderElementModel
                .updateCriterionsWithDiferentResourceType(hoursGroupWrapper);
    }

    protected CriterionRequirementWrapper validateWrappers(
            List<CriterionRequirementWrapper> list) {
        return assignedCriterionRequirementToOrderElementModel
                .validateWrappers(criterionRequirementWrappers());
    }

    protected CriterionRequirementWrapper validateHoursGroupWrappers() {
        return assignedCriterionRequirementToOrderElementModel
                .validateHoursGroupWrappers();
    }

    public List<HoursGroupWrapper> getHoursGroupWrappers() {
        return assignedCriterionRequirementToOrderElementModel
                .getHoursGroupsWrappers();
    }

    public void addHoursGroup() {
        assignedCriterionRequirementToOrderElementModel
                .addNewHoursGroupWrapper();
        Util.reloadBindings(listHoursGroups);
    }

    protected void deleteHoursGroupWrapper(HoursGroupWrapper hoursGroupWrapper) {
        assignedCriterionRequirementToOrderElementModel
                .deleteHoursGroupWrapper(hoursGroupWrapper);
    }

    protected void addCriterionToHoursGroupWrapper(
            HoursGroupWrapper hoursGroupWrapper) {
        assignedCriterionRequirementToOrderElementModel
                .addCriterionToHoursGroupWrapper(hoursGroupWrapper);
    }

    protected CriterionRequirementWrapper addExceptionToHoursGroupWrapper(
            HoursGroupWrapper hoursGroupWrapper) {
        return assignedCriterionRequirementToOrderElementModel
                .addExceptionToHoursGroupWrapper(hoursGroupWrapper);
    }

    public void deleteCriterionToHoursGroup(
            HoursGroupWrapper hoursGroupWrapper,
            CriterionRequirementWrapper requirementWrapper) {

        assignedCriterionRequirementToOrderElementModel
                .deleteCriterionToHoursGroup(hoursGroupWrapper,
                        requirementWrapper);
    }

    protected void selectCriterionToHoursGroup(
            HoursGroupWrapper hoursGroupWrapper,
            CriterionRequirementWrapper requirementWrapper,
            CriterionWithItsType criterionAndType) {

        assignedCriterionRequirementToOrderElementModel
                .selectCriterionToHoursGroup(hoursGroupWrapper,
                        requirementWrapper, criterionAndType);
    }

    public void recalculateHoursGroup() {
        ((OrderLine) assignedCriterionRequirementToOrderElementModel
                .getElement()).recalculateHoursGroups();
        reload();
    }

    public boolean isCodeAutogenerated() {
        return assignedCriterionRequirementToOrderElementModel
                .isCodeAutogenerated();
    }

    public List<HoursGroup> getHoursGroups() {
        if ((getElement() == null)
                || (assignedCriterionRequirementToOrderElementModel == null)) {
            return new ArrayList<HoursGroup>();
        }
        return super.getHoursGroups();
    }

    @Override
    protected List<HoursGroup> getHoursGroups(OrderElement orderElement) {
        return orderElement.getHoursGroups();
    }

    public boolean isEditableHoursGroup() {
        OrderElement element = getElement();
        return element != null && element instanceof OrderLine
                && !element.isJiraIssue();
    }

}
TOP

Related Classes of org.libreplan.web.orders.criterionrequirements.AssignedCriterionRequirementToOrderElementController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.