<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package usda.weru.nrmv;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
import org.apache.commons.lang.WordUtils;

/**
 *
 * @author Benjamin.Todd
 */
public class ConvertLayers extends NrmvConverter {

    private StringTokenizer st;
    private boolean warmUpDone;
    private int numOfLayers, maxLayer;

    public ConvertLayers() {

        maxLayer = 1;
        secondDate = false;

        warmUpDone = false;
        doubleFirstDate = false;
    }

    @Override
    public void setLinesToSkip() {
        this.linesToSkip = 3;
    }

 
      @Override
    public void printSummaryUnits(PrintWriter pw) {
        pw.println();
        pw.println("unit,,mm,m/m,m/m,m/m,m/m,m/m,fraction,ratio,c,m/s,m,fraction,MG/m^3,m,1/lambda,unit");
    }

    /**
     *
     */
    @Override
    public void setVariables() {
        variables = new ArrayList&lt;String&gt;();
        variables.add("time");
        variables.add("id");
        variables.add("depth");
        variables.add("volumetric water content");
        variables.add("saturated vol water cont");
        variables.add("field capacity vol water cont");
        variables.add("permanent wilting point vol water cont");
        variables.add("residual vol water cont");
        variables.add("fraction crop available water");
        variables.add("saturation ratio");
        variables.add("soil temperature");
        variables.add("unsaturated hydraulic conductivity");
        variables.add("matric potential");
        variables.add("soil relative humidity");
        variables.add("bulk density");
        variables.add("air entry potential");
        variables.add("brooks and corey exponent b");
        variables.add("ksat");
        for (int i = 0; i &lt; variables.size(); i++) {
            variables.set(i, WordUtils.capitalize(variables.get(i)));
        }
    }

    @Override
    public ArrayList&lt;String&gt; changeData(ArrayList&lt;String&gt; al) {
        int myDate = Integer.parseInt(al.get(0));
        String convertedDate = this.convertNumber(myDate);
        al.set(0, convertedDate);
        String layer = al.get(3);
        al.set(1, layer);
        al.subList(1, 3).clear();
        if (maxLayer &lt; Integer.parseInt(layer)) {
            maxLayer = Integer.parseInt(layer);
        }
        return al;
    }

    @Override
    public int getLayerAmount() {
        return this.numOfLayers;
    }

    @Override
    public void setLayerAmount(ArrayList&lt;String&gt; al) {
        numOfLayers = maxLayer;
    }

    @Override
    public boolean addToSum() {
        return false;
    }

    @Override
    public boolean addToLayers() {
        return true;
    }

    @Override
    public boolean hasMoreThanOneLayer() {
        return true;
    }

    @Override
    public void setUnits() {
         units = new ArrayList&lt;String&gt;();
       String sUnit = ",Date ,Double ,mm,m/m,m/m,m/m,m/m,m/m,fraction,ratio,c,m/s,m,fraction,MG/m^3,m,1/lambda,unit";
       StringTokenizer st = new StringTokenizer(sUnit,",", false);
       while(st.hasMoreTokens())
               {
        units.add(st.nextToken());
    }
    }
}
</pre></body></html>