ConfigData.java [tools/WepsSoilsIfcCreator/src/usda/weru/util] Revision: 0963adc11caf5d7616128736008ebbc7f276df4c  Date: Wed Sep 02 15:16:53 MDT 2015
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package usda.weru.util;


import javax.measure.Measurable;
import javax.measure.Measure;
import javax.measure.quantity.Length;
import javax.measure.unit.NonSI;
import javax.measure.unit.SI;
import org.apache.log4j.Logger;


/**
 * Mocked up ConfigData class with all default values
 * 
 * @author wlloyd
 */
public class ConfigData 
{
    private static ConfigData c_default;
    
    private static final Logger LOGGER = Logger.getLogger(ConfigData.class);    
    
    public static ConfigData getDefault() {
        if (c_default == null) {
            c_default = new ConfigData();
        }
        return c_default;
    }
    
    public boolean getSoilTestOrganic(){
        return "1".equals("1");
    }

    public Measurable<Length> getSoilMaxOrganicDepth(){
        String valueString = "101.6";
        try{
            double depthMiliMeters = Double.valueOf(valueString);
            return Measure.valueOf(depthMiliMeters, SI.MILLIMETER);        
        }
        catch(Exception e){
            LOGGER.warn("Unable to parse the soil max organic depth. Defaulting to 4 inches." + valueString);
            return Measure.valueOf(4, NonSI.INCH);
        }
    }
    
    public boolean isSkipOrganicSoilSurfaceLayers(){
        String value = "0";
        return value != null ? value.trim().equals("1") : false;
    }
    
    public boolean isAverageStratifiedSoilLayers(){
        String value = "0";
        return value != null ? value.trim().equals("1") : false;
    }
    
    
    
//            set(Units, Util.SIUnits);
//            set(OutputFreq, "2");
//            set(OPHydroDet, "0");
//            set(OPSoilDet, "0");
//            set(OPManageDet, "0");
//            set(OPCropDet, "0");
//            set(OPDecompDet, "0");
//            set(OPErosionDet, "0");
//            set(OPHydroDbg, "0");
//            set(OPSoilDbg, "0");
//            set(OPManageDbg, "0");
//            set(OPCropDbg, "0");
//            set(OPDecompDbg, "0");
//            set(OPErosionDbg, "0");
//            set(WinExe, "");
//            set(WinCmd, "");
//            set(WinData, "db/wind_gen/wind_gen_his_upper_US.wdb");
//            set(CliExe, "");
//            set(CliCmd, "");
//            set(CliData, "db/cligen/US_cligen_stations.par");
//            set(WepsExe, "");
//            set(WepsCmd, "");
//            set(CalWepsCmd, "");
//            set(EmailSender, "");
//            set(MailHost, "");
//            set(CommentAddr, "");
//            set(BugsAddr, "");
//            set(ManTemp, "");
//            set(ManTempSaveAs, "");
//            set(ManSkel, "");
//            set(CropDB, "");
//            set(ManDB, "");
//            set(SoilDB, "");
//            set(SoilOrganicFile,"db/soil/NRCS Generic Soils/Organic Soil.ifc");
//            set(SoilMaxOrganicDepth, "101.6");
//            set(SoilTestOrganic, "1");
//            set(ProjDir, "");
//            set(MCREW, "mcrew_cfg");
//            set(McrewDataConfigFile, "dataconfig.xml");
//            set(TimeSteps, "24");
//            set(WindFlag, "0");
//            set(ClimateFlag, "0");
//            set(SubDailyFlag, "0");
//            set(DefaultRunMode, ConfigData.Cycle);
//            set(TTInit, "2000");		// set to more reasonable defaults if not
//            set(TTDismiss, "2000");		// set in cfg file (or cfg file is missing)
//            set(ReadonlySlope, "1");
//            set(ReadonlyRockFragments, "1");
//
//            //Formats
//            set(FormatOperationDate, "MMM dd, y");
//
//            //Purge run files
//            set(PurgeRunFilesFlg, "0");
//            set(PurgeRunFiles, "win_gen.win:cli_gen.cli");
//
//            //Default runs location template
//            set(DefaultRunsLocationTemplate, "${PROJECT_DIRECTORY}");
//
//            //Mcrew's skel translastion file
//            set(SkelTranslationFile, "${weps.databases}/db/RUSLE2_Translation.txt");
//
//            set(DoNotWarnAboutSystemLocale, "0");
//
//            set(DoNotEstimateMissingSurgoValues, "0");
//
//            set(UseDefaultMailClient, "0");
//
//            set(DoNotReviewWarningsWhenRestoringRun, "0");
//            set(SoilEstimate, "1");
//            set(SoilAverageStratifiedLayers, "0");
//            set(OMFractionThreshold, "0.20");
//
//            set(DetailTableFilterFile, "tables/detail_filters.xml");
//
//            set(HideProjectFileButtons, "0");
//            set(HideTemplatetFileButtons, "0");
//            set(DaysToKeepLogs, "2");
//            
//            
//            //reports 
//            set(ReportsView, "run");
//            set(ReportsGeneratePDF, "run,management,crop,stir");            
//            set(ReportsDirectory, "reports/");
//            set(ReportsCustomized, null);
//            
//            //bash script 
//            set(AllowScriptCreation, "1");
//            
//            //nrcs install
//            set(CompatibilityNRCS, "0");
//
//            //default barriers
//            set(BarriersFile, "db/barriers/barrier.dat");
//
//            ///barriers readonly, false
//            set(BarriersReadonly, "0");
//
//            //show the checkboxes that allow switching between weather files or station lists on a per project basis
//            set(ShowWeatheFilerCheckboxes, "1");
//
//            //LocationPanel rewrite
//            set(WindgenAllowedModes, "choice,file,interpolated,gis,nearest,nrcs");
//            set(CligenAllowedModes, "choice,nearest,gis,file,nrcs");
//
//            setData(SoilAverageStratifiedLayers, "0");
//            setData(SoilSkipOrganicSurfaceLayers, "0");
//            setData(SiteChooserShowCountry, "0");
//
//            set(GISData, "db/gis");
//
//            set(SoilReadonly, "0");
//
//            //default to not allowing xml format
//            set(FormatsXML, "0");
//
//            //fuels
//            set(FuelDatabase, "${weps.databases}/db/fuels/fuels.xml");
//            set(FuelDefault,  "diesel");

    

}