/** * * marcosnr * 30/03/2012 */ package au.org.aurin.wif.io.demonstrationdata; import java.util.HashSet; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.Projection; import au.org.aurin.wif.model.WifProject; import au.org.aurin.wif.model.demand.DemographicData; import au.org.aurin.wif.model.demand.DemographicTrend; import au.org.aurin.wif.model.demand.EmploymentDemographicData; import au.org.aurin.wif.model.demand.EmploymentSector; import au.org.aurin.wif.model.demand.ResidentialDemographicData; /** * The Class DemonstrationDemandTrendData. */ public class DemonstrationDemandTrendData { /** * Creates the demand trend module. It is important that there is information * only for local and regional retail * * @param project * the project * @return the wif project */ private static final Logger LOGGER = LoggerFactory .getLogger(DemonstrationDemandTrendData.class); public static WifProject createDemandTrendModule(WifProject project) { try { // Sectors information EmploymentSector sectorRetailTrade = project .getSectorByLabel("Retail Trade"); // *************************** // information per projection Projection projection0 = project.getProjectionByLabel("2005"); // TODO why, aam I using projection that is in the current demographic? Projection projection1 = project.getProjectionByLabel("2010"); Projection projection2 = project.getProjectionByLabel("2015"); // DemographicTrend info DemographicTrend highGrowthDemographicTrend = new DemographicTrend(); highGrowthDemographicTrend.setLabel("High Growth Trend"); highGrowthDemographicTrend.setWifProject(project); Set<DemographicTrend> dtrends = new HashSet<DemographicTrend>(); dtrends.add(highGrowthDemographicTrend); project.setDemographicTrends(dtrends); // Residential demographics data information ResidentialDemographicData demog0 = new ResidentialDemographicData(); demog0.setTotalPopulation(18523L); demog0.setgQPopulation(117L); demog0.setAverageHouseholdSize(2.51); demog0.setHousingUnits(8129L); demog0.setProjection(projection0); demog0.setDemographicTrend(highGrowthDemographicTrend); ResidentialDemographicData demog1 = new ResidentialDemographicData(); demog1.setTotalPopulation(23149L); demog1.setgQPopulation(146L); demog1.setAverageHouseholdSize(2.41); demog1.setProjection(projection1); demog1.setDemographicTrend(highGrowthDemographicTrend); ResidentialDemographicData demog2 = new ResidentialDemographicData(); demog2.setTotalPopulation(27144L); demog2.setgQPopulation(171L); demog2.setAverageHouseholdSize(2.35); demog2.setProjection(projection2); demog2.setDemographicTrend(highGrowthDemographicTrend); EmploymentDemographicData retailTradeData0 = new EmploymentDemographicData(); retailTradeData0.setDemographicTrend(highGrowthDemographicTrend); retailTradeData0.setSector(sectorRetailTrade); retailTradeData0.setProjection(projection0); retailTradeData0.setEmployees(5771); EmploymentDemographicData retailTradeData1 = new EmploymentDemographicData(); retailTradeData1.setDemographicTrend(highGrowthDemographicTrend); retailTradeData1.setSector(sectorRetailTrade); retailTradeData1.setProjection(projection1); retailTradeData1.setEmployees(6558); EmploymentDemographicData manufacturingData0 = new EmploymentDemographicData(); manufacturingData0.setDemographicTrend(highGrowthDemographicTrend); manufacturingData0.setSector(sectorRetailTrade); manufacturingData0.setProjection(projection0); manufacturingData0.setEmployees(1164); EmploymentDemographicData manufacturingData1 = new EmploymentDemographicData(); manufacturingData1.setDemographicTrend(highGrowthDemographicTrend); manufacturingData1.setSector(sectorRetailTrade); manufacturingData1.setProjection(projection1); manufacturingData1.setEmployees(1323); Set<DemographicData> demographicDatas = new HashSet<DemographicData>(); demographicDatas.add(demog0); demographicDatas.add(demog1); demographicDatas.add(demog2); demographicDatas.add(retailTradeData0); demographicDatas.add(retailTradeData1); demographicDatas.add(manufacturingData0); demographicDatas.add(manufacturingData1); highGrowthDemographicTrend.setDemographicData(demographicDatas); Set<DemographicTrend> demographicTrends = new HashSet<DemographicTrend>(); demographicTrends.add(highGrowthDemographicTrend); project.setDemographicTrends(demographicTrends); } catch (WifInvalidInputException e) { LOGGER.error("Problem occurred in createDemandTrendModule"); } return project; } }