Skip to content

Commit 9eab14b

Browse files
Some new feature for maven plugin
0.3.2
1 parent ebfe545 commit 9eab14b

File tree

5 files changed

+123
-8
lines changed

5 files changed

+123
-8
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<groupId>org.fugerit.java</groupId>
66
<artifactId>query-export-tool</artifactId>
77

8-
<version>0.3.1</version>
8+
<version>0.3.2</version>
99
<packaging>jar</packaging>
1010

1111
<name>query-export-tool</name>
@@ -63,7 +63,7 @@
6363
<dependency>
6464
<groupId>org.fugerit.java</groupId>
6565
<artifactId>fj-core</artifactId>
66-
<version>0.4.6</version>
66+
<version>${fj-version}</version>
6767
</dependency>
6868

6969
<!-- java core dependancies -->
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package org.fugerit.java.query.export.catalog;
2+
3+
import org.fugerit.java.core.cfg.xml.BasicIdConfigType;
4+
5+
public class QueryConfig extends BasicIdConfigType {
6+
7+
/**
8+
*
9+
*/
10+
private static final long serialVersionUID = 40082112689288L;
11+
12+
private String sql;
13+
14+
private String outputFile;
15+
16+
private String outputFormat;
17+
18+
private String csvSeparator;
19+
20+
private String xlsResize;
21+
22+
private String createPath;
23+
24+
public String getSql() {
25+
return sql;
26+
}
27+
28+
public void setSql(String sql) {
29+
this.sql = sql;
30+
}
31+
32+
public String getOutputFile() {
33+
return outputFile;
34+
}
35+
36+
public void setOutputFile(String outputFile) {
37+
this.outputFile = outputFile;
38+
}
39+
40+
public String getOutputFormat() {
41+
return outputFormat;
42+
}
43+
44+
public void setOutputFormat(String outputFormat) {
45+
this.outputFormat = outputFormat;
46+
}
47+
48+
public String getCsvSeparator() {
49+
return csvSeparator;
50+
}
51+
52+
public void setCsvSeparator(String csvSeparator) {
53+
this.csvSeparator = csvSeparator;
54+
}
55+
56+
public String getXlsResize() {
57+
return xlsResize;
58+
}
59+
60+
public void setXlsResize(String xlsResize) {
61+
this.xlsResize = xlsResize;
62+
}
63+
64+
public String getCreatePath() {
65+
return createPath;
66+
}
67+
68+
public void setCreatePath(String createPath) {
69+
this.createPath = createPath;
70+
}
71+
72+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.fugerit.java.query.export.catalog;
2+
3+
import org.fugerit.java.core.cfg.xml.CustomListCatalogConfig;
4+
import org.fugerit.java.core.util.collection.ListMapStringKey;
5+
6+
public class QueryConfigCatalog extends CustomListCatalogConfig<QueryConfig, ListMapStringKey<QueryConfig>> {
7+
8+
/**
9+
*
10+
*/
11+
private static final long serialVersionUID = -4378688201418189400L;
12+
13+
public QueryConfigCatalog() {
14+
super( "query-catalog" , "query" );
15+
this.getGeneralProps().setProperty( ATT_TYPE , QueryConfig.class.getName() );
16+
}
17+
18+
}

src/main/java/org/fugerit/java/query/export/facade/format/QueryExportHandlerXLSBase.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.apache.poi.ss.usermodel.Row;
1111
import org.apache.poi.ss.usermodel.Sheet;
1212
import org.apache.poi.ss.usermodel.Workbook;
13+
import org.fugerit.java.core.lang.helpers.BooleanUtils;
1314
import org.fugerit.java.query.export.facade.QueryExportConfig;
1415
import org.fugerit.java.query.export.facade.QueryExportHandler;
1516
import org.fugerit.java.query.export.meta.MetaField;
@@ -85,6 +86,9 @@ public int export( QueryExportConfig config, MetaResult meta ) throws Exception
8586
addRow( record.fieldIterator() , sheet, index );
8687
index++;
8788
}
89+
if ( BooleanUtils.isTrue( config.getParams().getProperty( ARG_XLS_RESIZE ) ) ) {
90+
resizeSheet( sheet );
91+
}
8892
workbook.write( config.getOutput() );
8993
workbook.close();
9094
return res;

src/main/java/org/fugerit/java/query/export/tool/QueryExportToolMain.java

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.fugerit.java.query.export.tool;
22

