public static void main(String args[]) { int port; String host; if (args.length == 1) { try { port = Integer.parseInt(args[0]); doEcho(port); } catch (IOException io_ex) { io_ex.printStackTrace(); System.exit(1); } catch (NumberFormatException num_ex) { num_ex.printStackTrace(); System.exit(1); } } else if (args.length == 2) { try { host = args[0]; port = Integer.parseInt(args[1]); UDPEcho ut = new UDPEcho(host, port); Thread thread = new Thread(ut); thread.start(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String s; System.out.print("Enter datagram:"); s = in.readLine(); while (s != null) { ut.send(s); try { Thread.currentThread().sleep(100); } catch (InterruptedException i_ex) { } System.out.print("Enter datagram:"); s = in.readLine(); } System.exit(1); } catch (IOException io_ex) { io_ex.printStackTrace(); System.exit(1); } catch (NumberFormatException num_ex) { num_ex.printStackTrace(); System.exit(1); } } else { usage(); } }
private void save_buttonActionPerformed( java.awt.event.ActionEvent evt) { // GEN-FIRST:event_save_buttonActionPerformed for (int i = 0; i < rubric_table.getColumnCount(); i++) { try { GradeAccess.enterGrade( studentID, courseID, actName, rubric_table.getModel().getValueAt(i, 0).toString(), Float.parseFloat(rubric_table.getModel().getValueAt(i, 1).toString())); } catch (NumberFormatException e) { e.printStackTrace(); } catch (SQLException e) { GradeAccess.updateGrade( studentID, courseID, actName, rubric_table.getModel().getValueAt(i, 0).toString(), Float.parseFloat(rubric_table.getModel().getValueAt(i, 1).toString())); } } try { PrintWriter out = new PrintWriter(paths[0] + "/" + studentID + "/" + actName + ".py"); out.write(submission_text_area.getText()); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } setOkToNav(); JOptionPane.showMessageDialog(this, "Grade and comments saved."); } // GEN-LAST:event_save_buttonActionPerformed
/** * read the transition matrix from the file * * @param fp * @return */ public static Map<Integer, Set<Integer>> readTransitionMatrix(String fp) { Map<Integer, Set<Integer>> res = new HashMap<Integer, Set<Integer>>(); if (fp == null || fp.length() == 0) return res; try { BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(fp)))); String line = null; while ((line = reader.readLine()) != null) { String[] fields = line.split(" "); int from = Integer.parseInt(fields[0]); int to = Integer.parseInt(fields[1]); if (res.containsKey(from)) { res.get(from).add(to); } else { Set<Integer> cset = new HashSet<Integer>(); cset.add(to); res.put(from, cset); } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (NumberFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return Collections.unmodifiableMap(res); }
public static DataSet createFromFile( String filePath, int inputsCount, int outputsCount, String delimiter) { FileReader fileReader = null; try { DataSet trainingSet = new DataSet(inputsCount, outputsCount); fileReader = new FileReader(new File(filePath)); BufferedReader reader = new BufferedReader(fileReader); String line = ""; while ((line = reader.readLine()) != null) { double[] inputs = new double[inputsCount]; double[] outputs = new double[outputsCount]; String[] values = line.split(delimiter); if (values[0].equals("")) { continue; // skip if line was empty } for (int i = 0; i < inputsCount; i++) { inputs[i] = Double.parseDouble(values[i]); } for (int i = 0; i < outputsCount; i++) { outputs[i] = Double.parseDouble(values[inputsCount + i]); } if (outputsCount > 0) { trainingSet.addRow(new DataSetRow(inputs, outputs)); } else { trainingSet.addRow(new DataSetRow(inputs)); } } return trainingSet; } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { if (fileReader != null) { try { fileReader.close(); } catch (IOException ex1) { } } ex.printStackTrace(); } catch (NumberFormatException ex) { if (fileReader != null) { try { fileReader.close(); } catch (IOException ex1) { } } ex.printStackTrace(); throw ex; } return null; }
public static boolean isNumber(String n) { try { double d = Double.valueOf(n).doubleValue(); return true; } catch (NumberFormatException e) { e.printStackTrace(); return false; } }
/** * Return a integer parsed from the value associated with the given key, or "def" in key wasn't * found. */ public static int parseProperty(Properties preferences, String key, int def) { String val = preferences.getProperty(key); if (val == null) return def; try { return Integer.parseInt(val); } catch (NumberFormatException nfe) { nfe.printStackTrace(); return def; } }
/** @return the pot */ public static int getPort() { int port = 0; try { port = Integer.parseInt(pot.getText()); } catch (NumberFormatException f) { f.printStackTrace(); new WhatIDo("Entrer un port valide", f.toString()); } return port; }
public void actionPerformed(ActionEvent e) { JTextField fieldEdited = (JTextField) e.getSource(); try { systemOrder = Integer.parseInt(fieldEdited.getText()); } catch (NumberFormatException nfex) { System.out.println("Number format exception in getting system order"); nfex.printStackTrace(); } String updatedStatusText = prepareStatusText(); statusAreaTop.setText(updatedStatusText); }
public List<Object> readExcel(Workbook wb, Class clz, int readLine, int tailLine) { Sheet sheet = wb.getSheetAt(0); // 取第一张表 List<Object> objs = null; try { Row row = sheet.getRow(readLine); // 开始行,主题栏 objs = new ArrayList<Object>(); Map<Integer, String> maps = getHeaderMap(row, clz); // 设定对应的字段顺序与方法名 if (maps == null || maps.size() <= 0) throw new RuntimeException("要读取的Excel的格式不正确,检查是否设定了合适的行"); // 与order顺序不符 for (int i = readLine + 1; i <= sheet.getLastRowNum() - tailLine; i++) { // 取数据 row = sheet.getRow(i); Object obj = clz.newInstance(); // 调用无参结构 for (Cell c : row) { int ci = c.getColumnIndex(); String mn = maps.get(ci).substring(3); // 消除get mn = mn.substring(0, 1).toLowerCase() + mn.substring(1); Map<String, Object> params = new HashMap<String, Object>(); if (!"enterDate".equals(mn)) c.setCellType(Cell.CELL_TYPE_STRING); // 设置单元格格式 else c.setCellType(Cell.CELL_TYPE_NUMERIC); if (this.getCellValue(c).trim().equals("是")) { BeanUtils.copyProperty(obj, mn, 1); } else if (this.getCellValue(c).trim().equals("否")) { BeanUtils.copyProperty(obj, mn, 0); } else BeanUtils.copyProperty(obj, mn, this.getCellValue(c)); } objs.add(obj); } } catch (InstantiationException e) { e.printStackTrace(); logger.error(e); } catch (IllegalAccessException e) { e.printStackTrace(); logger.error(e); } catch (InvocationTargetException e) { e.printStackTrace(); logger.error(e); } catch (NumberFormatException e) { e.printStackTrace(); logger.error(e); } return objs; }
/** * @return a double parsed from the value associated with the given key in the given Properties. * returns "def" in key wasn't found, or if a parsing error occured. If "value" contains a "%" * sign, we use a <code>NumberFormat.getPercentInstance</code> to convert it to a double. */ public static double parseProperty(Properties preferences, String key, double def) { NumberFormat formatPercent = NumberFormat.getPercentInstance(Locale.US); // for zoom factor String val = preferences.getProperty(key); if (val == null) return def; if (val.indexOf("%") == -1) { // not in percent format ! try { return Double.parseDouble(val); } catch (NumberFormatException nfe) { nfe.printStackTrace(); return def; } } // else it's a percent format -> parse it try { Number n = formatPercent.parse(val); return n.doubleValue(); } catch (ParseException ex) { ex.printStackTrace(); return def; } }
private void inputIPAddr() { try { String ipSample = getIPAndroid(); String hostStr = Messages.showInputDialog( "What is your host?", "Input your host address", Messages.getQuestionIcon(), ipSample + ":" + port, null); if (hostStr == null) { hostStr = ipSample + ":1234"; } int index = hostStr.indexOf(":"); serverName = hostStr.substring(0, index); port = Integer.parseInt(hostStr.substring(index + 1)); } catch (NumberFormatException e) { e.printStackTrace(); serverName = "localhost"; port = 1234; } }
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException { JspFactory _jspxFactory = null; javax.servlet.jsp.PageContext pageContext = null; HttpSession session = null; ServletContext application = null; ServletConfig config = null; JspWriter out = null; Object page = this; JspWriter _jspx_out = null; try { _jspxFactory = JspFactory.getDefaultFactory(); response.setContentType("text/html;charset=ISO-8859-1"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write("\n\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n"); out.write("\n\n"); out.write("\n\n"); PollerConfiguration pollconfig = getPollerConfiguration(); org.opennms.netmgt.config.poller.Package pkg = null; int pkgIdx = -1; String pkgIdxStr = (String) request.getParameter("pkgidx"); if (pkgIdxStr != null && pkgIdxStr.trim().length() > 0) { try { pkgIdx = Integer.parseInt(pkgIdxStr); if (pkgIdx >= 0) { if (pollconfig != null) { pkg = pollconfig.getPackage(pkgIdx); } } } catch (NumberFormatException ne) { ne.printStackTrace(); } } if (pkg == null) { if ((org.opennms.netmgt.config.poller.Package) request.getSession().getAttribute("pkg") != null) { pkg = (org.opennms.netmgt.config.poller.Package) request.getSession().getAttribute("pkg"); } } if (pkgIdx == -1) { pkgIdxStr = (String) request.getSession().getAttribute("pkgidx"); if (pkgIdxStr != null && pkgIdxStr.trim().length() > 0) { try { pkgIdx = Integer.parseInt(pkgIdxStr); } catch (NumberFormatException ne) { ne.printStackTrace(); } } } request.getSession().setAttribute("pkg", pkg); request.getSession().setAttribute("pkgidx", String.valueOf(pkgIdx)); String title = " Poller Package Downtime Model"; if (pkg != null) { title = " Poller Package - Downtime Model for: " + pkg.getName(); } out.write("\n\n"); out.write("<html>\n"); out.write("<head>\n "); out.write("<title>"); out.print(title); out.write("</title>\n "); out.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"/wt-portal/css/default.css\" />\n "); out.write("<script type=\"text/javascript\" src=\"/wt-portal/javascript/WTtools.js\">"); out.write("</script>\n\n"); out.write( "<script language=javascript>\nfunction confirmDelete(msg)\n{\n\tvar agree=confirm(msg);\n\tif (agree)\n\t\treturn true;\n\telse\n\t\treturn false;\n}\n\nfunction addDowntime()\n{\n var msg = \"\";\n var error = false;\n var begin = 0;\n var end = 0;\n var interval = 0;\n\n dtbeginday = parseInt(document.downtime.dtbeginday.value) * 24 * 60 * 60 * 1000;\n dtbeginhour = parseInt(document.downtime.dtbeginhour.value) * 60 * 60 * 1000;\n dtbeginminute = parseInt(document.downtime.dtbeginminute.value) * 60 * 1000;\n dtbeginsecond = parseInt(document.downtime.dtbeginsecond.value) * 1000;\n dtbeginmillisecond = parseInt(document.downtime.dtbeginmillisecond.value);\n\n dtendday = parseInt(document.downtime.dtendday.value) * 24 * 60 * 60 * 1000;\n dtendhour = parseInt(document.downtime.dtendhour.value) * 60 * 60 * 1000;\n dtendminute = parseInt(document.downtime.dtendminute.value) * 60 * 1000;\n dtendsecond = parseInt(document.downtime.dtendsecond.value) * 1000;\n dtendmillisecond = parseInt(document.downtime.dtendmillisecond.value);\n"); out.write( "\n dtintervalday = parseInt(document.downtime.dtintervalday.value) * 24 * 60 * 60 * 1000;\n dtintervalhour = parseInt(document.downtime.dtintervalhour.value) * 60 * 60 * 1000;\n dtintervalminute = parseInt(document.downtime.dtintervalminute.value) * 60 * 1000;\n dtintervalsecond = parseInt(document.downtime.dtintervalsecond.value) * 1000;\n dtintervalmillisecond = parseInt(document.downtime.dtintervalmillisecond.value);\n\n document.downtime.dtbegin.value = dtbeginday + dtbeginhour + dtbeginminute + dtbeginsecond + dtbeginmillisecond;\n document.downtime.dtend.value = dtendday + dtendhour + dtendminute + dtendsecond + dtendmillisecond;\n document.downtime.dtinterval.value = dtintervalday + dtintervalhour + dtintervalminute + dtintervalsecond + dtintervalmillisecond;\n\n\tvar beginVal = trim(document.downtime.dtbegin.value);\n\tvar endVal = trim(document.downtime.dtend.value);\n\tvar intervalVal = trim(document.downtime.dtinterval.value);\n\n if (beginVal == \"\") {\n error = true;\n msg += \"Must enter a numeric time value for \\\"begin\\\".\\n\";\n"); out.write( " }\n if (endVal == \"\") {\n error = true;\n msg += \"\\nMust enter a numeric time value for \\\"end\\\".\\n\";\n }\n if (intervalVal == \"\") {\n error = true;\n msg += \"\\nMust enter a numeric time value for \\\"interval\\\".\\n\";\n }\n if (isNaN(beginVal)) {\n error = true;\n msg += \"\\nMust enter a numeric time value for \\\"begin\\\".\\n\";\n }\n if (isNaN(endVal)) {\n error = true;\n msg += \"\\nMust enter a numeric time value for \\\"end\\\".\\n\";\n }\n if (isNaN(intervalVal)) {\n error = true;\n msg += \"\\nMust enter a numeric time value for \\\"interval\\\".\\n\";\n }\n\n if (!error) {\n begin = parseInt(beginVal);\n end = parseInt(endVal);\n interval = parseInt(intervalVal);\n \n if (!(end > 0)) {\n error = true;\n msg = \"The end time must be greater than zero.\\n\";\n }\n if (!(interval > 0)) {\n error = true;\n msg += \"\\nThe 'interval' value must be greater than zero.\\n\";\n }\n"); out.write( " if (!((end - begin) > 0)) {\n error = true;\n msg += \"\\nThe 'end' time must be greater than the 'begin'.\\n\";\n }\n if (!(interval "); out.write( "<= (end - begin))) {\n error = true;\n msg += \"\\nThe 'interval' time must be less than the difference of the 'begin' and the 'end'.\\n\";\n }\n }\n\n if (error) {\n alert (msg);\n return;\n }\n else\n {\n document.downtime.target = \"pollerDetailFrame\";\n \tdocument.downtime.action.value = 'adddt';\n \tdocument.downtime.submit();\n }\n}\n\nfunction removeDowntime(dtidx)\n{\n if (confirmDelete('Are you sure you want to delete this downtime model?')) {\n document.downtime.target = \"pollerDetailFrame\";\n document.downtime.action.value = 'removedt';\n document.downtime.dtidx.value = dtidx;\n \tdocument.downtime.submit();\n }\n}\n\nfunction updateDowntime()\n{\n document.downtime.target = \"_parent\";\n document.downtime.action.value = 'updatedt';\n\tdocument.downtime.submit();\n}\n\nfunction restoreDefaultDowntime()\n{\n if (confirmDelete('Are you sure you want to restore the default downtime model? All your changes will be lost.')) {\n document.downtime.target = \"pollerDetailFrame\";\n"); out.write( " document.downtime.action.value = 'restoredt';\n \tdocument.downtime.submit();\n }\n}\n"); out.write("</script>\n"); out.write("</head>\n"); out.write("<body>\n\n\t"); String breadcrumb1 = "<a href='admin/index.jsp'></a>"; out.write("\n\t"); String breadcrumb2 = "Poller Packages"; out.write("\n\t"); JspRuntimeLibrary.include( request, response, "/includes/header.jsp" + "?" + "title=" + java.net.URLEncoder.encode("" + title) + "&" + "location=" + "admin" + "&" + "help=" + "monitoringadmin%2Fpolling%2FWTHelp_PollerPackageDowntimeModel.html" + "&" + "noPopOut=" + "true" + "&" + "breadcrumb=" + java.net.URLEncoder.encode("" + breadcrumb1) + "&" + "breadcrumb=" + java.net.URLEncoder.encode("" + breadcrumb2), out, false); out.write("\n"); out.write("<!-- BEGIN FRAMING TABLE:open tags, keep at 100%-->\n"); out.write("<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n\t"); out.write("<tr>\n\t\t"); out.write("<td width=\"10\">"); out.write( "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"1\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">"); out.write("</td>\n\t\t"); out.write("<td>\n"); out.write("<!-- END FRAMING TABLE:open tags, keep at 100%-->\n\t"); out.write("<form action=\""); out.print(WTTools.getMonServletURL(request)); out.write("WTPollerPackages\" method=\"post\" name=\"downtime\" target=\"_parent\">\n\t "); out.write("<input type=\"hidden\" name=\"action\" value=\"\">\n\t "); out.write("<input type=\"hidden\" name=\"pkgidx\" value=\"\">\n\t "); out.write("<input type=\"hidden\" name=\"dtidx\" value=\"\">\n\t "); out.write("<input type=\"hidden\" name=\"dtbegin\" value=\"\">\n\t "); out.write("<input type=\"hidden\" name=\"dtend\" value=\"\">\n\t "); out.write("<input type=\"hidden\" name=\"dtinterval\" value=\"\">\n\n"); out.write("<table width=\"98%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n "); out.write("<tr>\n "); out.write("<td colspan=\"4\">"); out.write("<b>Downtime Model:"); out.write("</b>"); out.write("<a class=\"tt\" href=\"javascript: towerTip("); out.print(WTTips.TIP_POLLER_MON_SERVICE); out.write(");\" title=\"Telemetry Tip\">"); out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">"); out.write("</a>"); out.write("</td>\n "); out.write("</tr>\n "); out.write("<tr class=\"tableHeader\">\n "); out.write("<td class=\"tableHeader\" width=\"25%\">Begin Time"); out.write("<a class=\"tt\" href=\"javascript: towerTip("); out.print(WTTips.TIP_POLLER_DT_BEGIN); out.write(");\" title=\"Telemetry Tip\">"); out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">"); out.write("</a>"); out.write("</td>\n "); out.write("<td class=\"tableHeader\" width=\"25%\">End Time"); out.write("<a class=\"tt\" href=\"javascript: towerTip("); out.print(WTTips.TIP_POLLER_DT_END); out.write(");\" title=\"Telemetry Tip\">"); out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">"); out.write("</a>"); out.write("</td>\n "); out.write("<td class=\"tableHeader\" width=\"25%\">Polling Interval"); out.write("<a class=\"tt\" href=\"javascript: towerTip("); out.print(WTTips.TIP_POLLER_DT_INTERVAL); out.write(");\" title=\"Telemetry Tip\">"); out.write("<img src=\"/wt-portal/images/icons/tower_tips.gif\" border=\"0\">"); out.write("</a>"); out.write("</td>\n "); out.write("<td class=\"tableHeader\" width=\"25%\">Action"); out.write("</td>\n "); out.write("</tr>\n "); long daymilli = 24 * 60 * 60 * 1000; // 86400000 long hourmlli = 60 * 60 * 1000; // 3600000; long minutemilli = 60 * 1000; // 60000; long secondmilli = 1000; String pattern2digit = "00"; DecimalFormat df2digit = new DecimalFormat(pattern2digit); String pattern3digit = "000"; DecimalFormat df3digit = new DecimalFormat(pattern3digit); long begin = 0; long end = 0; long interval = 0; String delete = null; long addbegin = 0; if (pkg != null) { Downtime[] ds = pkg.getDowntime(); if (ds != null) { for (int i = 0; i < ds.length; i++) { Downtime d = ds[i]; begin = d.getBegin(); end = d.getEnd(); interval = d.getInterval(); delete = d.getDelete(); long dtbegin = begin; long dtend = end; long dtinterval = interval; addbegin = begin; long dtbeginday = 0; long dtbeginhour = 0; long dtbeginminute = 0; long dtbeginsecond = 0; long dtbeginmillisecond = 0; long dtendday = 0; long dtendhour = 0; long dtendminute = 0; long dtendsecond = 0; long dtendmillisecond = 0; long dtintervalday = 0; long dtintervalhour = 0; long dtintervalminute = 0; long dtintervalsecond = 0; long dtintervalmillisecond = 0; if (dtbegin > 0) { dtbeginday = dtbegin / daymilli; dtbegin -= (dtbeginday * daymilli); } if (dtbegin > 0) { dtbeginhour = dtbegin / hourmlli; dtbegin -= (dtbeginhour * hourmlli); } if (dtbegin > 0) { dtbeginminute = dtbegin / minutemilli; dtbegin -= (dtbeginminute * minutemilli); } if (dtbegin > 0) { dtbeginsecond = dtbegin / secondmilli; dtbegin -= (dtbeginsecond * secondmilli); } if (dtbegin > 0) { dtbeginmillisecond = dtbegin; } if (dtend > 0) { dtendday = dtend / daymilli; dtend -= (dtendday * daymilli); } if (dtend > 0) { dtendhour = dtend / hourmlli; dtend -= (dtendhour * hourmlli); } if (dtend > 0) { dtendminute = dtend / minutemilli; dtend -= (dtendminute * minutemilli); } if (dtend > 0) { dtendsecond = dtend / secondmilli; dtend -= (dtendsecond * secondmilli); } if (dtend > 0) { dtendmillisecond = dtend; } if (dtinterval > 0) { dtintervalday = dtinterval / daymilli; dtinterval -= (dtintervalday * daymilli); } if (dtinterval > 0) { dtintervalhour = dtinterval / hourmlli; dtinterval -= (dtintervalhour * hourmlli); } if (dtinterval > 0) { dtintervalminute = dtinterval / minutemilli; dtinterval -= (dtintervalminute * minutemilli); } if (dtinterval > 0) { dtintervalsecond = dtinterval / secondmilli; dtinterval -= (dtintervalsecond * secondmilli); } if (dtinterval > 0) { dtintervalmillisecond = dtinterval; } out.write("\n "); out.write("<!--\n \t\t"); out.write("<TR>\n \t\t"); out.write("<TD align=\"center\">\n \t\t"); out.write("<INPUT name=\"dtbegin_"); out.print(String.valueOf(i)); out.write("\" type=\"text\" value=\""); out.print(begin); out.write("\" disabled>\n \t\t"); out.write("</TD>\n \t\t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtend_"); out.print(String.valueOf(i)); out.write("\" type=\"text\" value=\""); out.print(end); out.write("\" disabled>"); out.write("</TD>\n \t\t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtinterval_"); out.print(String.valueOf(i)); out.write("\" type=\"text\" value=\""); out.print(interval); out.write("\" disabled>"); out.write("</TD>\n \t\t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtdel_"); out.print(String.valueOf(i)); out.write("\" type=\"checkbox\" value=\"true\" "); if (delete != null && delete.equals("true")) { out.write("checked"); } out.write(" disabled>"); out.write("</TD>\n \t\t"); out.write("<TD align=\"center\">\n "); if ((i + 2) == ds.length) { out.write("\n "); out.write("<a HREF=\"javascript:removeDowntime('"); out.print(i); out.write("')\" title=\"Remove Downtime Model\">Remove"); out.write("</a>\n "); } else { out.write("\n \n "); } out.write("\n "); out.write("</TD>\n \t\t"); out.write("</TR>\n \t\t-->\n\n \t\t"); if (i < (ds.length - 1)) { out.write("\n "); out.write("<tr class=\""); out.print(((i % 2) == 0) ? "tableRowLIght" : "tableRowDark"); out.write("\">\n \t\t"); out.write("<td class=\"tableText\">\n \t\t"); out.print(dtbeginday); out.write(" days "); out.print(df2digit.format(dtbeginhour)); out.write(":"); out.print(df2digit.format(dtbeginminute)); out.write(":"); out.print(df2digit.format(dtbeginsecond)); out.write(":"); out.print(df3digit.format(dtbeginmillisecond)); out.write("\n "); out.write("</td>\n \t\t"); out.write("<td class=\"tableText\">\n \t\t "); out.print(dtendday); out.write(" days "); out.print(df2digit.format(dtendhour)); out.write(":"); out.print(df2digit.format(dtendminute)); out.write(":"); out.print(df2digit.format(dtendsecond)); out.write(":"); out.print(df3digit.format(dtendmillisecond)); out.write("\n "); out.write("</td>\n \t\t"); out.write("<td class=\"tableText\">\n \t\t"); out.print(dtintervalday); out.write(" days "); out.print(df2digit.format(dtintervalhour)); out.write(":"); out.print(df2digit.format(dtintervalminute)); out.write(":"); out.print(df2digit.format(dtintervalsecond)); out.write(":"); out.print(df3digit.format(dtintervalmillisecond)); out.write("\n "); out.write("</td>\n "); out.write("<td class=\"tableText\">\n "); if (i == (ds.length - 2)) { out.write("\n "); out.write("<a href=\"javascript:removeDowntime('"); out.print(i); out.write("')\" title=\"Remove Downtime Model\">Remove"); out.write("</a>"); out.write("</td>\n "); } out.write("\n "); out.write("</td>\n \t\t"); } else { out.write("\n\t\t\t\t\t\t"); out.write("<tr>"); out.write("<td colspan=\"3\"> "); out.write("</td>"); out.write("</tr>\n "); out.write("<tr class=\"tableHeader\">\n \t\t"); out.write("<td class=\"tableHeader\" colspan=\"3\">\n "); if ((delete == null || !delete.equals("true")) && end == 0 && interval > 0) { out.write("\n \t\tAfter\n \t\t"); out.write("<b>\n \t\t "); if (dtbeginday > 0) { out.print(dtbeginday); out.write(" days"); } out.write("\n \t\t "); if (dtbeginhour > 0) { out.print(dtbeginhour); out.write(" hr"); } out.write("\n \t\t "); if (dtbeginminute > 0) { out.print(dtbeginminute); out.write(" min"); } out.write("\n \t\t "); if (dtbeginsecond > 0) { out.print(dtbeginsecond); out.write(" sec"); } out.write("\n \t\t "); if (dtbeginmillisecond > 0) { out.print(dtbeginmillisecond); out.write(" ms"); } out.write("\n \t\t"); out.write( "</b>\n \t\tthe system will continue to poll downed nodes at a\n \t\t"); out.write("<b>\n \t\t "); if (dtintervalday > 0) { out.print(dtintervalday); out.write(" day"); } out.write("\n \t\t "); if (dtintervalhour > 0) { out.print(dtintervalhour); out.write(" hr"); } out.write("\n \t\t "); if (dtintervalminute > 0) { out.print(dtintervalminute); out.write(" min"); } out.write("\n \t\t "); if (dtintervalsecond > 0) { out.print(dtintervalsecond); out.write(" sec"); } out.write("\n \t\t "); if (dtintervalmillisecond > 0) { out.print(dtintervalmillisecond); out.write(" ms"); } out.write("\n "); out.write( "</b>\n interval.\n "); } out.write("\n "); out.write("</td>\n "); if (i == (ds.length - 2)) { out.write("\n "); } else { out.write("\n "); out.write("<td class=\"tableHeader\"> "); out.write("</td>\n "); } out.write("\n \t\t"); } out.write("\n \t\t"); out.write("</tr>\n \t\t"); } } } out.write("\n "); out.write("<!--\n \t"); out.write("<TR>\n \t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtbegin\" type=\"text\" value=\""); out.print(begin); out.write("\" readonly>"); out.write("</TD>\n \t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtend\" type=\"text\" value=\"\">"); out.write("</TD>\n \t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtinterval\" type=\"text\" value=\"\">"); out.write("</TD>\n \t"); out.write("<TD align=\"center\">"); out.write("<INPUT name=\"dtdel\" type=\"checkbox\" value=\"true\" disabled>"); out.write("</TD>\n \t"); out.write("<TD align=\"center\">"); out.write("<a HREF=\"javascript:addDowntime()\" title=\"Add Downtime Model\">Add Downtime"); out.write("</a>"); out.write("</TD>\n \t"); out.write("</TR>\n \t-->\n \t"); long dtbeginday = 0; long dtbeginhour = 0; long dtbeginminute = 0; long dtbeginsecond = 0; long dtbeginmillisecond = 0; long dtendday = 0; long dtendhour = 0; long dtendminute = 0; long dtendsecond = 0; long dtendmillisecond = 0; long dtintervalday = 0; long dtintervalhour = 0; long dtintervalminute = 0; long dtintervalsecond = 0; long dtintervalmillisecond = 0; if (addbegin > 0) { dtbeginday = addbegin / daymilli; addbegin = addbegin - (dtbeginday * daymilli); } if (addbegin > 0) { dtbeginhour = addbegin / hourmlli; addbegin = addbegin - (dtbeginhour * hourmlli); } if (addbegin > 0) { dtbeginminute = addbegin / minutemilli; addbegin = addbegin - (dtbeginminute * minutemilli); } if (addbegin > 0) { dtbeginsecond = addbegin / secondmilli; addbegin = addbegin - (dtbeginsecond * secondmilli); } if (addbegin > 0) { dtbeginmillisecond = addbegin; } out.write("\n \t"); out.write("<tr class=\"tableRowLight\">\n \t"); out.write("<td>\n \t "); out.write("<input type=\"hidden\" name=\"dtbeginday\" value=\""); out.print(dtbeginday); out.write("\">\n \t "); out.write("<input type=\"hidden\" name=\"dtbeginhour\" value=\""); out.print(dtbeginhour); out.write("\">\n \t "); out.write("<input type=\"hidden\" name=\"dtbeginminute\" value=\""); out.print(dtbeginminute); out.write("\">\n \t "); out.write("<input type=\"hidden\" name=\"dtbeginsecond\" value=\""); out.print(dtbeginsecond); out.write("\">\n \t "); out.write("<input type=\"hidden\" name=\"dtbeginmillisecond\" value=\""); out.print(dtbeginmillisecond); out.write("\">\n \t "); out.write("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Days: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.print(dtbeginday); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Hours: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.print(dtbeginhour); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Minutes: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.print(dtbeginminute); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Seconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.print(dtbeginsecond); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Milliseconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.print(dtbeginmillisecond); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("</table>\n \t"); out.write("</td>\n \t"); out.write("<td>\n \t "); out.write("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Days: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtendday\">\n\t\t "); for (int i = 0; i <= 365; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtendday == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Hours: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtendhour\">\n\t\t "); for (int i = 0; i < 24; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtendhour == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Minutes: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtendminute\">\n\t\t "); for (int i = 0; i < 60; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtendminute == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Seconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtendsecond\">\n\t\t "); for (int i = 0; i < 60; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtendsecond == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Milliseconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtendmillisecond\">\n\t\t "); for (int i = 0; i < 1000; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtendmillisecond == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("</table>\n\n \t"); out.write("</td>\n \t"); out.write("<td>\n \t "); out.write("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Days: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtintervalday\">\n\t\t "); for (int i = 0; i <= 365; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtintervalday == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Hours: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtintervalhour\">\n\t\t "); for (int i = 0; i < 24; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtintervalhour == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Minutes: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtintervalminute\">\n\t\t "); for (int i = 0; i < 60; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtintervalminute == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Seconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtintervalsecond\">\n\t\t "); for (int i = 0; i < 60; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtintervalsecond == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("<tr class=\"tableRowLight\">\n \t "); out.write("<td nowrap>Milliseconds: "); out.write("</td>\n \t "); out.write("<td nowrap>"); out.write("<select name=\"dtintervalmillisecond\">\n\t\t "); for (int i = 0; i < 1000; i++) { out.write("\n\t\t "); out.write("<option value="); out.print(i); out.write(" "); if (dtintervalmillisecond == i) { out.write("selected"); } out.write(">"); out.print(df3digit.format(i)); out.write("\n "); } out.write("\n\t\t "); out.write("</select>"); out.write("</td>\n \t "); out.write("</tr>\n \t "); out.write("</table>\n \t"); out.write("</td>\n \t"); out.write("<!--\n \t"); out.write("<TD align=\"center\">\n \t"); out.write("<INPUT name=\"dtdel\" type=\"checkbox\" value=\"true\" disabled>\n \t"); out.write("</TD>\n \t-->\n \t"); out.write("<td align=\"center\" nowrap>"); out.write("<a href=\"javascript:addDowntime()\" title=\"Add Downtime Model\">Add Downtime"); out.write("</a>"); out.write("</td>\n "); out.write("</tr>\n "); out.write("<tr class=\"tableRowLight\">\n "); out.write("<td class=\"tableText\" colspan=\"4\">"); out.write( "<img src=\"/wt-portal/images/spacers/spacer.gif\" height=\"4\" width=\"10\" border=\"0\" alt=\"WebTelemetry\">"); out.write("</td>\n "); out.write("</tr>\n "); out.write("<tr>\n "); out.write("<td colspan=\"4\">"); out.write("<br />\n "); out.write("<a href=\"javascript:restoreDefaultDowntime()\">"); out.write( "<img src=\"/wt-portal/images/buttons/btn_restore_defaults.gif\" border=\"0\" alt=\"Restore Defaults\">"); out.write("</a>\n \n "); out.write("<!--"); out.write( "<input type=\"submit\" name=\"button\" onclick=\"return restoreDefaultDowntime()\" value=\"Restore Defaults\" title=\"Restore Downtime Model Defaults\">-->"); out.write("<br />\n "); out.write("</td>\n "); out.write("</tr>\n"); out.write("</table>\n"); out.write("</form>\n"); out.write("<!-- BEGIN FRAMING TABLE:close tags-->\n\t\t"); out.write("</td>\n\t"); out.write("</tr>\n"); out.write("</table>\n"); out.write("<!-- END FRAMING TABLE:close tags-->\n"); out.write("<p>\n"); JspRuntimeLibrary.include( request, response, "/includes/footer.jsp" + "?" + "location=" + "admin", out, false); out.write("\n\n "); out.write("</body>\n"); out.write("</html>\n"); } catch (Throwable t) { out = _jspx_out; if (out != null && out.getBufferSize() != 0) out.clearBuffer(); if (pageContext != null) pageContext.handlePageException(t); } finally { if (_jspxFactory != null) _jspxFactory.releasePageContext(pageContext); } }
/** * Reads a given line and decides what to do with it depending on the contents of the line Calls * find, add, or sell depending on what the line says * * @param line - a single command */ public void parse(String line) { // Splits the input by commas into an array for easier parsing String[] delimited = line.split(","); AudioFormat audioFormat = null; try { if (delimited[0].equals(MusicStoreInventory.ADD)) { // ADD command // Creates a new CD, Vinyl, or Cassette depending on the input if (delimited[4].equals("CD")) { audioFormat = new CD(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else if (delimited[4].equals("VINYL")) { audioFormat = new Vinyl(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else if (delimited[4].equals("CASSETTE")) { audioFormat = new Cassette(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else { // If it's not any of the three types, throws an exception throw new IllegalArgumentException("Invalid input: not a valid record type (ADD)."); } // Adds the item to the inventory this.addItem( audioFormat, this.convertStringToInt(delimited[5]), this.convertStringToDouble(delimited[6])); } else if (delimited[0].equals(MusicStoreInventory.SELL)) { // SELL command // Creates a new CD, Vinyl, or Cassette depending on the input if (delimited[4].equals("CD")) { audioFormat = new CD(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else if (delimited[4].equals("VINYL")) { audioFormat = new Vinyl(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else if (delimited[4].equals("CASSETTE")) { audioFormat = new Cassette(delimited[1], delimited[2], this.convertStringToInt(delimited[3])); } else { // If it's not any of the three types, throws an exception throw new IllegalArgumentException("Invalid input: not a valid record type (SELL)"); } // Sells the item this.sellItem(audioFormat, this.convertStringToInt(delimited[5])); } else if (delimited[0].equals(MusicStoreInventory.FIND)) { // FIND command // There should only be 2 parameters for a FIND command if (delimited.length != 2) { throw new IllegalArgumentException("Invalid input: wrong number of commands (FIND)."); } this.findItemsByArtist(delimited[1]); } else { // The only thing that can remain is the initial input of data, which has exactly 6 commands if (delimited.length != 6) { throw new IllegalArgumentException("Invalid input: wrong number of commands."); } // Creates a new CD, Vinyl, or Cassette depending on the input if (delimited[3].equals("CD")) { audioFormat = new CD(delimited[0], delimited[1], this.convertStringToInt(delimited[2])); } else if (delimited[3].equals("VINYL")) { audioFormat = new Vinyl(delimited[0], delimited[1], this.convertStringToInt(delimited[2])); } else if (delimited[3].equals("CASSETTE")) { audioFormat = new Cassette(delimited[0], delimited[1], this.convertStringToInt(delimited[2])); } else { // If it's not any of the three types, throws an exception throw new IllegalArgumentException("Invalid input: not a valid record type (ADD)"); } // Adds the item to the inventory this.addItem( audioFormat, this.convertStringToInt(delimited[4]), this.convertStringToDouble(delimited[5])); } } catch (NumberFormatException e) { System.out.println("Invalid input: price or year is not valid."); e.printStackTrace(); } catch (IllegalArgumentException | NullPointerException e) { e.printStackTrace(); } }
/** * Read command line input and load config file, set config value to the instance of DotsConfig. */ public static void loadConfig(String[] args) { int i; String configFileName = "./config.ini"; String tmpString; String value; File configFile = null; StringTokenizer stk = null; Properties props = new Properties(); String propString; /* Read command line input */ for (i = 0; i < args.length; ) { String option = args[i++]; if (option.equals("-config")) { configFileName = args[i++]; } else if (option.equals("-case")) { TESTCASENAME = args[i++]; } else if (option.equals("-?") || option.equals("-help")) { System.out.println("Usage:Dots [-option]"); System.out.println("\t\t-config Config file name"); System.out.println("\t\t-case Test case name"); System.out.println("\t\t-help Print this message"); System.exit(0); } else { System.out.println("Expected Option Is Not Found!"); System.out.println("Usage: Dots -config [config file] -case [case name]"); System.exit(0); } } TESTCASENAME = TESTCASENAME.toUpperCase(); /* Check test case name */ if (TESTCASENAME.equals("")) { System.out.println("Testcase Name Must Be Specified!"); System.out.println("Usage: Dots -config [config file] -case [case name]"); System.exit(0); } if (!(TESTCASENAME.equals("BTCJ1") || TESTCASENAME.equals("BTCJ2") || TESTCASENAME.equals("BTCJ3") || TESTCASENAME.equals("BTCJ4") || TESTCASENAME.equals("BTCJ5") || TESTCASENAME.equals("BTCJ6") || TESTCASENAME.equals("BTCJ7") || TESTCASENAME.equals("BTCJ8") || TESTCASENAME.equals("ATCJ1") || TESTCASENAME.equals("ATCJ2"))) { System.out.println("Testcase Name Is Not Correct!"); System.exit(0); } /* Load config file and set DotsConfig value */ try { props.load(new FileInputStream(configFileName)); if ((propString = props.getProperty("DURATION")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option DURATION Is Not Found!"); System.exit(1); } stk = new StringTokenizer(propString, ":"); if (stk.countTokens() > 1) { value = stk.nextToken().trim(); tmpString = stk.nextToken().trim(); DotsConfig.DURATION = Integer.parseInt(value) * 60 + Integer.parseInt(tmpString); } else DotsConfig.DURATION = Integer.parseInt(propString.trim()) * 60; if (DotsConfig.DURATION <= 1) { System.out.println("DURATION value is too small(<=1)!"); System.exit(1); } } else { System.out.println("Expected Config File Option DURATION Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("CONCURRENT_CONNECTIONS")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option CONCURRENT_CONNECTIONS Is Not Found!"); System.exit(1); } DotsConfig.CONNECTIONS = Integer.parseInt(propString.trim()); if (DotsConfig.CONNECTIONS < 1) { System.out.println("CONCURRENT_CONNECTIONS value is too small(<1)!"); System.exit(1); } } else { System.out.println("Expected Config File Option CONCURRENT_CONNECTIONS Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("CPU_TARGET")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option CPU_TARGET Is Not Found!"); System.exit(1); } DotsConfig.CPU_TARGET = Integer.parseInt(propString.trim()); if (DotsConfig.CPU_TARGET <= 10) { System.out.println("CPU_TARGET value is too small(<10)!"); System.exit(1); } if (DotsConfig.CPU_TARGET > 100) { System.out.println("CPU_TARGET value is too large(>100)!"); System.exit(1); } } else { System.out.println("Expected Config File Option CPU_TARGET Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("LOG_DIR")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option LOG_DIR Is Not Found!"); System.exit(1); } DotsConfig.LOG_DIR = propString.trim(); } else { System.out.println("Expected Config File Option LOG_DIR Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("AUTO_MODE")) != null) { if (propString.trim().equalsIgnoreCase("yes")) DotsConfig.AUTO_MODE = true; else if (propString.trim().equalsIgnoreCase("no")) DotsConfig.AUTO_MODE = false; else { System.out.println("AUTO_MODE format is not correct!"); System.exit(1); } } else { System.out.println("Expected Config File Option AUTO_MODE Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("SUMMARY_INTERVAL")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option SUMMARY_INTERVAL Is Not Found!"); System.exit(1); } DotsConfig.SUMMARY_INTERVAL = Integer.parseInt(propString.trim()); if (DotsConfig.SUMMARY_INTERVAL < 1) { System.out.println("SUMMARY_INTERVAL value is too small(<1)!"); System.exit(1); } } else { System.out.println("Expected Config File Option SUMMARY_INTERVAL Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("UserID")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option UserID Is Not Found!"); System.exit(1); } DotsConfig.DB_UID = propString.trim(); } else { System.out.println("Expected Config File Option UserID Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("Password")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option Password Is Not Found!"); System.exit(1); } DotsConfig.DB_PASSWD = propString.trim(); } else { System.out.println("Expected Config File Option Password Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("DriverClass")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option DriverClass Is Not Found!"); System.exit(1); } DotsConfig.DRIVER_CLASS_NAME = propString.trim(); } else { System.out.println("Expected Config File Option DriverClass Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("URL")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option URL Is Not Found!"); System.exit(1); } DotsConfig.URL = propString.trim(); } else { System.out.println("Expected Config File Option URL Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("SERVER_IP")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option SERVER_IP Is Not Found!"); System.exit(1); } DotsConfig.SERVER_IP = propString.trim(); } else { System.out.println("Expected Config File Option SERVER_IP Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("SERVER_PORT")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option SERVER_PORT Is Not Found!"); System.exit(1); } DotsConfig.PERF_SVR_PORT = propString.trim(); } else { System.out.println("Expected Config File Option SERVER_PORT Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("MAX_ROWS")) != null) { if (propString.trim().length() <= 0) { System.out.println("Expected Config File Option MAX_ROWS Is Not Found!"); System.exit(1); } DotsConfig.MAX_ROWS = Integer.parseInt(propString.trim()); if (DotsConfig.MAX_ROWS <= 1) { System.out.println("MAX_ROWS value is too small(<=1)!"); System.exit(1); } } else { System.out.println("Expected Config File Option MAX_ROWS Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("MAX_LOGFILESIZE")) != null) { if (propString.trim().length() <= 0) { System.out.println("Excepted Config File Option MAX_LOGFILESIZE Is Not Found!"); System.exit(1); } DotsConfig.MAX_LOGFILESIZE = Integer.parseInt(propString.trim()); if (DotsConfig.MAX_LOGFILESIZE <= 102400) { System.out.println("MAX_LOGFILESIZE value is too small(<=100K)"); System.exit(1); } if (DotsConfig.MAX_LOGFILESIZE > 1073741824) { // 1G System.out.println("MAX_LOGFILESIZE value is too large(>1G)"); System.exit(1); } } else { System.out.println("Excepted Config File Option MAX_LOGFILESIZE Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("CREATIONINTERVAL")) != null) { DotsConfig.INTERVAL = Integer.parseInt(propString.trim()); if (DotsConfig.INTERVAL > 5) { System.out.println("CREATIONINTERVAL value is too large(>5min)"); System.exit(1); } if (DotsConfig.INTERVAL < 1) { System.out.println("CREATIONPINTERVAL value is too small(<1min"); System.exit(1); } } else { System.out.println("Excepted Config File Option CREATIONINTERVAL Is Not Found!"); System.exit(1); } if ((propString = props.getProperty("RUN_AUTO")) != null) { if (propString.trim().equalsIgnoreCase("yes")) DotsConfig.RUN_AUTO = true; else if (propString.trim().equalsIgnoreCase("no")) DotsConfig.RUN_AUTO = false; else { System.out.println("RUN_AUTO format is not correct!"); System.exit(1); } } else { DotsConfig.RUN_AUTO = false; } DotsConfig.THRDGRP = new ThreadGroup("DBAccess"); DotsConfig.CPU_USAGE = 0; DotsConfig.QUERYCOUNT = 0; DotsConfig.INSERTCOUNT = 0; DotsConfig.DELETECOUNT = 0; DotsConfig.UPDATECOUNT = 0; DotsConfig.FAILEDCOUNT = 0; } catch (NumberFormatException e) { System.out.println("Config File Number Format Error!"); e.printStackTrace(); System.exit(1); } catch (IOException e) { System.out.println("Read Config File Error!"); e.printStackTrace(); System.exit(1); } }
// This method gets called from a method in the Hand object (startStreet()) // In that method, each player is looped through to act(); public synchronized int act( int minimumBet, int pot, HeadsUpHand hand, HeadsUpPokerGame game, int streetIn) { boolean isCorrect = false; String action; int betSize = minimumBet; if (!this.folded && !this.isAllIn) { while (!isCorrect) { // Output board hand.printBoard(game, streetIn, game.handNumber, this); // Output hand and player stats addMessage(this.toString(game)); addMessage("Bet/Check/Call/Fold"); send(); clearMessages(); action = receive(); // Checks what action user inputs if (action.equalsIgnoreCase("Bet")) { while (true) { // Output board hand.printBoard(game, streetIn, game.handNumber, this); // Output hand and player stats addMessage(this.toString(game)); try { addMessage("Size"); send(); clearMessages(); // Requires exception? try { betSize = Integer.parseInt(receive()); } catch (NumberFormatException e) { e.printStackTrace(); } // For headsup this is fine since there isn't a scenario where your betsize is // larger than how much the other player has and also less that what you have if (betSize > game.players.get(otherPlayerID).getMoney()) { // Only allow player to bet how much other play has betSize = game.players.get(otherPlayerID).getMoney(); // Any additional bet is total (don't have to remember previous bet) this.spendMoney(betSize - streetMoney); hand.addToPot(betSize - streetMoney); // Total streetmoney becomes betsize streetMoney = betSize; isCorrect = true; game.players.get(otherPlayerID).addMessage(name + " puts you all in"); // Increase all in counter so that // when other player calls further actions are skipped hand.increaseAllInCounter(); } else if (money <= betSize) { // If betsize is greater than money, player is all in betSize = money; this.spendMoney(betSize); hand.addToPot(betSize); streetMoney = betSize; isAllIn = true; hand.increaseAllInCounter(); isCorrect = true; if (streetIn != 12) { game.players.get(otherPlayerID).addMessage(name + " is all in"); } } else if (betSize < 2 * minimumBet || betSize == 0) { addMessage("Illegal bet size"); // Reset betsize to what was previously bet (miniumum bet) betSize = minimumBet; } else { // Any additional bet is total (don't have to remember previous bet) this.spendMoney(betSize - streetMoney); hand.addToPot(betSize - streetMoney); // Total streetmoney becomes betsize streetMoney = betSize; isCorrect = true; game.players.get(otherPlayerID).addMessage(name + " bet " + betSize); } break; } catch (InputMismatchException e) { addMessage("Not a number"); in.next(); continue; } } } // we need a way for BB to check b/c minbet is still > 0 for him else if (action.equalsIgnoreCase("Check")) { if (minimumBet - streetMoney > 0) { addMessage("You cannot check when the pot is raised"); } else { isCorrect = true; betSize = 0; game.players.get(otherPlayerID).addMessage(name + " checked"); } } else if (action.equalsIgnoreCase("Call")) { if (minimumBet == 0 || minimumBet - streetMoney == 0) { addMessage("You cannot call when there is no bet"); } else if (money <= minimumBet) { betSize = money; this.spendMoney(betSize); hand.addToPot(betSize); isAllIn = true; // If you call all in then hand must end // Add 1 to AllInCounter in order to skip further actions == players.size() in Hand // class // Betting all in is different since other player still has to act hand.increaseAllInCounter(); isCorrect = true; if (streetIn != 12) { game.players.get(otherPlayerID).addMessage(name + " is all in"); } } else { this.spendMoney(minimumBet - streetMoney); hand.addToPot(minimumBet - streetMoney); isCorrect = true; betSize = minimumBet; game.players.get(otherPlayerID).addMessage(name + " called " + betSize); } } else if (action.equalsIgnoreCase("Fold")) { this.fold(); isCorrect = true; betSize = 0; } else { addMessage("Incorrect action, please try again"); } } } else { betSize = 0; } return betSize; }