Skip to content

Commit

Permalink
Merge pull request #42 from CLOSER-Cohorts/addTests
Browse files Browse the repository at this point in the history
More tests; output a potential problematic column; remove 3.3 format as an input parameter
  • Loading branch information
spuddybike authored Apr 10, 2024
2 parents 3c02267 + f7950ce commit 4ca2635
Show file tree
Hide file tree
Showing 8 changed files with 1,653 additions and 28 deletions.
44 changes: 22 additions & 22 deletions src/main/java/edu/cornell/ncrn/ced2ar/ddigen/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public class Main {

private static String FORMAT_OUTPUT_2_5 = "2.5";
private static String FORMAT_OUTPUT_3_2 = "3.2";
private static String FORMAT_OUTPUT_3_3_FRAGMENT = "3.3Fragment";
// private static String FORMAT_OUTPUT_3_3_FRAGMENT = "3.3Fragment";

public static void main(String args[]) throws Exception {
Util util = new Util();
Expand Down Expand Up @@ -134,27 +134,27 @@ public static void main(String args[]) throws Exception {
if (summaryStats) {
FileUtil.createFile(ddi.getVariableCsv().getStatistics(), dataFile+".stats.csv");
}
} else if (formatOutput.equalsIgnoreCase(FORMAT_OUTPUT_3_3_FRAGMENT)) {
if (agency == null || agency.isEmpty()) {
logger.error("Agency is required...");
System.exit(1);
return;
}
if (ddiLanguage == null || ddiLanguage.isEmpty()) {
logger.error("DDI language is required...");
System.exit(1);
return;
}
GenerateDDI33 generateDDI = new GenerateDDI33(agency, ddiLanguage, excludeVariableToStatMap, stats);
ddi = generateDDI.generateDDI(dataFile, summaryStats, obsLimit);

if (isFrequencyFileEnabled) {
FileUtil.createFile(ddi.getVariableCsv().getFrequencies(), dataFile+".freq.csv");
}

if (summaryStats) {
FileUtil.createFile(ddi.getVariableCsv().getStatistics(), dataFile+".stats.csv");
}
// } else if (formatOutput.equalsIgnoreCase(FORMAT_OUTPUT_3_3_FRAGMENT)) {
// if (agency == null || agency.isEmpty()) {
// logger.error("Agency is required...");
// System.exit(1);
// return;
// }
// if (ddiLanguage == null || ddiLanguage.isEmpty()) {
// logger.error("DDI language is required...");
// System.exit(1);
// return;
// }
// GenerateDDI33 generateDDI = new GenerateDDI33(agency, ddiLanguage, excludeVariableToStatMap, stats);
// ddi = generateDDI.generateDDI(dataFile, summaryStats, obsLimit);
//
// if (isFrequencyFileEnabled) {
// FileUtil.createFile(ddi.getVariableCsv().getFrequencies(), dataFile+".freq.csv");
// }
//
// if (summaryStats) {
// FileUtil.createFile(ddi.getVariableCsv().getStatistics(), dataFile+".stats.csv");
// }
} else {
throw new IllegalArgumentException("Unknown formatOutput: " + formatOutput);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package edu.cornell.ncrn.ced2ar.stata;

import java.io.IOException;

import org.apache.log4j.Logger;

import edu.cornell.ncrn.ced2ar.stata.exceptions.InvalidDtaFormatException;
import edu.cornell.ncrn.ced2ar.stata.impl.Dta113Reader;
import edu.cornell.ncrn.ced2ar.stata.impl.Dta114Reader;
import edu.cornell.ncrn.ced2ar.stata.impl.Dta115Reader;
import edu.cornell.ncrn.ced2ar.stata.impl.Dta117Reader;
import edu.cornell.ncrn.ced2ar.stata.impl.Dta118Reader;

public class StataReaderFactory {
private static final Logger logger = Logger.getLogger(StataReaderFactory.class);
public StataReader getStataReader(String stataFile) throws IOException, InvalidDtaFormatException{
try{
return (new Dta115Reader(stataFile));
}
catch(InvalidDtaFormatException IDFE){
logger.info("Stata Data file " + stataFile + " is not a Format 115.");
}
try{
return (new Dta114Reader(stataFile));
}
catch(InvalidDtaFormatException IDFE){
logger.info("Stata Data file " + stataFile + " is not a Format 114.");
}
try{
return (new Dta113Reader(stataFile));
}
catch(InvalidDtaFormatException IDFE){
logger.info("Stata Data file " + stataFile + " is not a Format 113.");
}
try{
return (new Dta117Reader(stataFile));
}
catch(InvalidDtaFormatException IDFE){
logger.info("Stata Data file " + stataFile + " is not a Format 117");
}
try{
return (new Dta118Reader(stataFile));
}
catch(InvalidDtaFormatException IDFE){
logger.info("Stata Data file " + stataFile + " is not a Format 113, 114, 115, 117 or 118 stata file. ie This datafile is not stata v8, v10, v12, v13 or v14");
throw IDFE;
}

}


public static void main(String argc[]) throws Exception{
StataReaderFactory factory = new StataReaderFactory();
// this file is failing on reading value labels'
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\STATA\\Expert-Survey-STATAVersion-2.2.dta");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\STATA\\dc2010UR1_ALL_VARS.DTA");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\Michelle Data\\04275-0001-Data.dta");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\Michelle Data\\07948-0001-Data.dta");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\Michelle Data\\29662-0001-Data.dta");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\STATA\\auto2.dta");
//StataReader SR = factory.getStataReader("C:\\java\\info\\Data\\STATA\\statacarwithLabel.dta");
//"C:\\java\\info\\Data\\STATA\\statacarwithLabel.dta" 117

//stataFile.readStataFile("C:\\java\\info\\Data\\STATA\\IMFFinReform.dta");
//stataFile.readStataFile("C:\\java\\info\\Data\\STATA\\me2010ur1_all_vars.DTA");
//stataFile.readStataFile("C:\\java\\info\\Data\\STATA\\dc2010UR1_ALL_VARS.DTA");
//stataFile.readStataFile("C:\\java\\info\\Data\\STATA\\p10i6.dta");
//stataFile.readStataFile("C:\\java\\info\\Data\\STATA\\ssb_v6_0_synthetic1_1.dta");
//StataFile stataFile = new StataFile("C:\\java\\info\\Data\\STATA\\statacar.dta");
//SR.dumpData();
//System.out.println(SR.getObservation(7));
//System.out.println(SR.getObservation(8));

}


}
Loading

0 comments on commit 4ca2635

Please sign in to comment.