CustomerReservesCarViewPopulator.java

package org.andromda.samples.carrental.contracts.web.reserveCar;

import java.util.Map;

/**
 * Provides the ability to populate any view in the CustomerReservesCar
 */
public final class CustomerReservesCarViewPopulator
{
    /**
     * Map fields from ReserveACarReserveFormImpl form
     * to ReserveACarReserveFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(ReserveACarReserveFormImpl fromForm, ReserveACarReserveFormImpl toForm)
    {
        if(fromForm.isComfortClassSet())
        {
            toForm.setComfortClass(fromForm.getComfortClass());
        }
        if(fromForm.getComfortClassBackingList() != null)
        {
            toForm.setComfortClassBackingList(fromForm.getComfortClassBackingList());
        }
        if(fromForm.isReservationDateSet())
        {
            toForm.setReservationDate(fromForm.getReservationDate());
        }
    }

    /**
     * Map fields from CustomerReservesCarFormImpl form
     * to ReserveACarReserveFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(CustomerReservesCarFormImpl fromForm, ReserveACarReserveFormImpl toForm)
    {
        if(fromForm.isComfortClassSet())
        {
            toForm.setComfortClass(fromForm.getComfortClass());
        }
        if(fromForm.getComfortClassBackingList() != null)
        {
            toForm.setComfortClassBackingList(fromForm.getComfortClassBackingList());
        }
        if(fromForm.isReservationDateSet())
        {
            toForm.setReservationDate(fromForm.getReservationDate());
        }
    }

    /**
     * Map fields from ReserveACarDeleteFormImpl form
     * to ReserveACarDeleteFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(ReserveACarDeleteFormImpl fromForm, ReserveACarDeleteFormImpl toForm)
    {
        if(fromForm.isIdReservationSet())
        {
            toForm.setIdReservation(fromForm.getIdReservation());
        }
    }

    /**
     * Map fields from CustomerReservesCarFormImpl form
     * to ReserveACarDeleteFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(CustomerReservesCarFormImpl fromForm, ReserveACarDeleteFormImpl toForm)
    {
        if(fromForm.isIdReservationSet())
        {
            toForm.setIdReservation(fromForm.getIdReservation());
        }
    }

    /**
     * Populate page variables for view Reserve a Car
     *
     * @param fromForm origin form
     * @param pageVariables the page variables
     */
    public static void populateReserveACarPageVariables(Object fromForm, Map<String,Object> pageVariables)
    {
        if(fromForm instanceof CustomerReservesCarFormImpl)
        {
            final CustomerReservesCarFormImpl sourceForm=(CustomerReservesCarFormImpl)fromForm;
            if(sourceForm.isReservationsSet())
            {
                pageVariables.put("reservations",sourceForm.getReservations());
            }
        }
    }

    /**
     * Populates the view using the appropriate view populator.
     *
     * @param fromForm the origin form
     * @param toForm the destiny form
     */
    public static void populateForm(Object fromForm, ReserveACarReserveFormImpl toForm)
    {
        if(fromForm instanceof ReserveACarReserveFormImpl)
        {
            populateForm((ReserveACarReserveFormImpl)fromForm,toForm);
        }
        else if(fromForm instanceof CustomerReservesCarFormImpl)
        {
            populateForm((CustomerReservesCarFormImpl)fromForm,toForm);
        }
    }
    
    /**
     * Populates the view using the appropriate view populator.
     *
     * @param fromForm the origin form
     * @param toForm the destiny form
     */
    public static void populateForm(Object fromForm, ReserveACarDeleteFormImpl toForm)
    {
        if(fromForm instanceof ReserveACarDeleteFormImpl)
        {
            populateForm((ReserveACarDeleteFormImpl)fromForm,toForm);
        }
        else if(fromForm instanceof CustomerReservesCarFormImpl)
        {
            populateForm((CustomerReservesCarFormImpl)fromForm,toForm);
        }
    }
    
}