3+
import java.io.File;
34
import java.io.FileOutputStream;
45
import java.sql.Connection;
56
import java.util.Properties;
@@ -8,6 +9,8 @@
89
import org.fugerit.java.core.db.connect.ConnectionFactory;
910
import org.fugerit.java.core.db.connect.ConnectionFactoryImpl;
1011
import org.fugerit.java.core.io.FileIO;
12+
import org.fugerit.java.core.lang.helpers.BooleanUtils;
13+
import org.fugerit.java.core.lang.helpers.StringUtils;
1114
import org.fugerit.java.core.util.PropsIO;
1215
import org.fugerit.java.query.export.facade.QueryExportConfig;
1316
import org.fugerit.java.query.export.facade.QueryExportFacade;
@@ -26,29 +29,42 @@ public class QueryExportToolMain {
2629

2730
public static final String ARG_CSV_SEPARATOR = "csv-separator";
2831

32+
public static final String ARG_QUERY_SQL = "query-sql";
33+
34+
public static final String ARG_CREATE_PATH = "create-path";
35+
public static final String ARG_CREATE_PATH_DEFAULT = BooleanUtils.BOOLEAN_FALSE;
36+
2937
protected static final Logger logger = LoggerFactory.getLogger(QueryExportToolMain.class);
3038

31-
public static void main(String[] args) {
32-
Properties params = ArgUtils.getArgs(args);
39+
public static void worker(Properties params) {
3340
try {
3441
logger.info("params: {}", params);
3542
String dbConfig = params.getProperty(ARG_DB_CONFIG);
3643
String queryFile = params.getProperty(ARG_QUERY_FILE);
44+
String querySql = params.getProperty(ARG_QUERY_SQL);
3745
String outputFile = params.getProperty(ARG_OUTPUT_FILE);
3846
String outputFormat = params.getProperty(ARG_OUTPUT_FORMAT, QueryExportFacade.FORMAT_DEFAULT );
47+
String createPath = params.getProperty(ARG_CREATE_PATH, ARG_CREATE_PATH_DEFAULT );
3948
logger.info("param : {} = {}", ARG_DB_CONFIG , dbConfig);
4049
logger.info("param : {} = {}", ARG_QUERY_FILE , queryFile);
4150
logger.info("param : {} = {}", ARG_OUTPUT_FILE , outputFile);
4251
logger.info("param : {} = {}", ARG_OUTPUT_FORMAT , outputFormat);
43-
if (queryFile == null || outputFile == null) {
44-
throw new Exception("Missing required arguments " + ARG_OUTPUT_FILE + ", " + ARG_QUERY_FILE);
52+
String sql = querySql;
53+
if ( StringUtils.isNotEmpty( queryFile ) ) {
54+
sql = FileIO.readString( queryFile );
55+
}
56+
if ( sql == null || outputFile == null) {
57+
throw new Exception("Missing required arguments " + ARG_OUTPUT_FILE + ", " + ARG_QUERY_FILE + " or " + ARG_QUERY_SQL);
4558
} else {
4659
Properties props = PropsIO.loadFromFile(dbConfig);
4760
ConnectionFactory cf = ConnectionFactoryImpl.newInstance(props);
4861
Connection conn = cf.getConnection();
49-
FileOutputStream fos = new FileOutputStream( outputFile );
62+
File output = new File( outputFile );
63+
if ( BooleanUtils.isTrue( createPath ) && !output.getParentFile().exists() ) {
64+
logger.info( "create-path {} -> {}", output.getParentFile().getCanonicalPath(), output.getParentFile().mkdirs() );
65+
}
66+
FileOutputStream fos = new FileOutputStream( output );
5067
try {
51-
String sql = FileIO.readString( queryFile );
5268
String csvSeparator = params.getProperty( ARG_CSV_SEPARATOR, "," );
5369
QueryExportConfig exportConfig = QueryExportConfig.newConfigCSV( fos, conn, sql, csvSeparator.charAt( 0 ) );
5470
exportConfig.setFormat( outputFormat );
@@ -70,4 +86,9 @@ public static void main(String[] args) {
7086
}
7187
}
7288

89+
public static void main(String[] args) {
90+
Properties params = ArgUtils.getArgs(args);
91+
worker(params);
92+
}
93+
7394
}

0 commit comments

Comments
 (0)