/** @param props */ public void initFrame(AppProperties props) { m_OS = new OSValidator(); m_props = props; m_rootapp = new JRootApp(); if (m_rootapp.initApp(m_props)) { if ("true".equals(props.getProperty("machine.uniqueinstance"))) { // Register the running application try { m_instmanager = new InstanceManager(this); } catch (RemoteException | AlreadyBoundException e) { } } // Show the application add(m_rootapp, BorderLayout.CENTER); setTitle(AppLocal.APP_NAME + " - V" + AppLocal.APP_VERSION); Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(0, 0, d.width, d.height); setVisible(true); } else { new JFrmConfig(props).setVisible(true); // Show the configuration window. } }
public void initFrame(AppProperties props) { m_props = props; m_rootapp = new JRootApp(); if (m_rootapp.initApp(m_props)) { if ("true".equals(props.getProperty("machine.uniqueinstance"))) { // Register the running application try { m_instmanager = new InstanceManager(this); } catch (Exception e) { } } // Show the application add(m_rootapp, BorderLayout.CENTER); try { this.setIconImage( ImageIO.read( JRootFrame.class.getResourceAsStream("/com/openbravo/images/favicon.png"))); } catch (IOException e) { } setTitle(AppLocal.APP_NAME + " - " + AppLocal.APP_VERSION); pack(); setLocationRelativeTo(null); setVisible(true); } else { new JFrmConfig(props).setVisible(true); // Show the configuration window. } }
public void setActiveCash(String sIndex, int iSeq, Date dStart, Date dEnd) { m_sActiveCashIndex = sIndex; m_iActiveCashSequence = iSeq; m_dActiveCashDateStart = dStart; m_dActiveCashDateEnd = dEnd; m_propsdb.setProperty("activecash", m_sActiveCashIndex); m_dlSystem.setResourceAsProperties(m_props.getHost() + "/properties", m_propsdb); }
public String perform(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); logger.info("MODIFY TASK"); try { /* get parameters from request */ Integer id = new Integer(request.getParameter(AppProperties.getProperty("modify_id_param"))); String taskName = request.getParameter(AppProperties.getProperty("modify_name_param")); Integer taskParent = new Integer(request.getParameter(AppProperties.getProperty("modify_parent_param"))); Date taskBegin = new SimpleDateFormat("yyyy-MM-dd") .parse(request.getParameter(AppProperties.getProperty("modify_begin_param"))); Date taskEnd = new SimpleDateFormat("yyyy-MM-dd") .parse(request.getParameter(AppProperties.getProperty("modify_end_param"))); String taskStatus = request.getParameter(AppProperties.getProperty("modify_status_param")); String taskUser = request.getParameter(AppProperties.getProperty("modify_user_param")); String taskDescr = request.getParameter(AppProperties.getProperty("modify_descr_param")); TaskRecord task = new TaskRecord( id, taskName, taskParent, taskBegin, taskEnd, taskStatus, new EmpRecord(0, taskUser, null, null), taskDescr); /* verify and modify data in database */ verifyData(task); DAOFactory.getInstance().modifyTask(task); setNotifyMessage(session, logger, SUCCESS_MESS, null, "Task modified", null); } catch (ParseException ex) { setNotifyMessage( session, logger, FAIL_MESS, "Modify exception", "Incorrect input data. Reason: " + ex.getMessage(), ex); } catch (TrackerException ex) { setNotifyMessage(session, logger, FAIL_MESS, "Modify exception", ex.getMessage(), ex); } return "/index.jsp"; // redirected page path }
@Test public void testLoadProperties() { AppProperties appProps = propsManager.loadProps( Arrays.asList( "classpath:resources/test_aws.properties", "classpath:resources/test_jdbc.properties")); Assert.assertTrue(appProps.isValid()); Assert.assertEquals(9, appProps.getKnownProperties().size()); Assert.assertEquals("AKIAJSF6XRIJNJTTTL3Q", appProps.get("aws_access_key")); Assert.assertEquals("pmqnweEYvdiw7cvCdTOES48sOUvK1rGvvctBsgsa", appProps.get("aws_secret_key")); Assert.assertEquals(12345678, appProps.get("aws_account_id")); Assert.assertEquals(Regions.US_EAST_1, appProps.get("aws.region_id")); Assert.assertTrue((boolean) appProps.get("JpA_showSqL")); }
public static PaymentGateway getPaymentGateway(AppProperties props) { String sReader = props.getProperty("payment.gateway"); if ("external".equals(sReader)) { return new PaymentGatewayExt(); } else if ("PayPoint / SecPay".equals(sReader)) { return new PaymentGatewayPayPoint(props); } else if ("AuthorizeNet".equals(sReader)) { return new PaymentGatewayAuthorizeNet(props); } else if ("La Caixa (Spain)".equals(sReader)) { return new PaymentGatewayCaixa(props); } else if ("Planetauthorize".equals(sReader)) { return new PaymentGatewayPlanetauthorize(props); } else if ("Firs Data / LinkPoint / YourPay".equals(sReader)) { return new PaymentGatewayLinkPoint(props); } else if ("PaymentsGateway.net".equals(sReader)) { return new PaymentGatewayPGNET(props); } else { return null; } }
@Override public Boolean initFrame(AppProperties props) { m_props = props; m_rootapp = new JRootApp(); if (m_rootapp.initApp(m_props)) { if ("true".equals(props.getProperty("machine.uniqueinstance"))) { // Register the running application try { m_instmanager = new InstanceManager(this); } catch (Exception e) { } } // Show the application add(m_rootapp, BorderLayout.CENTER); try { this.setIconImage( ImageIO.read( JRootFrame.class.getResourceAsStream("/com/openbravo/images/favicon.png"))); } catch (IOException e) { } setTitle(AppLocal.APP_NAME + " - " + AppLocal.APP_VERSION); // pack(); this.setSize(800, 600); // set size for normal window state this.setExtendedState(MAXIMIZED_BOTH); setLocationRelativeTo(null); super.initFrame(props); setVisible(true); return true; } else { return false; } }
public boolean initApp(AppProperties props) { m_props = props; // setPreferredSize(new java.awt.Dimension(800, 600)); // support for different component orientation languages. applyComponentOrientation(ComponentOrientation.getOrientation(Locale.getDefault())); // Database start try { session = AppViewConnection.createSession(m_props); } catch (BasicException e) { JMessageDialog.showMessage(this, new MessageInf(MessageInf.SGN_DANGER, e.getMessage(), e)); return false; } m_dlSystem = (DataLogicSystem) getBean("com.openbravo.pos.forms.DataLogicSystem"); // Create or upgrade the database if database version is not the expected String sDBVersion = readDataBaseVersion(); if (!AppLocal.APP_VERSION.equals(sDBVersion)) { // Create or upgrade database String sScript = sDBVersion == null ? m_dlSystem.getInitScript() + "-create.sql" : m_dlSystem.getInitScript() + "-upgrade-" + sDBVersion + ".sql"; if (JRootApp.class.getResource(sScript) == null) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_DANGER, sDBVersion == null ? AppLocal.getIntString( "message.databasenotsupported", session.DB .getName()) // Create script does not exists. Database not supported : AppLocal.getIntString( "message.noupdatescript"))); // Upgrade script does not exist. session.close(); return false; } else { // Create or upgrade script exists. if (JOptionPane.showConfirmDialog( this, AppLocal.getIntString( sDBVersion == null ? "message.createdatabase" : "message.updatedatabase"), AppLocal.getIntString("message.title"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) { try { BatchSentence bsentence = new BatchSentenceResource(session, sScript); bsentence.putParameter("APP_ID", Matcher.quoteReplacement(AppLocal.APP_ID)); bsentence.putParameter("APP_NAME", Matcher.quoteReplacement(AppLocal.APP_NAME)); bsentence.putParameter("APP_VERSION", Matcher.quoteReplacement(AppLocal.APP_VERSION)); java.util.List l = bsentence.list(); if (l.size() > 0) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_WARNING, AppLocal.getIntString("Database.ScriptWarning"), l.toArray(new Throwable[l.size()]))); } } catch (BasicException e) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_DANGER, AppLocal.getIntString("Database.ScriptError"), e)); session.close(); return false; } } else { session.close(); return false; } } } // Cargamos las propiedades de base de datos m_propsdb = m_dlSystem.getResourceAsProperties(m_props.getHost() + "/properties"); // creamos la caja activa si esta no existe try { String sActiveCashIndex = m_propsdb.getProperty("activecash"); Object[] valcash = sActiveCashIndex == null ? null : m_dlSystem.findActiveCash(sActiveCashIndex); if (valcash == null || !m_props.getHost().equals(valcash[0])) { // no la encuentro o no es de mi host por tanto creo una... setActiveCash( UUID.randomUUID().toString(), m_dlSystem.getSequenceCash(m_props.getHost()) + 1, new Date(), null); // creamos la caja activa m_dlSystem.execInsertCash( new Object[] { getActiveCashIndex(), m_props.getHost(), getActiveCashSequence(), getActiveCashDateStart(), getActiveCashDateEnd() }); } else { setActiveCash(sActiveCashIndex, (Integer) valcash[1], (Date) valcash[2], (Date) valcash[3]); } } catch (BasicException e) { // Casco. Sin caja no hay pos MessageInf msg = new MessageInf( MessageInf.SGN_NOTICE, AppLocal.getIntString("message.cannotclosecash"), e); msg.show(this); session.close(); return false; } // Leo la localizacion de la caja (Almacen). m_sInventoryLocation = m_propsdb.getProperty("location"); if (m_sInventoryLocation == null) { m_sInventoryLocation = "0"; m_propsdb.setProperty("location", m_sInventoryLocation); m_dlSystem.setResourceAsProperties(m_props.getHost() + "/properties", m_propsdb); } // Inicializo la impresora... m_TP = new DeviceTicket(this, m_props); // Inicializamos m_TTP = new TicketParser(getDeviceTicket(), m_dlSystem); printerStart(); // Inicializamos la bascula m_Scale = new DeviceScale(this, m_props); // Inicializamos la scanpal m_Scanner = DeviceScannerFactory.createInstance(m_props); // Leemos los recursos basicos BufferedImage imgicon = m_dlSystem.getResourceAsImage("Window.Logo"); m_jLblTitle.setIcon(imgicon == null ? null : new ImageIcon(imgicon)); m_jLblTitle.setText(m_dlSystem.getResourceAsText("Window.Title")); String sWareHouse; try { sWareHouse = m_dlSystem.findLocationName(m_sInventoryLocation); } catch (BasicException e) { sWareHouse = null; // no he encontrado el almacen principal } // Show Hostname, Warehouse and URL in taskbar String url; try { url = session.getURL(); } catch (SQLException e) { url = ""; } m_jHost.setText("<html>" + m_props.getHost() + " - " + sWareHouse + "<br>" + url); showLogin(); return true; }
/** @author tatianag */ @SearchProcessorImpl( id = "LSSTCatalogQuery", params = { @ParamDoc(name = "RequestedDataSet", desc = "catalog table to query"), @ParamDoc(name = "UserTargetWorldPt", desc = "the target point, a serialized WorldPt object"), @ParamDoc(name = "radius", desc = "radius in degrees for cone search"), @ParamDoc(name = "size", desc = "size in degrees for box search"), @ParamDoc( name = CatalogRequest.SELECTED_COLUMNS, desc = "a comma separated list of columns to return, empty gives the default list"), @ParamDoc( name = CatalogRequest.CONSTRAINTS, desc = "a where fragment of the column constrains") }) public class QueryLSSTCatalog extends IpacTablePartProcessor { private static final Logger.LoggerImpl _log = Logger.getLogger(); private static String QSERV_URI = AppProperties.getProperty("lsst.qserv.uri"); private static String QSERV_USER = AppProperties.getProperty("lsst.qserv.user"); private static String QSERV_PASS = AppProperties.getProperty("lsst.qserv.pass"); private static final String RA_COL = "ra"; private static final String DEC_COL = "decl"; @Override protected File loadDataFile(TableServerRequest request) throws IOException, DataAccessException { File file = createFile(request); WorldPt pt = request.getWorldPtParam(ServerParams.USER_TARGET_WORLD_PT); pt = VisUtil.convertToJ2000(pt); doGetData(file, request.getParams(), pt); return file; } // qserv_areaspec_circle does not work at the moment, only qserv_areaspec_box works void doGetData(File oFile, List<Param> params, WorldPt wpt) throws DataAccessException { DbInstance dbinstance = new DbInstance( false, // pooled "null", // datasourcePath QSERV_URI, // dbUrl QSERV_USER, StringUtils.isEmpty(QSERV_PASS) ? null : QSERV_PASS, "com.mysql.jdbc.Driver", "lsstdb"); DataSource ds = JdbcFactory.getDataSource(dbinstance); String searchMethod = null; String catTable = null; String selectedColumns = null; String[] constraints = null; for (Param p : params) { String pname = p.getName(); if (pname.equals(CatalogRequest.SEARCH_METHOD)) { searchMethod = p.getValue(); } else if (pname.equals(ServerParams.REQUESTED_DATA_SET)) { catTable = p.getValue(); } else if (pname.equals(CatalogRequest.SELECTED_COLUMNS)) { selectedColumns = p.getValue(); } else if (pname.equals(CatalogRequest.CONSTRAINTS)) { String val = p.getValue(); if (!StringUtils.isEmpty(val)) { _log.briefDebug("CONSTRAINTS: " + val); constraints = val.split(","); } } } String update = getSelectedColumnsUpdate(selectedColumns); if (update != null) selectedColumns = update; String pname; String sql; if (searchMethod != null && searchMethod.equals(CatalogRequest.Method.CONE.getDesc())) { double radius = 0.0; for (Param p : params) { pname = p.getName(); if (pname.equals(CatalogRequest.RADIUS)) { radius = Double.parseDouble(p.getValue()); } } // qserv_areaspec_circle(ra, dec, radius) // sql="select * from "+catTable+" where qserv_areaspec_circle("+wpt.getLon()+", // "+wpt.getLat()+", "+radius+")"; // Per Serge, the above query only can not be applied to unpartitioned table sql = "select " + selectedColumns + " from " + catTable + " where scisql_s2PtInCircle(ra, decl, " + wpt.getLon() + ", " + wpt.getLat() + ", " + radius + ")=1"; } else if (searchMethod != null && searchMethod.equals(CatalogRequest.Method.BOX.getDesc())) { double size = 0.0; for (Param p : params) { pname = p.getName(); if (pname.equals(CatalogRequest.SIZE)) { size = Double.parseDouble(p.getValue()); } } double halfsize = size / 2.0; double lon1 = wpt.getLon() - halfsize; if (lon1 < 0) lon1 += 360; double lon2 = wpt.getLon() + halfsize; if (lon2 > 360) lon1 -= 360; double lat1 = wpt.getLat() - halfsize; if (lat1 < -90) lat1 = -180 - lat1; double lat2 = wpt.getLat() + halfsize; if (lat2 > 90) lat2 = 180 - lat2; // qserv_areaspec_box(raA, decA, raB, decB) // sql="select * from "+catTable+" where qserv_areaspec_box("+lon1+", "+lat1+", "+lon2+", // "+lat2+")"; // Per Serge, the above query only can not be applied to unpartitioned table sql = "select * from " + catTable + " where scisql_s2PtInBox(ra, decl, " + lon1 + ", " + lat1 + ", " + lon2 + ", " + lat2 + ")=1"; } else { throw new RuntimeException(searchMethod + " search is not Implemented"); } // add additional constraints if (constraints != null) { for (String constr : constraints) { sql += " and " + constr; } } // workaround for https://jira.lsstcorp.org/browse/DM-1841 sql += " LIMIT 3000"; Connection conn = null; Statement stmt = null; try { conn = DataSourceUtils.getConnection(ds); long cTime = System.currentTimeMillis(); stmt = conn.createStatement(); _log.briefDebug("Executing SQL query: " + sql); // ResultSet rs = stmt.executeQuery(sql); IpacTableExtractor.query(null, ds, oFile, 10000, sql); _log.briefDebug("SELECT took " + (System.currentTimeMillis() - cTime) + "ms"); } catch (Exception e) { _log.error(e); throw new DataAccessException("Query failed: " + e.getMessage()); } finally { if (stmt != null) { try { closeStatement(stmt); } catch (Exception e1) { } } if (conn != null) { DataSourceUtils.releaseConnection(conn, ds); } } } @Override public void prepareTableMeta(TableMeta meta, List<DataType> columns, ServerRequest request) { super.prepareTableMeta(meta, columns, request); TableMeta.LonLatColumns llc = new TableMeta.LonLatColumns(RA_COL, DEC_COL); // J2000 default meta.setLonLatColumnAttr(MetaConst.CATALOG_COORD_COLS, llc); meta.setCenterCoordColumns(llc); String title = request.getParam(ServerParams.REQUESTED_DATA_SET); title = (title == null) ? "LSST" : "LSST " + title; meta.setAttribute(MetaConst.CATALOG_OVERLAY_TYPE, title); meta.setAttribute(MetaConst.DATA_PRIMARY, "False"); setColumnTips(meta, request); } private static String getSelectedColumnsUpdate(String selectedColumns) { String update = null; if (StringUtils.isEmpty(selectedColumns)) { return "*"; } else { boolean hasRa = false, hasDec = false; String[] cols = selectedColumns.split(","); for (String col : cols) { if (col.equalsIgnoreCase(RA_COL)) { hasRa = true; if (hasDec) break; } else if (col.equalsIgnoreCase(DEC_COL)) { hasDec = true; if (hasRa) break; } } if (!hasRa) { update = selectedColumns + ",ra"; } if (!hasDec) { update = (update == null ? selectedColumns : update) + ",decl"; } return update; } } static void closeStatement(Statement stmt) { if (stmt != null) { try { stmt.close(); } catch (Throwable th) { // log and ignore _log.warn(th, "Failed to close statement: " + th.getMessage()); } } } protected void setColumnTips(TableMeta meta, ServerRequest request) { TableServerRequest req = new TableServerRequest("LSSTCatalogDD"); req.setPageSize(1000); req.setParam(CatalogRequest.CATALOG, request.getParam(ServerParams.REQUESTED_DATA_SET)); SearchManager sm = new SearchManager(); DataGroupPart dgp = new DataGroupPart(); try { dgp = sm.getDataGroup(req); } catch (Exception e) { } DataGroup dg = dgp.getData(); if (dg != null) { for (int i = 0; i < dg.size(); i++) { DataObject dObj = dg.get(i); String tipStr = ""; String descStr = (String) dObj.getDataElement("description"); if (!StringUtils.isEmpty(descStr) && !descStr.equalsIgnoreCase("null")) { tipStr += descStr; } String unitStr = (String) dObj.getDataElement("unit"); if (!StringUtils.isEmpty(unitStr) && !unitStr.equalsIgnoreCase("null")) { if (tipStr.length() > 0) { tipStr += " "; } tipStr += "(" + unitStr + ")"; } String nameStr = (String) dObj.getDataElement("name"); meta.setAttribute(makeAttribKey(DESC_TAG, nameStr.toLowerCase()), tipStr); } } } public static void main(String[] args) { DbInstance dbinstance = new DbInstance( false, // pooled "null", // datasourcePath "<REPLACE_WITH_DB_URL>", // dbUrl "qsmaster", null, "com.mysql.jdbc.Driver", "lsstdb"); DataSource ds = JdbcFactory.getDataSource(dbinstance); String sql = "select * from DeepSource where qserv_areaspec_box(0.4, 1.05, 0.5, 1.15)"; Connection conn = null; try { conn = DataSourceUtils.getConnection(ds); long cTime = System.currentTimeMillis(); Statement stmt = null; try { stmt = conn.createStatement(); _log.briefDebug("Executing SQL query: " + sql); // ResultSet rs = stmt.executeQuery(sql); // _log.briefDebug ("SELECT took "+(System.currentTimeMillis()-cTime)+"ms"); File file = new File("/tmp/lsstTest.tbl"); IpacTableExtractor.query(null, ds, file, 10000, sql); _log.briefDebug("SELECT took " + (System.currentTimeMillis() - cTime) + "ms"); } catch (Exception e) { System.out.println("Exception " + e.getMessage()); } finally { closeStatement(stmt); } } catch (Exception e) { System.out.println("Exception " + e.getMessage()); e.printStackTrace(); } finally { if (conn != null) { DataSourceUtils.releaseConnection(conn, ds); } } } }
@Test public void testLoadPropertiesWithInvalidFiles() { AppProperties appProps = propsManager.loadProps(Arrays.asList("classpath:resources/XYZ")); Assert.assertEquals(0, appProps.getKnownProperties().size()); }
public class ExcelLibrary { AppProperties sp = new AppProperties(); String path1 = sp.getExcelPath(); public HashMap<String, String> getExcel(String sheetName) throws Exception { HashMap<String, String> returnData = new HashMap<String, String>(); FileInputStream fis = new FileInputStream(path1); Workbook wb = WorkbookFactory.create(fis); Sheet s = wb.getSheet(sheetName); int rowCount = getRowCount(sheetName); for (int i = 0; i <= rowCount; i++) { String keyName = ""; String keyValue = ""; Row r = s.getRow(i); Cell c1 = r.getCell(0); keyName = c1.getStringCellValue(); Cell c2 = r.getCell(1); keyValue = c2.getStringCellValue(); returnData.put(keyName, keyValue); } return returnData; } public String getExcelData(String sheetName, int rowNum, int colNum) { String retVal = null; try { FileInputStream fis = new FileInputStream(path1); Workbook wb = WorkbookFactory.create(fis); Sheet s = wb.getSheet(sheetName); Row r = s.getRow(rowNum); Cell c = r.getCell(colNum); retVal = c.getStringCellValue(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return retVal; } public int getRowCount(String sheetName) { int retVal = 0; try { FileInputStream fis = new FileInputStream(path1); Workbook wb = WorkbookFactory.create(fis); Sheet s = wb.getSheet(sheetName); retVal = s.getLastRowNum(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return retVal; } public void writeToExcel(String sheetName, int rowNum, int colNum, String desc) { try { FileInputStream fis = new FileInputStream(path1); Workbook wb = WorkbookFactory.create(fis); Sheet s = wb.getSheet(sheetName); Row r = s.getRow(rowNum); Cell c = r.createCell(colNum); c.setCellValue(desc); FileOutputStream fos = new FileOutputStream(path1); wb.write(fos); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (InvalidFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }