import java.io.*; import java.beans.*; import java.net.URL; import java.text.*; import java.awt.*; import java.awt.Window; import java.awt.event.*; import javax.swing.*; import javax.swing.JOptionPane; import javax.swing.border.*; import javax.swing.plaf.*; import javax.swing.event.*; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JButton; import javax.swing.JScrollPane; import javax.swing.DefaultListModel; import java.util.*; import java.util.List; import java.util.Vector; import java.util.ResourceBundle; import sun.net.ftp.FtpClient; public class NCR_loc05 implements ListSelectionListener { public static void main(String[] arg){ new NCR_loc05(); } public NCR_loc05() { WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) { DelOut(); System.exit(0); } }; container=new JFrame("NCR Query"); container.addWindowListener(l); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=new Dimension((int)(screenSize.width/2),(int)(screenSize.height/2)); int x=(int)(frameSize.width/2); int y=(int)(frameSize.height/2); container.setBounds(x,y,frameSize.width,frameSize.height); container.getContentPane().setLayout( new BorderLayout() ); JPanel jb_out = new JPanel(); jb_out.setLayout(new BorderLayout()); jb_out.add(buildJBallPanel(), BorderLayout.NORTH); JPanel buttonPanel = new JPanel(); buttonPanel.setLayout ( new FlowLayout(FlowLayout.CENTER) ); ExitBut = new JButton("RUN"); ExitBut.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { svr_cyc(); }}); buttonPanel.add(ExitBut); container.getContentPane().add(jb_out, BorderLayout.NORTH); container.getContentPane().add(buttonPanel, BorderLayout.SOUTH); container.pack(); container.setVisible(true); } public JPanel buildJBallPanel() { JPanel JBallGrid = new JPanel(); GridBagLayout gbc0 = new GridBagLayout(); JBallGrid.setLayout(gbc0); // Part, Lot & Serial Number Panels JPanel JBtaPanel = new JPanel(); GridBagLayout gbc2 = new GridBagLayout(); JBtaPanel.setLayout(gbc2); JBtaPanel.setBorder( new TitledBorder("INPUT") ); // Lot Number List/Panel JPanel LnumJl_StgPanel = new JPanel(); LnumJl_StgPanel.setLayout(new BorderLayout()); JLabel LnumJl_StgLabel = new JLabel (" Lot Number: "); LnumJl_StgPanel.add(LnumJl_StgLabel, BorderLayout.NORTH); LlistModel = new DefaultListModel(); LnumJList = new JList(LlistModel); LnumJList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); //LnumJList.setSelectedIndex(0); LnumJList.addListSelectionListener(this); LtextScroller = new JScrollPane( LnumJList, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); LtextScroller.setPreferredSize(new Dimension(80, 360)); LnumJl_StgPanel.add(LtextScroller); LnumField = new JTextField(35); LnumJl_StgPanel.add(LnumField, BorderLayout.SOUTH); JBtaPanel.add(LnumJl_StgPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); // All Panel Grid JBallGrid.add(JBtaPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(3, 3, 3, 3), 5, 0)); return JBallGrid; } public void svr_cyc() { ncrV = new Vector(); if ( LnumJList.getModel().getSize() > 0 ) { LnumJList.setModel(LlistModel = new DefaultListModel()); LnumField.setText(""); } tBC4 = System.currentTimeMillis(); rtnNcrStg(); tAC4 = System.currentTimeMillis(); System.out.println("\n4) Cameleon Connect time(secs): " + java.lang.Long.toString(tAC4-tBC4) + "\n" ); String[] serStgArr = new String[ ncrV.size() ]; ncrV.copyInto( serStgArr ); String[] serStgArr1 = sortStrings( serStgArr ); String[] serStgArrS = reverseStrings( serStgArr1 ); for (int t = 0; t < serStgArrS.length; t++) { sop4( "serStgArrS[t]", serStgArrS[t], "[t]", t ); int spPos0 = serStgArrS[t].lastIndexOf("\\"); dirStg0 = serStgArrS[t].substring(spPos0+1,serStgArrS[t].length()); dirStg1 = serStgArrS[t].substring(0,spPos0); int spPos1 = dirStg1.lastIndexOf("\\"); dirStg2 = dirStg1.substring(spPos1+1,dirStg1.length()); sop2( "dirStg0", dirStg0 ); sop2( "dirStg2", dirStg2 ); //System.out.println("1) dirStg1: " + dirStg1); dirStgF = dirStg0 + ":@:" + dirStg2; sop2( "dirStgF", dirStgF ); LlistModel.addElement(dirStgF); } } public void rtnNcrStg() { File aFile = new File(mrb_air_dir); if(!aFile.exists()) System.out.println("Directory: " + mrb_air_dir + " does not exist"); else if(!aFile.isDirectory()) System.out.println( mrb_air_dir + " is not a directory" ); else{ PrintDirN(0, aFile); System.out.println( "Completed: " + mrb_air_dir); } } public void PrintDirN(int indent, File aFile){ File[] theFiles = aFile.listFiles(); Vector vec = new Vector(); for(int x=0; x -1 || snPos > -1 ) { int spPos = fulText[i].lastIndexOf(" "); cnStg1 = fulText[i].substring(spPos+1,fulText[i].length()); // Found C/N } else if ( dimPos > -1 ) { tmpStg = fulText[i+2]; System.out.println( "tmpStg: " + tmpStg ); String[] varArr = creTArray( tmpStg, " " ); lfulStg = cnStg1+",0,1,Other,NOM="+varArr[1]+"|+TOL="+varArr[2]+"|-TOL="+varArr[3]+"|MEAS="+varArr[4]; System.out.println("lfulStg: " + lfulStg); entV.addElement( lfulStg ); i++;i++; } } } public String[] creTArray(String toArray, String splitChar) { StringTokenizer token1 = new StringTokenizer(toArray,splitChar); int number1 = token1.countTokens(); String[] newArray = new String[ number1 ]; for (int i = 0; i < number1; i++) { String st = token1.nextToken(); newArray[i] = st; } return newArray; } public void RunCmdInt ( String getDataNm ) { String s = null; try { String wordpad = ("\"C:\\Program Files\\Windows NT\\Accessories\\wordpad.exe\""); Process p = Runtime.getRuntime().exec("cmd /C " + wordpad + " " + getDataNm ); BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); while ((s = stdInput.readLine()) != null) { System.out.println( s ); } } catch (IOException e) { System.out.println("Exception: " ); e.printStackTrace(); System.exit(-1); } } public void SaveSelected( String getDataNm ) { try { PrintStream expfl = new PrintStream(new FileOutputStream(getDataNm)); for (j = 0; j < finText.length; j++) { if ( finText[j] != "" ) { expfl.println( finText[j] ); } } expfl.flush(); expfl.close(); } catch(java.io.IOException IOEx) { System.out.println("Cannot create " + getDataNm + " file."); } } protected boolean alreadyInLList(String name) { return LlistModel.contains(name); } public void DelOut() { String s2 = null; try { String delStg = ("\"del *_out.txt\""); Process p2 = Runtime.getRuntime().exec("cmd /C " + delStg ); BufferedReader stdInput2 = new BufferedReader(new InputStreamReader(p2.getInputStream())); BufferedReader stdError2 = new BufferedReader(new InputStreamReader(p2.getErrorStream())); while ((s2 = stdInput2.readLine()) != null) { System.out.println( s2 ); } } catch (IOException e9) { System.out.println("Exception: "); e9.printStackTrace(); System.exit(-1); } } public String[] sortStrings( String[] strings ) { for ( int i = 0; i < strings.length - 1; ++i ) { for ( int j = i + 1; j < strings.length; ++j ) { if ( strings[i].compareTo( strings[j] ) > 0 ) { String t = strings[i]; strings[i] = strings[j]; strings[j] = t; } } } return strings; } public String[] reverseStrings( String[] strings ) { String temp; int left = 0; int right = strings.length - 1; while (left < right) { temp = strings[left]; strings[left] = strings[right]; strings[right] = temp; right--; left++; } return strings; } public String getDataNm() { OutFileNm = LotStg + "." + PartStg + "." + sName + "_out.txt"; return OutFileNm; } public void sop2( String inStgN, String inStgV ) { System.out.println( inStgN + ": " +inStgV ); } public void sop4( String inStgN, String inStgV, String cStg, int lcntr ) { System.out.println( inStgN + ": " +inStgV + " & " + cStg + ": " + lcntr ); } JFrame container; JList LnumJList; JTextField PnumField, LnumField, SnumField, ProgField, ftp_Field; JButton ButQry, ButRQry, ExitBut, ResBut, OpenBut, GetBut, RInBut, RStatBut, RQuBut; JScrollPane PtextScroller, LtextScroller, StextScroller; ListSelectionModel listSelectionModel; DefaultListModel LlistModel; String Fstg, Pnum, Lnum, Snum, query, ftp_stg, ftp_Fstg, OutFileNm, uNm, pWd, path1, loc1; String LnumSnm, TmpFileNm, getDataNm, dataOutStg, DOSubNm, DataOutSubStg, delStg, SubStg; String LotStg, PartStg, paramStg, tfulStg, codeStg, sName, finFlStg, uStg, fileStg; String dirStg, dirStg0, dirStg1, dirStg2, dirStg3, dirStgF, lfulStg, tmpStg, cnStg1; String FfileStg; String jbStg = "/JB_FILES/"; String caStg = "D:\\Dev\\HTML\\datajett.com\\public_html\\HC\\NCR\\"; String statStg = "STATISTICAL PROCESS CONTROL"; String mrb_air_dir = "D:\\Dev\\HTML\\datajett.com\\public_html\\HC\\JB_FILES"; String ncr_root_dir = "D:\\Dev\\HTML\\datajett.com\\public_html\\HC\\NCR\\LOT_DATA"; String[] fulText, finText, fulNcr, fulLdir, lfText, lotReadStg; int trackWord, cntr, scntr, nctr, rcntr, h, i, j, k, mtPos = 0; long tBC1, tBC2, tBC3, tBC4, tBC5, tBC6, tAC1, tAC2, tAC3, tAC4, tAC5, tAC6; Vector ncrV, fulV, entV; } class FtpWr extends FtpClient { public boolean cdDir (String rdirPath) throws IOException { issueCommand("CWD " + rdirPath); return isValidResponse(); } public String[] listRawStg() throws IOException { BufferedReader lreader = new BufferedReader(new InputStreamReader(list())); Vector rlines = new Vector(); String sLine = lreader.readLine(); while( sLine != null ) { rlines.addElement( sLine ); sLine = lreader.readLine(); } String[] rlineArray = new String[ rlines.size() ]; rlines.copyInto( rlineArray ); return rlineArray; } public boolean isValidResponse() { try { int respCode = Integer.parseInt(getResponseString().substring(0, 3)); return (respCode >= 200 && respCode < 300); } catch (Exception e) { return false; } } }