Package com.jada.admin.site

Source Code of com.jada.admin.site.SiteLoader

/*
* Copyright 2007-2010 JadaSite.

* This file is part of JadaSite.
* JadaSite is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.

* JadaSite 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 General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with JadaSite.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.jada.admin.site;

import java.util.Date;
import java.util.Iterator;
import java.util.Set;
import java.util.Vector;

import org.apache.commons.beanutils.PropertyUtils;
import javax.persistence.Query;
import javax.persistence.EntityManager;

import com.jada.dao.CountryDAO;
import com.jada.dao.StateDAO;
import com.jada.jpa.connection.JpaConnection;
import com.jada.jpa.entity.Category;
import com.jada.jpa.entity.CategoryLanguage;
import com.jada.jpa.entity.Country;
import com.jada.jpa.entity.CreditCard;
import com.jada.jpa.entity.Currency;
import com.jada.jpa.entity.CustomAttribute;
import com.jada.jpa.entity.CustomAttributeLanguage;
import com.jada.jpa.entity.HomePage;
import com.jada.jpa.entity.HomePageDetail;
import com.jada.jpa.entity.HomePageLanguage;
import com.jada.jpa.entity.IeProfileDetail;
import com.jada.jpa.entity.IeProfileHeader;
import com.jada.jpa.entity.Menu;
import com.jada.jpa.entity.MenuLanguage;
import com.jada.jpa.entity.Report;
import com.jada.jpa.entity.ShippingMethod;
import com.jada.jpa.entity.ShippingMethodLanguage;
import com.jada.jpa.entity.ShippingMethodRegion;
import com.jada.jpa.entity.ShippingMethodRegionType;
import com.jada.jpa.entity.ShippingRate;
import com.jada.jpa.entity.ShippingRegion;
import com.jada.jpa.entity.ShippingType;
import com.jada.jpa.entity.Site;
import com.jada.jpa.entity.SiteCurrency;
import com.jada.jpa.entity.SiteCurrencyClass;
import com.jada.jpa.entity.SiteDomain;
import com.jada.jpa.entity.SiteDomainLanguage;
import com.jada.jpa.entity.SiteProfile;
import com.jada.jpa.entity.SiteProfileClass;
import com.jada.jpa.entity.State;
import com.jada.jpa.entity.Tax;
import com.jada.jpa.entity.Template;
import com.jada.util.Constants;

public class SiteLoader {
  /*
   * Used to load up tables when a new site is initially created.
   * Tables to be loaded.
   * Country
   * State
   * Currency
   * Menu
   * Category
   * Tax
   * Template
   * ShippingRegion
   * CreditCard
   */
  Site site = null;
  String userId = null;
  public SiteLoader(Site site, String userId) {
    this.site = site;
    this.userId = userId;
  }
 
  public void load() throws Exception {
    loadCountry();
    loadState();
    loadCurrency();
    loadTax();
    loadTemplate();
    loadShippingType();
    loadShippingRegion();
    loadShippingMethod();
    loadCreditCard();
  }
 
  public void remove() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
      String sql = null;
      Query query = null;
      Iterator<?> iterator = null;

        sql = "delete from CreditCard where siteId = :siteId";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        query.executeUpdate();
       
   
    sql = "from Report report where report.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      Report report = (Report) iterator.next();
        em.remove(report);
    }
   
    sql = "from IeProfileHeader ieProfileHeader where ieProfileHeader.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      IeProfileHeader ieProfileHeader = (IeProfileHeader) iterator.next();
      for (IeProfileDetail ieProfileDetail : ieProfileHeader.getIeProfileDetails()) {
        em.remove(ieProfileDetail);
      }
        em.remove(ieProfileHeader);
    }
       
        sql = "from Menu menu where menu.siteDomain in (select siteDomain from SiteDomain siteDomain where siteDomain.site.siteId = :siteId)";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Menu menu = (Menu) iterator.next();
          menu.setMenuLanguage(null);
          for (MenuLanguage menuLanguage : menu.getMenuLanguages()) {
            em.remove(menuLanguage);
          }
          em.remove(menu);
        }
      
        sql = "from Category category where category.site.siteId = :siteId)";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Category category = (Category) iterator.next();
          category.setCategoryLanguage(null);
          for (CategoryLanguage categoryLanguage : category.getCategoryLanguages()) {
            em.remove(categoryLanguage);
          }
          em.remove(category);
        }

        sql = "delete from ProductClass productClass where productClass.site.siteId = :siteId)";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        query.executeUpdate();

        sql = "delete from CustomerClass customerClass where customerClass.site.siteId = :siteId)";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        query.executeUpdate();

        sql = "from ShippingRate shippingRate " +
          "where  shippingRate in ( " +
          "select  shippingRate " +
          "from    ShippingMethodRegionType shippingMethodRegionType " +
          "where  shippingMethodRegionType.shippingMethod.site.siteId = :siteId " +
          ")";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
        ShippingRate shippingRate = (ShippingRate) iterator.next();
        em.remove(shippingRate);
    }

    sql = "from ShippingMethod where siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
       ShippingMethod shippingMethod = (ShippingMethod) iterator.next();
       em.remove(shippingMethod.getShippingMethodLanguage());
        em.remove(shippingMethod);
    }

    sql = "from ShippingRegion where siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
        ShippingRegion shippingRegion = (ShippingRegion) iterator.next();
        em.remove(shippingRegion);
    }
 
    sql = "from ShippingType where siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
        ShippingType shippingType = (ShippingType) iterator.next();
        em.remove(shippingType);
    }
 
        sql = "from State where stateId in (select stateId from State state where state.country.site.siteId = :siteId)";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          State state = (State) iterator.next();
          state.setCountry(null);
          em.remove(state);
        }
       
        sql = "from Country where siteId = :siteId";
        query = em.createQuery(sql);
        query.setParameter("siteId", site.getSiteId());
        iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Country country = (Country) iterator.next();
          em.remove(country);
        }
        site.setSiteCurrencyClassDefault(null);
        site.setSiteProfileClassDefault(null);

        for (SiteDomain siteDomain : site.getSiteDomains()) {
          siteDomain.setSiteProfileDefault(null);
          siteDomain.setSiteCurrencyDefault(null);
           siteDomain.setBaseCurrency(null);
          siteDomain.setSiteDomainLanguage(null);

          HomePage homePage = siteDomain.getHomePage();
          for (HomePageDetail homePageDetail : homePage.getHomePageDetails()) {
            em.remove(homePageDetail);
          }
          for (HomePageLanguage homePageLanguage : homePage.getHomePageLanguages()) {
            em.remove(homePageLanguage);
          }
          em.remove(homePage);
          siteDomain.setHomePage(null);
         
          Template template = siteDomain.getTemplate();
          em.remove(template);
          siteDomain.setTemplate(null);
        }

    sql = "from SiteProfile siteProfile where siteProfile.siteDomain.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
        SiteProfile siteProfile = (SiteProfile) iterator.next();
        em.remove(siteProfile);
    }
   
    sql = "from SiteCurrency siteCurrency where siteCurrency.siteDomain.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      SiteCurrency siteCurrency = (SiteCurrency) iterator.next();
        em.remove(siteCurrency);
    }
   
    sql = "from SiteProfileClass siteProfileClass where siteProfileClass.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      SiteProfileClass siteProfileClass = (SiteProfileClass) iterator.next();
        em.remove(siteProfileClass);
    }

    sql = "from SiteCurrencyClass siteCurrencyClass where siteCurrencyClass.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      SiteCurrencyClass siteCurrencyClass = (SiteCurrencyClass) iterator.next();
      siteCurrencyClass.setCurrency(null);
        em.remove(siteCurrencyClass);
    }
   
    sql = "from Currency currency where currency.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      Currency currency = (Currency) iterator.next();
        em.remove(currency);
    }

    sql = "from CustomAttribute customAttribute where customAttribute.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      CustomAttribute customAttribute = (CustomAttribute) iterator.next();
        em.remove(customAttribute);
      CustomAttributeLanguage customAttributeLanguage = customAttribute.getCustomAttributeLanguage();
      customAttributeLanguage.setCustomAttribute(null);
       em.remove(customAttributeLanguage);
    }

    sql = "from SiteDomain siteDomain where siteDomain.site.siteId = :siteId";
    query = em.createQuery(sql);
    query.setParameter("siteId", site.getSiteId());
    iterator = query.getResultList().iterator();
    while (iterator.hasNext()) {
      SiteDomain siteDomain = (SiteDomain) iterator.next();
      for (SiteDomainLanguage siteDomainLanguage : siteDomain.getSiteDomainLanguages()) {
        em.remove(siteDomainLanguage);
      }
        em.remove(siteDomain);
    }
  }
 
  public void loadCountry() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Country country where siteId = :siteId order by countryCode";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Country master = (Country) iterator.next();
          Country country = new Country();
          PropertyUtils.copyProperties(country, master);
          country.setSite(site);
          country.setCountryId(null);
          country.setRecUpdateBy(userId);
          country.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          country.setRecCreateBy(userId);
          country.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          country.setShippingRegion(null);
          country.setStates(null);
          country.setTaxes(null);
          em.persist(country);
        }
  }
 
  public void loadState() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from State state where state.country.site.siteId = :siteId order by stateCode";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          State master = (State) iterator.next();
          State state = new State();
          PropertyUtils.copyProperties(state, master);
          state.setStateId(null);
          state.setRecUpdateBy(userId);
          state.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          state.setRecCreateBy(userId);
          state.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          state.setShippingRegion(null);
          Country mc = master.getCountry();
          Country country = null;
          if (mc != null) {
            country = CountryDAO.loadByCountryName(site.getSiteId(), mc.getCountryName());
          }
          state.setCountry(country);
          state.setTaxes(null);
          em.persist(state);
        }
  }
 
  public void loadCurrency() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Currency where siteId = :siteId order by currencyCode";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Currency master = (Currency) iterator.next();
          Currency currency = new Currency();
          PropertyUtils.copyProperties(currency, master);
          currency.setSite(site);
          currency.setCurrencyId(null);
          currency.setRecUpdateBy(userId);
          currency.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          currency.setRecCreateBy(userId);
          currency.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          em.persist(currency);
        }
  }

  public void loadMenu() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Menu where siteId = :siteId order by menuSetName";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Menu master = (Menu) iterator.next();
          Menu menu = new Menu();
          PropertyUtils.copyProperties(menu, master);
