Package com.tll.client.test

Source Code of com.tll.client.test.TestFieldGroupProviders$PaymentInfoFieldsProvider

/**
* The Logic Lab
* @author jpk Feb 12, 2009
*/
package com.tll.client.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.tll.client.cache.AuxDataCache;
import com.tll.client.ui.GridRenderer;
import com.tll.client.ui.field.AbstractFieldGroupProvider;
import com.tll.client.ui.field.FieldGroup;
import com.tll.client.ui.field.RadioGroupField.GridStyles;
import com.tll.common.model.Model;
import com.tll.common.model.test.TestEntityType;
import com.tll.common.model.test.TestModelStubber;
import com.tll.model.test.AccountStatus;
import com.tll.model.test.AddressType;
import com.tll.model.test.CreditCardType;
import com.tll.refdata.RefDataType;

/**
* TestFieldGroupProviders
* @author jpk
*/
public class TestFieldGroupProviders {

  /**
   * AbstractTestFieldGroupProvider
   * @author jpk
   */
  static abstract class AbstractTestFieldGroupProvider extends AbstractFieldGroupProvider {

    private static boolean auxDataInitialized;

    /**
     * Constructor
     */
    protected AbstractTestFieldGroupProvider() {
      super();
      if(!auxDataInitialized) {
        // set needed aux data cache
        final List<Model> list = new ArrayList<Model>();
        list.add(TestModelStubber.stubCurrency());
        AuxDataCache.get().cacheEntityList(TestEntityType.CURRENCY, list);

        final Map<String, String> cc = new HashMap<String, String>();
        cc.put("us", "United States");
        cc.put("br", "Brazil");
        AuxDataCache.get().cacheRefDataMap(RefDataType.ISO_COUNTRY_CODES, cc);

        final Map<String, String> st = new HashMap<String, String>();
        st.put("MI", "Michigan");
        st.put("CA", "California");
        AuxDataCache.get().cacheRefDataMap(RefDataType.US_STATES, st);

        auxDataInitialized = true;
      }
    }
  } // AbstractTestFieldGroupProvider

  /**
   * AddressFieldsProvider
   * @author jpk
   */
  public static final class AddressFieldsProvider extends AbstractTestFieldGroupProvider {

    @Override
    protected String getFieldGroupName() {
      return "Address";
    }

    @Override
    public void populateFieldGroup(FieldGroup fg) {
      fg.addField(femail("adrsEmailAddress", "emailAddress", "Email Address", "Email Address", 30));
      fg.addField(ftext("adrsFirstName", "firstName", "First Name", "First Name", 20));
      fg.addField(ftext("adrsLastName", "lastName", "Last Name", "Last Name", 20));
      fg.addField(ftext("adrsMi", "mi", "MI", "Middle Initial", 1));
      //fg.addField(fstext("adrsCompany", "company", "Company", "Company", 20));
      //fg.addField(fstext("adrsAttn", "attn", "Attn", "Attention", 10));
      //fg.addField(fstext("adrsAddress1", "address1", "Address 1", "Address 1", 40));
      //fg.addField(fstext("adrsAddress2", "address2", "Address 2", "Address 2", 40));
      fg.addField(ftext("adrsCity", "city", "City", "City", 30));
      fg.addField(frefdata("adrsProvince", "province", "State/Province", "State/Province", RefDataType.US_STATES));
      //fg.addField(fstext("adrsPostalCode", "postalCode", "Zip", "Zip", 20));
      fg.addField(frefdata("adrsCountry", "country", "Country", "Country", RefDataType.ISO_COUNTRY_CODES));

      // ad hoc props to verify types
      fg.addField(fcheckbox("adrsBoolean", "boolean", "Boolean", "Boolean"));
      fg.addField(ftext("adrsFloat", "float", "Float", "Float", 5));
      fg.addField(ftext("adrsDouble", "double", "Double", "Double", 5));
    }

  }

  /**
   * PaymentInfoFieldsProvider
   * @author jpk
   */
  public static class PaymentInfoFieldsProvider extends AbstractTestFieldGroupProvider {

    @Override
    protected String getFieldGroupName() {
      return "Payment Info";
    }

    @Override
    public void populateFieldGroup(FieldGroup fg) {
      fg.addField(fenumradio("ccType", "paymentData_ccType", "Type", "Type", CreditCardType.class, new GridRenderer(-1,
          GridStyles.GRID)));
      fg.addField(fcreditcard("ccNum", "paymentData_ccNum", "Num", null, 15));
      fg.addField(ftext("ccCvv2", "paymentData_ccCvv2", "CVV2", "CVV2", 4));
      fg.addField(ftext("ccExpMonth", "paymentData_ccExpMonth", "Exp Month", "Expiration Month", 2));
      fg.addField(ftext("ccExpYear", "paymentData_ccExpYear", "Exp Year", "Expiration Year", 4));
      fg.addField(ftext("ccName", "paymentData_ccName", "Name", "Name", 30));
      fg.addField(ftext("ccAddress1", "paymentData_ccAddress1", "Address 1", "Address 1", 40));
      fg.addField(ftext("ccAddress2", "paymentData_ccAddress2", "Address 2", "Address 2", 40));
      fg.addField(ftext("ccCity", "paymentData_ccCity", "City", "City", 30));
      fg.addField(frefdata("ccState", "paymentData_ccState", "State/Province", "State", RefDataType.US_STATES));
      fg.addField(ftext("ccZip", "paymentData_ccZip", "Postal Code", "Postal Code", 15));
      fg.addField(frefdata("ccCountry", "paymentData_ccCountry", "Country", "Country", RefDataType.ISO_COUNTRY_CODES));
    }

  }

  /**
   * AccountAddressFieldsProvider
   * @author jpk
   */
  public static class AccountAddressFieldsProvider extends AbstractTestFieldGroupProvider {

    @Override
    protected String getFieldGroupName() {
      return "Account Address";
    }

    @Override
    protected void populateFieldGroup(FieldGroup fg) {
      addModelCommon(fg, true, true, "aa");
      fg.addField(fenumselect("type", "type", "Type", "Account Address Type", AddressType.class));
      final FieldGroup fgAddress = (new AddressFieldsProvider()).getFieldGroup();
      fgAddress.setName("address");
      fg.addField("address", fgAddress);
    }
  }

  /**
   * AccountFieldsProvider - Provides non-relational account properties.
   * @author jpk
   */
  public static class AccountFieldsProvider extends AbstractTestFieldGroupProvider {

    @Override
    protected String getFieldGroupName() {
      return "Account";
    }

    @Override
    public void populateFieldGroup(FieldGroup fg) {
      addModelCommon(fg, true, true, "acnt");
      fg.addField(ftext("acntParentName", "parent.name", "Parent", "Parent Account", 15));
      fg.addField(fenumselect("acntStatus", "status", "Status", "Status", AccountStatus.class));
      fg.addField(fdate("acntDateCancelled", "dateCancelled", "Date Cancelled", "Date Cancelled"));
      //fg.addField(fcurrencies("acntCurrencyId", "currency.id", "Currency", "Currency"));
      fg.addField(ftext("acntBillingModel", "billingModel", "Billing Model", "Billing Model", 18));
      fg.addField(ftext("acntBillingCycle", "billingCycle", "Billing Cycle", "Billing Cycle", 18));
      fg.addField(fdate("acntDateLastCharged", "dateLastCharged", "Last Charged", "Last Charged"));
      fg.addField(fdate("acntNextChargeDate", "nextChargeDate", "Next Charge", "Next Charge"));
      fg
      .addField(fcheckbox("acntPersistPymntInfo", "persistPymntInfo", "PersistPayment Info?",
      "PersistPayment Info?"));
    }
  }
}
TOP

Related Classes of com.tll.client.test.TestFieldGroupProviders$PaymentInfoFieldsProvider

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.