Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package support; import com.mobprofs.retrofit.converters.SimpleXmlConverter; import hms.CursorGlassPane; import hms.HMS101; import hms.HMSHome; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Desktop; import java.awt.Robot; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.StringTokenizer; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFileChooser; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.KeyStroke; import javax.swing.RowFilter; import javax.swing.SwingUtilities; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; import javax.swing.text.JTextComponent; import java.util.List; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRExporterParameter; import net.sf.jasperreports.engine.JRResultSetDataSource; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperPrintManager; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.export.JRPdfExporter; import net.sf.jasperreports.engine.export.JRRtfExporter; import net.sf.jasperreports.swing.JRViewer; import org.apache.poi.hpsf.HPSFException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import retrofit.RestAdapter; /** * * @author Bhaumik */ public class Library { public boolean type; public int typeThree; public SimpleDateFormat userFormat = new SimpleDateFormat("dd/MM/yyyy"); public SimpleDateFormat dbFormat = new SimpleDateFormat("yyyy-MM-dd"); public SimpleDateFormat timestamp = new SimpleDateFormat("dd-MM-yyyy hh:mm:SS a"); private Robot robotVar = null; CursorGlassPane glassPane = new CursorGlassPane(); Component oldGlass = null; Connection dataConnection = HMS101.connMpAdmin; private TableRowSorter<TableModel> rowSorter; private JTextField jtfFilter = new JTextField(); public Library() { } public SMS sendMessage(String message, String mobile_no) { try { RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("http://sms.24x7developers.com") .setConverter(new SimpleXmlConverter()).build(); ApiService apiService = restAdapter.create(ApiService.class); Message object = apiService.sendSms("bhaumiks", "ap123@", mobile_no, message, 0, "APPLEh", 3); List<SMS> sms = object.getSmsList(); for (int i = 0; i < sms.size(); i++) { System.out.println(sms.get(i).getMessageid()); System.out.println(sms.get(i).getSmsclientid()); } return sms.get(0); } catch (Exception ex) { System.out.println(ex.getMessage()); } return null; } public void selectAll(java.awt.event.FocusEvent evt) { ((JTextField) evt.getSource()).selectAll(); } { try { robotVar = new Robot(); } catch (Exception ex) { } } public void setUserRightsToPanel(SmallNavigation navLoad, String FormID) { navLoad.setNewEnable(getRight(FormID, "ADDS")); navLoad.setEditEnable(getRight(FormID, "EDIT")); navLoad.setDeleteEnable(getRight(FormID, "DELETES")); navLoad.setFirstEnable(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setPreviousEnable(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setNextEnable(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setLastEnable(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setViewEnable(getRight(FormID, "NAVIGATE_VIEW")); } public void setUserRightsToPanel1(NavigationPanel navLoad, String FormID) { navLoad.setEnableNew(getRight(FormID, "ADDS")); navLoad.setEnableEdit(getRight(FormID, "EDIT")); navLoad.setEnableDelete(getRight(FormID, "DELETES")); navLoad.setEnableFirst(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setEnablePrevious(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setEnableNext(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setEnableLast(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setEnableView(getRight(FormID, "NAVIGATE_VIEW")); navLoad.setEnablePrint(getRight(FormID, "PRINT")); } public boolean getRight(String form_id, String right) { boolean flag = false; try { if (HMSHome.role == 1) { return true; } String query = "SELECT " + right + " FROM USERRIGHTS WHERE USER_ID=" + getData("user_grp", "login", "user_id", HMSHome.user_id + "", 1) + "" + " AND FORM_ID=" + form_id; PreparedStatement pstLocal = dataConnection.prepareStatement(query); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { if (rsLocal.getInt(1) == 1) { flag = true; } } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getRight", ex); } return flag; } public void setDateChooserPropertyInit(JTextField jcmbDate) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Calendar cal = Calendar.getInstance(); jcmbDate.setText(sdf.format(cal.getTime())); } public void setDateChooserPropertyInit(com.toedter.calendar.JDateChooser jcmbDate) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); Calendar cal = Calendar.getInstance(); jcmbDate.setText(sdf.format(cal.getTime())); } public String getMonth(String i, String tag) { if (tag.equalsIgnoreCase("n")) { if (i.equalsIgnoreCase("1")) { return "January"; } else if (i.equalsIgnoreCase("2")) { return "February"; } else if (i.equalsIgnoreCase("3")) { return "March"; } else if (i.equalsIgnoreCase("4")) { return "April"; } else if (i.equalsIgnoreCase("5")) { return "May"; } else if (i.equalsIgnoreCase("6")) { return "June"; } else if (i.equalsIgnoreCase("7")) { return "July"; } else if (i.equalsIgnoreCase("8")) { return "August"; } else if (i.equalsIgnoreCase("9")) { return "September"; } else if (i.equalsIgnoreCase("10")) { return "October"; } else if (i.equalsIgnoreCase("11")) { return "November"; } else if (i.equalsIgnoreCase("12")) { return "December"; } } else if (tag.equalsIgnoreCase("c")) { if (i.equalsIgnoreCase("January")) { return "01"; } else if (i.equalsIgnoreCase("February")) { return "02"; } else if (i.equalsIgnoreCase("March")) { return "03"; } else if (i.equalsIgnoreCase("April")) { return "04"; } else if (i.equalsIgnoreCase("May")) { return "05"; } else if (i.equalsIgnoreCase("June")) { return "06"; } else if (i.equalsIgnoreCase("July")) { return "07"; } else if (i.equalsIgnoreCase("August")) { return "08"; } else if (i.equalsIgnoreCase("September")) { return "09"; } else if (i.equalsIgnoreCase("October")) { return "10"; } else if (i.equalsIgnoreCase("November")) { return "11"; } else if (i.equalsIgnoreCase("December")) { return "12"; } } return ""; } public String getDateDifferenceInDDMMYYYY(Date from, Date to) { Calendar fromDate = Calendar.getInstance(); Calendar toDate = Calendar.getInstance(); fromDate.setTime(from); toDate.setTime(to); int increment = 0; int year, month, day; System.out.println(fromDate.getActualMaximum(Calendar.DAY_OF_MONTH)); if (fromDate.get(Calendar.DAY_OF_MONTH) > toDate.get(Calendar.DAY_OF_MONTH)) { increment = fromDate.getActualMaximum(Calendar.DAY_OF_MONTH); } System.out.println("increment" + increment); // DAY CALCULATION if (increment != 0) { day = (toDate.get(Calendar.DAY_OF_MONTH) + increment) - fromDate.get(Calendar.DAY_OF_MONTH); increment = 1; } else { day = toDate.get(Calendar.DAY_OF_MONTH) - fromDate.get(Calendar.DAY_OF_MONTH); } // MONTH CALCULATION if ((fromDate.get(Calendar.MONTH) + increment) > toDate.get(Calendar.MONTH)) { month = (toDate.get(Calendar.MONTH) + 12) - (fromDate.get(Calendar.MONTH) + increment); increment = 1; } else { month = (toDate.get(Calendar.MONTH)) - (fromDate.get(Calendar.MONTH) + increment); increment = 0; } // YEAR CALCULATION year = toDate.get(Calendar.YEAR) - (fromDate.get(Calendar.YEAR) + increment); // return year + " Years " + month + " Months " + day + " Days"; return year + " Years "; } public String getBirthDateFromDifferenceInDDMMYYYY(int year, int month, int days) { Date cur = new Date(); String strMonth = (((cur.getMonth() + 1 - month) > 0) ? (cur.getMonth() + 1 - month) : ((cur.getMonth() + 1 - month) + 12)) + ""; return (cur.getDate() - days) + "/" + ((strMonth.length() == 1) ? "0" + strMonth : strMonth) + "/" + (((cur.getMonth() + 1 - month) > 0) ? (cur.getYear() + 1900 - year) : (cur.getYear() + 1900 - year - 1)); } public String getYearMonthDays(String date, int mode) throws ParseException { Date cur = new Date(); Date from = userFormat.parse(date); String diff = getDateDifferenceInDDMMYYYY(from, cur); switch (mode) { case 2: return diff.substring(0, diff.indexOf("Years ")); case 1: return diff.substring(diff.indexOf("Years") + 5, diff.indexOf("Months ")); case 0: return diff.substring(diff.indexOf("Months ") + 6, diff.indexOf("Days")); default: return "0"; } } public boolean checkDate(JTextField jtxtDate) { boolean flag = false; try { if (jtxtDate.getText().contains("/")) { jtxtDate.setText(jtxtDate.getText().replace("/", "")); } if (jtxtDate.getText().length() == 8) { String temp = jtxtDate.getText(); String setDate = (temp.substring(0, 2)).replace(temp.substring(0, 2), temp.substring(0, 2) + "/") + (temp.substring(2, 4)).replace(temp.substring(2, 4), temp.substring(2, 4) + "/") + temp.substring(4, temp.length()); jtxtDate.setText(setDate); flag = true; } } catch (Exception ex) { jtxtDate.requestFocusInWindow(); } return flag; } public boolean checkDate(com.toedter.calendar.JDateChooser jtxtDate) { boolean flag = false; try { if (jtxtDate.getText().contains("/")) { jtxtDate.setText(jtxtDate.getText().replace("/", "")); } if (jtxtDate.getText().length() == 8) { String temp = jtxtDate.getText(); String setDate = (temp.substring(0, 2)).replace(temp.substring(0, 2), temp.substring(0, 2) + "/") + (temp.substring(2, 4)).replace(temp.substring(2, 4), temp.substring(2, 4) + "/") + temp.substring(4, temp.length()); jtxtDate.setText(setDate); flag = true; } } catch (Exception ex) { jtxtDate.requestFocusInWindow(); } return flag; } public String getUserName(String strVal, String tag) { String userName = ""; try { PreparedStatement pstLocal = null; if (tag.equalsIgnoreCase("n")) { pstLocal = dataConnection .prepareStatement("select user_name from login where user_id=" + Integer.parseInt(strVal)); } else if (tag.equalsIgnoreCase("c")) { pstLocal = dataConnection .prepareStatement("select user_id from login where user_name='" + strVal + "'"); } ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { userName = rsLocal.getString(1); } if (rsLocal != null) { rsLocal.close(); } if (pstLocal != null) { pstLocal.close(); } } catch (Exception ex) { printToLogFile("Exception at getUserName", ex); } return userName; } public String getUserGroup(String strVal, String tag) { String userName = ""; try { PreparedStatement pstLocal = null; if (tag.equalsIgnoreCase("n")) { pstLocal = dataConnection.prepareStatement( "select user_grp_name from usergrp where user_grp_cd=" + Integer.parseInt(strVal)); } else if (tag.equalsIgnoreCase("c")) { pstLocal = dataConnection .prepareStatement("select user_grp_cd from usergrp where user_grp_name='" + strVal + "'"); } ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { userName = rsLocal.getString(1); } if (rsLocal != null) { rsLocal.close(); } if (pstLocal != null) { pstLocal.close(); } } catch (Exception ex) { printToLogFile("Exception at getUserName", ex); } return userName; } public void searchOnTextFields(JTable jTable1, JPanel panel) { this.rowSorter = new TableRowSorter<>(jTable1.getModel()); jTable1.setRowSorter(rowSorter); panel.add(new JLabel("Specify a word to match:"), BorderLayout.WEST); panel.add(jtfFilter, BorderLayout.CENTER); // setLayout(new BorderLayout()); // add(panel, BorderLayout.SOUTH); // add(new JScrollPane(jTable1), BorderLayout.CENTER); jtfFilter.getDocument().addDocumentListener(new DocumentListener() { @Override public void insertUpdate(DocumentEvent e) { String text = jtfFilter.getText(); if (text.trim().length() == 0) { rowSorter.setRowFilter(null); } else { rowSorter.setRowFilter(RowFilter.regexFilter("(?i)" + text)); } } @Override public void removeUpdate(DocumentEvent e) { String text = jtfFilter.getText(); if (text.trim().length() == 0) { rowSorter.setRowFilter(null); } else { rowSorter.setRowFilter(RowFilter.regexFilter("(?i)" + text)); } } @Override public void changedUpdate(DocumentEvent e) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } }); } public String ConvertDateFormetForDB(String strOrgDate) { //Changed String strConvDate = ""; try { strOrgDate = strOrgDate.trim(); if (!strOrgDate.startsWith("/")) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); java.util.Date dt = sdf.parse(strOrgDate); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); strConvDate = sdf2.format(dt); } } catch (Exception ex) { printToLogFile("Error in ConvertDateFormetForDB in clSysLib...:", ex); } return strConvDate; } public String ConvertDateFormetForDBAccess(String strOrgDate) { //Changed String strConvDate = ""; try { strOrgDate = strOrgDate.trim(); if (!strOrgDate.startsWith("/")) { SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); java.util.Date dt = sdf.parse(strOrgDate); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); strConvDate = sdf2.format(dt); } } catch (Exception ex) { printToLogFile("Error in ConvertDateFormetForDB in clSysLib...:", ex); } return strConvDate; } public String getGroupName(String strVal, String tag) { PreparedStatement pstLocal = null; ResultSet rsLocal = null; String returnVal = ""; String sql = ""; if (strVal.trim().equalsIgnoreCase("") && tag.equalsIgnoreCase("c")) { return "0"; } try { if (tag.equalsIgnoreCase("C")) { sql = "select grp_cd from groupmst where group_name='" + strVal + "'"; } else if (tag.equalsIgnoreCase("n")) { sql = "select group_name from groupmst where grp_cd=" + strVal; } if (sql != null) { pstLocal = dataConnection.prepareStatement(sql); rsLocal = pstLocal.executeQuery(); while (rsLocal.next()) { returnVal = rsLocal.getString(1); } if (rsLocal != null) { rsLocal.close(); } if (pstLocal != null) { pstLocal.close(); } } } catch (Exception ex) { printToLogFile("Exception at getGroupName", ex); } return returnVal; } public boolean checkDate2(JTextField jtxtDate) { boolean flag = checkDate(jtxtDate); try { if (!flag) { return flag; } String[] date = new String[3]; StringTokenizer stToken = new StringTokenizer(jtxtDate.getText(), "/"); int i = 0; while (stToken.hasMoreElements()) { String token = stToken.nextToken().trim(); if (!token.equalsIgnoreCase("")) { date[i] = token; i++; } } int day = 0, month = 0, year = 0; if (i == 3) { day = (int) isNumber(date[0]); month = (int) isNumber(date[1]); year = (int) isNumber(date[2]); if (day < 0 || day > 31) { flag = false; } if (month < 1 || month > 12) { flag = false; } if ((year + "").length() == 4) { } else if ((year + "").length() == 2) { year += 2000; } else { flag = false; } if (year < 1900 || year > 2099) { flag = false; } } else { flag = false; } Date d = null; if (flag) { Calendar cal = Calendar.getInstance(); cal.set(year, month - 1, day); d = cal.getTime(); jtxtDate.setText(userFormat.format(d)); } } catch (Exception ex) { flag = false; jtxtDate.requestFocusInWindow(); } if (!flag) { jtxtDate.setText(userFormat.format(new Date())); } return flag; } public boolean checkDate2(com.toedter.calendar.JDateChooser jtxtDate) { boolean flag = checkDate(jtxtDate); try { if (!flag) { return flag; } String[] date = new String[3]; StringTokenizer stToken = new StringTokenizer(jtxtDate.getText(), "/"); int i = 0; while (stToken.hasMoreElements()) { String token = stToken.nextToken().trim(); if (!token.equalsIgnoreCase("")) { date[i] = token; i++; } } int day = 0, month = 0, year = 0; if (i == 3) { day = (int) isNumber(date[0]); month = (int) isNumber(date[1]); year = (int) isNumber(date[2]); if (day < 0 || day > 31) { flag = false; } if (month < 1 || month > 12) { flag = false; } if ((year + "").length() == 4) { } else if ((year + "").length() == 2) { year += 2000; } else { flag = false; } if (year < 1900 || year > 2099) { flag = false; } } else { flag = false; } Date d = null; if (flag) { Calendar cal = Calendar.getInstance(); cal.set(year, month - 1, day); d = cal.getTime(); jtxtDate.setText(userFormat.format(d)); } } catch (Exception ex) { flag = false; jtxtDate.requestFocusInWindow(); } if (!flag) { jtxtDate.setText(userFormat.format(new Date())); } return flag; } public void setTable(JTable jTableDet, JComponent[] compHeader) { int maxHeightHeaderComp = 0; int maxHeightFooterComp = 0; int x = 0; int y = 0; if (compHeader != null) { for (int i = 0; i < compHeader.length; i++) { if (compHeader[i] != null) { if (maxHeightHeaderComp < compHeader[i].getHeight()) { maxHeightHeaderComp = compHeader[i].getHeight(); } } } // SETTING HEADER x = 0; y = 0; for (int i = 0; i < jTableDet.getColumnCount(); i++) { if (compHeader[i] != null) { compHeader[i].setBounds(x, y, jTableDet.getColumn(jTableDet.getColumnName(i).toString()).getWidth() - 1, maxHeightHeaderComp); } x += jTableDet.getColumn(jTableDet.getColumnName(i).toString()).getWidth(); } } } public void toInteger(java.awt.event.FocusEvent evt) { ((JTextField) evt.getSource()).setText((int) isNumber(((JTextField) evt.getSource()).getText()) + ""); } public void toDouble(java.awt.event.FocusEvent evt) { ((JTextField) evt.getSource()).setText(isNumber(((JTextField) evt.getSource()).getText()) + ""); } public void toTime(java.awt.event.FocusEvent evt) { ((JTextField) evt.getSource()) .setText(Convert2DecFmtForRs(isNumber(((JTextField) evt.getSource()).getText()))); double time = isNumber(((JTextField) evt.getSource()).getText()); if (time > 23.59) { ((JTextField) evt.getSource()).setText("23.59"); } } public void setSelectRowShortcut(JInternalFrame form, final JTable table, final JComponent comp) { KeyStroke closeKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T, KeyEvent.CTRL_MASK, false); Action closeKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int row = table.getRowCount(); int selRow = table.getSelectedRow(); if (row > 0 && selRow == -1) { table.clearSelection(); table.requestFocusInWindow(); table.setRowSelectionInterval(0, 0); } else { table.clearSelection(); comp.requestFocusInWindow(); } } }; form.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(closeKeyStroke, "Table"); form.getActionMap().put("Table", closeKeyAction); } public void keyPress(int code) { robotVar.keyPress(code); } public void setShortcut(JInternalFrame form, final JButton button) { KeyStroke closeKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false); Action closeKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { button.doClick(); } }; form.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(closeKeyStroke, "Close"); form.getActionMap().put("Close", closeKeyAction); } public void confirmDialog(String message) { final JButton yes = new JButton("Yes"); final JButton no = new JButton("No"); type = false; JOptionPane JP = new JOptionPane(); // b1.setMnemonic(KeyEvent.VK_Y); // b2.setMnemonic(KeyEvent.VK_N); no.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { type = false; no.getTopLevelAncestor().setVisible(false); } }); yes.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { type = true; yes.getTopLevelAncestor().setVisible(false); } }); Action yesKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { yes.doClick(); } }; Action noKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { no.doClick(); } }; yes.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Y, 0, false), "Click Me Button"); yes.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0, false), "Click Me"); no.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0, false), "Click Me"); no.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Y, 0, false), "Click Me Button"); yes.getActionMap().put("Click Me Button", yesKeyAction); yes.getActionMap().put("Click Me", noKeyAction); no.getActionMap().put("Click Me Button", yesKeyAction); no.getActionMap().put("Click Me", noKeyAction); JButton[] options = { yes, no }; JP.showOptionDialog(null, message + " \n (Press Y for Yes) (Press N for No)", "", -1, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); } public void confirmDialog(String message, String option1, String option2) { final JButton yes = new JButton(option1); final JButton no = new JButton(option2); final JButton cancel = new JButton("Cancel"); typeThree = -1; JOptionPane JP = new JOptionPane(); // b1.setMnemonic(KeyEvent.VK_Y); // b2.setMnemonic(KeyEvent.VK_N); no.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { typeThree = 1; no.getTopLevelAncestor().setVisible(false); } }); cancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { typeThree = -1; cancel.getTopLevelAncestor().setVisible(false); } }); yes.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent ae) { typeThree = 0; yes.getTopLevelAncestor().setVisible(false); } }); Action yesKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { yes.doClick(); } }; Action noKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { no.doClick(); } }; Action cancelKeyAction = new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { cancel.doClick(); } }; yes.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Y, 0, false), "Click Me Button"); yes.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0, false), "Click Me"); no.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_N, 0, false), "Click Me"); no.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_Y, 0, false), "Click Me Button"); cancel.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0, false), "Click Me"); cancel.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_C, 0, false), "Click Me Button"); yes.getActionMap().put("Click Me Button", yesKeyAction); yes.getActionMap().put("Click Me", noKeyAction); no.getActionMap().put("Click Me Button", yesKeyAction); no.getActionMap().put("Click Me", noKeyAction); cancel.getActionMap().put("Click Me Button", cancelKeyAction); cancel.getActionMap().put("Click Me", cancelKeyAction); JButton[] options = { yes, no, cancel }; JP.showOptionDialog(null, message + " \n (Press Y for Yes) (Press N for No)", "", -1, JOptionPane.QUESTION_MESSAGE, null, options, options[0]); } public void toUpper(java.awt.event.FocusEvent evt) { if (evt.getSource() instanceof JTextField) { JTextField txt = (JTextField) evt.getSource(); txt.setText(txt.getText().trim().toUpperCase()); } } public void addGlassPane(SmallNavigation navLoad) { Component c = navLoad.getParent(); while (!(c instanceof JInternalFrame)) { c = c.getParent(); } if (!(((JInternalFrame) c).getGlassPane() instanceof CursorGlassPane)) { //If antother Glass Pane is set for this form then save it to restore it after saving.. oldGlass = ((JInternalFrame) c).getGlassPane(); ((JInternalFrame) c).setGlassPane(glassPane); } ((JInternalFrame) c).getGlassPane().setVisible(true); ((JInternalFrame) c).getGlassPane().requestFocusInWindow(); navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR)); } public void removeGlassPane(SmallNavigation navLoad) { Component c = navLoad.getParent(); while (!(c instanceof JInternalFrame)) { c = c.getParent(); } navLoad.requestFocusInWindow(); ((JInternalFrame) c).getGlassPane().setVisible(false); if (oldGlass != null) { ((JInternalFrame) c).setGlassPane(oldGlass); } navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); } public void addGlassPane(JInternalFrame navLoad) { if (!(((JInternalFrame) navLoad).getGlassPane() instanceof CursorGlassPane)) { //If antother Glass Pane is set for this form then save it to restore it after saving.. oldGlass = ((JInternalFrame) navLoad).getGlassPane(); ((JInternalFrame) navLoad).setGlassPane(glassPane); } ((JInternalFrame) navLoad).getGlassPane().setVisible(true); ((JInternalFrame) navLoad).getGlassPane().requestFocusInWindow(); navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR)); } public void removeGlassPane(JInternalFrame navLoad) { navLoad.requestFocusInWindow(); ((JInternalFrame) navLoad).getGlassPane().setVisible(false); if (oldGlass != null) { ((JInternalFrame) navLoad).setGlassPane(oldGlass); } navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); } public void addGlassPane(ReportPanel navLoad) { Component c = navLoad.getParent(); while (!(c instanceof JInternalFrame)) { c = c.getParent(); } if (!(((JInternalFrame) c).getGlassPane() instanceof CursorGlassPane)) { //If antother Glass Pane is set for this form then save it to restore it after saving.. oldGlass = ((JInternalFrame) c).getGlassPane(); ((JInternalFrame) c).setGlassPane(glassPane); } ((JInternalFrame) c).getGlassPane().setVisible(true); ((JInternalFrame) c).getGlassPane().requestFocusInWindow(); navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR)); } public void removeGlassPane(ReportPanel navLoad) { Component c = navLoad.getParent(); while (!(c instanceof JInternalFrame)) { c = c.getParent(); } navLoad.requestFocusInWindow(); ((JInternalFrame) c).getGlassPane().setVisible(false); if (oldGlass != null) { ((JInternalFrame) c).setGlassPane(oldGlass); } navLoad.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); } public void toRupee(java.awt.event.FocusEvent evt) { if (evt.getSource() instanceof JTextField) { JTextField txt = (JTextField) evt.getSource(); txt.setText(Convert2DecFmtForRs(isNumber(txt))); } } public boolean isBlank(Component comp) { JTextField jText = (JTextField) comp; if (jText.getText().trim().length() == 0) { return true; } else { return false; } } public boolean isBlank(JComponent comp) { if (comp instanceof JTextField) { JTextField jText = (JTextField) comp; if (jText.getText().trim().length() == 0) { return true; } else { return false; } } else if (comp instanceof JLabel) { JLabel jText = (JLabel) comp; if (jText.getText().trim().length() == 0) { return true; } else { return false; } } return false; } public JasperPrint reportGenerator(String fileName, HashMap params, ResultSet viewDataRs, JPanel panelReport) { JRResultSetDataSource dataSource = new JRResultSetDataSource(viewDataRs); JasperPrint print = null; // jScrollPane1.setVisible(false); try { print = JasperFillManager.fillReport( System.getProperty("user.dir") + File.separatorChar + "Reports" + File.separatorChar + fileName, params, dataSource); panelReport.removeAll(); JRViewer jrViewer = new JRViewer(print); jrViewer.setSize(panelReport.getWidth(), panelReport.getHeight()); panelReport.add(jrViewer); SwingUtilities.updateComponentTreeUI(panelReport); panelReport.requestFocusInWindow(); } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public void exportToExcel(String sheetName, ArrayList headers, ArrayList data, String fileName) throws HPSFException { final JFileChooser jfc = new JFileChooser(hms.HMS101.currentDirectory); final JTextField jf = new JTextField(); jfc.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equalsIgnoreCase("ApproveSelection")) { jf.setText(jfc.getSelectedFile().getAbsolutePath()); } else { jf.setText(""); return; } } }); jfc.setCurrentDirectory(new File(hms.HMS101.currentDirectory)); jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); jfc.setDialogTitle("Select Destination Folder"); jfc.setApproveButtonText("Select"); jfc.showOpenDialog(null); if (!jf.getText().isEmpty()) { File f1 = new File(jf.getText() + File.separatorChar + sheetName.replaceAll(".jasper", "") + ".xls"); HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet(sheetName); int rowIdx = 0; short cellIdx = 0; // Header HSSFRow hssfHeader = sheet.createRow(rowIdx); HSSFCellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); for (Iterator cells = headers.iterator(); cells.hasNext();) { HSSFCell hssfCell = hssfHeader.createCell(cellIdx++); hssfCell.setCellStyle(cellStyle); hssfCell.setCellValue((String) cells.next()); } // Data rowIdx = 1; for (Iterator rows = data.iterator(); rows.hasNext();) { ArrayList row = (ArrayList) rows.next(); HSSFRow hssfRow = sheet.createRow(rowIdx++); cellIdx = 0; for (Iterator cells = row.iterator(); cells.hasNext();) { HSSFCell hssfCell = hssfRow.createCell(cellIdx++); hssfCell.setCellValue(cells.next() + ""); } } wb.setSheetName(0, sheetName); try { FileOutputStream outs = new FileOutputStream(f1); wb.write(outs); outs.close(); confirmDialog(f1.getAbsolutePath() + " has been generated successfully."); if (type) { Desktop.getDesktop().open(f1); } } catch (IOException e) { throw new HPSFException(e.getMessage()); } } } public JasperPrint reportGeneratorWord(String fileName, HashMap params) { JasperPrint print = null; // jScrollPane1.setVisible(false); try { String printFileName = null; printFileName = JasperFillManager.fillReportToFile( System.getProperty("user.dir") + File.separatorChar + "Reports/" + fileName, params); if (printFileName != null) { JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.INPUT_FILE_NAME, printFileName); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, System.getProperty("user.dir") + File.separatorChar + fileName.replaceAll(".jasper", "") + ".pdf"); exporter.exportReport(); Desktop.getDesktop().open(new File(System.getProperty("user.dir") + File.separatorChar + fileName.replaceAll(".jasper", "") + ".pdf")); } } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public JasperPrint reportGeneratorWord(String fileName, HashMap params, ResultSet dataList) { JRResultSetDataSource dataSource = new JRResultSetDataSource(dataList); JasperPrint print = null; // jScrollPane1.setVisible(false); try { print = JasperFillManager.fillReport( System.getProperty("user.dir") + File.separatorChar + "Reports" + File.separatorChar + fileName, params, dataSource); JasperPrintManager.printReport(print, false); } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public JasperPrint reportGeneratorWord(String fileName, HashMap params, ArrayList dataList) { JasperPrint print = null; // jScrollPane1.setVisible(false); try { String printFileName = null; JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(dataList); printFileName = JasperFillManager.fillReportToFile( System.getProperty("user.dir") + File.separatorChar + "Reports/" + fileName, params, beanColDataSource); if (printFileName != null) { JRPdfExporter exporter = new JRPdfExporter(); exporter.setParameter(JRExporterParameter.INPUT_FILE_NAME, printFileName); exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, System.getProperty("user.dir") + File.separatorChar + fileName.replaceAll(".jasper", "") + ".pdf"); exporter.exportReport(); Desktop.getDesktop().print(new File(System.getProperty("user.dir") + File.separatorChar + fileName.replaceAll(".jasper", "") + ".pdf")); } } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public JasperPrint reportGenerator(String fileName, HashMap params, JRDataSource viewDataRs, JPanel panelReport) { // JRResultSetDataSource dataSource = new JRResultSetDataSource(viewDataRs); JasperPrint print = null; // jScrollPane1.setVisible(false); try { print = JasperFillManager.fillReport( System.getProperty("user.dir") + File.separatorChar + "Reports" + File.separatorChar + fileName, params, viewDataRs); panelReport.removeAll(); JRViewer jrViewer = new JRViewer(print); // ((JPanel)jrViewer.getComponent(0)).remove(0); jrViewer.setSize(panelReport.getWidth(), panelReport.getHeight()); panelReport.add(jrViewer); SwingUtilities.updateComponentTreeUI(panelReport); panelReport.requestFocusInWindow(); } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public JasperPrint reportGenerator(String fileName, HashMap params, JPanel panelReport) { // JRResultSetDataSource dataSource = new JRResultSetDataSource(viewDataRs); JasperPrint print = null; // jScrollPane1.setVisible(false); try { print = JasperFillManager.fillReport( System.getProperty("user.dir") + File.separatorChar + "Reports" + File.separatorChar + fileName, params); panelReport.removeAll(); JRViewer jrViewer = new JRViewer(print); // ((JPanel)jrViewer.getComponent(0)).remove(0); jrViewer.setSize(panelReport.getWidth(), panelReport.getHeight()); panelReport.add(jrViewer); SwingUtilities.updateComponentTreeUI(panelReport); panelReport.requestFocusInWindow(); } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public JasperPrint reportGenerator(String fileName, HashMap params, ArrayList viewDataRs, JPanel panelReport) { // JRResultSetDataSource dataSource = new JRResultSetDataSource(viewDataRs); JasperPrint print = null; // jScrollPane1.setVisible(false); try { JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(viewDataRs); print = JasperFillManager.fillReport( System.getProperty("user.dir") + File.separatorChar + "Reports" + File.separatorChar + fileName, params, beanColDataSource); panelReport.removeAll(); JRViewer jrViewer = new JRViewer(print); // ((JPanel) jrViewer.getComponent(0)).remove(0); jrViewer.setSize(panelReport.getWidth(), panelReport.getHeight()); panelReport.add(jrViewer); SwingUtilities.updateComponentTreeUI(panelReport); panelReport.requestFocusInWindow(); } catch (Exception ex) { printToLogFile("Exception at reportGenerator report", ex); } return print; } public void enterFocus(KeyEvent evt, JComponent comp) { if (evt.getKeyCode() == KeyEvent.VK_ENTER) { evt.consume(); ((JComponent) evt.getComponent()).setNextFocusableComponent(comp); comp.requestFocusInWindow(); } } public void shiftFocus(KeyEvent evt, JComponent comp) { if (evt.getKeyCode() == KeyEvent.VK_TAB) { if (evt.getModifiers() == KeyEvent.SHIFT_MASK) { evt.consume(); ((JComponent) evt.getComponent()).setNextFocusableComponent(comp); comp.requestFocusInWindow(); } } } public void downFocus(KeyEvent evt, JComponent comp) { if (evt.getKeyCode() == KeyEvent.VK_DOWN) { if (evt.getModifiers() == KeyEvent.CTRL_MASK) { evt.consume(); comp.requestFocusInWindow(); } } } public void enterClick(KeyEvent evt) { if (evt.getKeyCode() == KeyEvent.VK_ENTER) { evt.consume(); ((JButton) evt.getSource()).doClick(); } } public double isNumber(Component comp) { double ans = 0.00; JTextField text = (JTextField) comp; try { ans = Double.parseDouble(text.getText()); } catch (Exception ex) { // printToLogFile("Error at isNumber in Library", ex); } return ans; } public double isNumber(String comp) { double ans = 0.00; try { ans = Double.parseDouble(comp); } catch (Exception ex) { // printToLogFile("Error at isNumber in Library", ex); } return ans; } public double isNumber(JComponent comp) { double ans = 0.00; String txt = ""; if (comp instanceof JTextField) { txt = ((JTextField) comp).getText(); } else if (comp instanceof JLabel) { txt = ((JLabel) comp).getText(); } try { ans = Double.parseDouble(txt); } catch (Exception ex) { // printToLogFile("Error at isNumber in Library", ex); } return ans; } public String Convert2DecFmtForRs(double strSource) { String str = "0"; try { String digit = ""; for (int i = 1; i <= 2; i++) { digit += "0"; } NumberFormat formatter = new DecimalFormat("#0.00"); str = formatter.format(strSource); } catch (Exception ex) { System.out.println(ex.getCause()); System.out.println(ex.getMessage()); } return str; } public void showMessageDailog(String msg) { JOptionPane.showMessageDialog(null, msg); } public void showErrorDailog(String msg) { JOptionPane.showMessageDialog(null, msg, "", JOptionPane.ERROR_MESSAGE); } public boolean isEnter(KeyEvent evt) { boolean flag = false; if (evt.getKeyCode() == KeyEvent.VK_ENTER) { flag = true; } return flag; } public void onlyInteger(KeyEvent event, int len) { try { int keyCode = event.getKeyChar(); JTextComponent source = (JTextComponent) event.getSource(); if (!(keyCode < 48 || keyCode > 58) || keyCode == 45) { if (event.isConsumed()) { return; } if (source.getText().length() >= len && event.getKeyChar() != event.VK_BACK_SPACE && source.getSelectionStart() == source.getSelectionEnd()) { source.getToolkit().beep(); event.consume(); } } else { event.consume(); } } catch (Exception e) { e.printStackTrace(); } } public void fixLength(KeyEvent event, int len) { try { if (event.isConsumed()) { return; } JTextComponent source = (JTextComponent) event.getSource(); if (len == -1) { len = source.getText().length() + 1; } if (source.getText().length() >= len && event.getKeyChar() != event.VK_BACK_SPACE && source.getSelectionStart() == source.getSelectionEnd()) { source.getToolkit().beep(); event.consume(); } } catch (Exception e) { e.printStackTrace(); } } public void onlyNumber(KeyEvent event, int len) { try { int keyCode = event.getKeyChar(); JTextComponent source = (JTextComponent) event.getSource(); if (len == -1) { len = source.getText().length() + 1; } if (!(keyCode < 48 || keyCode > 58) || keyCode == 46 || keyCode == 45) { if (event.isConsumed()) { return; } if (source.getText().length() >= len && event.getKeyChar() != event.VK_BACK_SPACE && source.getSelectionStart() == source.getSelectionEnd()) { source.getToolkit().beep(); event.consume(); } } else { event.consume(); } } catch (Exception e) { e.printStackTrace(); } } public void adjustJTableRowSizes(JTable jTable) { for (int row = 0; row < jTable.getRowCount(); row++) { int maxHeight = 0; for (int column = 0; column < jTable.getColumnCount(); column++) { TableCellRenderer cellRenderer = jTable.getCellRenderer(row, column); Object valueAt = jTable.getValueAt(row, column); Component tableCellRendererComponent = cellRenderer.getTableCellRendererComponent(jTable, valueAt, false, false, row, column); int heightPreferable = tableCellRendererComponent.getPreferredSize().height; maxHeight = Math.max(heightPreferable, maxHeight); } jTable.setRowHeight(row, maxHeight); } } public String ConvertDateFormetForDisply(String strOrgDate) throws ParseException { //Changed String strConvDate = ""; //try //{ strOrgDate = strOrgDate.trim(); if (!strOrgDate.startsWith("/")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date dt = sdf.parse(strOrgDate); SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy"); strConvDate = sdf2.format(dt); } //} catch(Exception ex){ //printToLogFile("Error in ConvertDateFormetForDB in clSysLib...:",ex); //} return strConvDate; } public void adjustColumnSizes(JTable table, int column, int margin) { DefaultTableColumnModel colModel = (DefaultTableColumnModel) table.getColumnModel(); TableColumn col = colModel.getColumn(column); int width, minWidth; TableCellRenderer renderer = col.getHeaderRenderer(); if (renderer == null) { renderer = table.getTableHeader().getDefaultRenderer(); } Component comp = renderer.getTableCellRendererComponent(table, col.getHeaderValue(), false, false, 0, 0); width = comp.getPreferredSize().width; for (int r = 0; r < table.getRowCount(); r++) { renderer = table.getCellRenderer(r, column); comp = renderer.getTableCellRendererComponent(table, table.getValueAt(r, column), false, false, r, column); int currentWidth = comp.getPreferredSize().width; width = Math.max(width, currentWidth); } minWidth = col.getMinWidth(); width += 2 * margin; if (width < minWidth) { width = minWidth; } col.setPreferredWidth(width); col.setWidth(width); } public void setColumnSizeForTable(JTable table, int minTableWidth) { adjustJTableRowSizes(table); for (int i = 0; i < table.getColumnCount(); i++) { adjustColumnSizes(table, i, 2); } if (minTableWidth != 0) { if (table.getPreferredSize().width < minTableWidth) { table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); } else { table.setAutoResizeMode(0); } } else { table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); } } public void printToLogFile(String strMsg, Exception exType) { try { HashSet<String> hsFileName = new HashSet<String>(); if (exType != null) { StackTraceElement str[] = exType.getStackTrace(); int iIndex = 0; if (str.length > 10) { iIndex = 10; } else { iIndex = str.length; } for (int i = 0; i < iIndex; i++) { if (str[i].getFileName() != null) { hsFileName.add(str[i].getFileName()); } } if (!hsFileName.contains("DataFilterColumnArray.java") && !hsFileName.contains("DataFilterDate.java") && !hsFileName.contains("DataFilterNumber.java") && !hsFileName.contains("DataFilterString.java")) { HMSHome.logFile.write("Time : " + getCurrentDBServerTime()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Exception From : " + strMsg.toString()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Main Exception :" + exType.toString()); HMSHome.logFile.newLine(); for (int i = 0; i < iIndex; i++) { HMSHome.logFile.write(" ====================== "); HMSHome.logFile.newLine(); HMSHome.logFile.write("Class Name :" + str[i].getClassName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("File Name :" + str[i].getFileName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Method Name :" + str[i].getMethodName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Line Number :" + str[i].getLineNumber()); HMSHome.logFile.newLine(); } HMSHome.logFile.write("=================================================="); HMSHome.logFile.newLine(); HMSHome.logFile.write("=================================================="); HMSHome.logFile.newLine(); } } else { HMSHome.logFile.write("Time : " + getCurrentDBServerTime()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Message(For Information) : " + strMsg.toString()); HMSHome.logFile.newLine(); HMSHome.logFile.write("=================================================="); HMSHome.logFile.newLine(); } HMSHome.logFile.flush(); if (exType instanceof java.sql.SQLNonTransientConnectionException) { JButton exit = new JButton("Exit"); // JButton cancel = new JButton("Cancel"); JButton[] button = { exit }; exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); JOptionPane.showOptionDialog(new HMSHome(), "Please Restart the Application and\n Check the Database Connection", "Connection Error", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, button, exit); return; } } catch (Exception ex) { printToLogFile(strMsg + " (And Error in PrintToLogFile : " + ex + ")", exType, true); } } public void printToLogFile(String strMsg, Exception exType, boolean withoutTiming) { try { HashSet<String> hsFileName = new HashSet<String>(); if (exType != null) { StackTraceElement str[] = exType.getStackTrace(); int iIndex = 0; if (str.length > 10) { iIndex = 10; } else { iIndex = str.length; } for (int i = 0; i < iIndex; i++) { if (str[i].getFileName() != null) { hsFileName.add(str[i].getFileName()); } } if (!hsFileName.contains("DataFilterColumnArray.java") && !hsFileName.contains("DataFilterDate.java") && !hsFileName.contains("DataFilterNumber.java") && !hsFileName.contains("DataFilterString.java")) { HMSHome.logFile.write("Exception From : " + strMsg.toString()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Main Exception :" + exType.toString()); HMSHome.logFile.newLine(); for (int i = 0; i < iIndex; i++) { HMSHome.logFile.write(" ====================== "); HMSHome.logFile.newLine(); HMSHome.logFile.write("Class Name :" + str[i].getClassName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("File Name :" + str[i].getFileName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Method Name :" + str[i].getMethodName()); HMSHome.logFile.newLine(); HMSHome.logFile.write("Line Number :" + str[i].getLineNumber()); HMSHome.logFile.newLine(); } HMSHome.logFile.write("=================================================="); HMSHome.logFile.newLine(); HMSHome.logFile.write("=================================================="); HMSHome.logFile.newLine(); } if (exType instanceof java.sql.SQLNonTransientConnectionException) { HMSHome.logFile.flush(); JButton exit = new JButton("Exit"); // JButton cancel = new JButton("Cancel"); JButton[] button = { exit }; exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); JOptionPane.showOptionDialog(new HMSHome(), "Please Restart the Application and\n Check the Database Connection", "Connection Error", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE, null, button, exit); return; } } else { HMSHome.logFile.write("Main Exception :" + strMsg.toString()); HMSHome.logFile.newLine(); } HMSHome.logFile.flush(); } catch (Exception ex) { System.out.println("Exception at printToLogFile_withoutTiming in clSysLib..!!" + ex); } } public String getCurrentDBServerTime() { String strTime = ""; try { Calendar cal = Calendar.getInstance(); strTime = new SimpleDateFormat("dd MMM yyyy HH:mm:ss").format(cal.getTime()); } catch (Exception ex) { //Null is passed here, because it shold print the original exception, //If we passed this exception then on nontransientconnection exception //it will go for exit in printtoLogfile.. printToLogFile("Exception at getCurrentDBServerTime in clSysLib..!!: ", null, true); } return strTime; // Temprority changed.. // return DateFormat.getTimeInstance().format(new java.util.Date()); } public boolean isExist(String table, String column, String data, Connection dataConnection) { boolean flag = false; PreparedStatement psLocal = null; ResultSet rsLocal = null; try { psLocal = dataConnection .prepareStatement("select " + column + " from " + table + " WHERE " + column + "=?"); psLocal.setString(1, data.toUpperCase()); rsLocal = psLocal.executeQuery(); flag = rsLocal.next(); } catch (Exception ex) { printToLogFile("Error at isExist in Library2", ex); } finally { closeResultSet(rsLocal); closeStatement(psLocal); } return flag; } public boolean isExistForEdit(String table, String column, String data, String primaryCol, String primaryVal, Connection dataConnection) { boolean flag = false; PreparedStatement psLocal = null; ResultSet rsLocal = null; try { psLocal = dataConnection.prepareStatement( "select " + column + " from " + table + " WHERE " + column + "=? AND " + primaryCol + "<>?"); psLocal.setString(1, data); psLocal.setString(2, primaryVal); rsLocal = psLocal.executeQuery(); flag = rsLocal.next(); } catch (Exception ex) { printToLogFile("Error at isExistForEdit in Library", ex); } finally { closeResultSet(rsLocal); closeStatement(psLocal); } return flag; } public void closeResultSet(ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (Exception ex) { printToLogFile("Error at close resultset", ex); } } public void closeStatement(PreparedStatement pst) { try { if (pst != null) { pst.close(); } } catch (Exception ex) { printToLogFile("Error at close statement", ex); } } public String getCountryCD(String code, String tag) { String stateCD = ""; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select country_cd from countrymst where country_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select country_name from countrymst where country_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at get Country CD", ex); } return stateCD; } public String getSiteCD(String code, String tag) { String stateCD = ""; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select site_cd from sitemst where site_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select site_name from sitemst where site_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at get site CD", ex); } return stateCD; } public String getSpecialityCD(String code, String tag) { String stateCD = ""; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select speciality_cd from specialitymst where speciality_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select speciality_name from specialitymst where speciality_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at get Country CD", ex); } return stateCD; } public String getStateCd(String code, String tag) { String stateCD = ""; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select state_cd from statemst where state_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select state_name from statemst where state_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String getAreaCd(String code, String tag) { String stateCD = "0"; try { String sql = ""; if (tag.equalsIgnoreCase("C")) { sql = "select area_cd from areamst where area_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select area_name from areamst where area_cd=" + code; } else if (tag.equalsIgnoreCase("CP")) { sql = "select pincode from areamst where area_cd=" + code; } else if (tag.equalsIgnoreCase("PC")) { sql = "select area_cd from areamst where pincode='" + code + "'"; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String getCityCd(String code, String tag) { String stateCD = "0"; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select city_cd from citymst where city_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select city_name from citymst where city_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String getSubSpecialistCd(String code, String tag) { String stateCD = "0"; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select spec_sub_cd from specsubmst where spec_sub_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select spec_sub_name from specsubmst where spec_sub_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String getData(String column, String table, String where, String whereData, int type) { String data = ""; try { String sql = ""; if (type == 0) { sql = "select " + column + " from " + table + " where " + where + "='" + whereData + "'"; } else { sql = "select " + column + " from " + table + " where " + where + "=" + whereData + ""; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { data = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getData", ex); } return data; } public String getData(String sql) { String data = ""; try { PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { data = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getData", ex); } return data; } public void generateLog(String fromTable, String toTable, String field, String value) throws SQLException { PreparedStatement psLocal = null; psLocal = dataConnection .prepareStatement("DELETE FROM " + toTable + " WHERE " + field + "='" + value + "'"); psLocal.executeUpdate(); psLocal = dataConnection.prepareStatement( "INSERT INTO " + toTable + " SELECT *FROM " + fromTable + " WHERE " + field + "='" + value + "'"); psLocal.executeUpdate(); } public void generateLogForDataHide(String value) throws SQLException { String sql = "select * from opdbillhd where ref_no ='" + value + "'"; PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLcoal = pstLocal.executeQuery(); ResultSetMetaData rsMetadata = rsLcoal.getMetaData(); sql = "insert into opdhidehd("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += rsMetadata.getColumnLabel(i) + ","; } } sql = sql.substring(0, sql.length() - 1); sql += ") values ("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += "?,"; } } sql = sql.substring(0, sql.length() - 1); sql += ")"; PreparedStatement pstUpdate = dataConnection.prepareStatement(sql); while (rsLcoal.next()) { for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { pstUpdate.setString(i, rsLcoal.getString(rsMetadata.getColumnName(i))); } } pstUpdate.executeUpdate(); } String rec_no = getData("select max(rec_no) from opdhidehd"); //OPDBILLDT sql = "select * from opdbilldt where ref_no ='" + value + "'"; pstLocal = dataConnection.prepareStatement(sql); rsLcoal = pstLocal.executeQuery(); rsMetadata = rsLcoal.getMetaData(); sql = "insert into opdhidedt("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += rsMetadata.getColumnLabel(i) + ","; } } sql += "rec_no) values ("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += "?,"; } } sql += rec_no + ")"; pstUpdate = dataConnection.prepareStatement(sql); while (rsLcoal.next()) { for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { pstUpdate.setString(i, rsLcoal.getString(rsMetadata.getColumnName(i))); } } pstUpdate.executeUpdate(); } //OPDBillDT finish //paymenthide sql = "select * from payment where ref_no ='" + value + "'"; pstLocal = dataConnection.prepareStatement(sql); rsLcoal = pstLocal.executeQuery(); rsMetadata = rsLcoal.getMetaData(); sql = "insert into paymenthide("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += rsMetadata.getColumnLabel(i) + ","; } } sql += "rec_no) values ("; for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { sql += "?,"; } } sql += rec_no + ")"; pstUpdate = dataConnection.prepareStatement(sql); while (rsLcoal.next()) { for (int i = 1; i <= rsMetadata.getColumnCount(); i++) { if (!rsMetadata.getColumnLabel(i).equalsIgnoreCase("rec_no")) { pstUpdate.setString(i, rsLcoal.getString(rsMetadata.getColumnName(i))); } } pstUpdate.executeUpdate(); } //paymenthide finish } public void generateLog(String fromTable, String toTable, String field, String value, String new_ref_no) throws SQLException { PreparedStatement psLocal = null; psLocal = dataConnection.prepareStatement( "update " + fromTable + " set " + field + "= '" + new_ref_no + "' WHERE rec_no=" + value + ""); psLocal.executeUpdate(); psLocal = dataConnection.prepareStatement( "INSERT INTO " + toTable + " SELECT * FROM " + fromTable + " WHERE rec_no=" + value + ""); psLocal.executeUpdate(); } public String generateKey(String table, String column, int length, String prefix) { String code = ""; int no = 0; PreparedStatement pstLocal = null; ResultSet rsLocal = null; try { pstLocal = dataConnection.prepareStatement("SELECT MAX(" + column + ") FROM " + table + " WHERE UPPER(" + column + ") LIKE '" + prefix.toUpperCase() + "%'"); rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { if (rsLocal.getString(1) != null) { String sno = rsLocal.getString(1).substring(prefix.length()); no = Integer.parseInt(sno); no++; for (int i = (no + "").length(); i < (length - prefix.length()); i++) { code += "0"; } code = prefix + code + no; } else { code = prefix; for (int i = 1; i < (length - prefix.length()); i++) { code += "0"; } code = code + "1"; } } else { code = prefix; for (int i = 1; i < (length - prefix.length()); i++) { code += "0"; } code = code + "1"; } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at generateKey", ex); } return code; } public String generateKey(String ref_no, int length, String prefix) { String code = ""; int no = 0; String sno = ref_no.substring(prefix.length()); no = Integer.parseInt(sno); no++; for (int i = (no + "").length(); i < (length - prefix.length()); i++) { code += "0"; } code = prefix + code + no; return code; } public String getAcCode(String strVal, String tag) { PreparedStatement pstLocal = null; ResultSet rsLocal = null; String returnVal = ""; String sql = "0"; try { if (strVal.trim().equalsIgnoreCase("") && tag.equalsIgnoreCase("c")) { return "0"; } if (tag.equalsIgnoreCase("C")) { sql = "select ac_cd from acntmst where ac_name='" + strVal + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select ac_name from acntmst where ac_cd=" + strVal + ""; } else if (tag.equalsIgnoreCase("AC")) { sql = "select ac_cd from acntmst where ac_alias='" + strVal + "'"; } else if (tag.equalsIgnoreCase("CA")) { sql = "select ac_alias from acntmst where ac_cd=" + strVal + ""; } if (sql != null) { pstLocal = dataConnection.prepareStatement(sql); rsLocal = pstLocal.executeQuery(); while (rsLocal.next()) { returnVal = rsLocal.getString(1); } if (rsLocal != null) { rsLocal.close(); } if (pstLocal != null) { pstLocal.close(); } } } catch (Exception ex) { printToLogFile("Exception at getAcCode", ex); } return returnVal.trim(); } public String getbillGrpCode(String code, String tag) { String stateCD = "0"; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select bill_grp_cd from billgrpmst where bill_group_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select bill_group_name from billgrpmst where bill_grp_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String getbillitemCode(String code, String tag) { String stateCD = "0"; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select bill_item_cd from billitemmst where bill_item_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select bill_item_name from billitemmst where bill_item_cd=" + code; } else if (tag.equalsIgnoreCase("CS")) { sql = "select service_charge from billitemmst where bill_item_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getStateCD", ex); } return stateCD; } public String generateOPDNumber() { String opd = ""; java.util.Date date = new java.util.Date(); int a = (int) (isNumber(getData("select max(rec_no) from patientmst"))); a++; opd += "O-12"; for (int i = (a + "").length(); i < (9 - "O-12".length()); i++) { opd += "0"; } opd += a; return opd; } public String generateOPDNumber(String table, String column, int length, String start) { String opd = start; java.util.Date date = new java.util.Date(); opd += ((date.getYear() + 1900) + "").substring(2) + ((date.getMonth() + 1) > 9 ? (date.getMonth() + 1) : "0" + (date.getMonth() + 1)) + ((date.getDate() + 1) > 9 ? (date.getDate() + 1) : "0" + (date.getDate() + 1)) + ""; opd = generateKey(table, column, length, opd); return opd; } public String getFloorCD(String code, String tag) { String stateCD = ""; try { String sql = ""; if (tag.equalsIgnoreCase("c")) { sql = "select floor_cd from floormst where floor_name='" + code + "'"; } else if (tag.equalsIgnoreCase("N")) { sql = "select floor_name from floormst where floor_cd=" + code; } PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stateCD = rsLocal.getString(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at get Country CD", ex); } return stateCD; } public boolean CheckPatientError(String opd_no) { try { String sql = "SELECT a.opd_no,a.pt_name,a1.address,a1.city_cd,a1.mobile FROM patientmst a " + "LEFT JOIN patientinfomst a1 ON a.opd_no= a1.opd_no WHERE (a1.mobile ='' OR a1.city_cd = 0) AND " + "(a.opd_no ='" + opd_no + "')"; PreparedStatement pstLcoal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLcoal.executeQuery(); if (rsLocal.next()) { return false; } } catch (Exception ex) { printToLogFile("Exception at doctor wise", ex); } return true; } public boolean isExist(String sql) { boolean flag = false; PreparedStatement psLocal = null; ResultSet rsLocal = null; try { psLocal = dataConnection.prepareStatement(sql); rsLocal = psLocal.executeQuery(); flag = rsLocal.next(); } catch (Exception ex) { printToLogFile("Error at isExist in Library2", ex); } finally { closeResultSet(rsLocal); closeStatement(psLocal); } return flag; } public double getOpeningStock(String prd_cd, String column, String fromDate) { double stock = 0.00; try { String sql = "select sum(" + column + ") from oldb0_3 where bill_item_cd=" + prd_cd + " and (doc_cd='PUR') and V_date <'" + ConvertDateFormetForDB(fromDate) + "'"; PreparedStatement pstLocal = dataConnection.prepareStatement(sql); ResultSet rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stock = rsLocal.getDouble(1); } sql = "select sum(" + column + ") from oldb0_3 where bill_item_cd=" + prd_cd + " and doc_cd='SAL' and V_date <'" + ConvertDateFormetForDB(fromDate) + "'"; pstLocal = dataConnection.prepareStatement(sql); rsLocal = pstLocal.executeQuery(); if (rsLocal.next()) { stock -= rsLocal.getDouble(1); } closeResultSet(rsLocal); closeStatement(pstLocal); } catch (Exception ex) { printToLogFile("Exception at getopeningStock", ex); } return stock; } }