Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -214,12 +214,6 @@
<version>3.1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.6</version>
<optional>true</optional>
</dependency>

<dependency>
<groupId>com.esri.geometry</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import org.springframework.beans.factory.InitializingBean;
import org.springframework.core.env.Environment;

import java.lang.reflect.Constructor;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,24 @@
*/
package com.robin.comm.util.word.itext;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;

import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.html.simpleparser.HTMLWorker;
import com.lowagie.text.html.simpleparser.StyleSheet;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.rtf.RtfWriter2;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.tidy.Tidy;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;

public class WordHtmlGenUtil {
public static void GeneratePdfFromSacure(String url,String fontPath,OutputStream out,String inputEncode) {
Expand All @@ -64,9 +56,13 @@ public static void GeneratePdfFromSacure(String url,String fontPath,OutputStream
tidy.parse(con.getInputStream(), tidyOut);
InputStream tidyIn=new ByteArrayInputStream(tidyOut.toByteArray());
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
dbf.setFeature("http://xml.org/sax/features/external-general-entities", Boolean.FALSE);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", Boolean.FALSE);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", Boolean.FALSE);
dbf.setFeature("http://xml.org/sax/features/validation", Boolean.FALSE);
dbf.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", Boolean.FALSE);
dbf.setXIncludeAware(false);
dbf.setExpandEntityReferences(false);
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(tidyIn);
Element style=doc.createElement("style");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
*/
public abstract class AbstractFileSystemAccessor implements IFileSystemAccessor {
protected String identifier;
public AbstractFileSystemAccessor(){
protected AbstractFileSystemAccessor(){

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@
import java.io.FileNotFoundException;
import java.io.*;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class ApacheVfsFileSystemAccessor extends AbstractFileSystemAccessor {
private Map<String, FileObject> objectMap = new HashMap<>();
private final Map<String, FileObject> objectMap = new HashMap<>();

public ApacheVfsFileSystemAccessor() {
this.identifier = Const.FILESYSTEM.VFS.getValue();
Expand Down Expand Up @@ -212,7 +213,7 @@ public InputStream getRawInputStream(DataCollectionMeta meta, String resourcePat
}
}

private static URI getUriByParam(VfsParam param, String relativePath) throws Exception {
private static URI getUriByParam(VfsParam param, String relativePath) throws URISyntaxException {
String userInfo = param.getUserName() + ":" + param.getPassword();//URLEncoder.encode(param.getPassword(), "iso8859-1");// 解决密码中的特殊字符问题,如@。
String remoteFilePath = relativePath;
if (!remoteFilePath.startsWith("/")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,18 @@ public static AbstractFileIterator getProcessReaderIterator(DataCollectionMeta c

public static IResourceIterator getProcessIteratorByType(DataCollectionMeta colmeta, BufferedReader reader) throws IOException {
IResourceIterator iterator=getIter(colmeta);
iterator.setReader(reader);
iterator.beforeProcess();
if(!ObjectUtils.isEmpty(iterator) && !ObjectUtils.isEmpty(reader)) {
iterator.setReader(reader);
iterator.beforeProcess();
}
return iterator;
}
public static IResourceIterator getProcessIteratorByType(DataCollectionMeta colmeta, InputStream in) throws IOException{
IResourceIterator iterator=getIter(colmeta);
iterator.setInputStream(in);
iterator.beforeProcess();
if(!ObjectUtils.isEmpty(iterator) && !ObjectUtils.isEmpty(in)) {
iterator.setInputStream(in);
iterator.beforeProcess();
}
return iterator;
}
public static IResourceIterator getProcessIteratorByPath(DataCollectionMeta colmeta,InputStream in) throws IOException{
Expand All @@ -79,8 +83,10 @@ public static IResourceIterator getProcessIteratorByPath(DataCollectionMeta colm
colmeta.setFileFormat(fileFormat);
}
IResourceIterator iterator=getIter(colmeta);
iterator.setInputStream(in);
iterator.beforeProcess();
if(!ObjectUtils.isEmpty(iterator) && !ObjectUtils.isEmpty(in)) {
iterator.setInputStream(in);
iterator.beforeProcess();
}
return iterator;
}
private static IResourceIterator getIter(DataCollectionMeta colmeta) throws MissingConfigException {
Expand All @@ -92,7 +98,9 @@ private static IResourceIterator getIter(DataCollectionMeta colmeta) throws Miss
if (!ObjectUtils.isEmpty(iterclass)) {
iterator = iterclass.getConstructor(DataCollectionMeta.class).newInstance(colmeta);
}
iterator.beforeProcess();
if(!ObjectUtils.isEmpty(iterator)) {
iterator.beforeProcess();
}
}catch (Exception ex){
throw new MissingConfigException(ex);
}
Expand All @@ -107,7 +115,10 @@ private static IResourceIterator getIter(DataCollectionMeta colmeta,AbstractFile
if (!ObjectUtils.isEmpty(iterclass)) {
iterator = iterclass.getConstructor(DataCollectionMeta.class,AbstractFileSystemAccessor.class).newInstance(colmeta,accessor);
}
iterator.beforeProcess();
if(!ObjectUtils.isEmpty(iterator)) {
iterator.beforeProcess();
iterator.setAccessUtil(accessor);
}
}catch (Exception ex){
throw new MissingConfigException(ex);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ public void beforeProcess() {
super.beforeProcess();
try{
factory=XMLInputFactory.newFactory();
factory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE);
factory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE);
if(instream!=null) {
streamReader=factory.createXMLStreamReader(instream,colmeta.getEncode());
} else if(reader!=null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,33 +37,39 @@ public class TextFileWriterFactory {

public static IResourceWriter getWriterByType(DataCollectionMeta colmeta, BufferedWriter writer) throws IOException {
IResourceWriter fileWriter = getWriterByType(colmeta);
fileWriter.setWriter(writer);
if(!ObjectUtils.isEmpty(fileWriter) && writer!=null) {
fileWriter.setWriter(writer);
}
return fileWriter;
}
public static IResourceWriter getWriterByType(DataCollectionMeta colmeta, BufferedWriter writer,AbstractFileSystemAccessor accessor) throws IOException {
IResourceWriter fileWriter = getWriterByType(colmeta,accessor);
fileWriter.setWriter(writer);
if(!ObjectUtils.isEmpty(fileWriter) && writer!=null) {
fileWriter.setWriter(writer);
}
return fileWriter;
}

public static IResourceWriter getOutputStreamByType(DataCollectionMeta colmeta, OutputStream writer) throws IOException{
IResourceWriter fileWriter = getWriterByType(colmeta);
if(writer!=null) {
if(!ObjectUtils.isEmpty(fileWriter) && writer!=null) {
fileWriter.setOutputStream(writer);
}
return fileWriter;
}
public static IResourceWriter getOutputStreamByType(DataCollectionMeta colmeta, OutputStream writer,AbstractFileSystemAccessor accessor) throws IOException{
IResourceWriter fileWriter = getWriterByType(colmeta,accessor);
if(writer!=null) {
if(!ObjectUtils.isEmpty(fileWriter) && writer!=null) {
fileWriter.setOutputStream(writer);
}
return fileWriter;
}

public static IResourceWriter getWriterByPath(DataCollectionMeta colmeta, OutputStream writer) throws IOException{
IResourceWriter fileWriter = getWriterByType(colmeta);
fileWriter.setOutputStream(writer);
if(!ObjectUtils.isEmpty(fileWriter) && !ObjectUtils.isEmpty(writer)) {
fileWriter.setOutputStream(writer);
}
return fileWriter;
}

Expand Down
3 changes: 2 additions & 1 deletion common/src/test/java/com/robin/comm/test/TestJsonRead.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.robin.comm.test;

import com.robin.comm.dal.pool.ResourceAccessHolder;
import com.robin.core.base.util.Const;
import com.robin.core.base.util.ResourceConst;
import com.robin.core.fileaccess.fs.FileSystemAccessorFactory;
Expand Down Expand Up @@ -35,7 +36,7 @@ public static void main(String[] args) {

//ftpparam.put("schemaContent", "{\"namespace\":\"com.robin.avro\",\"name\":\"Content\",\"type\":\"record\",\"fields\":[{\"name\":\"info_id\",\"type\":\"string\"},{\"name\":\"url\",\"type\":\"string\"},{\"name\":\"title\",\"type\":\"string\"},{\"name\":\"content\",\"type\":\"string\"}]}");
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
AbstractFileSystemAccessor util = FileSystemAccessorFactory.getResourceAccessorByType(Const.FILESYSTEM.VFS.getValue());
AbstractFileSystemAccessor util = ResourceAccessHolder.getAccessUtilByProtocol(Const.FILESYSTEM.VFS.getValue());
try (InputStream reader = util.getInResourceByStream(colmeta, colmeta.getPath());
IResourceIterator jreader = TextFileIteratorFactory.getProcessIteratorByType(colmeta, reader)) {
while (jreader.hasNext()) {
Expand Down
20 changes: 11 additions & 9 deletions core/src/main/java/com/robin/core/base/dao/CommJdbcUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.robin.core.query.util.QueryString;
import com.robin.core.sql.util.BaseSqlGen;
import com.robin.core.sql.util.FilterCondition;
import lombok.NonNull;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
Expand All @@ -46,14 +47,15 @@
import java.time.format.DateTimeFormatter;
import java.util.*;

@SuppressWarnings("unused")
public class CommJdbcUtil {
private static final Logger logger = LoggerFactory.getLogger(CommJdbcUtil.class);
private static final DateTimeFormatter dayFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
private static final DateTimeFormatter timeFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");


@SuppressWarnings({"unchecked", "rawtypes"})
private static List getResultItemsByPrepared(JdbcTemplate jdbcTemplate, final PageQuery<Map<String, Object>> pageQuery, final String pageSQL) {
private static List getResultItemsByPrepared(@NonNull JdbcTemplate jdbcTemplate, final PageQuery<Map<String, Object>> pageQuery, final String pageSQL) {
Object ret = jdbcTemplate.query(conn -> {
PreparedStatement ps = conn.prepareStatement(pageSQL);
int len = pageQuery.getParameters().size();
Expand All @@ -72,11 +74,11 @@ private static List getResultItemsByPrepared(JdbcTemplate jdbcTemplate, final Pa
ps.setLong(i, Long.parseLong(value));
break;
case Const.META_TYPE_DATE:
Date date = new Date(Date.from(LocalDateTime.parse(value, dayFormat).atZone(ZoneId.systemDefault()).toInstant()).getTime());
Date date = new Date(LocalDateTime.parse(value, dayFormat).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
ps.setDate(i, date);
break;
case Const.META_TYPE_TIMESTAMP:
Timestamp ts = new Timestamp(Date.from(LocalDateTime.parse(value, timeFormat).atZone(ZoneId.systemDefault()).toInstant()).getTime());
Timestamp ts = new Timestamp(LocalDateTime.parse(value, timeFormat).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
ps.setTimestamp(i, ts);
break;
default:
Expand All @@ -96,7 +98,7 @@ private static List getResultItemsByPrepared(JdbcTemplate jdbcTemplate, final Pa
}

@SuppressWarnings({"rawtypes", "unchecked"})
private static List getResultItemsByPreparedSimple(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedParameterJdbcTemplate, LobHandler lobHandler, final BaseSqlGen sqlGen, final QueryString qs, final PageQuery pageQuery, final String pageSQL) {
private static List getResultItemsByPreparedSimple(@NonNull JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedParameterJdbcTemplate, LobHandler lobHandler, final BaseSqlGen sqlGen, final QueryString qs, final PageQuery pageQuery, final String pageSQL) {
final String[] fields = sqlGen.getResultColName(qs);
if (pageQuery.getNamedParameters().isEmpty()) {
//Preparedstatment
Expand Down Expand Up @@ -129,7 +131,7 @@ static void queryByReplaceParamter(JdbcTemplate jdbcTemplate, LobHandler lobHand
pageQuery.setRecordSet(list);
}

private static List<?> getResultList(JdbcTemplate jdbcTemplate, LobHandler lobHandler, BaseSqlGen sqlGen, QueryString qs, PageQuery<Map<String, Object>> pageQuery, String querySQL, String sumSQL, int pageSize) throws DAOException {
private static List<?> getResultList(@NonNull JdbcTemplate jdbcTemplate, LobHandler lobHandler, BaseSqlGen sqlGen, QueryString qs, PageQuery<Map<String, Object>> pageQuery, String querySQL, String sumSQL, int pageSize) throws DAOException {
List<?> list;
if (pageSize != 0) {
if (pageSize < Integer.parseInt(Const.MIN_PAGE_SIZE)) {
Expand Down Expand Up @@ -220,17 +222,17 @@ private static String getReplacementSql(BaseSqlGen sqlGen, QueryString qs, PageQ
return querySQL;
}

private static List<Map> getResultItems(JdbcTemplate jdbcTemplate, LobHandler lobHandler, BaseSqlGen sqlGen, final PageQuery<Map<String, Object>> query, final QueryString qs, final String pageSQL) {
private static List<Map<String,Object>> getResultItems(JdbcTemplate jdbcTemplate, LobHandler lobHandler, BaseSqlGen sqlGen, final PageQuery<Map<String, Object>> query, final QueryString qs, final String pageSQL) {
//getResultColumn from QueryString
final String[] fields = sqlGen.getResultColName(qs);
return jdbcTemplate.query(pageSQL, getDefaultExtract(fields, lobHandler, query));
}


@SuppressWarnings("rawtypes")
private static ResultSetExtractor<List<Map>> getDefaultExtract(final String[] fields, final LobHandler lobHandler, PageQuery query) {
private static ResultSetExtractor<List<Map<String,Object>>> getDefaultExtract(final String[] fields, final LobHandler lobHandler, PageQuery query) {
return rs -> {
List<Map> list = new ArrayList<>();
List<Map<String,Object>> list = new ArrayList<>();

ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
Expand Down Expand Up @@ -396,7 +398,7 @@ static void queryByPreparedParamter(JdbcTemplate jdbcTemplate, NamedParameterJdb
sumSQL = sqlGen.getCountSqlByConfig(qs, pageQuery);
}

Integer total;
int total;
if (CollectionUtils.isEmpty(pageQuery.getNamedParameters()) && !CollectionUtils.isEmpty(pageQuery.getQueryParameters())) {
total = jdbcTemplate.queryForObject(sumSQL, pageQuery.getQueryParameters().toArray(), Integer.class);
} else {
Expand Down
1 change: 1 addition & 0 deletions core/src/main/java/com/robin/core/base/dao/IjdbcDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,7 @@ public interface IjdbcDao {
<T extends BaseObject> List<T> queryAll(Class<T> type) throws DAOException;

<T extends BaseObject> void queryByCondition(Class<T> type, FilterCondition condition, PageQuery<T> pageQuery);
<T extends BaseObject> int countByCondition(Class<T> type, FilterCondition condition) throws DAOException;

<T extends BaseObject> T getByField(Class<T> type, String fieldName, Const.OPERATOR oper, Object... fieldValues) throws DAOException;
<T extends BaseObject> T getByField(Class<T> type, PropertyFunction<T,?> function, Const.OPERATOR oper, Object... fieldValues) throws DAOException;
Expand Down
Loading
Loading