/* * create method, that read from a txt file and read the MySQL language and write to the database. */ public void createDB() { try { BufferedReader br = new BufferedReader(new FileReader("db_schema.txt")); String line = null; StringBuilder sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line); if (sb.length() > 0 && sb.charAt(sb.length() - 1) == ';') { // see if it is the end of one line of command statement.executeUpdate(sb.toString()); sb = new StringBuilder(); } } br.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
public static String getFooter(String context) { try { FileReader fileReader = new FileReader(findResourceOnFileSystem("servletResponseTemplate.htm")); BufferedReader buffread = new BufferedReader(fileReader); String templateFile = "", line; StringBuffer SBreader = new StringBuffer(); while ((line = buffread.readLine()) != null) { SBreader.append(line).append("\n"); } fileReader.close(); buffread.close(); templateFile = SBreader.toString(); templateFile = templateFile.replaceAll( "BOTTOMGRAPHIC", CommonConfiguration.getURLToFooterGraphic(context)); int end_header = templateFile.indexOf("INSERT_HERE"); return (templateFile.substring(end_header + 11)); } catch (Exception e) { // out.println("I couldn't find the template file to read from."); e.printStackTrace(); String error = "An error occurred while attempting to read from an HTML template file. This probably will not affect the success of the operation you were trying to perform.</p></body></html>"; return error; } }
/** * Test that <code>Clob.getCharacterStream(long,long)</code> works on CLOBs that are streamed from * store. (DERBY-2891) */ public void testGetCharacterStreamLongOnLargeClob() throws Exception { getConnection().setAutoCommit(false); // create large (>32k) clob that can be read from store final int size = 33000; StringBuilder sb = new StringBuilder(size); for (int i = 0; i < size; i += 10) { sb.append("1234567890"); } final int id = BlobClobTestSetup.getID(); PreparedStatement ps = prepareStatement("insert into blobclob(id, clobdata) values (?,cast(? as clob))"); ps.setInt(1, id); ps.setString(2, sb.toString()); ps.executeUpdate(); ps.close(); Statement s = createStatement(); ResultSet rs = s.executeQuery("select clobdata from blobclob where id = " + id); assertTrue(rs.next()); Clob c = rs.getClob(1); // request a small region of the clob BufferedReader r = new BufferedReader(c.getCharacterStream(4L, 3L)); assertEquals("456", r.readLine()); r.close(); c.free(); rs.close(); s.close(); rollback(); }
/** * read the file with filename substrings -- existing files with those substrings will not get * preserved to preserve-dir. * * @author [email protected] * @date Thu Apr 5 17:43:37 2012 */ void initializeNoPreserve(String sFilename) { m_lNoPreserveSubstrings = new ArrayList<String>(10); BufferedReader in = null; try { in = new BufferedReader(new FileReader(sFilename)); String s; while ((s = in.readLine()) != null) { s = s.trim(); System.out.println("will not preserve files with substring: " + s); m_lNoPreserveSubstrings.add(s.trim()); } } catch (Exception e) { System.out.println("ERROR: Failed to get no-preserve substrings: " + e); return; } finally { try { in.close(); } catch (Exception e2) { } } }
/** Load data. */ private ArrayList loadData() { try { ArrayList vos = new ArrayList(); BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("orders.txt"))); String line = null; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); OrdersVO vo = null; String[] t = null; while ((line = br.readLine()) != null) { t = line.split(";"); vo = new OrdersVO(); vos.add(vo); vo.setOrderDate(sdf.parse(t[0])); vo.setCategory(t[1]); vo.setSubCategory(t[2]); vo.setCountry(t[3]); vo.setZone(t[4]); vo.setAgent(t[5]); vo.setItem(t[6]); vo.setSellQty(new BigDecimal(t[7])); vo.setSellAmount(new BigDecimal(t[8])); } br.close(); return vos; } catch (Exception ex) { ex.printStackTrace(); return new ArrayList(); } }
static void task1() throws FileNotFoundException, IOException, SQLException { // Read Input System.out.println("Task1 Started..."); BufferedReader br = new BufferedReader(new FileReader(inputFile)); br.readLine(); String task1Input = br.readLine(); br.close(); double supportPercent = Double.parseDouble(task1Input.split(":")[1].split("=")[1].split("%")[0].trim()); if (supportPercent >= 0) { System.out.println("Task1 Support Percent :" + supportPercent); // Prepare query String task1Sql = "select temp.iname,(temp.counttrans/temp2.uniquetrans)*100 as percent" + " from (select i.itemname iname,count(t.transid) counttrans from trans t, items i" + " where i.itemid = t.itemid group by i.itemname having count(t.transid)>=(select count(distinct transid)*" + supportPercent / 100 + " from trans)" + ") temp , (select count(distinct transid) uniquetrans from trans) temp2 order by percent"; PreparedStatement selTask1 = con.prepareStatement(task1Sql); ResultSet rsTask1 = selTask1.executeQuery(); BufferedWriter bw = new BufferedWriter(new FileWriter("system.out.1")); while (rsTask1.next()) { bw.write("{" + rsTask1.getString(1) + "}, s=" + rsTask1.getDouble(2) + "%"); bw.newLine(); } rsTask1.close(); bw.close(); System.out.println("Task1 Completed...\n"); } else System.out.println("Support percent should be a positive number"); }
public void readStyle(String FileNameParam) throws IOException { try { BufferedReader myBuf = new BufferedReader(new FileReader(FileNameParam)); String myLine; while ((myLine = myBuf.readLine()) != null) this.MailStyle += myLine; myBuf.close(); } catch (IOException ioe) { throw ioe; } }
private String shell_exec(String cmdline) { String line = ""; try { // windows // Process p = Runtime.getRuntime().exec(cmdline); // linux Process p = Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", cmdline}); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line += input.readLine()) != null) {} input.close(); } catch (Exception err) { err.printStackTrace(); } return line; }
// Loads a String of text from a specified file. // This is generally used to load an email template for automated emailing public static String getText(String fileName) { try { StringBuffer SBreader = new StringBuffer(); String line; FileReader fileReader = new FileReader(findResourceOnFileSystem(fileName)); BufferedReader buffread = new BufferedReader(fileReader); while ((line = buffread.readLine()) != null) { SBreader.append(line + "\n"); } line = SBreader.toString(); fileReader.close(); buffread.close(); return line; } catch (Exception e) { e.printStackTrace(); return ""; } }
/* goodG2B() - use goodsource and badsink */ private void goodG2B() throws Throwable { String data; java.util.logging.Logger log_gsrc = java.util.logging.Logger.getLogger("local-logger"); BufferedReader bufread2 = null; InputStreamReader inread2 = null; data = ""; /* init data */ try { inread2 = new InputStreamReader(System.in); bufread2 = new BufferedReader(inread2); /* FIX: read key from console */ data = bufread2.readLine(); } catch (IOException e) { log_gsrc.warning("Error reading from console"); } finally { try { if (bufread2 != null) { bufread2.close(); } } catch (IOException e) { log_gsrc.warning("Error closing bufread2"); } finally { try { if (inread2 != null) { inread2.close(); } } catch (IOException e) { log_gsrc.warning("Error closing inread2"); } } } (new CWE321_Hard_Coded_Cryptographic_Key__basic_51b()).goodG2B_sink(data); }
public static void main(String args[]) { try { URL url = new URL(args[0]); InputStream is = url.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; String buffer = ""; while ((line = br.readLine()) != null) buffer += line; br.close(); is.close(); Object[] obj = {buffer}; HTMLtoXML me = new HTMLtoXML(); me.invoke(obj); obj = me.getOutputValues(); System.out.println((String) obj[0]); } catch (Exception e) { e.printStackTrace(); System.exit(1); } return; }
public static String getHeader(HttpServletRequest request) { try { FileReader fileReader = new FileReader(findResourceOnFileSystem("servletResponseTemplate.htm")); BufferedReader buffread = new BufferedReader(fileReader); String templateFile = "", line; StringBuffer SBreader = new StringBuffer(); while ((line = buffread.readLine()) != null) { SBreader.append(line).append("\n"); } fileReader.close(); buffread.close(); templateFile = SBreader.toString(); String context = getContext(request); // process the CSS string templateFile = templateFile.replaceAll( "CSSURL", CommonConfiguration.getCSSURLLocation(request, context)); // set the top header graphic templateFile = templateFile.replaceAll( "TOPGRAPHIC", CommonConfiguration.getURLToMastheadGraphic(context)); int end_header = templateFile.indexOf("INSERT_HERE"); return (templateFile.substring(0, end_header)); } catch (Exception e) { // out.println("I couldn't find the template file to read from."); e.printStackTrace(); String error = "<html><body><p>An error occurred while attempting to read from the template file servletResponseTemplate.htm. This probably will not affect the success of the operation you were trying to perform."; return error; } }
public void doGet(HttpServletRequest request, HttpServletResponse response) { response.setContentType("text/html"); PrintWriter webPageOutput = null; try { webPageOutput = response.getWriter(); } catch (IOException error) { Routines.writeToLog(servletName, "getWriter error : " + error, false, context); } HttpSession session = request.getSession(); session.setAttribute("redirect", request.getRequestURL() + "?" + request.getQueryString()); Connection database = null; try { database = pool.getConnection(servletName); } catch (SQLException error) { Routines.writeToLog(servletName, "Unable to connect to database : " + error, false, context); } if (Routines.loginCheck(true, request, response, database, context)) { return; } String server = context.getInitParameter("server"); boolean liveSever = false; if (server == null) { server = ""; } if (server.equals("live")) { response.setHeader("Refresh", "60"); } Routines.WriteHTMLHead( "View System Log", // title false, // showMenu 13, // menuHighLight false, // seasonsMenu false, // weeksMenu false, // scores false, // standings false, // gameCenter false, // schedules false, // previews false, // teamCenter false, // draft database, // database request, // request response, // response webPageOutput, // webPageOutput context); // context webPageOutput.println("<CENTER>"); webPageOutput.println( "<IMG SRC=\"../Images/Admin.gif\"" + " WIDTH='125' HEIGHT='115' ALT='Admin'>"); webPageOutput.println("</CENTER>"); pool.returnConnection(database); webPageOutput.println(Routines.spaceLines(1)); Routines.tableStart(false, webPageOutput); Routines.tableHeader("System Log", 0, webPageOutput); Routines.tableDataStart(true, false, false, true, true, 0, 0, "scoresrow", webPageOutput); boolean firstLine = true; int numOfLines = 0; try { String file = context.getRealPath("/"); FileReader logFile = new FileReader(file + "/Data/log.txt"); BufferedReader logFileBuffer = new BufferedReader(logFile); boolean endOfFile = false; while (!endOfFile) { String logFileText = logFileBuffer.readLine(); if (logFileText == null) { endOfFile = true; } else { if (firstLine) { firstLine = false; } else { webPageOutput.println(Routines.spaceLines(1)); } numOfLines++; webPageOutput.println(logFileText); } } logFileBuffer.close(); } catch (IOException error) { Routines.writeToLog(servletName, "Problem with log file : " + error, false, context); } Routines.tableDataEnd(false, true, true, webPageOutput); Routines.tableEnd(webPageOutput); if (numOfLines < 20) { webPageOutput.println(Routines.spaceLines(20 - numOfLines)); } Routines.WriteHTMLTail(request, response, webPageOutput); }
/** * Takes a vector full of property lists and generates a report. * * @param args Command line arguments. args[0] should be the config filename. */ public static void main(String[] args) { // Load the database properties from properties file Properties properties = new Properties(); // Load config file String configFile = null; if (args.length > 0) configFile = args[0]; try { if (configFile == null) { System.out.println("Database config file not set."); return; } else properties.load(new FileInputStream(configFile)); } catch (IOException e) { System.out.println("Error opening config file."); } String url = properties.getProperty("databaseUrl"); String username = properties.getProperty("username"); String password = properties.getProperty("password"); String dir = System.getProperty("user.dir"); // Current working directory Connection con = null; // Try to open file containing javac output String output = ""; try { BufferedReader outputReader = new BufferedReader(new FileReader(dir + "/CompileOut.txt")); while (outputReader.ready()) output += outputReader.readLine() + '\n'; // Close file outputReader.close(); } catch (FileNotFoundException e) { System.out.println("Error opening compilation output file."); return; } catch (IOException e) { System.out.println("I/O Exception Occured."); return; } boolean hasDriver = false; // Create class for the driver try { Class.forName("com.mysql.jdbc.Driver"); hasDriver = true; } catch (Exception e) { System.out.println("Failed to load MySQL JDBC driver class."); } // Create connection to database if the driver was found if (hasDriver) { try { con = DriverManager.getConnection(url, username, password); } catch (SQLException e) { System.out.println("Couldn't get connection!"); } } // Check that a connection was made if (con != null) { long userEventId = -1; // Store results from the report into the database try { BufferedReader rd = new BufferedReader( new FileReader(dir + "/userId.txt")); // Read userId.txt to get userId String userId = rd.readLine(); // Store userId from text file rd.close(); // Insert the report into the table and get the auto_increment id for it Statement stmt = con.createStatement(); stmt.executeUpdate("INSERT INTO userEvents (userId) VALUES ('" + userId + "')"); ResultSet result = stmt.getGeneratedKeys(); result.next(); userEventId = result.getLong(1); // Close the statement stmt.close(); // Prepare statement for adding the compilation error to the userEvent PreparedStatement compErrorPrepStmt = con.prepareStatement( "INSERT INTO userEventCompilationErrors(userEventId, output) VALUES (?, ?)"); // Insert userEventId and docletId into the database compErrorPrepStmt.setLong(1, userEventId); compErrorPrepStmt.setString(2, output); compErrorPrepStmt.executeUpdate(); // Close the prepare statements compErrorPrepStmt.close(); } catch (Exception e) { System.out.println("Exception Occurred"); System.out.println(e); } // Store the java files for the report try { // Prepare statement for storing files PreparedStatement filePrepStmt = con.prepareStatement( "INSERT INTO files(userEventId, filename, contents) VALUES (" + userEventId + ", ?, ?)"); // Get the list of files from source.txt BufferedReader rd = new BufferedReader( new FileReader(dir + "/source.txt")); // Read userId.txt to get userId while (rd.ready()) { String filename = rd.readLine(); // Store userId from text file // Remove the "src/" from the beginning to get the real file name String realname = filename.substring(4); filePrepStmt.setString(1, realname); // Read in the contents of the files String contents = ""; File javaFile = new File(dir + "/" + filename); int length = (int) javaFile.length(); // Add parameter for file contents to the prepared statement and execute it filePrepStmt.setCharacterStream(2, new BufferedReader(new FileReader(javaFile)), length); filePrepStmt.executeUpdate(); } rd.close(); } catch (IOException e) { System.err.println("I/O Exception Occured."); } catch (SQLException e) { System.err.println("SQL Exception Occured."); } } }
static void task3() throws FileNotFoundException, IOException, InterruptedException, SQLException { System.out.println("Task3 Started.."); BufferedReader br = new BufferedReader(new FileReader(inputFile)); br.readLine(); br.readLine(); br.readLine(); String task3Input = br.readLine(); br.close(); double supportPercent = Double.parseDouble( task3Input.split(":")[1].split(",")[0].split("=")[1].split("%")[0].trim()); int size = Integer.parseInt(task3Input.split(":")[1].split(",")[1].split("=")[1].trim()); if (supportPercent >= 0 && size > 0) { System.out.println("Task3 Size : " + size); System.out.println("Task3 Support Percent: " + supportPercent); BufferedWriter bw = new BufferedWriter(new FileWriter("system.out.3")); for (int i = 1; i <= size; i++) { CallableStatement cstmt = con.prepareCall("{CALL GenerateFI(?,?)}"); cstmt.setInt(1, i); cstmt.setDouble(2, supportPercent / 100); cstmt.executeQuery(); String sqlTask3 = "select i.itemname,f.percent from FISet f ,items i where f.itemid = i.itemid order by f.percent,f.isetid"; // String sqlTask3 = "select i.itemname,f.percent from FISet f ,items i where f.itemid = // i.itemid order by f.isetid"; PreparedStatement selTask3 = con.prepareStatement(sqlTask3); ResultSet rsTask3 = selTask3.executeQuery(sqlTask3); int j = 1; String res = ""; j = 1; while (rsTask3.next()) { if (j == 1) { res += "{"; } res = res + rsTask3.getString(1); if (j == i) { res += "}, s=" + rsTask3.getDouble(2) + "%"; bw.write(res); bw.newLine(); j = 1; res = ""; } else { res += ", "; j++; } } rsTask3.close(); selTask3.close(); } bw.close(); System.out.println("Task3 Completed...\n"); } else { System.out.println( "Support percent should a postive number and size should be a positive integer."); } }
public boolean parserCpYieldTxt(File txtFile) throws Exception { FileInputStream fIn = null; String fileNameUid = ""; try { Calendar calendar = Calendar.getInstance(); SimpleDateFormat df2 = new SimpleDateFormat("yyyyMM"); // Using Find Target "|=124" or ",=44" Count DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); logger.debug( "File " + txtFile.getAbsolutePath() + " " + txtFile.getName() + " " + new MimetypesFileTypeMap().getContentType(txtFile)); // 1.0 讀入檔案, 建立資料流 fIn = new FileInputStream(txtFile); // FileInputStream fIn2 = new FileInputStream(csvFile); InputStreamReader isr = null; BufferedReader br = null; isr = new InputStreamReader(fIn, "UTF-8"); br = new BufferedReader(isr); // byte[] byteArray = new byte[new Long(csvFile.length()).intValue()]; // 讀入File Data Byte..... // fIn2.read(byteArray); logger.debug(txtFile.getName() + "<--讀入資料檔...成功"); // Using get sign "\n" 抓行數... // 1.1 讀入行數資料, 略過行數 int l = -1; List<String> lineDataList = new ArrayList<String>(); for (int i = 0; i <= l; i++) { br.readLine(); } while (br.ready()) { String line = br.readLine(); line = null != line ? line : ""; // logger.debug(line); if (!line.trim().equals("")) { lineDataList.add(line); } } // 1.2 確認有資料開使處理 if (lineDataList != null) { CpYieldParserDao cpYieldParserDao = new CpYieldParserDao(); CpYieldLotTo cpYieldLotTo = new CpYieldLotTo(); String cpYieldUuid = UUID.randomUUID().toString().toUpperCase(); logger.debug("lineDataList.size() " + lineDataList.size()); fileNameUid = FilenameUtils.getBaseName(txtFile.getName()) + "_" + cpYieldUuid + "." + FilenameUtils.getExtension(txtFile.getName()); File bkFolder = new File(fileOutUrl + File.separator + df2.format(calendar.getTime()).toString()); bkFolder.mkdir(); File bkFile = new File(bkFolder.getPath().toString() + File.separator + fileNameUid); // 1.2.1 處理每行資料 String tmpWaferID = lineDataList.get(1); String arrayWafer[] = tmpWaferID.split("=")[1].trim().split("-"); // logger.debug("arrayWafer[] " + arrayWafer.length); // 1.3 Prepare Data String cpLot = arrayWafer[0].trim(); String waferId = arrayWafer[1].trim(); String machineId = arrayWafer[2].trim(); Integer cpTestTimes = cpYieldParserDao.getMaxCpTestTimes(cpLot, waferId); String xMaxCoor = lineDataList.get(2).split("=")[1].trim(); String yMaxCoor = lineDataList.get(3).split("=")[1].trim(); String flat = lineDataList.get(4).split("=")[1].trim(); logger.debug("xMaxCoor " + xMaxCoor); logger.debug("yMaxCoor " + yMaxCoor); logger.debug("flat " + flat); // 1.3 Find Bin Data int sb = 0, eb = 0; for (int i = 0; i < lineDataList.size(); i++) { if (lineDataList.get(i).indexOf("Wafer Bin Summary") >= 0) { sb = i + 1; break; } } for (int i = sb; i < lineDataList.size(); i++) { if (lineDataList.get(i).indexOf("bin") < 0) { eb = i - 1; break; } } logger.debug("sb " + sb); logger.debug(lineDataList.get(sb).trim()); logger.debug("eb " + eb); logger.debug(lineDataList.get(eb).trim()); // 1.3.1 Get Bin Data List<CpYieldLotBinTo> cpYieldLotBins = new ArrayList<CpYieldLotBinTo>(); String cpYieldBinUuid; String bin; Integer die; String percentage; String binString; for (int j = sb; j <= eb; j++) { cpYieldBinUuid = UUID.randomUUID().toString().toUpperCase(); CpYieldLotBinTo cpYieldLotBinTo = new CpYieldLotBinTo(); cpYieldLotBinTo.setCpYieldBinUuid(cpYieldBinUuid); cpYieldLotBinTo.setCpYieldUuid(cpYieldUuid); binString = lineDataList.get(j).trim(); binString = binString.replaceAll("bin", "").trim(); // Get Bin bin = binString.substring(0, binString.indexOf(" ")); logger.debug("bin " + bin); // Get Die bin = binString.substring(0, binString.indexOf(" ")); binString = binString.replaceAll(bin, "").trim(); die = Integer.parseInt(binString.substring(0, binString.indexOf(" "))); logger.debug("die " + die); // Get Percentage binString = binString.replaceAll(die.toString(), "").trim(); percentage = binString.substring(0, binString.length() - 1); logger.debug("percentage " + percentage); cpYieldLotBinTo.setBin(bin); cpYieldLotBinTo.setDie(die); cpYieldLotBinTo.setPercentage(percentage); cpYieldLotBins.add(cpYieldLotBinTo); } // 1.4 Die Data Integer passDie; Integer failDie; Integer totelDie; for (int i = eb + 1; i < lineDataList.size(); i++) { // pass die if (lineDataList.get(i).trim().indexOf("pass die") >= 0) { passDie = Integer.parseInt(lineDataList.get(i).trim().split(":")[1].trim()); logger.debug("passDie " + passDie); cpYieldLotTo.setPassDie(passDie); continue; } // fail die if (lineDataList.get(i).trim().indexOf("fail die") >= 0) { failDie = Integer.parseInt(lineDataList.get(i).trim().split(":")[1].trim()); logger.debug("failDie " + failDie); cpYieldLotTo.setFailDie(failDie); continue; } // totel die if (lineDataList.get(i).trim().indexOf("totel die") >= 0) { totelDie = Integer.parseInt(lineDataList.get(i).trim().split(":")[1].trim()); logger.debug("totelDie " + totelDie); cpYieldLotTo.setTotelDie(totelDie); continue; } } // 1.5 Set data in To cpYieldLotTo.setCpYieldUuid(cpYieldUuid); cpYieldLotTo.setCpTestTimes(cpTestTimes); cpYieldLotTo.setCpLot(cpLot); cpYieldLotTo.setWaferId(waferId); cpYieldLotTo.setMachineId(machineId); cpYieldLotTo.setxMaxCoor(xMaxCoor); cpYieldLotTo.setyMaxCoor(yMaxCoor); cpYieldLotTo.setFlat(flat); String fileMimeType = new MimetypesFileTypeMap().getContentType(txtFile); cpYieldLotTo.setFileName( df2.format(calendar.getTime()).toString() + File.separator + fileNameUid); cpYieldLotTo.setFileMimeType(fileMimeType); cpYieldLotTo.setFtpFlag("N"); fIn.close(); br.close(); Methods.copyFile(txtFile, bkFile); txtFile.delete(); // 1.6 DataBasse // 1.6.1 Insert CP Lot Table cpYieldParserDao.insertCpYieldLot(cpYieldLotTo); cpYieldParserDao.insertCpYieldLotBin(cpYieldLotBins); } fIn.close(); br.close(); logger.info(txtFile.getName() + " is Parser complete"); logger.info(fileNameUid + " is Parser complete"); // logger.debug(tapeList.size()); logger.info("---------------------------------"); } catch (Exception e) { if (fIn != null) { fIn.close(); } logger.info("ERROR MOVE FILE"); Methods.copyFile(txtFile, new File(fileErrorUrl + "\\" + txtFile.getName())); txtFile.delete(); StackTraceElement[] messages = e.getStackTrace(); Exception ex = new Exception(txtFile.getName()); ex.setStackTrace(messages); ex.printStackTrace(); throw ex; } finally { try { if (fIn != null) { fIn.close(); } } catch (IOException ie) { StackTraceElement[] messages = ie.getStackTrace(); int length = messages.length; String error = ""; for (int i = 0; i < length; i++) { error = error + "toString:" + messages[i].toString() + "\r\n"; } ie.printStackTrace(); logger.error(error); return false; } } return true; }
/** * Parses the files passed into the <CODE>setTemplateFiles</CODE> method. The data extracted from * the template files is returned. */ public void parse() { setMessage("Parsing Files"); templates.clear(); importedFieldCount = 0; importedMacroCount = 0; File[] templateFiles = getTemplateFiles(); resetParseCanceled(); int totalFileSize = 0; for (int i = 0; i < templateFiles.length; i++) if (templateFiles[i].exists()) totalFileSize += (int) templateFiles[i].length(); setProgressMaximum(totalFileSize); int progress = 0; setProgressValue(0); setProgressIndeterminate(false); for (int i = 0; i < templateFiles.length; i++) { String currentFilePath = templateFiles[i].getAbsolutePath(); Timestamp modifiedDate = new Timestamp(templateFiles[i].lastModified()); Template currentTemplate = new Template(currentFilePath, modifiedDate); String[] nameParts = templateFiles[i].getName().split("\\."); if (nameParts != null && nameParts.length > 0) currentTemplate.setID(nameParts[0]); templates.add(currentTemplate); try { BufferedReader iStream = new BufferedReader(new FileReader(templateFiles[i])); try { String currentLine = iStream.readLine(); Signal currentSignal = null, archiveTag = null; ArchiveRequest request = null; ArchiveGroup group = null; HashMap archiveSignals = new HashMap(); int lineNumber = 0; int braceCount = 0; while (currentLine != null) // null indicates EOF { lineNumber++; if (currentLine.trim().startsWith("#")) // Comments start with # { // Comments start with #. Archive information is embedded in comments. ArchiveGroup newGroup = parseArchiveGroupTag(currentLine, currentTemplate); if (newGroup != null) group = newGroup; else { ArchiveRequest newRequest = parseArchiveRequestTag(currentLine, group, currentTemplate); if (newRequest != null) request = newRequest; else { Signal newArchiveTag = parseArchiveTag(currentLine); if (newArchiveTag != null) { if (archiveTag != null) // Tag was not used in request. Use for defaults. archiveSignals.put(archiveTag.getID(), archiveTag); archiveTag = newArchiveTag; } } } } else { Matcher macroMatcher = macroPattern.matcher(currentLine); if (macroMatcher.find()) { String macro = macroMatcher.group(1); if (!currentTemplate.containsMacro(macro)) { importedMacroCount++; currentTemplate.addMacro(macro); } } int linePosition = 0; int lineLength = currentLine.length(); while (linePosition < lineLength) { int openBracePosition = currentLine.indexOf('{', linePosition); int closeBracePosition = currentLine.indexOf('}', linePosition); if (currentSignal == null || braceCount == 0) { // Got no signal or the brace was never opened... Matcher recordMatcher = recordPattern.matcher(currentLine); if (recordMatcher.find(linePosition)) if (openBracePosition < 0 || recordMatcher.start() < openBracePosition) { linePosition = recordMatcher.end(); SignalType currentSignalType = new SignalType(); String recordType = recordMatcher.group(1); currentSignalType.setRecordType(new EpicsRecordType(recordType)); String signalID = recordMatcher.group(2); currentSignal = new Signal(signalID); currentSignal.setType(currentSignalType); if (archiveTag != null) archiveSignals.put(archiveTag.getID(), archiveTag); // Use as defaults. archiveTag = (Signal) archiveSignals.get(signalID); if (archiveTag != null) { currentSignal.setArchiveIndicator("Y"); currentSignal.setArchiveType(archiveTag.getArchiveType()); currentSignal.setArchiveFrequency(archiveTag.getArchiveFrequency()); // Must use a new instance of signal since each request has different // values for type, frequency, etc. if (request != null && request.getSignal(signalID) == null) request.addSignal(new Signal(signalID)); currentSignal.setArchiveIndicator("Y"); currentSignal.setArchiveType(archiveTag.getArchiveType()); currentSignal.setArchiveFrequency(archiveTag.getArchiveFrequency()); } currentTemplate.addSignal(currentSignal); archiveTag = null; // Reset so is not used twice. continue; // Go back and check the line position against length. } } if (braceCount == 0 && currentSignal != null && openBracePosition >= linePosition) { // Got the signal, need the open brace. linePosition = openBracePosition + 1; braceCount++; continue; // Go back and check the line position against length. } if (braceCount > 0) { // Looking for fields or the close brace. Matcher fieldMatcher = fieldPattern.matcher(currentLine); if (fieldMatcher.find(linePosition)) if (closeBracePosition < 0 || fieldMatcher.start() < closeBracePosition) { // Found a field... linePosition = fieldMatcher.end(); SignalField currentField = new SignalField(); String currentFieldID = fieldMatcher.group(1); currentField.setType(new SignalFieldType(currentFieldID)); currentField.setValue(fieldMatcher.group(2)); currentSignal.addField(currentField); importedFieldCount++; continue; } if (closeBracePosition >= 0) { // Found end of current signal. braceCount--; linePosition = closeBracePosition + 1; currentSignal = null; continue; } } linePosition = lineLength; if (isParseCanceled()) break; } } progress += currentLine.length() + 1; setProgressValue(progress); currentLine = iStream.readLine(); if (isParseCanceled()) break; } } finally { iStream.close(); } } catch (java.io.FileNotFoundException ex) { StringBuffer errorMessage = new StringBuffer("<HTML><FONT COLOR=RED>Unable to open file '"); errorMessage.append(templateFiles[i].getAbsoluteFile()); errorMessage.append("'.</FONT></HTML>"); addMessage(errorMessage.toString()); } catch (java.io.IOException ex) { ex.printStackTrace(); StringBuffer errorMessage = new StringBuffer("<HTML><FONT COLOR=RED>IO Error: "); errorMessage.append(ex.getMessage()); errorMessage.append("</FONT></HTML>"); addMessage(errorMessage.toString()); } if (isParseCanceled()) break; } }
/* uses badsource and badsink */ public void bad() throws Throwable { String data; switch (6) { case 6: { data = "pass"; } break; default: /* INCIDENTAL: CWE 561 Dead Code, the code below will never run */ { java.util.logging.Logger log_good_source = java.util.logging.Logger.getLogger("local-logger"); BufferedReader bufread2 = null; InputStreamReader inread2 = null; Properties prop = new Properties(); IO.writeLine("Enter the password: "******""; try { inread2 = new InputStreamReader(System.in); bufread2 = new BufferedReader(inread2); /* FIX: password is read from stdin */ data = bufread2.readLine(); } catch (Exception e) { log_good_source.warning("Exception in try"); } finally { try { if (bufread2 != null) { bufread2.close(); } } catch (IOException e) { log_good_source.warning("Error closing bufread2"); } finally { try { if (inread2 != null) { inread2.close(); } } catch (IOException e) { log_good_source.warning("Error closing inread2"); } } } } break; } java.util.logging.Logger log2 = java.util.logging.Logger.getLogger("local-logger"); Connection conn2 = null; PreparedStatement st = null; ResultSet rs2 = null; String pw = data; try { /* POTENTIAL FLAW: use of hard-coded password */ conn2 = DriverManager.getConnection("data-url", "root", pw); st = conn2.prepareStatement("select * from test_table"); rs2 = st.executeQuery(); } catch (SQLException e) { log2.warning("Error with database connection"); } finally { try { if (rs2 != null) { rs2.close(); } } catch (SQLException e) { log2.warning("Error closing rs2"); } finally { try { if (st != null) { st.close(); } } catch (SQLException e) { log2.warning("Error closing st"); } finally { try { if (conn2 != null) { conn2.close(); } } catch (SQLException e) { log2.warning("Error closing conn2"); } } } } }
static void task2() throws FileNotFoundException, IOException, SQLException { System.out.println("Task2 Started..."); BufferedReader br = new BufferedReader(new FileReader(inputFile)); br.readLine(); br.readLine(); String task2Input = br.readLine(); br.close(); double supportPercent = Double.parseDouble(task2Input.split(":")[1].split("=")[1].split("%")[0].trim()); if (supportPercent >= 0) { System.out.println("Task2 Support percent:" + supportPercent); try { PreparedStatement dropView = con.prepareStatement("drop materialized view trans1"); dropView.executeUpdate(); } catch (SQLException e) { } // Creating materilalized view to filter out transactions as per apriori rule String sqlTransView = "create materialized view trans1(transid,itemid) as select * from trans where itemid in" + " (select itemid from trans group by itemid having count(*)>=(select count(distinct(transid))*" + supportPercent / 100 + " from trans))"; PreparedStatement createView = con.prepareStatement(sqlTransView); createView.executeUpdate(); createView.close(); // Using SQL from task1 to retrieve item sets of size 1. String task1Sql = "select temp.iname,(temp.counttrans/temp2.uniquetrans)*100 as percent" + " from (select i.itemname iname,count(t.transid) counttrans from trans t, items i" + " where i.itemid = t.itemid group by i.itemname having count(t.transid)>=(select count(distinct transid)*" + supportPercent / 100 + " from trans)" + ") temp , (select count(distinct transid) uniquetrans from trans) temp2 order by percent"; PreparedStatement selTask1 = con.prepareStatement(task1Sql); ResultSet rsTask1 = selTask1.executeQuery(); BufferedWriter bw = new BufferedWriter(new FileWriter("system.out.2")); while (rsTask1.next()) { bw.write("{" + rsTask1.getString(1) + "}, s=" + rsTask1.getDouble(2) + "%"); bw.newLine(); } rsTask1.close(); selTask1.close(); String task2Sql = "select temp.iname1,temp.iname2,(temp.counttrans/temp2.uniquetrans)*100 as percent" + " from(select t1.itemid,t2.itemid,i1.itemname iname1,i2.itemname iname2,count(*) counttrans" + " from trans1 t1,trans1 t2,items i1,items i2 where t1.transid = t2.transid and t1.itemid = i1.itemid" + " and t2.itemid = i2.itemid and t1.itemid < t2.itemid group by t1.itemid,t2.itemid,i1.itemname,i2.itemname" + " having count(*)>=(select count(distinct transid)*" + supportPercent / 100 + " from trans)) temp , (select count(distinct transid) uniquetrans from trans) temp2 order by percent"; PreparedStatement selTask2 = con.prepareStatement(task2Sql); ResultSet rsTask2 = selTask2.executeQuery(); while (rsTask2.next()) { bw.write( "{" + rsTask2.getString(1) + ", " + rsTask2.getString(2) + "}, s=" + rsTask2.getDouble(3) + "%"); bw.newLine(); } rsTask2.close(); selTask2.close(); bw.close(); System.out.println("Task2 Completed...\n"); } else System.out.println("Support percent should be a positive number"); }
static void task4() throws FileNotFoundException, IOException, InterruptedException, SQLException { System.out.println("Task4 Started..."); BufferedReader br = new BufferedReader(new FileReader(inputFile)); br.readLine(); br.readLine(); br.readLine(); br.readLine(); String task4Input = br.readLine(); br.close(); double supportPercent = Double.parseDouble( task4Input.split(":")[1].split(",")[0].split("=")[1].split("%")[0].trim()); double confidence = Double.parseDouble( task4Input.split(":")[1].split(",")[1].split("=")[1].split("%")[0].trim()); int size = Integer.parseInt(task4Input.split(":")[1].split(",")[2].split("=")[1].trim()); if (supportPercent >= 0 && size >= 2 && confidence >= 0) { System.out.println("Task4 Confidence Percent: " + confidence); System.out.println("Task4 Support Percent: " + supportPercent); System.out.println("Task4 Size : " + size); BufferedWriter bw = new BufferedWriter(new FileWriter("system.out.4")); for (int i = 2; i <= size; i++) { CallableStatement cstmt = con.prepareCall("{CALL GenerateAR(?,?,?)}"); cstmt.setDouble(1, confidence / 100); cstmt.setInt(2, i); cstmt.setDouble(3, supportPercent / 100); cstmt.executeQuery(); String sqlTask4 = "select * from artable order by ruleid,confidence"; PreparedStatement selTask4 = con.prepareStatement(sqlTask4); ResultSet rsTask4 = selTask4.executeQuery(sqlTask4); String leftSet = ""; String rightSet = ""; Boolean resultSetExhausted = false; String itemName; String isLeft; Double support; Double conf; if (rsTask4.next()) { while (true && !resultSetExhausted) { leftSet = "{"; rightSet = "{"; for (int j = 0; j < i; j++) { itemName = rsTask4.getString(3); isLeft = rsTask4.getString(5); // support = rsTask4.getBigDecimal(6); // conf = rsTask4.getBigDecimal(4); if (j == 0) { if (isLeft.equals("Y")) leftSet = leftSet + itemName; else rightSet = rightSet + itemName; if (!rsTask4.next()) { resultSetExhausted = true; break; } } if (j == i - 1) { if (isLeft.equals("Y")) { if (leftSet.equals("{")) leftSet = leftSet + itemName; else leftSet = leftSet + "," + itemName; } else { if (rightSet.equals("{")) rightSet = rightSet + itemName; else rightSet = rightSet + ", " + itemName; } leftSet = leftSet + "}"; rightSet = rightSet + "}"; String resultString = "{" + leftSet + " - > " + rightSet + "} s=" + rsTask4.getDouble(6) + "%, c=" + rsTask4.getDouble(4) + "%"; bw.write(resultString); bw.newLine(); leftSet = "{"; rightSet = "{"; if (!rsTask4.next()) { resultSetExhausted = true; break; } } if (j > 0 && j < i - 1) { if (isLeft.equals("Y")) { if (leftSet.equals("{")) leftSet = leftSet + itemName; else leftSet = leftSet + ", " + itemName; } else { if (rightSet.equals("{")) rightSet = rightSet + itemName; else rightSet = rightSet + ", " + itemName; } if (!rsTask4.next()) { resultSetExhausted = true; break; } } } } } } bw.close(); System.out.println("Task4 Completed...\n"); } else System.out.println( "For Task4, supportPercent and confidence should be a positive numbers and size should be greater than or equal to 2"); }
// ***************************************************** // Process the initial request from Proshop_main // ***************************************************** // @SuppressWarnings("deprecation") public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // // Prevent caching so sessions are not mangled // resp.setHeader("Pragma", "no-cache"); // for HTTP 1.0 resp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate"); // for HTTP 1.1 resp.setDateHeader("Expires", 0); // prevents caching at the proxy server resp.setContentType("text/html"); PrintWriter out = resp.getWriter(); HttpSession session = SystemUtils.verifyPro(req, out); // check for intruder if (session == null) { return; } String club = (String) session.getAttribute("club"); // get club name String templott = (String) session.getAttribute("lottery"); // get lottery support indicator int lottery = Integer.parseInt(templott); // // Call is to display the new features page. // // Display a page to provide a link to the new feature page // out.println("<html><head>"); out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">"); out.println("<meta http-equiv=\"Content-Language\" content=\"en-us\">"); out.println("<title> \"ForeTees Proshop Announcement Page\"</title>"); // out.println("<link rel=\"stylesheet\" href=\"/" +rev+ "/web utilities/foretees.css\" // type=\"text/css\"></link>"); out.println( "<script language=\"JavaScript\" src=\"/" + rev + "/web utilities/foretees.js\"></script>"); out.println("</head>"); out.println("<body bgcolor=\"#FFFFFF\" text=\"#000000\">"); SystemUtils.getProshopSubMenu(req, out, lottery); File f; FileReader fr; BufferedReader br; String tmp = ""; String path = ""; try { path = req.getRealPath(""); tmp = "/proshop_features.htm"; // "/" +rev+ f = new File(path + tmp); fr = new FileReader(f); br = new BufferedReader(fr); if (!f.isFile()) { // do nothing } } catch (FileNotFoundException e) { out.println("<br><br><p align=center>Missing New Features Page.</p>"); out.println("</BODY></HTML>"); out.close(); return; } catch (SecurityException se) { out.println("<br><br><p align=center>Access Denied.</p>"); out.println("</BODY></HTML>"); out.close(); return; } while ((tmp = br.readLine()) != null) out.println(tmp); br.close(); out.println("</BODY></HTML>"); out.close(); } // end of doGet
/** * Perrform process. * * @return Message that would be set to process infor summary (no use currently) * @throws Exception if not successful */ protected String doIt() throws Exception { // load query into cache file directly // int userId= this.getAD_User_ID(); // User user= SecurityUtils.getUser(userId); Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; QueryEngine engine = QueryEngine.getInstance(); conn = engine.getConnection(); Configurations conf = (Configurations) WebUtils.getServletContextManager().getActor(nds.util.WebKeys.CONFIGURATIONS); String folder = conf.getProperty("ahyy.payment.folder.download", "e:/act/ahyy/download"); File fd = new File(folder); if (!fd.exists()) fd.mkdirs(); ahyyCode = conf.getProperty("ahyy.payment.code"); if (ahyyCode == null || ahyyCode.length() != 8) throw new NDSException("Wrong code for bank payment interface"); SimpleDateFormat df = new SimpleDateFormat("yyMMdd"); String ftpFile = "MPAYREP" + ahyyCode + df.format(new java.util.Date()); String file = folder + "/" + ftpFile; StringBuffer sb = new StringBuffer(); String lineSep = Tools.LINE_SEPARATOR; try { // 下载文件 CommandExecuter cmd = new CommandExecuter(folder + "/log/" + ftpFile + ".log"); String exec = conf.getProperty("ahyy.payment.download", "e:/act/bin/download.cmd"); int err = cmd.run(exec + " " + ftpFile); if (err != 0) { throw new NDSException("Error(code=" + err + ") when doing " + exec + " " + ftpFile); } if (!(new File(file)).exists()) { throw new NDSException("File not downloaded when doing " + exec + " " + ftpFile); } BufferedReader in = new BufferedReader(new FileReader(file)); in.readLine(); // skip first line, which is summary String line = in.readLine(); pstmt = conn.prepareStatement( "update b_pay_sum set state=?, err_code =? where billno=? and state='R'"); while (line != null) { log.debug(line); if (line.length() < 34) { log.debug("line not has length: 34"); } /* String billType= line.substring(0,2); String billNo= line.substring(0, 22);// billno String amt=line.substring(22,34); String ack=line.substring(34,36);*/ String billNo = line.substring(0, 20); // billno String amt = line.substring(20, 32); String ack = line.substring(32, 34); if ("00".equals(ack)) { java.math.BigDecimal bd = new java.math.BigDecimal(amt); pstmt.setString(1, "Y"); pstmt.setNull(2, java.sql.Types.VARCHAR); pstmt.setString(3, billNo); int ret = pstmt.executeUpdate(); if (ret != 1) { sb.append(line + "(updated " + ret + " lines)").append(lineSep); } } else { pstmt.setString(1, "P"); pstmt.setString(2, ack); pstmt.setString(3, billNo); int ret = pstmt.executeUpdate(); if (ret != 1) { sb.append(line + "(updated " + ret + " lines)").append(lineSep); } } line = in.readLine(); } in.close(); try { log.debug("Move " + file + " to " + folder + "/log/" + ftpFile); (new File(file)).renameTo(new File(folder + "/log/" + ftpFile)); } catch (Throwable t) { log.error("Fail to move " + file + " to " + folder + "/log/" + ftpFile, t); } Vector vet = new Vector(); String log = sb.toString(); this.log.debug(log); this.addLog(log); return "完成"; } finally { if (rs != null) try { rs.close(); } catch (Throwable t) { } if (pstmt != null) try { pstmt.close(); } catch (Throwable t) { } if (conn != null) try { conn.close(); } catch (Throwable t) { } } }