/** * Copyright (C) 2013 Premium Minds. * * This file is part of billy spain (ES Pack). * * billy spain (ES Pack) is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * billy spain (ES Pack) 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 Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with billy spain (ES Pack). If not, see <http://www.gnu.org/licenses/>. */ package com.premiumminds.billy.spain; import java.math.BigDecimal; import java.util.Currency; import java.util.Date; import org.joda.time.DateTime; import com.google.inject.Guice; import com.google.inject.Injector; import com.premiumminds.billy.core.persistence.dao.DAO; import com.premiumminds.billy.core.persistence.dao.TransactionWrapper; import com.premiumminds.billy.core.services.UID; import com.premiumminds.billy.core.services.entities.Tax; import com.premiumminds.billy.spain.persistence.dao.DAOESAddress; import com.premiumminds.billy.spain.persistence.dao.DAOESContact; import com.premiumminds.billy.spain.persistence.dao.DAOESCustomer; import com.premiumminds.billy.spain.persistence.dao.DAOESInvoice; import com.premiumminds.billy.spain.persistence.dao.DAOESRegionContext; import com.premiumminds.billy.spain.persistence.dao.DAOESTax; import com.premiumminds.billy.spain.persistence.entities.ESRegionContextEntity; import com.premiumminds.billy.spain.persistence.entities.ESTaxEntity; import com.premiumminds.billy.spain.services.entities.ESAddress; import com.premiumminds.billy.spain.services.entities.ESContact; import com.premiumminds.billy.spain.services.entities.ESCustomer; import com.premiumminds.billy.spain.services.entities.ESRegionContext; import com.premiumminds.billy.spain.services.entities.ESTax; import com.premiumminds.billy.spain.services.entities.ESTax.ESVATCode; public class SpainBootstrap { protected static final String CODE_ES = "ES"; public static void main(String[] args) { if (args.length > 0 && !args[0].isEmpty()) { SpainBootstrap.execute(args[0]); } else { SpainBootstrap.execute(BillySpain.DEFAULT_PERSISTENCE_UNIT); // backward compatibility } } private static void execute(String persistenceUnitId) { // Load dependency injector Injector injector = Guice.createInjector( new SpainDependencyModule(), new SpainPersistenceDependencyModule(persistenceUnitId)); injector.getInstance(SpainDependencyModule.Initializer.class); injector.getInstance(SpainPersistenceDependencyModule.Initializer.class); SpainBootstrap.execute(injector); } public static void execute(final Injector dependencyInjector) { DAO<?> dao = dependencyInjector.getInstance(DAOESInvoice.class); final Config configuration = new Config(); try { new TransactionWrapper<Void>(dao) { @SuppressWarnings("unused") @Override public Void runTransaction() throws Exception { // Dao creation DAOESCustomer daoESCustomer = dependencyInjector .getInstance(DAOESCustomer.class); DAOESRegionContext daoESRegionContext = dependencyInjector .getInstance(DAOESRegionContext.class); DAOESTax daoESTax = dependencyInjector .getInstance(DAOESTax.class); DAOESContact daoESContact = dependencyInjector .getInstance(DAOESContact.class); DAOESAddress daoESAddress = dependencyInjector .getInstance(DAOESAddress.class); // Builders ESCustomer.Builder customerBuilder = dependencyInjector .getInstance(ESCustomer.Builder.class); ESRegionContext.Builder contextBuilder = dependencyInjector .getInstance(ESRegionContext.Builder.class); ESTax.Builder taxBuilder = dependencyInjector .getInstance(ESTax.Builder.class); ESAddress.Builder addressBuilder = dependencyInjector .getInstance(ESAddress.Builder.class); ESContact.Builder contactBuilder = dependencyInjector .getInstance(ESContact.Builder.class); // Spain Contexts final ESRegionContextEntity CONTEXT_SPAIN = this .buildContextEntity(daoESRegionContext, contextBuilder, "Spain", "The Context for the country Spain", null, Config.Key.Context.Spain.UUID); final ESRegionContextEntity CONTEXT_CONTINENTAL_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Spain Continental", "The Context for mainland Spain", CONTEXT_SPAIN.getUID(), Config.Key.Context.Spain.Continental.UUID); final ESRegionContextEntity CONTEXT_ALAVA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Álava", "The Context for the Spanish Àlava region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Alava.UUID); final ESRegionContextEntity CONTEXT_ALBACETE_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Albacete", "The Context for the Spanish Albacete region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Albacete.UUID); final ESRegionContextEntity CONTEXT_ALICANTE_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Alicante", "The Context for the Spanish Alicante region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Alicante.UUID); final ESRegionContextEntity CONTEXT_ALMERIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Almería", "The Context for the Spanish Almería region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Almeria.UUID); final ESRegionContextEntity CONTEXT_ASTURIAS_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Asturias", "The Context for the Spanish Asturias region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Asturias.UUID); final ESRegionContextEntity CONTEXT_AVILA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Ávila", "The Context for the Spanish Ávila region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Avila.UUID); final ESRegionContextEntity CONTEXT_BADAJOZ_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Badajoz", "The Context for the Spanish Badajoz region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Badajoz.UUID); final ESRegionContextEntity CONTEXT_BALEARES_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Illes Balears", "The Context for the Spanish Balearic Islands region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Baleares.UUID); final ESRegionContextEntity CONTEXT_BARCELONA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Barcelona", "The Context for the Spanish Barcelona region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Barcelona.UUID); final ESRegionContextEntity CONTEXT_BIZKAIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Bizkaia", "The Context for the Spanish Biscay region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Bizkaia.UUID); final ESRegionContextEntity CONTEXT_BURGOS_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Burgos", "The Context for the Spanish Burgos region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Burgos.UUID); final ESRegionContextEntity CONTEXT_CACERES_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Cáceres", "The Context for the Spanish Cáceres region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Caceres.UUID); final ESRegionContextEntity CONTEXT_CADIZ_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Cádiz", "The Context for the Spanish Cádiz region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Cadiz.UUID); final ESRegionContextEntity CONTEXT_CANTABRIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Cantabria", "The Context for the Spanish Cantabria region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Cantabria.UUID); final ESRegionContextEntity CONTEXT_CASTELLON_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Castelló", "The Context for the Spanish Castellón region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Castellon.UUID); final ESRegionContextEntity CONTEXT_CIUDADREAL_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Ciudad Real", "The Context for the Spanish Ciudad Real region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.CiudadReal.UUID); final ESRegionContextEntity CONTEXT_CORDOBA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Córdoba", "The Context for the Spanish Córdoba region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Cordoba.UUID); final ESRegionContextEntity CONTEXT_CUENCA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Cuenca", "The Context for the Spanish Cuenca region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Cuenca.UUID); final ESRegionContextEntity CONTEXT_GERONA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Girona", "The Context for the Spanish Gerona region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Gerona.UUID); final ESRegionContextEntity CONTEXT_GIPUZKOA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Gipuzkoa", "The Context for the Spanish Guipuscoa region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Gipuzkoa.UUID); final ESRegionContextEntity CONTEXT_GRANADA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Granada", "The Context for the Spanish Granada region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Granada.UUID); final ESRegionContextEntity CONTEXT_GUADALAJARA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Guadalajara", "The Context for the Spanish Guadalajara region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Guadalajara.UUID); final ESRegionContextEntity CONTEXT_HUELVA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Huelva", "The Context for the Spanish Huelva region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Huelva.UUID); final ESRegionContextEntity CONTEXT_HUESCA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Huesca", "The Context for the Spanish Huesca region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Huesca.UUID); final ESRegionContextEntity CONTEXT_JAEN_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Jaén", "The Context for the Spanish Jaén region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Jaen.UUID); final ESRegionContextEntity CONTEXT_LACORUNA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "A Coruña", "The Context for the Spanish La Corunna region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.LaCoruna.UUID); final ESRegionContextEntity CONTEXT_LARIOJA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "La Rioja", "The Context for the Spanish La Rioja region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.LaRioja.UUID); final ESRegionContextEntity CONTEXT_LEON_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "León", "The Context for the Spanish León region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Leon.UUID); final ESRegionContextEntity CONTEXT_LERIDA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Lleida", "The Context for the Spanish Lérida region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Lerida.UUID); final ESRegionContextEntity CONTEXT_LUGO_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Lugo", "The Context for the Spanish Lugo region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Lugo.UUID); final ESRegionContextEntity CONTEXT_MADRID_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Madrid", "The Context for the Spanish Madrid region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Madrid.UUID); final ESRegionContextEntity CONTEXT_MALAGA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Málaga", "The Context for the Spanish Málaga region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Malaga.UUID); final ESRegionContextEntity CONTEXT_MURCIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Murcia", "The Context for the Spanish Murcia region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Murcia.UUID); final ESRegionContextEntity CONTEXT_NAVARRA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Navarra", "The Context for the Spanish Navarra region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Navarra.UUID); final ESRegionContextEntity CONTEXT_ORENSE_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Ourense", "The Context for the Spanish Orense region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Orense.UUID); final ESRegionContextEntity CONTEXT_PALENCIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Palencia", "The Context for the Spanish Palencia region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Palencia.UUID); final ESRegionContextEntity CONTEXT_PONTEVEDRA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Pontevedra", "The Context for the Spanish Pontevedra region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Pontevedra.UUID); final ESRegionContextEntity CONTEXT_SALAMANCA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Salamanca", "The Context for the Spanish Salamanca region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Salamanca.UUID); final ESRegionContextEntity CONTEXT_SEGOVIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Segovia", "The Context for the Spanish Segovia region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Segovia.UUID); final ESRegionContextEntity CONTEXT_SEVILLA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Sevilla", "The Context for the Spanish Seville region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Sevilla.UUID); final ESRegionContextEntity CONTEXT_SORIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Soria", "The Context for the Spanish Soria region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Soria.UUID); final ESRegionContextEntity CONTEXT_TARRAGONA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Tarragona", "The Context for the Spanish Tarragona region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Tarragona.UUID); final ESRegionContextEntity CONTEXT_TERUEL_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Teruel", "The Context for the Spanish Teruel region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Teruel.UUID); final ESRegionContextEntity CONTEXT_TOLEDO_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Toledo", "The Context for the Spanish Toledo region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Toledo.UUID); final ESRegionContextEntity CONTEXT_VALENCIA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Valencia", "The Context for the Spanish Valencia region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Valencia.UUID); final ESRegionContextEntity CONTEXT_VALLADOLID_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Valladolid", "The Context for the Spanish Valladolid region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Valladolid.UUID); final ESRegionContextEntity CONTEXT_ZAMORA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Zamora", "The Context for the Spanish Zamora region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Zamora.UUID); final ESRegionContextEntity CONTEXT_ZARAGOZA_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Zaragoza", "The Context for the Spanish Saragossa region", CONTEXT_CONTINENTAL_SPAIN.getUID(), Config.Key.Context.Spain.Continental.Zaragoza.UUID); final ESRegionContextEntity CONTEXT_CANARYISLANDS_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Islas Canarias", "The Context for the Canary Islands", CONTEXT_SPAIN.getUID(), Config.Key.Context.Spain.CanaryIslands.UUID); final ESRegionContextEntity CONTEXT_LASPALMAS_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Las Palmas", "The Context for the Spanish Las Palmas region", CONTEXT_CANARYISLANDS_SPAIN.getUID(), Config.Key.Context.Spain.CanaryIslands.LasPalmas.UUID); final ESRegionContextEntity CONTEXT_SCRUZTENERIFE_SPAIN = this .buildContextEntity( daoESRegionContext, contextBuilder, "Santa Cruz de Tenerife", "The Context for the Spanish Santa Cruz de Tenerife region", CONTEXT_CANARYISLANDS_SPAIN.getUID(), Config.Key.Context.Spain.CanaryIslands.StaCruzDeTenerife.UUID); // Taxes Date from = new DateTime(2013, 1, 1, 0, 0).toDateMidnight() .toDateTime().toDate(); Date to = new DateTime(2014, 1, 1, 0, 0).toDateMidnight() .toDateTime().toDate(); final ESTaxEntity VAT_NORMAL_CONTINENTAL_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.NORMAL, CONTEXT_CONTINENTAL_SPAIN, Currency.getInstance("EUR"), "IVA General Continente", "IVA", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.Continental.VAT.NORMAL_PERCENT, Config.Key.Context.Spain.Continental.VAT.NORMAL_UUID); final ESTaxEntity VAT_INTERMEDIATE_CONTINENTAL_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.INTERMEDIATE, CONTEXT_CONTINENTAL_SPAIN, Currency.getInstance("EUR"), "IVA Reducido", "IVA", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.Continental.VAT.INTERMEDIATE_PERCENT, Config.Key.Context.Spain.Continental.VAT.INTERMEDIATE_UUID); final ESTaxEntity VAT_REDUCED_CONTINENTAL_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.REDUCED, CONTEXT_CONTINENTAL_SPAIN, Currency.getInstance("EUR"), "IVA Superreducido", "IVA", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.Continental.VAT.REDUCED_PERCENT, Config.Key.Context.Spain.Continental.VAT.REDUCED_UUID); final ESTaxEntity IGIC_NORMAL_CANARYISLANDS_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.NORMAL, CONTEXT_CANARYISLANDS_SPAIN, Currency.getInstance("EUR"), "IGIC General", "IGIC", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.CanaryIslands.IGIC.NORMAL_PERCENT, Config.Key.Context.Spain.CanaryIslands.IGIC.NORMAL_UUID); final ESTaxEntity IGIC_INTERMEDIATE_CANARYISLANDS_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.INTERMEDIATE, CONTEXT_CANARYISLANDS_SPAIN, Currency.getInstance("EUR"), "IGIC Reducido", "IGIC", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.CanaryIslands.IGIC.INTERMEDIATE_PERCENT, Config.Key.Context.Spain.CanaryIslands.IGIC.INTERMEDIATE_UUID); final ESTaxEntity IGIC_REDUCED_CANARYISLANDS_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.REDUCED, CONTEXT_CANARYISLANDS_SPAIN, Currency.getInstance("EUR"), "IGIC Superreducido", "IGIC", Tax.TaxRateType.PERCENTAGE, from, to, Config.Key.Context.Spain.CanaryIslands.IGIC.REDUCED_PERCENT, Config.Key.Context.Spain.CanaryIslands.IGIC.REDUCED_UUID); final ESTaxEntity TAX_EXEMPT_SPAIN = this .buildTaxEntity( daoESTax, taxBuilder, ESVATCode.EXEMPT, CONTEXT_SPAIN, Currency.getInstance("EUR"), "Isento de IVA", "IVA", Tax.TaxRateType.NONE, from, to, Config.Key.Context.Spain.TAX_EXEMPT_VALUE, Config.Key.Context.Spain.TAX_EXEMPT_UUID); return null; } private ESTaxEntity buildTaxEntity(DAOESTax daoESTax, ESTax.Builder taxBuilder, String taxCode, ESRegionContextEntity context, Currency currency, String description, String designation, Tax.TaxRateType type, Date validFrom, Date validTo, String valueKey, String key) { BigDecimal amount = new BigDecimal( configuration.get(valueKey)); taxBuilder.clear(); taxBuilder.setCode(taxCode).setContextUID(context.getUID()) .setCurrency(currency).setDescription(description) .setDesignation(designation) .setTaxRate(type, amount).setValidFrom(validFrom) .setValidTo(validTo).setValue(amount); final ESTaxEntity tax = (ESTaxEntity) taxBuilder.build(); tax.setUID(configuration.getUID(key)); daoESTax.create(tax); return tax; } private ESRegionContextEntity buildContextEntity( DAOESRegionContext daoESRegionContext, ESRegionContext.Builder contextBuilder, String name, String description, UID parentUID, String key) { contextBuilder.clear(); contextBuilder.setName(name).setDescription(description) .setParentContextUID(parentUID); final ESRegionContextEntity context = (ESRegionContextEntity) contextBuilder .build(); context.setUID(configuration.getUID(key)); daoESRegionContext.create(context); return context; } }.execute(); } catch (Exception e) { e.printStackTrace(); } } }