All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.fugerit.java.tool.sql.ExportQuery Maven / Gradle / Ivy

/**
 * 
 */
package org.fugerit.java.tool.sql;

import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;

import org.fugerit.java.core.db.connect.ConnectionFactory;
import org.fugerit.java.core.db.connect.ConnectionFactoryImpl;
import org.fugerit.java.core.lang.helpers.StringUtils;
import org.fugerit.java.tool.ToolHandlerHelper;

/**
 * @author mttfranci
 *
 */
public class ExportQuery extends ToolHandlerHelper {

	public static final String ARG_QUERY = "query";

	
	public static final String ARG_OUTPUT = "output";
	
	public static final String ARG_FORMAT = "format";
	public static final String ARG_FORMAT_DEFAULT = "html";
	
	private void openFile( PrintWriter pw, String format ) throws Exception {
		pw.println( "" );
	}
	
	private void closeFile( PrintWriter pw, String format ) throws Exception {
		pw.println( "
" ); } private void addRecord( PrintWriter pw, String[] record, boolean header ) throws Exception { pw.println( "" ); String openTag = ""; String closeTag = ""; if ( header ) { openTag = ""; closeTag = ""; } for ( int k=0; k" ); } /* (non-Javadoc) * @see org.fugerit.java.tool.ToolHandlerHelper#handleWorker(java.util.Properties) */ @Override public int handleWorker(Properties params) throws Exception { int exit = EXIT_KO_DEFAULT; ClassLoader cl = this.getClassLoader( params ); ConnectionFactory cf = ConnectionFactoryImpl.newInstance( params, null, cl ); Connection conn = cf.getConnection(); String output = params.getProperty( ARG_OUTPUT ); FileOutputStream fos = new FileOutputStream( output ); PrintWriter pw = new PrintWriter( new OutputStreamWriter( fos ) ); try { String sql = params.getProperty( ARG_QUERY ); String format = params.getProperty( ARG_FORMAT, ARG_FORMAT_DEFAULT ); Statement stm = conn.createStatement(); openFile( pw, format ); ResultSet rs = stm.executeQuery( sql ); ResultSetMetaData rsmd = rs.getMetaData(); String head[] = new String[rsmd.getColumnCount()]; for ( int k=0; k




© 2015 - 2025 Weber Informatics LLC | Privacy Policy