ReturnACarViewPopulator.java

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

import java.util.Map;

/**
 * Provides the ability to populate any view in the ReturnACar
 */
public final class ReturnACarViewPopulator
{
    /**
     * Map fields from SelectContractReturnFormImpl form
     * to SelectContractReturnFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(SelectContractReturnFormImpl fromForm, SelectContractReturnFormImpl toForm)
    {
        if(fromForm.isIdSet())
        {
            toForm.setId(fromForm.getId());
        }
        if(fromForm.isAccidentHappendSet())
        {
            toForm.setAccidentHappend(fromForm.isAccidentHappend());
        }
    }

    /**
     * Map fields from ReturnACarFormImpl form
     * to SelectContractReturnFormImpl form
     *
     * @param fromForm origin form
     * @param toForm destiny form
     */
    public static void populateForm(ReturnACarFormImpl fromForm, SelectContractReturnFormImpl toForm)
    {
        if(fromForm.isIdSet())
        {
            toForm.setId(fromForm.getId());
        }
        if(fromForm.isAccidentHappendSet())
        {
            toForm.setAccidentHappend(fromForm.isAccidentHappend());
        }
    }

    /**
     * Populate page variables for view Select Contract
     *
     * @param fromForm origin form
     * @param pageVariables the page variables
     */
    public static void populateSelectContractPageVariables(Object fromForm, Map<String,Object> pageVariables)
    {
        if(fromForm instanceof ReturnACarFormImpl)
        {
            final ReturnACarFormImpl sourceForm=(ReturnACarFormImpl)fromForm;
            if(sourceForm.isContractSet())
            {
                pageVariables.put("contract",sourceForm.getContract());
            }
        }
    }

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