OpenDataPhillyFinal / src / edu / upenn / cit594 / processor / TotalMarketValuePerVaccinationPerCapita.java
TotalMarketValuePerVaccinationPerCapita.java
Raw
package edu.upenn.cit594.processor;

import java.util.ArrayList;

import edu.upenn.cit594.util.CovidData;
import edu.upenn.cit594.util.Population;
import edu.upenn.cit594.util.Property;

public class TotalMarketValuePerVaccinationPerCapita {
	

	public static String calculateTotalMarketValuePerVaccinationPerCapita(int zipCode, ArrayList<CovidData> covidDataList,
			ArrayList<Population> populationList, ArrayList<Property> propertyList) {
			
			double totalMarketValue = 0.0;
			double totalPopulation = 0.0;
			int totalVaccinated = 0;

			// Calculate the total market value and population for the specified zip code
			for (Property property : propertyList) {
				if (property.getZipCode() == zipCode && (property.getZipCode() != -1 || property.getZipCode() != -1.0)) {

					double marketValue = property.getMarketValue();
					
					if (marketValue != -1.0 || marketValue != -1) {
						// System.out.println(marketValue);
						totalMarketValue += marketValue;
					}
					break;
				}
			}

			// get total population
			for (Population population : populationList) {
				if (population.getZipCode() == zipCode && (population.getZipCode() != -1 || population.getZipCode() != -1.0)) {
					double populationCount = population.getPopulation();
					totalPopulation += populationCount;
					break;
				}
			}
			// System.out.println(totalPopulation);

			int partialVax = 0;
			int fullVax = 0;
			int boosted = 0;

			// Calculate the total number of people vaccinated for the specified zip code
			for (CovidData covidData : covidDataList) {
				if (covidData.getzipCode() == zipCode) {

					if (covidData.getpartialVax() != 0) {
						partialVax = covidData.getpartialVax();
					}
					if (covidData.getfullVax() != 0) {
						fullVax = covidData.getfullVax();
					}
					if (covidData.getboosted() != 0) {
						boosted = covidData.getboosted();
					}

					// System.out.println(partialVax);
					// System.out.println(fullVax);

					totalVaccinated = partialVax + fullVax + boosted;
				}
			}


			//check to make sure calculation will work
	        if (totalVaccinated == 0 ) {
	            return String.valueOf(0.0);
	        }
	        else if (totalPopulation == 0) {
	            return String.valueOf(0.0);
	        }
	        else if (totalMarketValue <= 0) {
	            return String.valueOf(0.0);
	        }

			
			double totalMarketValuePerVaxPerCapita = totalMarketValue / (totalVaccinated / totalPopulation);

			return String.valueOf(totalMarketValuePerVaxPerCapita);
	}
}