public void testSqlQuery() throws Exception { // Define an outputStream OutputStream out = System.out; logger.info("Building CDA settings from sample file"); final SettingsManager settingsManager = SettingsManager.getInstance(); URL file = this.getClass().getResource("sample-sql.cda"); File settingsFile = new File(file.toURI()); final CdaSettings cdaSettings = settingsManager.parseSettingsFile(settingsFile.getAbsolutePath()); logger.debug("Doing query on Cda - Initializing CdaEngine"); final CdaEngine engine = CdaEngine.getInstance(); QueryOptions queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); queryOptions.addParameter("orderDate", "2003-04-01"); queryOptions.setOutputType(ExporterEngine.OutputType.XML); // queryOptions.addParameter("status","In Process"); logger.info("Doing first query"); engine.doQuery(out, cdaSettings, queryOptions); logger.info("Doing query with different parameters"); queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); queryOptions.addParameter("orderDate", "2004-01-01"); engine.doQuery(out, cdaSettings, queryOptions); // Querying 2nd time to test cache logger.info("Doing query using the initial parameters - Cache should be used"); queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); queryOptions.addParameter("orderDate", "2003-04-01"); engine.doQuery(out, cdaSettings, queryOptions); // Querying 2nd time to test cache logger.info("Doing query again to see if cache expires"); try { Thread.sleep(6000); } catch (InterruptedException e) { e .printStackTrace(); // To change body of catch statement use File | Settings | File // Templates. } engine.doQuery(out, cdaSettings, queryOptions); }
public void testFormulaCacheSql() throws Exception { // Define an outputStream OutputStream out = System.out; logger.info("Building CDA settings from sample file"); final SettingsManager settingsManager = SettingsManager.getInstance(); URL file = this.getClass().getResource("sample-sql-formula.cda"); File settingsFile = new File(file.toURI()); final CdaSettings cdaSettings = settingsManager.parseSettingsFile(settingsFile.getAbsolutePath()); logger.debug("Doing query on Cda - Initializing CdaEngine"); final CdaEngine engine = CdaEngine.getInstance(); QueryOptions queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); queryOptions.addParameter("orderDate", "${TODAY()}"); queryOptions.setOutputType("csv"); logger.info("Doing first query --> TODAY()"); engine.doQuery(out, cdaSettings, queryOptions); logger.info("Doing query with different parameters"); queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); queryOptions.addParameter("orderDate", "${DATE(2004;1;1)}"); engine.doQuery(out, cdaSettings, queryOptions); // Querying 2nd time to test cache (formula translated before cache check) logger.info("Doing query using manual TODAY - Cache should be used"); queryOptions = new QueryOptions(); queryOptions.setDataAccessId("1"); Calendar cal = Calendar.getInstance(); queryOptions.addParameter( "orderDate", "${DATE(" + cal.get(Calendar.YEAR) + ";" + (cal.get(Calendar.MONTH) + 1) + ";" + cal.get(Calendar.DAY_OF_MONTH) + ")}"); engine.doQuery(out, cdaSettings, queryOptions); }
public void testSqlQuery() throws Exception { // Define an outputStream OutputStream out = System.out; logger.info("Building CDA settings from sample file"); final SettingsManager settingsManager = SettingsManager.getInstance(); URL file = this.getClass().getResource("sample-mondrian.cda"); File settingsFile = new File(file.toURI()); final CdaSettings cdaSettings = settingsManager.parseSettingsFile(settingsFile.getAbsolutePath()); logger.debug("Doing query on Cda - Initializing CdaEngine"); final CdaEngine engine = CdaEngine.getInstance(); QueryOptions queryOptions = new QueryOptions(); queryOptions.setDataAccessId("2"); queryOptions.setOutputType("json"); queryOptions.addParameter("status", "Shipped"); logger.info("Doing query"); engine.doQuery(out, cdaSettings, queryOptions); }