diff --git a/cit-esi-api/pom.xml b/cit-esi-api/pom.xml
index a39b844..d8b782e 100644
--- a/cit-esi-api/pom.xml
+++ b/cit-esi-api/pom.xml
@@ -79,18 +79,6 @@
json
- pentaho-reporting-engine
- pentaho-reporting-engine-classic-core
-
-
- pentaho-library
- libloader
-
-
- pentaho-library
- libbase
-
-
org.apache.poi
poi
@@ -118,6 +106,59 @@
org.drools
drools-compiler
+
+
+ pentaho-reporting-engine
+ pentaho-reporting-engine-classic-core
+ jar
+
+
+ pentaho-reporting-engine
+ pentaho-reporting-engine-classic-extensions
+ jar
+
+
+ pentaho-library
+ libbase
+
+
+ pentaho-library
+ libdocbundle
+
+
+ pentaho-library
+ libfonts
+
+
+ pentaho-library
+ libformat
+
+
+ pentaho-library
+ libformula
+
+
+ pentaho-library
+ libloader
+
+
+ pentaho-library
+ librepository
+
+
+ pentaho-library
+ libserializer
+
+
+ pentaho-library
+ libxml
+
+
+ pentaho-library
+ libswing
+ 1.2.4
+
+
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCloseConnectionDBSql.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCloseConnectionDBSql.java
deleted file mode 100644
index 85c1b75..0000000
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCloseConnectionDBSql.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package br.com.centralit.esi.api.execution.component;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
-import br.com.centralit.esi.exception.EsiExecutionException;
-
-public class ExecuteCloseConnectionDBSql {
- public static void execute(RuntimeEnvironment runtimeEnvironment) {
- String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
- if (connName != null){
- Connection connection = (Connection) runtimeEnvironment.getObject(connName);
- if (connection != null){
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- }
- connection = null;
- }
- runtimeEnvironment.addOrUpdateObject(connName, null);
- }
- }
-}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCommitTransactionSql.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCommitTransactionSql.java
deleted file mode 100644
index 3e93711..0000000
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteCommitTransactionSql.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package br.com.centralit.esi.api.execution.component;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-
-import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
-import br.com.centralit.esi.exception.EsiExecutionException;
-
-public class ExecuteCommitTransactionSql {
- public static void execute(RuntimeEnvironment runtimeEnvironment) {
- String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
- if (connName != null){
- Connection connection = (Connection) runtimeEnvironment.getObject(connName);
- if (connection != null){
- try {
- connection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- } finally{
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- connection = null;
- }
- }
- runtimeEnvironment.addOrUpdateObject(connName, null);
- }
- }
-}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteConectaIniciaTransactionSql.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteConectaIniciaTransactionSql.java
deleted file mode 100644
index d9d5273..0000000
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteConectaIniciaTransactionSql.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package br.com.centralit.esi.api.execution.component;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-
-import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
-import br.com.centralit.esi.exception.EsiExecutionException;
-
-public class ExecuteConectaIniciaTransactionSql {
- public static void execute(RuntimeEnvironment runtimeEnvironment) {
- String driverClassName = (String) runtimeEnvironment.getObject("DRIVERCLASSNAME");
- String pathConnection = (String) runtimeEnvironment.getObject("PATHCONNECTION");
- String userName = (String) runtimeEnvironment.getObject("USERNAME");
- String password = (String) runtimeEnvironment.getObject("PASSWORD");
-
- String connType = (String) runtimeEnvironment.getObject("CONNTYPE");
- String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
-
- String autoCommit = (String) runtimeEnvironment.getObject("AUTOCOMMIT");
- if (autoCommit == null){
- autoCommit = "S";
- }
- if (connType == null){
- connType = "";
- }
-
-
- Connection connection = null;
-
- try {
- if (connType.trim().equalsIgnoreCase("JNDI")){
- String contexto = (String) runtimeEnvironment.getObject("JNDICONTEXT");
- String tipo = (String) runtimeEnvironment.getObject("JNDITYPE");
-
- Context cnx = new InitialContext();
- DataSource ds;
- ds = (DataSource) cnx.lookup(contexto + tipo);
- connection = ds.getConnection();
- }else{
- try {
- Class.forName(driverClassName);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- }
- connection = DriverManager.getConnection(pathConnection, userName, password);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- } catch (NamingException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- }
-
- if (connection != null) {
- try {
- if (autoCommit.trim().toUpperCase().equalsIgnoreCase("S") || autoCommit.trim().toUpperCase().equalsIgnoreCase("Y")
- || autoCommit.trim().toUpperCase().equalsIgnoreCase("TRUE")){
- connection.setAutoCommit(true);
- }else{
- connection.setAutoCommit(false);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- try {
- connection.close();
- } catch (SQLException e1) {
- }
- connection = null;
- throw new EsiExecutionException(e);
- }
- runtimeEnvironment.addOrUpdateObject(connName, connection);
- } else {
- System.out.println("ExecutaIniciaTransactionSql: Failed to make connection!");
- throw new EsiExecutionException();
- }
- }
-}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBClose.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBClose.java
new file mode 100644
index 0000000..b08156c
--- /dev/null
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBClose.java
@@ -0,0 +1,26 @@
+package br.com.centralit.esi.api.execution.component;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
+import br.com.centralit.esi.exception.EsiExecutionException;
+
+public class ExecuteDBClose {
+ public static void execute(RuntimeEnvironment runtimeEnvironment) {
+ String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
+ if (connName != null){
+ Connection connection = (Connection) runtimeEnvironment.getObject(connName);
+ if (connection != null){
+ try {
+ connection.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new EsiExecutionException(e);
+ }
+ connection = null;
+ }
+ runtimeEnvironment.addOrUpdateObject(connName, null);
+ }
+ }
+}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBCommit.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBCommit.java
new file mode 100644
index 0000000..7b9901f
--- /dev/null
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBCommit.java
@@ -0,0 +1,32 @@
+package br.com.centralit.esi.api.execution.component;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
+import br.com.centralit.esi.exception.EsiExecutionException;
+
+public class ExecuteDBCommit {
+ public static void execute(RuntimeEnvironment runtimeEnvironment) {
+ String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
+ if (connName != null){
+ Connection connection = (Connection) runtimeEnvironment.getObject(connName);
+ if (connection != null){
+ try {
+ connection.commit();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new EsiExecutionException(e);
+ } finally{
+ try {
+ connection.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ connection = null;
+ }
+ }
+ runtimeEnvironment.addOrUpdateObject(connName, null);
+ }
+ }
+}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBConnect.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBConnect.java
new file mode 100644
index 0000000..c5ed288
--- /dev/null
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteDBConnect.java
@@ -0,0 +1,85 @@
+package br.com.centralit.esi.api.execution.component;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.sql.DataSource;
+
+import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
+import br.com.centralit.esi.exception.EsiExecutionException;
+
+public class ExecuteDBConnect {
+ public static void execute(RuntimeEnvironment runtimeEnvironment) {
+ String driverClassName = (String) runtimeEnvironment.getObject("DRIVERCLASSNAME");
+ String pathConnection = (String) runtimeEnvironment.getObject("PATHCONNECTION");
+ String userName = (String) runtimeEnvironment.getObject("USERNAME");
+ String password = (String) runtimeEnvironment.getObject("PASSWORD");
+
+ String connType = (String) runtimeEnvironment.getObject("CONNTYPE");
+ String connName = (String) runtimeEnvironment.getObject("CONNECTIONNAME");
+
+ String autoCommit = (String) runtimeEnvironment.getObject("AUTOCOMMIT");
+ if (autoCommit == null){
+ autoCommit = "S";
+ }
+ if (connType == null){
+ connType = "";
+ }
+
+
+ Connection connection = null;
+
+ try {
+ if (connType.trim().equalsIgnoreCase("JNDI")){
+ String contexto = (String) runtimeEnvironment.getObject("JNDICONTEXT");
+ String tipo = (String) runtimeEnvironment.getObject("JNDITYPE");
+
+ Context cnx = new InitialContext();
+ DataSource ds;
+ ds = (DataSource) cnx.lookup(contexto + tipo);
+ connection = ds.getConnection();
+ }else{
+ try {
+ Class.forName(driverClassName);
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ throw new EsiExecutionException(e);
+ }
+ connection = DriverManager.getConnection(pathConnection, userName, password);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ throw new EsiExecutionException(e);
+ } catch (NamingException e) {
+ e.printStackTrace();
+ throw new EsiExecutionException(e);
+ }
+
+ if (connection != null) {
+ try {
+ if (autoCommit.trim().toUpperCase().equalsIgnoreCase("S") || autoCommit.trim().toUpperCase().equalsIgnoreCase("Y")
+ || autoCommit.trim().toUpperCase().equalsIgnoreCase("TRUE")){
+ connection.setAutoCommit(true);
+ }else{
+ connection.setAutoCommit(false);
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ try {
+ connection.close();
+ } catch (SQLException e1) {
+ }
+ connection = null;
+ throw new EsiExecutionException(e);
+ }
+ runtimeEnvironment.addOrUpdateObject(connName, connection);
+ } else {
+ System.out.println("ExecutaIniciaTransactionSql: Failed to make connection!");
+ throw new EsiExecutionException();
+ }
+ }
+}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecutePentahoReport.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecutePentahoReport.java
index 6547c03..c195db3 100644
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecutePentahoReport.java
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecutePentahoReport.java
@@ -13,6 +13,7 @@ import org.pentaho.reporting.engine.classic.core.modules.misc.datafactory.sql.SQ
import org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PdfReportUtil;
import org.pentaho.reporting.engine.classic.core.modules.output.table.html.HtmlReportUtil;
import org.pentaho.reporting.engine.classic.core.modules.output.table.xls.ExcelReportUtil;
+import org.pentaho.reporting.engine.classic.core.wizard.RelationalAutoGeneratorPreProcessor;
import org.pentaho.reporting.libraries.resourceloader.ResourceException;
import br.com.centralit.esi.api.enumerated.DataSourceTypeEnum;
@@ -20,7 +21,7 @@ import br.com.centralit.esi.api.enumerated.ReportFormatTypeEnum;
import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
import br.com.centralit.esi.api.util.ConvertUtilsESI;
import br.com.centralit.esi.api.util.DefaultConvertUtils;
-import br.com.centralit.esi.api.util.PentahooReportUtil;
+import br.com.centralit.esi.api.util.PentahoReportUtil;
import br.com.centralit.esi.exception.EsiExecutionException;
public class ExecutePentahoReport {
@@ -89,8 +90,9 @@ public class ExecutePentahoReport {
driverConnectionProvider.setUrl(pathConnection);
driverConnectionProvider.setProperty("user", username);
driverConnectionProvider.setProperty("password", password);
- dataFactory = new SQLReportDataFactory(driverConnectionProvider);
+ dataFactory = new SQLReportDataFactory(driverConnectionProvider);
}
+
sqlQueries = sqlQueries.replaceAll("\r", "\n");
sqlQueries = sqlQueries.replaceAll(";", "\n");
String[] linesQueries = sqlQueries.split("\n");
@@ -105,9 +107,9 @@ public class ExecutePentahoReport {
}
}
}
- PentahooReportUtil pentahooReportUtil = new PentahooReportUtil();
try {
- MasterReport report = pentahooReportUtil.getCompleteReportDefinition(pathReport, mapParms, dataFactory);
+ MasterReport report = PentahoReportUtil.getCompleteReportDefinition(pathReport, mapParms, dataFactory);
+ report.addPreProcessor(new RelationalAutoGeneratorPreProcessor());
if (outType.equalsIgnoreCase(ReportFormatTypeEnum.HTML.getId())){
try {
HtmlReportUtil.createDirectoryHTML(report, outPathReport);
@@ -116,12 +118,7 @@ public class ExecutePentahoReport {
throw new EsiExecutionException(e);
}
}else if (outType.equalsIgnoreCase(ReportFormatTypeEnum.PDF.getId())){
- try {
- PdfReportUtil.createPDF(report, outPathReport);
- } catch (IOException | ReportProcessingException e) {
- e.printStackTrace();
- throw new EsiExecutionException(e);
- }
+ PdfReportUtil.createPDF(report, outPathReport);
}else if (outType.equalsIgnoreCase(ReportFormatTypeEnum.EXCEL.getId())){
try {
ExcelReportUtil.createXLSX(report, outPathReport);
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteReplace.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteReplace.java
new file mode 100644
index 0000000..1401a91
--- /dev/null
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteReplace.java
@@ -0,0 +1,61 @@
+package br.com.centralit.esi.api.execution.component;
+
+import br.com.centralit.esi.api.enumerated.ReplacementTypeEnum;
+import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
+
+public class ExecuteReplace {
+ public static void execute(RuntimeEnvironment runtimeEnvironment) {
+ String valuesReplace = (String) runtimeEnvironment.getObject("VALUESREPLACE");
+ String typeReplace = (String) runtimeEnvironment.getObject("TYPEREPLACE");
+ if (valuesReplace == null){
+ valuesReplace = "";
+ }
+ if (typeReplace == null){
+ typeReplace = "";
+ }
+ valuesReplace = valuesReplace.replaceAll("\r", "\n");
+ valuesReplace = valuesReplace.replaceAll(";", "\n");
+
+ String[] linesParms = valuesReplace.split("\n");
+ if (linesParms != null){
+ for(int i = 0; i < linesParms.length; i++){
+ if (linesParms[i] != null && !linesParms[i].trim().equalsIgnoreCase("")){
+ String[] prop = linesParms[i].split("->");
+ if (prop != null && prop.length > 2){
+ if (prop[0] != null){
+ String nomeVariavel = prop[0].trim();
+ String value = (String) runtimeEnvironment.getObject(nomeVariavel);
+ if (value == null){
+ value = "";
+ }
+ String nomeRegex = null;
+ if (prop[1] != null){
+ nomeRegex = prop[1].trim();
+ }
+ if (nomeRegex == null){
+ nomeRegex = "##NULL##"; //Se entrar aqui eh que tem alguma coisa errada.
+ }
+ String nomeRepl = null;
+ if (prop[2] != null){
+ nomeRepl = prop[2].trim();
+ }
+ if (nomeRepl == null){
+ nomeRepl = "##NULL##";
+ }
+
+ if (typeReplace.equalsIgnoreCase(ReplacementTypeEnum.REPLACEALL.getId())){
+ value = value.replaceAll(nomeRegex, nomeRepl);
+ }else if (typeReplace.equalsIgnoreCase(ReplacementTypeEnum.REPLACEFIRST.getId())){
+ value = value.replaceFirst(nomeRegex, nomeRepl);
+ }else{
+ value = value.replaceAll(nomeRegex, nomeRepl);
+ }
+ runtimeEnvironment.addOrUpdateObject(nomeVariavel, value);
+ }
+ }
+ }
+ }
+ }
+
+ }
+}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSubstituir.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSubstituir.java
deleted file mode 100644
index c485abe..0000000
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/component/ExecuteSubstituir.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package br.com.centralit.esi.api.execution.component;
-
-import br.com.centralit.esi.api.enumerated.ReplacementTypeEnum;
-import br.com.centralit.esi.api.runtime.RuntimeEnvironment;
-
-public class ExecuteSubstituir {
- public static void execute(RuntimeEnvironment runtimeEnvironment) {
- String valuesReplace = (String) runtimeEnvironment.getObject("VALUESREPLACE");
- String typeReplace = (String) runtimeEnvironment.getObject("TYPEREPLACE");
- if (valuesReplace == null){
- valuesReplace = "";
- }
- if (typeReplace == null){
- typeReplace = "";
- }
- valuesReplace = valuesReplace.replaceAll("\r", "\n");
- valuesReplace = valuesReplace.replaceAll(";", "\n");
-
- String[] linesParms = valuesReplace.split("\n");
- if (linesParms != null){
- for(int i = 0; i < linesParms.length; i++){
- if (linesParms[i] != null && !linesParms[i].trim().equalsIgnoreCase("")){
- String[] prop = linesParms[i].split("->");
- if (prop != null && prop.length > 2){
- if (prop[0] != null){
- String nomeVariavel = prop[0].trim();
- String value = (String) runtimeEnvironment.getObject(nomeVariavel);
- if (value == null){
- value = "";
- }
- String nomeRegex = null;
- if (prop[1] != null){
- nomeRegex = prop[1].trim();
- }
- if (nomeRegex == null){
- nomeRegex = "##NULL##"; //Se entrar aqui eh que tem alguma coisa errada.
- }
- String nomeRepl = null;
- if (prop[2] != null){
- nomeRepl = prop[2].trim();
- }
- if (nomeRepl == null){
- nomeRepl = "##NULL##";
- }
-
- if (typeReplace.equalsIgnoreCase(ReplacementTypeEnum.REPLACEALL.getId())){
- value = value.replaceAll(nomeRegex, nomeRepl);
- }else if (typeReplace.equalsIgnoreCase(ReplacementTypeEnum.REPLACEFIRST.getId())){
- value = value.replaceFirst(nomeRegex, nomeRepl);
- }else{
- value = value.replaceAll(nomeRegex, nomeRepl);
- }
- runtimeEnvironment.addOrUpdateObject(nomeVariavel, value);
- }
- }
- }
- }
- }
-
- }
-}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/component/WorkItemDatabaseCloseServiceImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/component/WorkItemDatabaseCloseServiceImpl.java
index adc413a..c0b417c 100644
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/component/WorkItemDatabaseCloseServiceImpl.java
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/execution/service/component/WorkItemDatabaseCloseServiceImpl.java
@@ -5,7 +5,7 @@ import org.springframework.stereotype.Service;
import br.com.centralit.esi.api.design.model.FlowElement;
import br.com.centralit.esi.api.design.model.connector.DatabaseClose;
-import br.com.centralit.esi.api.execution.component.ExecuteCloseConnectionDBSql;
+import br.com.centralit.esi.api.execution.component.ExecuteDBClose;
import br.com.centralit.esi.api.execution.dao.WorkItemDao;
import br.com.centralit.esi.api.execution.model.ProcessInstance;
import br.com.centralit.esi.api.execution.model.WorkItem;
@@ -36,7 +36,7 @@ public class WorkItemDatabaseCloseServiceImpl extends WorkItemServiceImpl imp
runtimeEnvironment.addOrUpdateObject("VALUESREPLACE", element.getReplaceValues());
runtimeEnvironment.addOrUpdateObject("TYPEREPLACE", element.getReplacementType().getId());
- ExecuteSubstituir.execute(runtimeEnvironment);
+ ExecuteReplace.execute(runtimeEnvironment);
complete(runtimeEnvironment, workItem);
return retrieveTargets(runtimeEnvironment,workItem);
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/PentahoReportManagerImpl.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/PentahoReportManagerImpl.java
index e0316e9..c35ca58 100644
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/PentahoReportManagerImpl.java
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/resource/service/impl/PentahoReportManagerImpl.java
@@ -23,7 +23,7 @@ import br.com.centralit.esi.api.resource.model.ReportDataSource;
import br.com.centralit.esi.api.resource.model.ReportVersion;
import br.com.centralit.esi.api.resource.service.PentahoReportManager;
import br.com.centralit.esi.api.util.DefaultConvertUtils;
-import br.com.centralit.esi.api.util.PentahooReportUtil;
+import br.com.centralit.esi.api.util.PentahoReportUtil;
import br.com.centralit.esi.exception.EsiExecutionException;
@Component("pentahoReportManager")
@@ -67,7 +67,7 @@ public class PentahoReportManagerImpl extends ReportManagerImpl implements Penta
public byte[] execute(ReportVersion report, HashMap inputMap) {
byte[] buffer = null;
- String path = ResourceTypeEnum.REPORT.getPath();
+ String path = report.buildBasePath();
String pathReport = servletContext.getRealPath(path+"/"+report.getFileName());
@@ -76,11 +76,10 @@ public class PentahoReportManagerImpl extends ReportManagerImpl implements Penta
ReportFormatTypeEnum outType = ReportFormatTypeEnum.PDF;
DefaultConvertUtils.registerDefaultConverts();
- PentahooReportUtil pentahooReportUtil = new PentahooReportUtil();
MasterReport masterReport = null;
try {
SQLReportDataFactory dataSource = this.buildDataSource(report, inputMap);
- masterReport = pentahooReportUtil.getCompleteReportDefinition(pathReport, params, dataSource);
+ masterReport = PentahoReportUtil.getCompleteReportDefinition(pathReport, params, dataSource);
} catch (MalformedURLException e) {
e.printStackTrace();
throw new EsiExecutionException(e);
@@ -89,21 +88,21 @@ public class PentahoReportManagerImpl extends ReportManagerImpl implements Penta
throw new EsiExecutionException(e);
}
- String outputPath = "";
+ String outputPath = servletContext.getRealPath(ResourceTypeEnum.REPORT.getPath()+"/"+report.getFileName());
try{
switch (outType) {
case HTML:
- outputPath = pathReport.replaceAll(".prpt", ".html");
+ outputPath = outputPath.replaceAll(".prpt", ".html");
HtmlReportUtil.createDirectoryHTML(masterReport, outputPath);
break;
case PDF:
- outputPath = pathReport.replaceAll(".prpt", ".pdf");
+ outputPath = outputPath.replaceAll(".prpt", ".pdf");
PdfReportUtil.createPDF(masterReport, outputPath);
break;
case EXCEL:
- outputPath = pathReport.replaceAll(".prpt", ".xlsx");
+ outputPath = outputPath.replaceAll(".prpt", ".xlsx");
ExcelReportUtil.createXLSX(masterReport, outputPath);
break;
@@ -118,9 +117,8 @@ public class PentahoReportManagerImpl extends ReportManagerImpl implements Penta
throw new EsiExecutionException(e);
}
- String fullPath = servletContext.getRealPath(outputPath);
try {
- FileInputStream is = new FileInputStream(fullPath);
+ FileInputStream is = new FileInputStream(outputPath);
buffer = new byte[is.available()];
is.read(buffer);
is.close();
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahoReportUtil.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahoReportUtil.java
new file mode 100644
index 0000000..4f860ca
--- /dev/null
+++ b/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahoReportUtil.java
@@ -0,0 +1,68 @@
+package br.com.centralit.esi.api.util;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.Map;
+
+import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
+import org.pentaho.reporting.engine.classic.core.DataFactory;
+import org.pentaho.reporting.engine.classic.core.MasterReport;
+import org.pentaho.reporting.libraries.resourceloader.Resource;
+import org.pentaho.reporting.libraries.resourceloader.ResourceException;
+import org.pentaho.reporting.libraries.resourceloader.ResourceManager;
+
+public class PentahoReportUtil {
+ /**
+ * Performs the basic initialization required to generate a report
+ */
+ private PentahoReportUtil() {
+ ClassicEngineBoot.getInstance().start();
+ }
+
+ public static MasterReport getCompleteReportDefinition(String pathReport, Map parameters, DataFactory dataFactory) throws MalformedURLException, ResourceException {
+ MasterReport report = getReportDefinition(pathReport);
+ // Add any parameters to the report
+ Map reportParameters = null;
+ if (parameters != null){
+ reportParameters = parameters;
+ }
+ if (null != reportParameters) {
+ for (String key : reportParameters.keySet()) {
+ report.getParameterValues().put(key, reportParameters.get(key));
+ }
+ }
+ if (dataFactory != null) {
+ report.setDataFactory(dataFactory);
+ }
+ // Return the completed report
+ return report;
+ }
+
+ /**
+ * Returns the report definition which will be used to generate the report.
+ * In this case, the report will be loaded and parsed from a file contained
+ * in this package.
+ *
+ * @return the loaded and parsed report definition to be used in report
+ * generation.
+ * @throws MalformedURLException
+ * @throws ResourceException
+ */
+ private static MasterReport getReportDefinition(String pathReport) throws MalformedURLException, ResourceException {
+ // Using the classloader, get the URL to the reportDefinition file
+ // NOTE: We will re-use the report definition from SAMPLE1
+ //final ClassLoader classloader = this.getClass().getClassLoader();
+ //URL reportDefinitionURL = classloader.getResource("org/pentaho/reporting/engine/classic/samples/Sample1.prpt");
+ File f = new File(pathReport);
+ URI uri = f.toURI();
+ URL reportDefinitionURL = uri.toURL();
+ // Parse the report file
+ final ResourceManager resourceManager = new ResourceManager();
+ resourceManager.registerDefaults();
+ final Resource directly = resourceManager.createDirectly(reportDefinitionURL, MasterReport.class);
+ return (MasterReport) directly.getResource();
+ }
+
+}
diff --git a/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahooReportUtil.java b/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahooReportUtil.java
deleted file mode 100644
index d454759..0000000
--- a/cit-esi-api/src/main/java/br/com/centralit/esi/api/util/PentahooReportUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package br.com.centralit.esi.api.util;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Map;
-
-import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
-import org.pentaho.reporting.engine.classic.core.DataFactory;
-import org.pentaho.reporting.engine.classic.core.MasterReport;
-import org.pentaho.reporting.libraries.resourceloader.Resource;
-import org.pentaho.reporting.libraries.resourceloader.ResourceException;
-import org.pentaho.reporting.libraries.resourceloader.ResourceManager;
-
-public class PentahooReportUtil {
- /**
- * Performs the basic initialization required to generate a report
- */
- public PentahooReportUtil() {
- // Initialize the reporting engine
- ClassicEngineBoot.getInstance().start();
- }
-
- public MasterReport getCompleteReportDefinition(String pathReport, Map parameters, DataFactory dataFactory) throws MalformedURLException, ResourceException {
- MasterReport report = getReportDefinition(pathReport);
- // Add any parameters to the report
- Map reportParameters = null;
- if (parameters != null){
- reportParameters = parameters;
- }
- if (null != reportParameters) {
- for (String key : reportParameters.keySet()) {
- report.getParameterValues().put(key, reportParameters.get(key));
- }
- }
- if (dataFactory != null) {
- report.setDataFactory(dataFactory);
- }
- // Return the completed report
- return report;
- }
-
- /**
- * Returns the report definition which will be used to generate the report.
- * In this case, the report will be loaded and parsed from a file contained
- * in this package.
- *
- * @return the loaded and parsed report definition to be used in report
- * generation.
- * @throws MalformedURLException
- * @throws ResourceException
- */
- private MasterReport getReportDefinition(String pathReport) throws MalformedURLException, ResourceException {
- // Using the classloader, get the URL to the reportDefinition file
- // NOTE: We will re-use the report definition from SAMPLE1
- //final ClassLoader classloader = this.getClass().getClassLoader();
- //URL reportDefinitionURL = classloader.getResource("org/pentaho/reporting/engine/classic/samples/Sample1.prpt");
- File f = new File(pathReport);
- URI uri = f.toURI();
- URL reportDefinitionURL = uri.toURL();
- // Parse the report file
- final ResourceManager resourceManager = new ResourceManager();
- resourceManager.registerDefaults();
- final Resource directly = resourceManager.createDirectly(reportDefinitionURL, MasterReport.class);
- return (MasterReport) directly.getResource();
- }
-
-}
diff --git a/cit-esi-web/src/main/resources/spring/applicationContext.xml b/cit-esi-web/src/main/resources/spring/applicationContext.xml
index 963ea1e..a39228c 100644
--- a/cit-esi-web/src/main/resources/spring/applicationContext.xml
+++ b/cit-esi-web/src/main/resources/spring/applicationContext.xml
@@ -40,6 +40,7 @@
+
--
libgit2 0.21.2