summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Lott (cl778h) <clott@research.att.com>2017-06-13 14:33:51 -0400
committerChristopher Lott (cl778h) <clott@research.att.com>2017-06-13 15:09:24 -0400
commita91868b4d461d903c2e0ef78a75afe89385bc7e9 (patch)
tree22ee5f9f096e0e650cf2804c6281233c63df5ab9
parent0b2b3270d23bc1bec003f7bda3e6b4babd41ba38 (diff)
[PORTAL-15] RAPTOR reporting fixes
Also repairs a bug in the user-management overlay screen. Ticket number all caps this time. Restore epsdk-app-os pom -SNAPSHOT suffix Change-Id: I7ef620c4ebc52259bcf474908bc4810dfd7e41e7 Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
-rw-r--r--ecomp-sdk/epsdk-analytics/README.md2
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java2
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java9
-rw-r--r--ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java10
-rw-r--r--ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileSearchController.java29
-rw-r--r--ecomp-sdk/epsdk-app-os/pom.xml3
-rw-r--r--ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/profile_searchDS2.html5
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js15
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js77
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js15
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/profile-confirm-toggle.html23
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html25
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java69
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/util/SystemProperties.java10
14 files changed, 197 insertions, 97 deletions
diff --git a/ecomp-sdk/epsdk-analytics/README.md b/ecomp-sdk/epsdk-analytics/README.md
index be0b376..5fd6d23 100644
--- a/ecomp-sdk/epsdk-analytics/README.md
+++ b/ecomp-sdk/epsdk-analytics/README.md
@@ -11,6 +11,6 @@ features including charts, maps and reports ("Raptor").
Version 1.1.0
- [Portal-7] Improvements added as part of the rebasing process
-
+
Version 1.0.0
- Initial release
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
index 22602e0..698d52a 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
@@ -1074,7 +1074,7 @@ public class ChartD3Helper {
} else {
wholeScript.append(" .rotateLabels(\"0\") \n ");
}
- //wholeScript.append(" .axisLabel('" + legendColumnName + "')");
+ wholeScript.append(" .axisLabel('" + legendColumnName + "')");
if(flagNoDate == 1 || !timeAxis) {
wholeScript.append(";\n");
} else {
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
index 8ec6bc1..66bce17 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
@@ -130,6 +130,8 @@ public class ChartJSON {
this.hasCategoryAxis = hasCategoryAxis;
}
private ArrayList <RangeAxisJSON> rangeAxisList;
+ private ArrayList <RangeAxisJSON> rangeAxisRemoveList;
+
private ArrayList <ArrayList<Row>> wholeList;
private String primaryAxisLabel;
@@ -447,5 +449,12 @@ public class ChartJSON {
else
return "";
}
+ public ArrayList<RangeAxisJSON> getRangeAxisRemoveList() {
+ return rangeAxisRemoveList;
+ }
+ public void setRangeAxisRemoveList(ArrayList<RangeAxisJSON> rangeAxisRemoveList) {
+ this.rangeAxisRemoveList = rangeAxisRemoveList;
+ }
+
}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java
index 0194b52..48fdbe4 100644
--- a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java
+++ b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java
@@ -29,6 +29,7 @@ import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -1276,6 +1277,10 @@ public class RaptorControllerAsync extends RestrictedBaseController {
ArrayList<RangeAxisJSON> rangeAxisList = chartJSON.getRangeAxisList();
int r = 0;
+ HashSet<String> removeRangeAxisMap = new HashSet<>();
+ for(RangeAxisJSON rangeAxis:chartJSON.getRangeAxisRemoveList()){
+ removeRangeAxisMap.add(rangeAxis.getRangeAxis());
+ }
for (int i = 0; i < rangeAxisList.size(); i++) {
RangeAxisJSON rangeAxisJSON = rangeAxisList.get(i);
String rangeAxis = rangeAxisJSON.getRangeAxis();
@@ -1287,7 +1292,10 @@ public class RaptorControllerAsync extends RestrictedBaseController {
rangefor: for (Iterator<DataColumnType> iterator = reportCols.iterator(); iterator.hasNext();) {
DataColumnType dct = (DataColumnType) iterator.next();
if (dct.getColId().equals(rangeAxis)) {
- dct.setChartSeq(++r);
+ if(removeRangeAxisMap.contains(rangeAxis))
+ dct.setChartSeq(-1); // if we set it to -1, means this range axis will not be included
+ else
+ dct.setChartSeq(++r);
dct.setColOnChart("0");
dct.setYAxis(rangeYAxis); // +"|"+dct.getColId());
dct.setChartGroup(rangeChartGroup); // +"|"+dct.getColId());
diff --git a/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileSearchController.java b/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileSearchController.java
index c5614f8..e44aef8 100644
--- a/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileSearchController.java
+++ b/ecomp-sdk/epsdk-app-common/src/main/java/org/openecomp/portalapp/controller/core/ProfileSearchController.java
@@ -55,13 +55,13 @@ public class ProfileSearchController extends RestrictedBaseController {
private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(ProfileSearchController.class);
@Autowired
- UserProfileService service;
+ private UserProfileService service;
@Autowired
- FnMenuService fnMenuService;
+ private FnMenuService fnMenuService;
@RequestMapping(value = { "/profile_search" }, method = RequestMethod.GET)
- public ModelAndView ProfileSearch(HttpServletRequest request) {
+ public ModelAndView profileSearch(HttpServletRequest request) {
Map<String, Object> model = new HashMap<String, Object>();
ObjectMapper mapper = new ObjectMapper();
List<User> profileList = null;
@@ -71,14 +71,13 @@ public class ProfileSearchController extends RestrictedBaseController {
model.putAll(setDashboardData(request));
model.put("profileList", mapper.writeValueAsString(profileList));
} catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "error while profile_search process in ProfileSearchController" + e.getMessage());
+ logger.error(EELFLoggerDelegate.applicationLogger, "profileSearch failed", e);
}
return new ModelAndView(getViewName(), "model", model);
}
@RequestMapping(value = { "/get_user" }, method = RequestMethod.GET)
- public void GetUser(HttpServletRequest request, HttpServletResponse response) {
+ public void getUser(HttpServletRequest request, HttpServletResponse response) {
logger.info(EELFLoggerDelegate.applicationLogger, "Initiating get_user in ProfileSearchController");
ObjectMapper mapper = new ObjectMapper();
List<User> profileList = null;
@@ -86,11 +85,10 @@ public class ProfileSearchController extends RestrictedBaseController {
profileList = service.findAll();
JsonMessage msg = new JsonMessage(mapper.writeValueAsString(profileList));
JSONObject j = new JSONObject(msg);
+ response.setContentType("application/json");
response.getWriter().write(j.toString());
-
} catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "error while get_user process in ProfileSearchController" + e.getMessage());
+ logger.error(EELFLoggerDelegate.applicationLogger, "getUser failed", e);
}
}
@@ -111,16 +109,15 @@ public class ProfileSearchController extends RestrictedBaseController {
model.put("profileList", mapper.writeValueAsString(profileList));
JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
JSONObject j = new JSONObject(msg);
+ response.setContentType("application/json");
response.getWriter().write(j.toString());
-
} catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "error while get_user_pagination process in ProfileSearchController" + e.getMessage());
+ logger.error(EELFLoggerDelegate.applicationLogger, "getUserPagination failed", e);
}
}
@SuppressWarnings("unchecked")
- public Map<String, Object> setDashboardData(HttpServletRequest request) throws Exception {
+ private Map<String, Object> setDashboardData(HttpServletRequest request) throws Exception {
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> model = new HashMap<String, Object>();
List<List<MenuData>> childItemList = new ArrayList<List<MenuData>>();
@@ -132,8 +129,7 @@ public class ProfileSearchController extends RestrictedBaseController {
.getAttribute(SystemProperties.getProperty(SystemProperties.APPLICATION_MENU_ATTRIBUTE_NAME));
fnMenuService.setMenuDataStructure(childItemList, parentList, menuResult);
} catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "error while setDashboardData process in ProfileSearchController" + e.getMessage());
+ logger.error(EELFLoggerDelegate.applicationLogger, "setDashboardData failed", e);
}
model.put("childItemList", mapper.writeValueAsString(childItemList));
model.put("parentList", mapper.writeValueAsString(parentList));
@@ -156,8 +152,7 @@ public class ProfileSearchController extends RestrictedBaseController {
PrintWriter out = response.getWriter();
out.write(mapper.writeValueAsString(user.getActive()));
} catch (Exception e) {
- logger.error(EELFLoggerDelegate.applicationLogger,
- "error while toggleProfileActive process in ProfileSearchController" + e.getMessage());
+ logger.error(EELFLoggerDelegate.applicationLogger, "toggleProfileActive failed", e);
}
}
}
diff --git a/ecomp-sdk/epsdk-app-os/pom.xml b/ecomp-sdk/epsdk-app-os/pom.xml
index efcbbe0..5060f56 100644
--- a/ecomp-sdk/epsdk-app-os/pom.xml
+++ b/ecomp-sdk/epsdk-app-os/pom.xml
@@ -10,9 +10,6 @@
<packaging>war</packaging>
<name>ECOMP SDK Webapp for OpenSource</name>
<description>ECOMP SDK Web Application for public release</description>
- <scm>
- <connection>scm:git:https://todourl/</connection>
- </scm>
<properties>
<encoding>UTF-8</encoding>
diff --git a/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/profile_searchDS2.html b/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/profile_searchDS2.html
index 36b8c2a..e070967 100644
--- a/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/profile_searchDS2.html
+++ b/ecomp-sdk/epsdk-app-os/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/profile_searchDS2.html
@@ -34,8 +34,9 @@
<td>
<div class="form-row">
<label class="btn-switch-label" tabindex="0" role="option">
- <input type="checkbox" b2b-switches ng-model="rowData.active"
- ng-disabled="allDisabled" aria-disabled="{{allDisabled}}">
+ <input type="checkbox" b2b-switches
+ ng-model="rowData.active" ng-click="toggleProfileActive(rowData)"
+ ng-disabled="allDisabled" aria-disabled="{{allDisabled}}" />
<div class="sr-text hidden-spoken" ng-if="!allDisabled">Double
tap to turn</div>
</label>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js
index fc36b73..8fa1464 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js
@@ -187,7 +187,8 @@ appDS2.controller('reportChartController', function ($scope, $rootScope, $timeou
$scope.reportRunJson.categoryAxisJSON = {};
$scope.reportRunJson.categoryAxisJSON.value = -1;
}
-
+ //add the remove list to the json
+ $scope.reportRunJson.rangeAxisRemoveList= $scope.rangeAxisRemoveList;
$http.post("save_chart", JSON.stringify($scope.reportRunJson)).success(function(data, status) {
$scope.successSubmit=true;
$scope.showLoader = false;
@@ -201,8 +202,9 @@ appDS2.controller('reportChartController', function ($scope, $rootScope, $timeou
$scope.reportRunJson.barChartOptions.timeAxis =$scope.reportRunJson.barChartOptions.timeAxis+"";
$scope.reportRunJson.barChartOptions.verticalOrientation = $scope.reportRunJson.barChartOptions.verticalOrientation +"";
$scope.reportRunJson.barChartOptions.xAxisDateType = $scope.reportRunJson.barChartOptions.xAxisDateType +"";
- }
- })
+ }
+ $scope.populateChrtWzdFields();
+ })
}
@@ -211,14 +213,17 @@ appDS2.controller('reportChartController', function ($scope, $rootScope, $timeou
});
};
- $scope.removeRangeAxisRow = function (index) {
- $scope.reportRunJson.rangeAxisList.splice(index, 1);
+ $scope.rangeAxisRemoveList= [];
+ $scope.removeRangeAxisRow = function (index) {
+ $scope.rangeAxisRemoveList.push($scope.reportRunJson.rangeAxisList[index]);
+ $scope.reportRunJson.rangeAxisList[index].removed="true";
};
$scope.init = function () {
if ($scope) {
$scope.populateChrtWzdFields();
+ $scope.reportRunJson.rangeAxisRemoveList= [];
}
};
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js
index 57e2e80..5236001 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/profile-search-controller-DS2.js
@@ -1,10 +1,12 @@
-appDS2.controller('profileSearchCtrlDS2', function($scope, $http,ProfileServiceDS2){
+appDS2.controller('profileSearchCtrlDS2', function($scope, $log, $modal, ProfileServiceDS2){
$scope.showInput = true;
- $scope.totalPages1 = 5;
+ $scope.totalPages1 = 0;
$scope.viewPerPage1 = 8;
$scope.currentPage1 = 1;
$scope.showLoader = false;
+ var debug = false;
+
$scope.$watch('viewPerPage1', function(val) {
$scope.showLoader = true;
ProfileServiceDS2.getProfilePagination($scope.currentPage1, val).then(function(data){
@@ -12,15 +14,9 @@ appDS2.controller('profileSearchCtrlDS2', function($scope, $http,ProfileServiceD
$scope.data = JSON.parse(j.data);
$scope.tableData =JSON.parse($scope.data.profileList);
$scope.totalPages1 =JSON.parse($scope.data.totalPage);
- for(x in $scope.tableData){
- if($scope.tableData[x].active_yn=='Y')
- $scope.tableData[x].active_yn=true;
- else
- $scope.tableData[x].active_yn=false;
- }
$scope.showLoader = false;
},function(error){
- console.log("failed");
+ console.log("watch of viewPerPage1 failed");
reloadPageOnce();
});
@@ -34,15 +30,9 @@ appDS2.controller('profileSearchCtrlDS2', function($scope, $http,ProfileServiceD
$scope.data = JSON.parse(j.data);
$scope.tableData =JSON.parse($scope.data.profileList);
$scope.totalPages1 =JSON.parse($scope.data.totalPage);
- for(x in $scope.tableData){
- if($scope.tableData[x].active_yn=='Y')
- $scope.tableData[x].active_yn=true;
- else
- $scope.tableData[x].active_yn=false;
- }
$scope.showLoader = false;
},function(error){
- console.log("failed");
+ console.log("customHandler failed");
reloadPageOnce();
});
@@ -52,13 +42,52 @@ appDS2.controller('profileSearchCtrlDS2', function($scope, $http,ProfileServiceD
window.location = 'userProfile#/profile/' + profileId;
};
+ var ModalInstanceCtrl = function ($scope, $log, $modalInstance, items) {
+ $scope.msg = items;
+
+ $scope.toggleUserStatus = function(id) {
+ if (debug)
+ $log.debug('profileSearchCtrlDS2:ModalInstanceCtrl:toggleUserStatus: data is ' + id);
+ ProfileServiceDS2.toggleProfileStatus(id);
+ $modalInstance.close();
+ };
+
+ $scope.cancelUserStatusToggle = function(rowData) {
+ if (debug)
+ $log.debug('profileSearchCtrlDS2:ModalInstanceCtrl: cancelUserStatusToggle: data is ' + JSON.stringify(rowData));
+ // Undo the toggle of the checkbox
+ rowData.active = ! rowData.active;
+ $modalInstance.dismiss('cancel');
+ }
+
+ }
+
+ // user activation/deactivation
$scope.toggleProfileActive = function(rowData) {
- modalService.popupConfirmWinWithCancel("Confirm","You are about to change user's active status. Do you want to continue?",
- function(){
- $http.get("profile/toggleProfileActive?profile_id="+rowData.id).success(function(){});
- },
- function(){
- rowData.active=!rowData.active;
- })
- };
+ if (debug)
+ $log.debug('profileSearchCtrlDS2:toggleProfileActive: id is ' + rowData.id
+ + ', active is ' + rowData.active);
+ var toggleType = null;
+ // The checkbox is already in the desired state,
+ // so the sense of the "if" is reversed here.
+ if (rowData.active)
+ toggleType = "activate";
+ else
+ toggleType = "deactivate";
+ var modalInstance = $modal.open({
+ templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-profile/modals/profile-confirm-toggle.html',
+ controller: ModalInstanceCtrl,
+ sizeClass: 'modal-small',
+ resolve: {
+ items: function () {
+ var message = {
+ text : toggleType,
+ rowData : rowData
+ };
+ return message;
+ }
+ }
+ });
+ };
+
});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js
index 1ca373f..812e832 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/profileServiceDS2.js
@@ -73,6 +73,21 @@ appDS2.factory('ProfileServiceDS2', function ($http, $q) {
// something went wrong
return $q.reject(response.data);
});
+ },
+
+ toggleProfileStatus: function(id) {
+ return $http.get('profile/toggleProfileActive?profile_id=' + id)
+ .then(function(response) {
+ if (typeof response.data === 'object') {
+ return response.data;
+ } else {
+ return $q.reject(response.data);
+ }
+ }, function(response) {
+ // something went wrong
+ return $q.reject(response.data);
+ });
}
+
};
});
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/profile-confirm-toggle.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/profile-confirm-toggle.html
new file mode 100644
index 0000000..0fe3768
--- /dev/null
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-profile/modals/profile-confirm-toggle.html
@@ -0,0 +1,23 @@
+<div>
+ <div class="b2b-modal-header ng-scope in">
+ <h1><i class="icon-primary-alert"></i></h1>
+ <h2 id="myModalLabel" modal-title="">Confirm</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <div class="b2b-modal-body ng-scope ng-isolate-scope in" tabindex="0"
+ role="region" aria-label="Modal header text content"
+ style="height: 55px;">
+ You are about to {{msg.text}} the user with ID {{msg.rowData.id}}. Do you want to continue?
+ </div>
+ <div class="b2b-modal-footer ng-scope ng-isolate-scope in">
+ <div class="cta-button-group in">
+ <button class="btn btn-alt btn-medium" type="button"
+ ng-click="toggleUserStatus(msg.rowData.id);">Ok</button>
+ <button class="btn btn-clear btn-medium" type="button"
+ ng-click="cancelUserStatusToggle(msg.rowData);">Cancel</button>
+ </div>
+ </div>
+</div>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html
index 3fae62f..8558729 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html
@@ -138,29 +138,32 @@ table{
<tbody>
<tr>
<td>
- <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeAxisLabelJSON.value" placeholder-text="Select">
+ <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeAxisLabelJSON.value" placeholder-text="Select" ng-disabled="rangeReport.removed=='true'">
<option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option>
- </select>
+ </select>
</td>
<td>
- <input type="text" name="displayName" ng-model="rangeReport.rangeYAxis" style="width:100px;">
+ <input type="text" name="displayName" ng-model="rangeReport.rangeYAxis" ng-disabled="rangeReport.removed=='true'" style="width:100px;">
</td>
<td>
- <input type="text" name="displayName" ng-model="rangeReport.rangeChartGroup" style="width:150px;">
+ <input type="text" name="displayName" ng-model="rangeReport.rangeChartGroup" ng-disabled="rangeReport.removed=='true'" style="width:150px;">
</td>
<td>
- <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeColor">
+ <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeColor" ng-disabled="rangeReport.removed=='true'">
<option b2b-dropdown-list option-repeat="d in rangeColors" value="{{d.value}}">{{d.title}}</option>
- </select>
+ </select>
</td>
<td>
- <select name="lineType" b2b-dropdown ng-model="rangeReport.rangeLineType">
- <option b2b-dropdown-list option-repeat="d in lineTypes" value="{{d.value}}">{{d.title}}</option>
- </select>
+ <select name="lineType" b2b-dropdown ng-model="rangeReport.rangeLineType" ng-disabled="rangeReport.removed=='true'">
+ <option b2b-dropdown-list option-repeat="d in lineTypes" value="{{d.value}}">{{d.title}}</option>
+ </select>
</td>
<td>
<button ng-show="$index==0" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="addRangeAxisRow()">Add</button>
- <button ng-hide="$index==0" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="removeRangeAxisRow($index)">Remove</button>
+ <span ng-hide="$index==0">
+ <button ng-if="rangeReport.removed!='true'" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="removeRangeAxisRow($index)">Remove</button>
+ <button ng-if="rangeReport.removed=='true'" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" disabled="disabled">Removed</button>
+ </span>
</td>
</tr>
@@ -891,4 +894,4 @@ table{
<button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small">Run</button>
</a>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java
index 95f149a..10d7187 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/conf/AppConfig.java
@@ -171,27 +171,23 @@ public class AppConfig extends WebMvcConfigurerAdapter implements Configurable,
/**
*
- * Application Data Source
+ * Creates the Application Data Source.
*
* @return DataSource Object
+ * @throws Exception
+ * on failure to create data source object
*/
-
@Bean
public DataSource dataSource() throws Exception {
-
+
systemProperties();
-
- Boolean testConnectionOnCheckout = getConnectionOnCheckout();
- String preferredTestQuery = getPreferredTestQuery();
-
ComboPooledDataSource dataSource = new ComboPooledDataSource();
try {
dataSource.setDriverClass(SystemProperties.getProperty(SystemProperties.DB_DRIVER));
dataSource.setJdbcUrl(SystemProperties.getProperty(SystemProperties.DB_CONNECTIONURL));
dataSource.setUser(SystemProperties.getProperty(SystemProperties.DB_USERNAME));
- // dataSource.setPassword(SystemProperties.getProperty(SystemProperties.DB_PASSWOR));
- String password = SystemProperties.getProperty(SystemProperties.DB_PASSWOR);
+ String password = SystemProperties.getProperty(SystemProperties.DB_PASSWORD);
if (SystemProperties.containsProperty(SystemProperties.DB_ENCRYPT_FLAG)) {
String encryptFlag = SystemProperties.getProperty(SystemProperties.DB_ENCRYPT_FLAG);
if (encryptFlag != null && encryptFlag.equalsIgnoreCase("true")) {
@@ -205,9 +201,8 @@ public class AppConfig extends WebMvcConfigurerAdapter implements Configurable,
.setMaxPoolSize(Integer.parseInt(SystemProperties.getProperty(SystemProperties.DB_MAX_POOL_SIZE)));
dataSource.setIdleConnectionTestPeriod(
Integer.parseInt(SystemProperties.getProperty(SystemProperties.IDLE_CONNECTION_TEST_PERIOD)));
- dataSource.setTestConnectionOnCheckout(testConnectionOnCheckout);
- dataSource.setPreferredTestQuery(preferredTestQuery);
-
+ dataSource.setTestConnectionOnCheckout(getConnectionOnCheckout());
+ dataSource.setPreferredTestQuery(getPreferredTestQuery());
} catch (Exception e) {
logger.error(EELFLoggerDelegate.errorLogger,
"Error initializing database, verify database settings in properties file: "
@@ -217,37 +212,55 @@ public class AppConfig extends WebMvcConfigurerAdapter implements Configurable,
"Error initializing database, verify database settings in properties file: "
+ UserUtils.getStackTrace(e),
AlarmSeverityEnum.CRITICAL);
- // Raise an alarm that opening a connection to the database is
- // failed.
+ // Raise an alarm that opening a connection to the database failed.
logger.logEcompError(AppMessagesEnum.BeDaoSystemError);
throw e;
}
return dataSource;
}
+ /**
+ * Gets the value of the property
+ * {@link SystemProperties#PREFERRED_TEST_QUERY}; defaults to "Select 1" if
+ * the property is not defined.
+ *
+ * @return String value that is a SQL query
+ */
private String getPreferredTestQuery() {
- String preferredTestQueryStr = null;
- try {
+ // Use simple default
+ String preferredTestQueryStr = "SELECT 1";
+ if (SystemProperties.containsProperty(SystemProperties.PREFERRED_TEST_QUERY)) {
preferredTestQueryStr = SystemProperties.getProperty(SystemProperties.PREFERRED_TEST_QUERY);
- } catch (Exception e) {
+ logger.debug(EELFLoggerDelegate.debugLogger, "getPreferredTestQuery: property key {} value is {}",
+ SystemProperties.PREFERRED_TEST_QUERY, preferredTestQueryStr);
+ } else {
logger.info(EELFLoggerDelegate.errorLogger,
- SystemProperties.PREFERRED_TEST_QUERY + " value not found "
- + UserUtils.getStackTrace(e));
+ "getPreferredTestQuery: property key {} not found, using default value {}",
+ SystemProperties.PREFERRED_TEST_QUERY, preferredTestQueryStr);
}
- String preferredTestQuery = ((preferredTestQueryStr == null) ? "SELECT 1" : preferredTestQueryStr);
- return preferredTestQuery;
+ return preferredTestQueryStr;
}
+ /**
+ * Gets the value of the property
+ * {@link SystemProperties#TEST_CONNECTION_ON_CHECKOUT}; defaults to true if
+ * the property is not defined.
+ *
+ * @return Boolean value
+ */
private Boolean getConnectionOnCheckout() {
- String testConnectionOnCheckoutStr = null;
- try {
- testConnectionOnCheckoutStr = SystemProperties.getProperty(SystemProperties.TEST_CONNECTION_ON_CHECKOUT);
- } catch (Exception e) {
+ // Default to true, always test connection
+ boolean testConnectionOnCheckout = true;
+ if (SystemProperties.containsProperty(SystemProperties.TEST_CONNECTION_ON_CHECKOUT)) {
+ testConnectionOnCheckout = Boolean
+ .valueOf(SystemProperties.getProperty(SystemProperties.TEST_CONNECTION_ON_CHECKOUT));
+ logger.debug(EELFLoggerDelegate.debugLogger, "getConnectionOnCheckout: property key {} value is {}",
+ SystemProperties.TEST_CONNECTION_ON_CHECKOUT, testConnectionOnCheckout);
+ } else {
logger.info(EELFLoggerDelegate.errorLogger,
- SystemProperties.TEST_CONNECTION_ON_CHECKOUT + " value not found "
- + UserUtils.getStackTrace(e));
+ "getConnectionOnCheckout: property key {} not found, using default value {}",
+ SystemProperties.TEST_CONNECTION_ON_CHECKOUT, testConnectionOnCheckout);
}
- Boolean testConnectionOnCheckout = Boolean.valueOf(testConnectionOnCheckoutStr == null ? "true":testConnectionOnCheckoutStr);
return testConnectionOnCheckout;
}
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/util/SystemProperties.java b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/util/SystemProperties.java
index 033bb26..2dacae8 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/util/SystemProperties.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/openecomp/portalsdk/core/util/SystemProperties.java
@@ -74,7 +74,7 @@ public class SystemProperties {
/**
* Tests whether a property value is available for the specified key.
*
- * @param key
+ * @param key Property key
* @return True if the key is known, otherwise false.
*/
public static boolean containsProperty(String key) {
@@ -85,12 +85,12 @@ public class SystemProperties {
* Returns the property value associated with the given key (never
* {@code null}), after trimming any trailing space.
*
- * @throws IllegalStateException
- * if the key cannot be resolved
* @param key
* Property key
* @return Property value; the empty string if the environment was not
* autowired, which should never happen.
+ * @throws IllegalStateException
+ * if the key cannot be resolved
*/
public static String getProperty(String key) {
String value = "";
@@ -244,15 +244,17 @@ public class SystemProperties {
// Hibernate Config
public static final String HB_DIALECT = "hb.dialect";
public static final String HB_SHOW_SQL = "hb.show_sql";
+ public static final String IDLE_CONNECTION_TEST_PERIOD = "hb.idle_connection_test_period";
// DataSource
public static final String DB_DRIVER = "db.driver";
public static final String DB_CONNECTIONURL = "db.connectionURL";
public static final String DB_USERNAME = "db.userName";
+ /** @deprecated this variable is used in many places so don't remove */
public static final String DB_PASSWOR = "db.password";
+ public static final String DB_PASSWORD = "db.password";
public static final String DB_MIN_POOL_SIZE = "db.min_pool_size";
public static final String DB_MAX_POOL_SIZE = "db.max_pool_size";
- public static final String IDLE_CONNECTION_TEST_PERIOD = "hb.idle_connection_test_period";
public static final String TEST_CONNECTION_ON_CHECKOUT = "db.test_connection_on_checkout";
public static final String PREFERRED_TEST_QUERY = "db.preferred_test_query";