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

import java.util.ArrayList;

import edu.upenn.cit594.datamanagement.CSVCovidReader;
import edu.upenn.cit594.datamanagement.CovidReader;
import edu.upenn.cit594.datamanagement.JSONCovidReader;
import edu.upenn.cit594.datamanagement.PopulationsReader;
import edu.upenn.cit594.datamanagement.PropertiesReader;
import edu.upenn.cit594.util.CovidData;
import edu.upenn.cit594.util.Population;
import edu.upenn.cit594.util.Property;

/**
 *Takes in reader objects and uses data to create the objects in util for UI
 */
public class Processor {
	
	protected PopulationsReader populationsReader;
	protected PropertiesReader propertiesReader;
	protected CovidReader covidReader;
	protected ArrayList<Population> populationObj;
	protected ArrayList<CovidData> covidDataObj;
	protected ArrayList<Property> propertyObj;
	

	public Processor(PopulationsReader popR, PropertiesReader propR, CovidReader covidR) {
		
		//set instance vars
		
		this.populationsReader = popR;
		this.propertiesReader = propR;
		this.covidReader = covidR;
    	
		//Initalize Start
		if (this.propertiesReader != null) {
			propertyObj = propR.readPropertiesCSV();
		}else {
			propertyObj = null;
		}
		if (this.populationsReader != null) {
			populationObj = popR.readPopulationCSV();
		} else {
			populationObj = null;
		}
		if (this.covidReader != null) {
			if (covidR instanceof CSVCovidReader) {
				covidDataObj = CSVCovidReader.readCovidCSV();
			} else if (covidR instanceof JSONCovidReader) {
				covidDataObj = JSONCovidReader.readCovidJSON();
			}else {
				covidDataObj = null;
			}
		}else {
			covidDataObj = null;
		}
		
		//populationObj = popR.readPopulationCSV();
		//propertyObj = propR.readPropertiesCSV();
		
		
				
	}
	
	public static CovidReader createCovidReader(String extension, String filename) {
		if (extension.equals("csv")){
			return new CSVCovidReader(filename);
		}else if (extension.equals("json")) {
			return new JSONCovidReader(filename);
		}else {
			return null;
		}
	}	
	
	public ArrayList<Population> getpopulationObj() {
		return populationObj;
	}
	public ArrayList<Property> getpropertyObj() {
		return propertyObj;
	}
	public ArrayList<CovidData> getcovidDataObj() {
		return covidDataObj;
	}
 

}