/// <summary> /// Returns the data that should be placed in the JTable /// at the given row and column. </summary> /// <param name="row"> the row for which to return data. </param> /// <param name="col"> the column for which to return data. </param> /// <returns> the data that should be placed in the JTable at the given row and col. </returns> public virtual object getValueAt(int row, int col) { if (_sortOrder != null) { row = _sortOrder[row]; } StateMod_Well well = (StateMod_Well)_data.get(row); switch (col) { case COL_ID: return(well.getID()); case COL_NAME: return(well.getName()); case COL_RIVER_NODE_ID: return(well.getCgoto()); case COL_SWITCH: return(new int?(well.getSwitch())); case COL_DAILY_ID: return(well.getCdividyw()); case COL_CAPACITY: return(new double?(well.getDivcapw())); case COL_DIVERSION_ID: return(well.getIdvcow2()); case COL_DEMAND_TYPE: return(new int?(well.getIdvcomw())); case COL_EFF_ANNUAL: /* * double d = well.getDivefcw(); * double d2 = 0; * if (d != 0 && d < 0) { * d2 = d * -1; * } * if (d == 0) { * d2 = 0; * } * return new Double(d2); */ // this is done to prevent -0.00 values /* * double d = well.getDivefcw(); * double d2 = 0; * if (d == 0) { * d2 = 0; * } * return new Double(d2); */ return(new double?(well.getDivefcw())); case COL_AREA: return(new double?(well.getAreaw())); case COL_USE_TYPE: return(new int?(well.getIrturnw())); case COL_DEMAND_SOURCE: return(new int?(well.getDemsrcw())); case COL_PRIMARY: return(new double?(well.getPrimary())); case COL_EFF_01: return(new double?(well.getDiveff(0))); case COL_EFF_02: return(new double?(well.getDiveff(1))); case COL_EFF_03: return(new double?(well.getDiveff(2))); case COL_EFF_04: return(new double?(well.getDiveff(3))); case COL_EFF_05: return(new double?(well.getDiveff(4))); case COL_EFF_06: return(new double?(well.getDiveff(5))); case COL_EFF_07: return(new double?(well.getDiveff(6))); case COL_EFF_08: return(new double?(well.getDiveff(7))); case COL_EFF_09: return(new double?(well.getDiveff(8))); case COL_EFF_10: return(new double?(well.getDiveff(9))); case COL_EFF_11: return(new double?(well.getDiveff(10))); case COL_EFF_12: return(new double?(well.getDiveff(11))); default: return(""); } }
/// <summary> /// Read a well input file. </summary> /// <param name="filename"> name of file containing well information </param> /// <returns> status(always 0 since exception handling is now used) </returns> //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static java.util.List<StateMod_Well> readStateModFile(String filename) throws Exception public static IList <StateMod_Well> readStateModFile(string filename) { string routine = "StateMod_Well.readStateModFile"; IList <StateMod_Well> theWellStations = new List <StateMod_Well>(); int[] format_1 = new int[] { StringUtil.TYPE_STRING, StringUtil.TYPE_STRING, StringUtil.TYPE_STRING, StringUtil.TYPE_INTEGER, StringUtil.TYPE_DOUBLE, StringUtil.TYPE_SPACE, StringUtil.TYPE_STRING, StringUtil.TYPE_SPACE, StringUtil.TYPE_DOUBLE }; int[] format_1w = new int[] { 12, 24, 12, 8, 8, 1, 12, 1, 12 }; int[] format_2 = new int[] { StringUtil.TYPE_SPACE, StringUtil.TYPE_STRING, StringUtil.TYPE_INTEGER, StringUtil.TYPE_INTEGER, StringUtil.TYPE_INTEGER, StringUtil.TYPE_DOUBLE, StringUtil.TYPE_DOUBLE, StringUtil.TYPE_INTEGER, StringUtil.TYPE_INTEGER }; int[] format_2w = new int[] { 36, 12, 8, 8, 8, 8, 8, 8, 8 }; int[] format_4 = new int[] { StringUtil.TYPE_SPACE, StringUtil.TYPE_STRING, StringUtil.TYPE_DOUBLE, StringUtil.TYPE_INTEGER }; int[] format_4w = new int[] { 36, 12, 8, 8 }; string iline = null; string s = null; IList <object> v = new List <object>(9); StreamReader @in = null; StateMod_Well aWell = null; StateMod_ReturnFlow aReturnNode = null; IList <string> effv = null; int nrtn, ndepl; Message.printStatus(1, routine, "Reading well file: " + filename); try { @in = new StreamReader(IOUtil.getPathUsingWorkingDir(filename)); while (!string.ReferenceEquals((iline = @in.ReadLine()), null)) { if (iline.StartsWith("#", StringComparison.Ordinal) || iline.Trim().Length == 0) { continue; } aWell = new StateMod_Well(); StringUtil.fixedRead(iline, format_1, format_1w, v); if (Message.isDebugOn) { Message.printDebug(50, routine, "iline: " + iline); } aWell.setID(((string)v[0]).Trim()); aWell.setName(((string)v[1]).Trim()); aWell.setCgoto(((string)v[2]).Trim()); aWell.setSwitch((int?)v[3]); aWell.setDivcapw((double?)v[4]); aWell.setCdividyw(((string)v[5]).Trim()); aWell.setPrimary((double?)v[6]); // user data iline = @in.ReadLine(); StringUtil.fixedRead(iline, format_2, format_2w, v); if (Message.isDebugOn) { Message.printDebug(50, routine, "iline: " + iline); } aWell.setIdvcow2(((string)v[0]).Trim()); aWell.setIdvcomw((int?)v[1]); // Don't set the number of return flow data get(2) or depletion data get(3) because // those will be calculated nrtn = ((int?)v[2]).Value; ndepl = ((int?)v[3]).Value; aWell.setDivefcw((double?)v[4]); aWell.setAreaw((double?)v[5]); aWell.setIrturnw((int?)v[6]); aWell.setDemsrcw((int?)v[7]); if (aWell.getDivefcw() >= 0) { // Efficiency line won't be included - set each value to the average for (int i = 0; i < 12; i++) { aWell.setDiveff(i, aWell.getDivefcw()); } } else { // 12 efficiency values iline = @in.ReadLine(); effv = StringUtil.breakStringList(iline, " ", StringUtil.DELIM_SKIP_BLANKS); for (int i = 0; i < 12; i++) { aWell.setDiveff(i, (string)effv[i]); } } // return flow data if (Message.isDebugOn) { Message.printDebug(50, routine, "Number of return flows: " + nrtn); } for (int i = 0; i < nrtn; i++) { iline = @in.ReadLine(); StringUtil.fixedRead(iline, format_4, format_4w, v); if (Message.isDebugOn) { Message.printDebug(50, routine, "Fixed read returned " + v.Count + " elements"); } aReturnNode = new StateMod_ReturnFlow(StateMod_DataSet.COMP_WELL_STATIONS); s = ((string)v[0]).Trim(); if (s.Length <= 0) { aReturnNode.setCrtnid(s); Message.printWarning(2, routine, "Return node for structure \"" + aWell.getID() + "\" is blank. "); } else { aReturnNode.setCrtnid(s); } aReturnNode.setPcttot(((double?)v[1])); aReturnNode.setIrtndl(((int?)v[2])); aWell.addReturnFlow(aReturnNode); } // depletion data for (int i = 0; i < ndepl; i++) { iline = @in.ReadLine(); StringUtil.fixedRead(iline, format_4, format_4w, v); aReturnNode = new StateMod_ReturnFlow(StateMod_DataSet.COMP_WELL_STATIONS); s = ((string)v[0]).Trim(); if (s.Length <= 0) { aReturnNode.setCrtnid(s); Message.printWarning(2, routine, "Return node for structure \"" + aWell.getID() + "\" is blank. "); } else { aReturnNode.setCrtnid(s); } aReturnNode.setPcttot(((double?)v[1])); aReturnNode.setIrtndl(((int?)v[2])); aWell.addDepletion(aReturnNode); } theWellStations.Add(aWell); } } catch (Exception e) { routine = null; format_1 = null; format_1w = null; format_2 = null; format_2w = null; format_4 = null; format_4w = null; s = null; v = null; if (@in != null) { @in.Close(); } @in = null; aWell = null; aReturnNode = null; effv = null; Message.printWarning(2, routine, e); throw e; } routine = null; format_1 = null; format_1w = null; format_2 = null; format_2w = null; format_4 = null; format_4w = null; iline = null; s = null; v = null; if (@in != null) { @in.Close(); } @in = null; aWell = null; aReturnNode = null; effv = null; return(theWellStations); }
/// <summary> /// Returns the data that should be placed in the JTable /// at the given row and column. </summary> /// <param name="row"> the row for which to return data. </param> /// <param name="col"> the column for which to return data. </param> /// <returns> the data that should be placed in the JTable at the given row and col. </returns> public virtual object getValueAt(int row, int col) { if (_sortOrder != null) { row = _sortOrder[row]; } StateMod_Well well = (StateMod_Well)_data.get(row); switch (col) { case COL_ID: return(well.getID()); case COL_NAME: return(well.getName()); case COL_DAILY_ID: return(well.getCdividyw()); case COL_CAPACITY: return(new double?(well.getDivcapw())); case COL_DIVERSION_ID: return(well.getIdvcow2()); case COL_DEMAND_TYPE: return(new int?(well.getIdvcomw())); case COL_EFF_ANNUAL: return(new double?(well.getDivefcw())); case COL_AREA: return(new double?(well.getAreaw())); case COL_USE_TYPE: return(new int?(well.getIrturnw())); case COL_DEMAND_SOURCE: return(new int?(well.getDemsrcw())); case COL_PRIMARY: return(new double?(well.getPrimary())); case COL_EFF_01: return(new double?(well.getDiveff(0))); case COL_EFF_02: return(new double?(well.getDiveff(1))); case COL_EFF_03: return(new double?(well.getDiveff(2))); case COL_EFF_04: return(new double?(well.getDiveff(3))); case COL_EFF_05: return(new double?(well.getDiveff(4))); case COL_EFF_06: return(new double?(well.getDiveff(5))); case COL_EFF_07: return(new double?(well.getDiveff(6))); case COL_EFF_08: return(new double?(well.getDiveff(7))); case COL_EFF_09: return(new double?(well.getDiveff(8))); case COL_EFF_10: return(new double?(well.getDiveff(9))); case COL_EFF_11: return(new double?(well.getDiveff(10))); case COL_EFF_12: return(new double?(well.getDiveff(11))); default: return(""); } }