package demo46; import java.util.*; import org.openswing.swing.internationalization.java.EnglishOnlyResourceFactory; import org.openswing.swing.domains.java.*; import java.sql.*; import org.openswing.swing.util.client.*; import org.openswing.swing.internationalization.java.*; /** * <p>Title: OpenSwing Demo</p> * <p>Description: Used to start application from main method: * it creates an editable grid frame whose value object is of CustomValueObject type and whose content is fetched * starting from a SQL script defined at run time. * It shows also how to render images inside a button column.</p> * <p>Copyright: Copyright (C) 2006 Mauro Carniel</p> * <p> </p> * @author Mauro Carniel * @version 1.0 */ public class ClientApplication { Connection conn = null; public ClientApplication() { Hashtable domains = new Hashtable(); Properties props = new Properties(); props.setProperty("sql to execute to fill in the grid","SQL to execute to fill in the grid"); props.setProperty("load data","Load data"); props.setProperty("dynamic grid","Dynamic Grid"); props.setProperty("filter panel","Filter Panel"); ClientSettings clientSettings = new ClientSettings( new EnglishOnlyResourceFactory("�",props,false), domains ); ClientSettings.ALLOW_OR_OPERATOR = false; ClientSettings.INCLUDE_IN_OPERATOR = false; createConnection(); new FilterFrame(conn); } public static void main(String[] argv) { new ClientApplication(); } /** * Create the database connection (using Hypersonic DB - in memory) and initialize tables... */ private void createConnection() { try { Class.forName("org.hsqldb.jdbcDriver"); conn = DriverManager.getConnection("jdbc:hsqldb:mem:"+"a"+Math.random(),"sa",""); PreparedStatement stmt = null; try { stmt = conn.prepareStatement("create table ORDERS(YEAR NUMERIC(4),ORDER_NR NUMERIC(4),CUSTOMER VARCHAR(20),ORDER_DATE DATE,TOTAL_AMOUNT DECIMAL(20,2),PRIMARY KEY(YEAR,ORDER_NR))"); stmt.execute(); for(int i=0;i<200;i++) { stmt.close(); stmt = conn.prepareStatement("insert into ORDERS values(2008,"+(i+1)+",'CUST"+i+"',?,"+(1200+i*10)+")"); stmt.setObject(1,new java.sql.Date(System.currentTimeMillis()-86400000*i)); stmt.execute(); } } catch (SQLException ex1) { ex1.printStackTrace(); } finally { try { stmt.close(); } catch (SQLException ex2) { } } conn.commit(); } catch (Exception ex) { ex.printStackTrace(); } } }