//          menu.setSite(site);
          menu.setMenuId(null);
          menu.setRecUpdateBy(userId);
          menu.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          menu.setRecCreateBy(userId);
          menu.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          menu.setCategory(null);
          menu.setContent(null);
          menu.setItem(null);
          menu.setMenuLanguages(null);
          em.persist(menu);
        }
  }
 
  public void loadCategory() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Category where siteId = :siteId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Category master = (Category) iterator.next();
          Category category = new Category();
          category.setCatNaturalKey(master.getCatNaturalKey());
          category.setSeqNum(master.getSeqNum());
          category.setPublished(master.getPublished());
          category.setSite(site);
          category.setCatId(null);
          category.setRecUpdateBy(userId);
          category.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          category.setRecCreateBy(userId);
          category.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          category.setMenus(null);
          category.setCategoryLanguages(null);
          em.persist(category);
        }
  }
 
  public void loadTax() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Tax where siteId = :siteId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Tax master = (Tax) iterator.next();
          Tax tax = new Tax();
          Set<Country> countries = tax.getCountries();
          Set<State> states = tax.getStates();
          PropertyUtils.copyProperties(tax, master);
          tax.setSite(site);
          tax.setTaxId(null);
          tax.setRecUpdateBy(userId);
          tax.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          tax.setRecCreateBy(userId);
          tax.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          tax.setTaxLanguages(null);
      tax.setCountries(countries);
      tax.setStates(states);
          Iterator<?> it = null;
          if (master.getCountries() != null) {
            it = master.getCountries().iterator();
            while (it.hasNext()) {
              Country mc = (Country) it.next();
              Country country = CountryDAO.loadByCountryName(site.getSiteId(), mc.getCountryName());
              tax.getCountries().add(country);
            }
          }
          if (master.getStates() != null) {
            it = master.getStates().iterator();
            while (it.hasNext()) {
              State mc = (State) it.next();
              State state = StateDAO.loadByStateName(site.getSiteId(), mc.getStateName());
              tax.getStates().add(state);
            }
          }
          em.persist(tax);
        }
  }
 
  public void loadTemplate() throws Exception {
/*
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from Template where siteId = :siteId order by templateName";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          Template master = (Template) iterator.next();
          Template template = new Template();
          PropertyUtils.copyProperties(template, master);
          template.setSite(site);
          template.setTemplateId(null);
          template.setRecUpdateBy(userId);
          template.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          template.setRecCreateBy(userId);
          template.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          em.persist(template);
        }
*/
  }
 
  Vector<ShippingType> shippingTypes = new Vector<ShippingType>();
  public void loadShippingType() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from ShippingType where siteId = :siteId order by shippingTypeId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          ShippingType master = (ShippingType) iterator.next();
          ShippingType shippingType = new ShippingType();
          PropertyUtils.copyProperties(shippingType, master);
          shippingType.setSite(site);
          shippingType.setRecUpdateBy(userId);
          shippingType.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          shippingType.setRecCreateBy(userId);
          shippingType.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          shippingType.setShippingMethodRegionTypes(null);
            shippingTypes.add(shippingType);
          em.persist(shippingType);
        }
  }

  Vector<ShippingRegion> shippingRegions = new Vector<ShippingRegion>();
  public void loadShippingRegion() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from ShippingRegion where siteId = :siteId order by shippingRegionId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          ShippingRegion master = (ShippingRegion) iterator.next();
          ShippingRegion shippingRegion = new ShippingRegion();
          Set<Country> countries = shippingRegion.getCountries();
          Set<State> states = shippingRegion.getStates();
          PropertyUtils.copyProperties(shippingRegion, master);
          shippingRegion.setSite(site);
          shippingRegion.setShippingRegionId(null);
          shippingRegion.setRecUpdateBy(userId);
          shippingRegion.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          shippingRegion.setRecCreateBy(userId);
          shippingRegion.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          shippingRegion.setCountries(countries);
      shippingRegion.setStates(states);
      shippingRegion.setZipCodes(null);
      shippingRegion.setShippingMethodRegions(null);
      shippingRegion.setShippingMethodRegionTypes(null);
          Iterator<?> it = null;
          if (master.getCountries() != null) {
            it = master.getCountries().iterator();
            while (it.hasNext()) {
              Country mc = (Country) it.next();
              Country country = CountryDAO.loadByCountryName(site.getSiteId(), mc.getCountryName());
              shippingRegion.getCountries().add(country);
            }
          }
          if (master.getStates() != null) {
            it = master.getStates().iterator();
            while (it.hasNext()) {
              State mc = (State) it.next();
              State state = StateDAO.loadByStateName(site.getSiteId(), mc.getStateName());
              shippingRegion.getStates().add(state);
            }
          }
          shippingRegions.add(shippingRegion);
          em.persist(shippingRegion);
        }
  }

  public void loadShippingMethod() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from ShippingMethod where siteId = :siteId order by shippingMethodId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          ShippingMethod master = (ShippingMethod) iterator.next();
          ShippingMethod shippingMethod = new ShippingMethod();
          shippingMethod.setSite(site);
          shippingMethod.setSeqNum(master.getSeqNum());
          shippingMethod.setPublished(master.getPublished());
          shippingMethod.setRecUpdateBy(userId);
          shippingMethod.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          shippingMethod.setRecCreateBy(userId);
          shippingMethod.setRecCreateDatetime(new Date(System.currentTimeMillis()));
         
          for (ShippingMethodLanguage language : master.getShippingMethodLanguages()) {
            ShippingMethodLanguage shippingMethodLanguage = new ShippingMethodLanguage();
            shippingMethodLanguage.setShippingMethodName(language.getShippingMethodName());
            shippingMethodLanguage.setRecUpdateBy(userId);
            shippingMethodLanguage.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
            shippingMethodLanguage.setRecCreateBy(userId);
            shippingMethodLanguage.setRecCreateDatetime(new Date(System.currentTimeMillis()));
            em.persist(shippingMethodLanguage);
            if (language.getShippingMethodLangId().equals(master.getShippingMethodLanguage().getShippingMethodLangId())) {
              shippingMethod.setShippingMethodLanguage(shippingMethodLanguage);
            }
            shippingMethod.getShippingMethodLanguages().add(shippingMethodLanguage);
          }
         
          if (master.getShippingMethodRegions() != null) {
            Iterator<?> it = master.getShippingMethodRegions().iterator();
            while (it.hasNext()) {
              ShippingMethodRegion m_shippingMethodRegion = (ShippingMethodRegion) it.next();
              ShippingMethodRegion shippingMethodRegion = new ShippingMethodRegion();
              shippingMethodRegion.setPublished(m_shippingMethodRegion.getPublished());
              shippingMethodRegion.setRecUpdateBy(userId);
              shippingMethodRegion.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
              shippingMethodRegion.setRecCreateBy(userId);
              shippingMethodRegion.setRecCreateDatetime(new Date(System.currentTimeMillis()));
              shippingMethodRegion.setShippingMethod(shippingMethod);
              ShippingRegion shippingRegion = getShippingRegion(m_shippingMethodRegion.getShippingRegion().getShippingRegionName());
              shippingMethodRegion.setShippingRegion(shippingRegion);
             
              if (m_shippingMethodRegion.getShippingMethodRegionTypes() != null) {
                Iterator<?> it1 = m_shippingMethodRegion.getShippingMethodRegionTypes().iterator();
                while (it1.hasNext()) {
                  ShippingMethodRegionType m_shippingMethodRegionType = (ShippingMethodRegionType) it1.next();
                  ShippingMethodRegionType shippingMethodRegionType = new ShippingMethodRegionType();
                      shippingMethodRegionType.setPublished(m_shippingMethodRegionType.getPublished());
                      shippingMethodRegionType.setRecUpdateBy(userId);
                      shippingMethodRegionType.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
                      shippingMethodRegionType.setRecCreateBy(userId);
                      shippingMethodRegionType.setRecCreateDatetime(new Date(System.currentTimeMillis()));
                      shippingMethodRegionType.setShippingRegion(shippingRegion);
                      shippingMethodRegionType.setShippingMethod(shippingMethod);
                      shippingMethodRegionType.setShippingType(getShippingType(m_shippingMethodRegionType.getShippingType().getShippingTypeName()));
                     
                      ShippingRate m_shippingRate = m_shippingMethodRegionType.getShippingRate();
                      ShippingRate shippingRate = new ShippingRate();
                          PropertyUtils.copyProperties(shippingRate, m_shippingRate);
                      shippingRate.setPublished(m_shippingRate.getPublished());
                      shippingRate.setRecUpdateBy(userId);
                      shippingRate.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
                      shippingRate.setRecCreateBy(userId);
                      shippingRate.setRecCreateDatetime(new Date(System.currentTimeMillis()));
                      shippingMethodRegionType.setShippingRate(shippingRate);
                     
                      em.persist(shippingRate);
                      em.persist(shippingMethodRegionType);
                      shippingMethodRegion.getShippingMethodRegionTypes().add(shippingMethodRegionType);
                }
              }
             
              shippingMethod.getShippingMethodRegions().add(shippingMethodRegion);
            }
          }
          em.persist(shippingMethod);
        }
  }
 
  public ShippingRegion getShippingRegion(String shippingRegionName) {
    Iterator<?> iterator = shippingRegions.iterator();
    while (iterator.hasNext()) {
      ShippingRegion shippingRegion = (ShippingRegion) iterator.next();
      if (shippingRegion.getShippingRegionName().equals(shippingRegionName)) {
        return shippingRegion;
      }
    }
    return null;
  }
 
  public ShippingType getShippingType(String shippingTypeName) {
    Iterator<?> iterator = shippingTypes.iterator();
    while (iterator.hasNext()) {
      ShippingType shippingType = (ShippingType) iterator.next();
      if (shippingType.getShippingTypeName().equals(shippingTypeName)) {
        return shippingType;
      }
    }
    return null;
  }

  public void loadCreditCard() throws Exception {
      EntityManager em = JpaConnection.getInstance().getCurrentEntityManager();
        String sql = "from CreditCard where siteId = :siteId order by creditCardId";
        Query query = em.createQuery(sql);
        query.setParameter("siteId", Constants.SITE_SYSTEM);
        Iterator<?> iterator = query.getResultList().iterator();
        while (iterator.hasNext()) {
          CreditCard master = (CreditCard) iterator.next();
          CreditCard creditCard = new CreditCard();
          PropertyUtils.copyProperties(creditCard, master);
          creditCard.setSite(site);
          creditCard.setCreditCardId(null);
          creditCard.setRecUpdateBy(userId);
          creditCard.setRecUpdateDatetime(new Date(System.currentTimeMillis()));
          creditCard.setRecCreateBy(userId);
          creditCard.setRecCreateDatetime(new Date(System.currentTimeMillis()));
          em.persist(creditCard);
        }
  }
}
TOP

Related Classes of com.jada.admin.site.SiteLoader

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.