diff options
Diffstat (limited to 'ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system')
2 files changed, 34 insertions, 1 deletions
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java index e179d388..37d3612c 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/DbUtils.java @@ -39,6 +39,7 @@ package org.onap.portalsdk.analytics.system; import java.sql.CallableStatement; import java.sql.Connection; +import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -46,6 +47,7 @@ import java.sql.Types; import javax.sql.DataSource; +import org.apache.commons.lang3.StringUtils; import org.onap.portalsdk.analytics.error.RaptorException; import org.onap.portalsdk.analytics.error.ReportSQLException; import org.onap.portalsdk.analytics.model.runtime.ReportRuntime; @@ -200,6 +202,35 @@ public class DbUtils { throw new ReportSQLException(e.getMessage(), sql); } } // executeQuery + + public static DataSet executeQuery(String sql, String reportName, String reportID) throws ReportSQLException { + Connection con = null; + try { + con = getConnection(); + PreparedStatement preparedStatement = con.prepareStatement(sql); + if(StringUtils.isNotBlank(reportID)) { + preparedStatement.setString(1, reportID); + preparedStatement.setString(2, reportName); + }else { + preparedStatement.setString(1, reportName); + } + + try(ResultSet rs = preparedStatement.executeQuery();) + { + logger.debug(EELFLoggerDelegate.debugLogger, ("[SQL CALL FROM RAPTOR] [SQL] " + sql)); + return new DataSet(rs, Integer.MAX_VALUE); + } + } catch (SQLException e) { + throw new ReportSQLException(e.getMessage(), sql); + } catch (ReportSQLException ex) { + logger.error(EELFLoggerDelegate.debugLogger, ("Error " + sql)); + throw new ReportSQLException(ex.getMessage(), ex); + }catch(Exception ex1) { + throw new ReportSQLException(ex1.getMessage(), ex1.getCause()); + } finally { + clearConnection(con); + } + } // executeQuery public static DataSet executeQuery(String sql) throws ReportSQLException { return executeQuery(sql, Integer.MAX_VALUE); diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java index c761bdcc..dbecbbd8 100644 --- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java +++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java @@ -671,7 +671,9 @@ public class RaptorControllerAsync extends RestrictedBaseController { ReportRuntime rr = null; boolean newReport = false; MessageJSON messageJSON = new MessageJSON(); - + if("-1".equals(id)) { + id = "Create"; + } try { if (id.equals("InSession")) { rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION); |