summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java8
-rw-r--r--ecomp-sdk/epsdk-analytics/README.md6
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java20
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/base/ReportWrapper.java13
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportSchedule.java19
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java9
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java4
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java2
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/scheduler/SendEmail.java19
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java8
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java19
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java42
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java52
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/jar/ExtractJar.java73
-rw-r--r--ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/model/runtime/RaptorControllerAsyncTest.java16
-rw-r--r--ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/RaptorControllerAsyncNewTest.java27
-rw-r--r--ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java4
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/conf/sql.properties4
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js7
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js18
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html2
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/steps/step1.html17
-rw-r--r--ecomp-sdk/epsdk-fw/src/main/java/org/onap/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java30
23 files changed, 259 insertions, 160 deletions
diff --git a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java
index bfe9808b..3eac97b5 100644
--- a/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java
+++ b/ecomp-sdk/epsdk-aaf/src/main/java/org/onap/portalsdk/external/authorization/service/UserApiServiceImpl.java
@@ -128,7 +128,7 @@ public class UserApiServiceImpl implements UserApiService {
HttpMethod.GET, entity, String.class);
if (getResponse.getStatusCode().value() == 200) {
logger.debug(EELFLoggerDelegate.debugLogger,
- "getUserRoles: Finished GET unp ser roles from external auth system and body: {}",
+ "getUserRoles: Finished GET user app roles from external auth system and body: {}",
getResponse.getBody());
}
String userRoles = getResponse.getBody();
@@ -162,9 +162,7 @@ public class UserApiServiceImpl implements UserApiService {
if (!role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME)
.endsWith(EcompExternalAuthUtils.EXT_ROLE_FIELD_ADMIN)
&& !role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME)
- .endsWith(EcompExternalAuthUtils.EXT_ROLE_FIELD_OWNER)
- && EcompExternalAuthUtils.checkNameSpaceMatching(
- role.getString(EcompExternalAuthUtils.EXT_ROLE_FIELD_NAME), namespace)) {
+ .endsWith(EcompExternalAuthUtils.EXT_ROLE_FIELD_OWNER)) {
ExternalRoleDescription desc = new ExternalRoleDescription();
if (role.has(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION) && EcompExternalAuthUtils
.isJSONValid(role.getString(EcompExternalAuthUtils.EXT_FIELD_DESCRIPTION))) {
@@ -225,7 +223,7 @@ public class UserApiServiceImpl implements UserApiService {
if (roleDesc != null) {
if (roleDesc.getName() == null) {
role.setActive(true);
- role.setName(userRoleDetail.getName().substring(namespace.length() + 1));
+ role.setName(userRoleDetail.getName());
} else {
role.setActive(Boolean.valueOf(roleDesc.getActive()));
role.setId(Long.valueOf(roleDesc.getAppRoleId()));
diff --git a/ecomp-sdk/epsdk-analytics/README.md b/ecomp-sdk/epsdk-analytics/README.md
index 9c3ce95d..917de951 100644
--- a/ecomp-sdk/epsdk-analytics/README.md
+++ b/ecomp-sdk/epsdk-analytics/README.md
@@ -11,6 +11,12 @@ features including charts, maps and reports ("Raptor").
### ONAP Distributions
+Version 2.5.0
+- PORTAL-314 Fixed Bug for chart not showing up and for remote connection map bug (sql.properties).
+- PORTAL-314 Fixed Bug due to test java in analytics section.
+- PORTAL-314 Remote DB logic is added to enhance RAPTOR to pull content from different DB as well as Different DB TYPE
+
+
Version 1.4.0
- PORTAL-19 Rename Java package base to org.onap
- PORTAL-72 Address Sonar Scan code issues
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java
index d87a5b13..e976f144 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/controller/ActionHandler.java
@@ -1995,11 +1995,8 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject {
String insertQry = Globals.getDownloadAllInsert();
- Connection connection = null;
- PreparedStatement pst = null;
- try {
- connection = DbUtils.getConnection();
- pst = connection.prepareStatement(insertQry);
+ try(Connection connection = DbUtils.getConnection();
+ PreparedStatement pst = connection.prepareStatement(insertQry)){
if(nvl(emailId).length()>0){
pst.setInt(1, Integer.parseInt(userId));
pst.setInt(2, Integer.parseInt(rr.getReportID()));
@@ -2019,8 +2016,6 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject {
connection.commit();
}
}
- pst.close();
- connection.close();
logger.debug(EELFLoggerDelegate.debugLogger, ("Data inserted"));
} catch (SQLException ex) {
throw new RaptorException(ex);
@@ -2028,16 +2023,7 @@ public class ActionHandler extends org.onap.portalsdk.analytics.RaptorObject {
throw new RaptorException(ex);
} catch (Exception ex) {
throw new RaptorException (ex);
- } finally {
- try {
- if(connection!=null)
- connection.close();
- if(pst!=null)
- pst.close();
- } catch (SQLException ex) {
- throw new RaptorException(ex);
- }
- }
+ }
//DbUtils.commitTransaction(connection);
//DbUtils.clearConnection(connection);
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/base/ReportWrapper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/base/ReportWrapper.java
index 97faffb1..1dce0e36 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/base/ReportWrapper.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/base/ReportWrapper.java
@@ -3684,11 +3684,10 @@ public class ReportWrapper extends org.onap.portalsdk.analytics.RaptorObject {
setWholeSQL(reportSQL);
if(nvl(reportSQL).length()>0)
reportSQL = generateSQL(userId, request);
-
- if (reportSQL.toUpperCase().indexOf("ORDER BY ") < 0) {
+ if (nvl(reportSQL).toUpperCase().indexOf("ORDER BY ") < 0) {
StringBuffer sortBy = null;
- if (reportSQL.toUpperCase().indexOf("GROUP BY ") < 0)
+ if (nvl(reportSQL).toUpperCase().indexOf("GROUP BY ") < 0)
if (getDataSourceList().getDataSource().size() > 0) {
DataSourceType dst = (DataSourceType) getDataSourceList().getDataSource()
.get(0);
@@ -3706,15 +3705,17 @@ public class ReportWrapper extends org.onap.portalsdk.analytics.RaptorObject {
} // while
}
} // if
- if (reportSQL.trim().toUpperCase().startsWith("SELECT")) {
+ if (nvl(reportSQL).trim().toUpperCase().startsWith("SELECT")) {
//if (!(dbType.equals("DAYTONA") && reportSQL.trim().toUpperCase().startsWith("SELECT")))
// reportSQL += " ORDER BY " + ((sortBy == null) ? "1" : sortBy.toString());
}
}
-
StringBuffer colNames = new StringBuffer();
StringBuffer colExtraIdNames = new StringBuffer();
StringBuffer colExtraDateNames = new StringBuffer();
+ if(getDBType()!=null && getDBType().equals(AppConstants.ORACLE)) {
+ colNames.append("rownum rnum");
+ }
if(getColumnNamesFromReportSQL) {
DataSet ds = ConnectionUtils.getDataSet(reportSQL, dbInfo);
@@ -3848,7 +3849,7 @@ public class ReportWrapper extends org.onap.portalsdk.analytics.RaptorObject {
partSql = partSql+ " LIMIT "+ String.valueOf(startRow)+" , "+ String.valueOf(endRow);
} else if(getDBType().equals(AppConstants.ORACLE)) {
reportSQL = reportSQL.replace(" AS ", " ");
- partSql = "where rownum >= "+ String.valueOf(startRow)+" and rownum <= "+(Integer.parseInt(String.valueOf(startRow)) + Integer.parseInt(String.valueOf(endRow)));
+ partSql = "where rnum >= "+ String.valueOf(startRow)+" and rnum <= "+(Integer.parseInt(String.valueOf(startRow)) + Integer.parseInt(String.valueOf(endRow)));
} else if(getDBType().equals(AppConstants.POSTGRESQL)) {
partSql = partSql + " LIMIT "+ String.valueOf(endRow)+" , "+ String.valueOf(startRow);//limit [pageSize] offset [startRow]
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportSchedule.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportSchedule.java
index b3ec072d..d56391ef 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportSchedule.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/ReportSchedule.java
@@ -1223,16 +1223,19 @@ public class ReportSchedule extends RaptorObject implements Serializable{
int len = 0;
char[] buffer = new char[512];
- Reader in = null;
- in = new InputStreamReader(clob.getAsciiStream());
- // if(obj instanceof oracle.sql.CLOB) {
- // in = ((oracle.sql.CLOB) obj).getCharacterStream();
- // } else if (obj instanceof weblogic.jdbc.wrapper.Clob) {
- // in = ((weblogic.jdbc.base.BaseClob) obj).getCharacterStream();
- // }
+ try(Reader in = new InputStreamReader(clob.getAsciiStream())) {
+ // if(obj instanceof oracle.sql.CLOB) {
+ // in = ((oracle.sql.CLOB) obj).getCharacterStream();
+ // } else if (obj instanceof weblogic.jdbc.wrapper.Clob) {
+ // in = ((weblogic.jdbc.base.BaseClob) obj).getCharacterStream();
+ // }
while ((len = in.read(buffer)) != -1)
sb.append(buffer, 0, len);
- in.close();
+ } catch(Exception e) {
+ //if any error while operating the input stream, just throw the error out
+ //so that outer try/catch block could handle it
+ throw e;
+ }
} else if (Globals.isPostgreSQL() || Globals.isMySQL()) {
String clob= null;
Object obj = null;
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
index 47b1ef9e..483505af 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
@@ -51,6 +51,7 @@ public class DefinitionJSON implements WizardJSON {
private String dbInfo;
private String formHelpText;
private Integer pageSize;
+ private List<IdNameBooleanJSON> dbInfoList = null;
private List<IdNameBooleanJSON> displayArea = null;
private Boolean hideFormFieldsAfterRun;
private Integer maxRowsInExcelCSVDownload;
@@ -327,5 +328,11 @@ public class DefinitionJSON implements WizardJSON {
this.repDefType = repDefType;
}
-
+ public List<IdNameBooleanJSON> getDbInfoList() {
+ return dbInfoList;
+ }
+
+ public void setDbInfoList(List<IdNameBooleanJSON> dbInfoList) {
+ this.dbInfoList = dbInfoList;
+ }
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
index ec83ffbf..60c45b4f 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ChartD3Helper.java
@@ -3179,10 +3179,8 @@ public class ChartD3Helper {
}
}
- try {
- BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));
+ try(BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"))) {
out.write(wholeScript.toString());
- out.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("Exception ");
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
index bb99318f..4b72502f 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/model/runtime/ReportRuntime.java
@@ -1338,7 +1338,7 @@ public class ReportRuntime extends ReportWrapper implements Cloneable, Serializa
DataColumnType dct = (DataColumnType) reportCols.get(c);
DataValue dv = new DataValue();
dr.addDataValue(dv);
- dv.setDisplayValue(ds.getString(r, c));
+ dv.setDisplayValue(ds.getString(r, ds.getColumnIndex(dct.getColId())));
dv.setColName(dct.getColName());
dv.setColId(dct.getColId());
dv.setNowrap(nvl(dct.getNowrap(),"null").equals("false")?"null":nvl(dct.getNowrap(),"null"));
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/scheduler/SendEmail.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/scheduler/SendEmail.java
index 7722d9ed..1f6b4917 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/scheduler/SendEmail.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/scheduler/SendEmail.java
@@ -171,9 +171,12 @@ SchedulerUtil schedulerUtil;
params, types
);
- FileInputStream fileStream = new FileInputStream(readFile);
- schedulerUtil.updateBinaryStream("update cr_report_file_history set file_blob = ? where hist_id = ?", v_hist_rec.hist_id, fileStream, v_hist_rec.file_size);
- fileStream.close();
+ try(FileInputStream fileStream = new FileInputStream(readFile)) {
+ schedulerUtil.updateBinaryStream("update cr_report_file_history set file_blob = ? where hist_id = ?", v_hist_rec.hist_id, fileStream, v_hist_rec.file_size);
+ }catch (Exception e){
+ //throw the exception to outer block for handling it
+ throw e;
+ }
String userAddRecSql =
Globals.getSchedulerUserEmails().replace("[p_schedule_id]", p_schedule_id+"");
@@ -401,18 +404,16 @@ SchedulerUtil schedulerUtil;
InputStream in = con.getInputStream();
try {
-
- FileOutputStream out = new FileOutputStream(outputFolder + java.io.File.separator + fileName );
- try {
+
+ try (FileOutputStream out = new FileOutputStream(outputFolder + java.io.File.separator + fileName )) {
int inputLine;
while ((inputLine = in.read()) != -1) {
out.write(inputLine);
}
out.flush();
- }
- finally {
- out.close();
+ } catch(Exception e){
+ throw e;
}
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java
index 032b394b..fcff3183 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtils.java
@@ -58,7 +58,13 @@ public class RemoteDbUtils implements RDbUtils{
public Connection getRemoteConnection(String dbKey) {
- return raptorAdapter.getConnection(dbKey);
+ try {
+ org.onap.portalsdk.analytics.util.RemDbInfo remDbInfo = new org.onap.portalsdk.analytics.util.RemDbInfo();
+ return remDbInfo.getDBConnection(dbKey);
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return null;
+ }
}
public void clearConnection(Connection conn) {
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java
index d54e0579..a03c9539 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/system/fusion/controller/FileServletController.java
@@ -141,12 +141,10 @@ public class FileServletController {
private void serveFile(HttpServletResponse response, File inFile)
throws Exception {
- OutputStream os = null;
- InputStream is = null;
- try {
+
+ try(InputStream is = new BufferedInputStream(new FileInputStream(inFile));
+ OutputStream os = new BufferedOutputStream(response.getOutputStream());) {
response.reset();
- is = new BufferedInputStream(new FileInputStream(inFile));
- os = new BufferedOutputStream(response.getOutputStream());
response.setContentLength((int) inFile.length());
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=\""
@@ -154,16 +152,7 @@ public class FileServletController {
copyStream(is, os);
os.flush();
} catch (Exception ex) {
- if (os == null)
- throw new Exception("Could not open output stream for file ");
- if (is == null)
- throw new Exception("Could not open input stream for file ");
- } finally {
- if (os != null) {
- os.close();
- }
- if (is != null)
- is.close();
+ throw new Exception("Could not open input or output stream for file ");
}
}
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 e06a1765..c761bdcc 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
@@ -96,6 +96,7 @@ import org.onap.portalsdk.analytics.model.runtime.ReportFormFields;
import org.onap.portalsdk.analytics.model.runtime.ReportRuntime;
import org.onap.portalsdk.analytics.system.AppUtils;
import org.onap.portalsdk.analytics.system.ConnectionUtils;
+import org.onap.portalsdk.analytics.system.DbUtils;
import org.onap.portalsdk.analytics.system.Globals;
import org.onap.portalsdk.analytics.util.AppConstants;
import org.onap.portalsdk.analytics.util.DataSet;
@@ -711,6 +712,24 @@ public class RaptorControllerAsync extends RestrictedBaseController {
// }
if (rdef != null) {
+ String dbInfo = definitionJSON.getDbInfo();
+ rdef.setDBInfo(dbInfo);
+ //save dbType
+ String schemaSql = Globals.getRemoteDbSchemaSqlWithWhereClause();
+ schemaSql = schemaSql.replace("[schema_id]", dbInfo);
+ String dbType = null;
+ DataSet ds = null;
+ try {
+ ds = DbUtils.executeQuery(schemaSql);
+
+ String prefix = "", desc = "";
+
+ for (int i = 0; i < ds.getRowCount(); i++) {
+ dbType = ds.getItem(i, 2);
+ }
+ }
+ catch (Exception e) {}
+ rdef.setDBType(dbType);
String reportName = definitionJSON.getReportName();
String errorString = "";
if (AppUtils.nvl(reportName).length() <= 0)
@@ -1358,6 +1377,7 @@ public class RaptorControllerAsync extends RestrictedBaseController {
if (pathVariables.containsKey("id")) {
id = pathVariables.get("id");
}
+
String detailId = "";
if (pathVariables.containsKey("detailId")) {
detailId = pathVariables.get("detailId");
@@ -1467,6 +1487,26 @@ public class RaptorControllerAsync extends RestrictedBaseController {
wizardJSON.setReportTitle((rdef != null) ? rdef.getReportTitle() : "");
wizardJSON.setReportSubTitle((rdef != null) ? rdef.getReportSubTitle() : "");
+
+ String schemaSql = Globals.getRemoteDbSchemaSql();
+ DataSet ds = null;
+ ArrayList<IdNameBooleanJSON> dbInfoList = new ArrayList<IdNameBooleanJSON>();
+ try {
+ ds = DbUtils.executeQuery(schemaSql);
+
+ String prefix = "", desc = "";
+
+ for (int i = 0; i < ds.getRowCount(); i++) {
+ IdNameBooleanJSON dBNameJSON = new IdNameBooleanJSON();
+ dBNameJSON.setId(ds.getItem(i, 0));
+ dBNameJSON.setName(ds.getItem(i, 0));
+ dBNameJSON.setSelected(false);
+ dbInfoList.add(dBNameJSON);
+ }
+ }
+ catch (Exception e) {}
+ wizardJSON.setDbInfoList(dbInfoList);
+
/*Robert add*/
wizardJSON.setOneTimeRec((rdef != null) ? rdef.getIsOneTimeScheduleAllowed() : "false");
wizardJSON.setHourlyRec((rdef != null) ? rdef.getIsHourlyScheduleAllowed() : "false");
@@ -1572,7 +1612,7 @@ public class RaptorControllerAsync extends RestrictedBaseController {
try {
response.setContentType("application/json");
- ds = ConnectionUtils.getDataSet(sql, "local", true);
+ ds = ConnectionUtils.getDataSet(sql, rdef.getDBInfo(), true);
QueryResultJSON queryResultJSON = new QueryResultJSON();
queryResultJSON.setQuery(queryJSON.getQuery());
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java
index 0b9e08c7..57c1e31d 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/RemDbInfo.java
@@ -37,24 +37,40 @@
*/
package org.onap.portalsdk.analytics.util;
+import java.sql.Connection;
import java.util.HashMap;
+import javax.servlet.ServletContext;
+
import org.onap.portalsdk.analytics.system.DbUtils;
import org.onap.portalsdk.analytics.system.Globals;
+import org.onap.portalsdk.analytics.system.fusion.adapter.RaptorAdapter;
+import org.onap.portalsdk.analytics.system.fusion.adapter.SpringContext;
+
+import com.mchange.v2.c3p0.ComboPooledDataSource;
public class RemDbInfo {
private HashMap remDbMap = null;
private HashMap remDbTypeMap = null;
+ private HashMap remDbConnectionMap = null;
public RemDbInfo() throws Exception {
if (remDbMap == null) {
load();
}
}
+
+ private RaptorAdapter raptorAdapter;
+
+
+ public void initializeDbUtils(ServletContext servletContext) {
+ raptorAdapter = (RaptorAdapter)SpringContext.getApplicationContext().getBean("raptorAdapter");
+ } // initializeDbUtils
public void load() throws Exception {
remDbMap = new HashMap();
remDbTypeMap = new HashMap();
+ remDbConnectionMap = new HashMap();
try {
//String query = " SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE, rownum id FROM SCHEMA_INFO a " +
// " where schema_id = 'local' union " +
@@ -65,20 +81,35 @@ public class RemDbInfo {
Globals.getDbUtils();
ds = DbUtils.executeQuery(query);
- String prefix = "", desc = "", dbType = "";
+ String prefix = "", desc = "", dbType = "", connectionUrl = "", username = "", password = "", driver_class = "";
if(ds.getRowCount() > 0) {
for (int i = 0; i < ds.getRowCount(); i++) {
- prefix = ds.getItem(i, 0);
- desc = ds.getItem(i, 1);
- dbType = ds.getItem(i, 2);
+ prefix = ds.getItem(i, 0);
+ desc = ds.getItem(i, 1);
+ dbType = ds.getItem(i, 2);
+ connectionUrl = ds.getItem(i, 3);
+ username = ds.getItem(i, 4);
+ password = ds.getItem(i, 5);
+ driver_class = ds.getItem(i, 6);
+
+ ComboPooledDataSource cpds = new ComboPooledDataSource();
+ cpds.setDriverClass( driver_class ); //loads the jdbc driver
+ cpds.setJdbcUrl( connectionUrl);
+ cpds.setUser(username);
+ cpds.setPassword(password);
+
+
+
remDbMap.put(prefix, desc);
remDbTypeMap.put(prefix, dbType);
+ remDbConnectionMap.put(prefix, cpds);
}
} else {
remDbMap.put("local", "local");
remDbTypeMap.put("local", Globals.getDBType());
+ remDbConnectionMap.put("local", raptorAdapter.getConnection());
}
}
catch (Exception e) {}
@@ -100,6 +131,19 @@ public class RemDbInfo {
return "";
}
+
+ public Connection getDBConnection(String prefix) {
+ if ((remDbConnectionMap != null) && (remDbConnectionMap.containsKey(prefix))) {
+ try {
+ return ((ComboPooledDataSource) remDbConnectionMap.get(prefix)).getConnection();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return null;
+ }
+ }
+
+ return null;
+ }
public HashMap getDbHash() {
return remDbMap;
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/jar/ExtractJar.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/jar/ExtractJar.java
index 12355573..b5390c92 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/jar/ExtractJar.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/onap/portalsdk/analytics/util/jar/ExtractJar.java
@@ -73,17 +73,18 @@ public class ExtractJar {
* @throws Exception
*/
public static void readJar(File jarFile) throws Exception {
- JarInputStream in = new JarInputStream(new FileInputStream(jarFile));
- JarEntry je;
- while ((je = in.getNextJarEntry()) != null) {
- if (je.isDirectory() == false) {
- if (je.getName().startsWith("org/onap/portalsdk/analytics/config/")) {
- System.out.println(je.getName() + " " + je.getTime());
-
+ try(JarInputStream in = new JarInputStream(new FileInputStream(jarFile)))
+ {
+ JarEntry je;
+ while ((je = in.getNextJarEntry()) != null) {
+ if (je.isDirectory() == false) {
+ if (je.getName().startsWith("org/onap/portalsdk/analytics/config/")) {
+ System.out.println(je.getName() + " " + je.getTime());
+
+ }
}
}
}
- in.close();
}
/**
@@ -95,37 +96,37 @@ public class ExtractJar {
Class clazz = ExtractJar.class;
URL jarUrl = clazz.getProtectionDomain().getCodeSource().getLocation();
- JarInputStream entryStream = new JarInputStream(jarUrl.openStream());
- JarEntry entry;
-
- while (true) {
- entry = entryStream.getNextJarEntry();
- if (entry == null)
- break;
- if (entry.getName().indexOf("jarutil") < 0) {
- System.out.println(entry.getName());
- File file = new File(directory, entry.getName());
- if (entry.isDirectory()) {
- if (!file.exists())
- file.mkdirs();
- } else {
- File dir = new File(file.getParent());
- if (!dir.exists())
- dir.mkdirs();
- if (file.exists())
- file.delete();
- FileOutputStream fout = new FileOutputStream(file);
- copy(entryStream, fout);
- fout.close();
-
- if (entry.getTime() >= 0)
- file.setLastModified(entry.getTime());
+ try(JarInputStream entryStream = new JarInputStream(jarUrl.openStream())){
+ JarEntry entry;
+
+ while (true) {
+ entry = entryStream.getNextJarEntry();
+ if (entry == null)
+ break;
+ if (entry.getName().indexOf("jarutil") < 0) {
+ System.out.println(entry.getName());
+ File file = new File(directory, entry.getName());
+ if (entry.isDirectory()) {
+ if (!file.exists())
+ file.mkdirs();
+ } else {
+ File dir = new File(file.getParent());
+ if (!dir.exists())
+ dir.mkdirs();
+ if (file.exists())
+ file.delete();
+ try(FileOutputStream fout = new FileOutputStream(file)){
+ copy(entryStream, fout);
+ }
+
+ if (entry.getTime() >= 0)
+ file.setLastModified(entry.getTime());
+ }
+
}
-
+ entryStream.closeEntry();
}
- entryStream.closeEntry();
}
- entryStream.close();
System.out.println("/WEB-INF/classes/org/onap/portalsdk/analytics");
System.out.println("Delete .... ");
diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/model/runtime/RaptorControllerAsyncTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/model/runtime/RaptorControllerAsyncTest.java
index c5010c1a..909fec8c 100644
--- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/model/runtime/RaptorControllerAsyncTest.java
+++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/model/runtime/RaptorControllerAsyncTest.java
@@ -353,7 +353,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -400,7 +400,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
// datset = new DataSet(rs);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -448,7 +448,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
// datset = new DataSet(rs);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -480,7 +480,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
// datset = new DataSet(rs);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -515,7 +515,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
// datset = new DataSet(rs);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -546,7 +546,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -577,7 +577,7 @@ public class RaptorControllerAsyncTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -685,7 +685,7 @@ public class RaptorControllerAsyncTest {
PowerMockito.mockStatic(DbUtils.class);
Mockito.when(Globals.getReportUserAccess()).thenReturn("test");
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
CustomReportType customReportType = new CustomReportType();
customReportType.setReportType("test");
diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/RaptorControllerAsyncNewTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/RaptorControllerAsyncNewTest.java
index f761733b..5b2da9ca 100644
--- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/RaptorControllerAsyncNewTest.java
+++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/RaptorControllerAsyncNewTest.java
@@ -161,7 +161,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -241,7 +241,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -301,7 +301,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -370,7 +370,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -431,7 +431,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -467,7 +467,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -509,7 +509,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -572,7 +572,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -599,7 +599,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -836,7 +836,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -943,7 +943,7 @@ public class RaptorControllerAsyncNewTest {
Mockito.when(rsmd.getColumnCount()).thenReturn(1);
Mockito.when(rs.getMetaData()).thenReturn(rsmd);
DataSet datset = PowerMockito.mock(DataSet.class);
- Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyInt())).thenReturn(null);
+ Mockito.when(datset.getString(Matchers.anyInt(), Matchers.anyString())).thenReturn(null);
Mockito.when(DbUtils.executeQuery(Matchers.anyString())).thenReturn(datset);
Mockito.when(Globals.getNewScheduleData()).thenReturn("test");
CustomReportType customReportType = new CustomReportType();
@@ -1342,7 +1342,7 @@ public class RaptorControllerAsyncNewTest {
public void retrieveDataForGivenQuery2Test() throws Exception
{
QueryJSON queryJSON = new QueryJSON();
- queryJSON.setQuery("select");
+ queryJSON.setQuery("test");
ServletContext servletContext = PowerMockito.mock(ServletContext.class);
Mockito.when(mockedRequest.getSession().getServletContext()).thenReturn(servletContext);
ReportDefinition rdf1 = PowerMockito.mock(ReportDefinition.class);
@@ -1378,8 +1378,7 @@ public class RaptorControllerAsyncNewTest {
assertEquals(raptorControllerAsync.nvl("test"),"test");
assertEquals(raptorControllerAsync.nvl("","default"),"default");
assertEquals(raptorControllerAsync.nvl("test","default"),"test");
-
-
+
raptorControllerAsync.retrieveDataForGivenQuery(false, queryJSON, mockedRequest, mockedResponse);
}
diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java
index de3f4fff..073a413d 100644
--- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java
+++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/xmlobj/ReportWrapperTest.java
@@ -79,6 +79,7 @@ import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Encoder;
import org.owasp.esapi.codecs.Codec;
import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
@@ -86,6 +87,7 @@ import org.powermock.modules.junit4.PowerMockRunner;
@PrepareForTest({ AppConstants.class, Globals.class, AppUtils.class, DataCache.class, DbUtils.class, DataSet.class,
ReportLoader.class, ReportRuntime.class, Utils.class, ESAPI.class, Codec.class, SecurityCodecUtil.class,
ConnectionUtils.class, XSSFilter.class, ReportDefinition.class, UserUtils.class, ReportWrapper.class })
+@PowerMockIgnore("javax.management.*")
public class ReportWrapperTest {
MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
@@ -1721,4 +1723,4 @@ public class ReportWrapperTest {
}
-} \ No newline at end of file
+}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/conf/sql.properties b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/conf/sql.properties
index c643bb97..c5e4b57b 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/conf/sql.properties
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/WEB-INF/conf/sql.properties
@@ -5,8 +5,8 @@
load.custom.report.xml = SELECT cr.report_xml FROM cr_report cr WHERE rep_id=?
# need to copy to oracle
-load.remoteDB.schema = SELECT 'local' SCHEMA_ID, 'local' SCHEMA_DESC, null DATASOURCE_TYPE FROM dual union SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE FROM SCHEMA_INFO a where schema_id <> 'local' order by schema_id
-load.remoteDB.schema.where = SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE FROM SCHEMA_INFO a where schema_id = '[schema_id]'
+load.remoteDB.schema = SELECT 'local' SCHEMA_ID, 'local' SCHEMA_DESC, null DATASOURCE_TYPE, null CONNECTION_URL, null USER_NAME, null PASS, null DRIVER_CLASS FROM dual union SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE, CONNECTION_URL, USER_NAME, PASSWORD, DRIVER_CLASS FROM SCHEMA_INFO a where schema_id <> 'local' order by schema_id
+load.remoteDB.schema.where = SELECT a.SCHEMA_ID, a.SCHEMA_DESC, DATASOURCE_TYPE, CONNECTION_URL, USER_NAME, PASSWORD, DRIVER_CLASS FROM SCHEMA_INFO a where schema_id = '[schema_id]'
#formfield rendering
formfield.id.name.sql.prefix=SELECT id, name FROM (
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js
index daa47900..45c300fe 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js
@@ -80,8 +80,8 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
}
else
$scope.reportData.reportHeading = $scope.reportData.reportName;
- if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){
- // console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams));
+ if( ($scope.urlParams.hideChart === undefined || $scope.urlParams.hideChart) && $scope.reportData.chartAvailable && $scope.reportData.totalRows>=1){
+ //console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams));
$http.get('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams)).then(
function(response){
$scope.showChart = true;
@@ -175,7 +175,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
//console.log(stacktraceFP + " " + $scope.reportData.errormessage);
}
if(!pagination) {
- if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){
+ if( ($scope.urlParams.hideChart === undefined || $scope.urlParams.hideChart) && $scope.reportData.chartAvailable && $scope.reportData.totalRows>=1){
// console.log('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1));
$http.get('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1)).then(
function(response) {
@@ -209,6 +209,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
$scope.gridOptions = {
pageNumber: 1,
+ useExternalPagination: true,
sort : null,
paginationPageSizes: [5],
paginationPageSize: 5,
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js
index 43f877c3..54a14242 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js
@@ -95,8 +95,14 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
{name:'HidePdf', selected:false}
]
+/* $scope.definitionData.dbSrcOptions=[
+ {text:'local', value:'local', selected:true},
+ {text:'e911dev_leto07', value:'e911dev_leto07', selected:false},
+ ]*/
+
$scope.pageSizeValues=['10','25','50','100','500'];
$scope.pageSizeOptions =[];
+ $scope.dbSrcOptions =[];
$scope.maxRowValues = ['500','1000','2000','3000','4000','5000','10000','15000','20000','25000','30000','35000','40000','45000','50000','65000']
$scope.maxRowOptions =[];
$scope.frozenColValues = ['0','1','2','3','4'];
@@ -110,7 +116,8 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
/******create*****/
if(!$scope.isEdit){
$scope.definitionData.reportType = 'Linear';
- $scope.definitionData.dbInfo = 'Local';
+ //$scope.definitionData.dbInfo = 'Local';
+ //$scope.definitionData.dbSrcOptions = ['Local'];
}
/****end create***/
@@ -120,6 +127,10 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
raptorReportFactory.getDefinitionByReportId(id).then(function(data){
$scope.showLoader=false;
$scope.definitionData = data;
+ $scope.definitionData.dbSrc=data.dbInfo;
+ $scope.definitionData.dbSrcOptions = data.dbInfoList;
+ console.log($scope.definitionData.dbSrcOptions[0].name);
+
$scope.showLoader = false;
for(x in data.displayOptions){
if(data.displayOptions[x].name=='HideFormFields')
@@ -156,6 +167,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
}
$scope.constructureDefDropDown = function(){
+
for(i in $scope.pageSizeValues){
var v = {
value :$scope.pageSizeValues[i],
@@ -202,6 +214,10 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
$scope.constructDef = function(){
var data =Object.assign({}, $scope.definitionData);
+ if($scope.definitionData.dbSrc){
+ console.log("Hello World ", $scope.definitionData.dbSrc);
+ data.dbInfo = $scope.definitionData.dbSrc;
+ }
for(x in $scope.definitionData.displayOptions){
if($scope.definitionData.displayOptions[x].name=='HideFormFields')
data.displayOptions[x].selected = $scope.displayOptions.hideFormFields
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html
index 7b2c23e1..ba609151 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html
@@ -112,7 +112,7 @@ body {
<div ng-if="showGrid">
<div id="grid1" ui-grid="gridOptions" ui-grid-pagination
ui-grid-pinning ui-grid-resize-columns class="grid"
- style="height: {{gridHeight">
+ style="height: {{gridHeight}}">
<div class="no-rows" ng-show="!gridOptions.data.length">
<div class="msg">
<span>{{reportData.message}}</span>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/steps/step1.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/steps/step1.html
index a9baadf8..64d31d97 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/steps/step1.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/steps/step1.html
@@ -24,20 +24,23 @@
<div class="form-row" >
<label for="textinputID-2a">Report Description</label>
<div class="field-group">
- <textarea b2b-reset b2b-reset-textarea ng-model="definitionData.reportDescr" ng-disabled="disabled" ng-trim="false" placeholder="{{placeholderText}}" rows="{{textAreaRows}}" maxlength="{{textAreaMaxlength}}" class="span12" id="textareaID1Tooltip1" ng-focus='showTooltip1=true' ng-blur='showTooltip1=false' aria-describedby="textareaID1TooltipContent1"></textarea>
+ <textarea b2b-reset b2b-reset-textarea ng-model="definitionData.reportDescr" ng-disabled="false" ng-trim="false" placeholder="{{placeholderText}}" rows="{{textAreaRows}}" maxlength="{{textAreaMaxlength}}" class="span12" id="textareaID1Tooltip1" ng-focus='showTooltip1=true' ng-blur='showTooltip1=false' aria-describedby="textareaID1TooltipContent1"></textarea>
</div>
</div>
<div class="form-row" >
<label for="textinputID-2a">Report Type</label>
<div class="field-group">
- <input id="reportType" ddh-reset="" class="span12" type="text" data-ng-model="definitionData.reportType" ng-disabled="true">
+ <input id="reportType" ddh-reset="" class="span12" type="text" data-ng-model="definitionData.reportType" ng-disabled="false">
</div>
</div>
<div class="form-row" >
- <label for="textinputID-2a">Data Source</label>
- <div class="field-group">
- <input id="dataSrc" ddh-reset="" class="span12" type="text" data-ng-model="definitionData.dbInfo" ng-disabled="true">
- </div>
+ <label for="selectInputID-2a">Data Source</label>
+ <select id="dataSrc" name="dataSrc" b2b-dropdown placeholder-text="Select DBSource" ng-model="definitionData.dbSrc">
+ <option b2b-dropdown-list option-repeat="d in definitionData.dbSrcOptions" value="{{d.id}}">{{d.name}}</option>
+ </select>
+<!-- <div class="field-group"> -->
+<!-- <input id="dataSrc" ddh-reset="" class="span12" type="text" data-ng-model="definitionData.dbInfo" ng-disabled="true"> -->
+<!-- </div> -->
</div>
<div class="form-row" >
<label for="textinputID-2a">Form Help Text</label>
@@ -210,4 +213,4 @@
<!-- <button class="btn btn-alt btn-small" type="button" ng-click="next()" ng-show="$scope.isEdit" >Next</button>
--> </div>
-</div> \ No newline at end of file
+</div>
diff --git a/ecomp-sdk/epsdk-fw/src/main/java/org/onap/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java b/ecomp-sdk/epsdk-fw/src/main/java/org/onap/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java
index 8d797c37..1ce03146 100644
--- a/ecomp-sdk/epsdk-fw/src/main/java/org/onap/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java
+++ b/ecomp-sdk/epsdk-fw/src/main/java/org/onap/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java
@@ -589,27 +589,25 @@ public class PortalRestAPIProxy extends HttpServlet implements IPortalRestAPISer
String body = null;
StringBuilder stringBuilder = new StringBuilder();
- BufferedReader bufferedReader = null;
- try {
- InputStream inputStream = request.getInputStream();
+
+ try(InputStream inputStream = request.getInputStream()) {
if (inputStream != null) {
- bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
- char[] charBuffer = new char[1024];
- int bytesRead = -1;
- while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
- stringBuilder.append(charBuffer, 0, bytesRead);
+ try(BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));){
+ char[] charBuffer = new char[1024];
+ int bytesRead = -1;
+ while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
+ stringBuilder.append(charBuffer, 0, bytesRead);
+ }
+ } catch(IOException e) {
+ logger.error("readRequestBody", e);
+ throw e;
}
} else {
stringBuilder.append("");
}
- } finally {
- if (bufferedReader != null) {
- try {
- bufferedReader.close();
- } catch (IOException ex) {
- logger.error("readRequestBody", ex);
- }
- }
+ } catch(IOException e) {
+ logger.error("readRequestBody", e);
+ throw e;
}
body = stringBuilder.toString();
return body;