1. pom.xml: Updated version of "uoa-admin-tools-library" from 1.0.1 to 1.0.2, "uoa-authorization-library" from 1.0.0 to 2.0.1, "uoa-notification-service" from 1.0.0 to 1.0.2.
2. GlobalVars.java: Added field "version" (version of project in pom).
3. MonitorServiceCheckDeployController.java: Expose globalBars.version in /health_check/advanced.
4. monitorservice.properties: Added monitorservice.globalVars.version=@version@ (initialized by pom version).
1. StakeholderController.java: In method "getAllRealStakeholders()" (/stakeholder), return also stakeholders with "restricted" visibility, without checking user's roles.
2. pom.xml:
a. Update parent from "spring-boot-starter-parent" to "dnet45-parent" ==> add <dependencyManagement> and "maven-war-plugin" and comment "spring-boot-maven-plugin".
b. For dependencies "uoa-authorization-library" and "uoa-notification-service", use version 1.0.0 (released version), not 1.0.0-SNAPSHOT.
1. pom.xml:
a. Added timestamp in properties.
b. In <build> added <resources> with filtering set to true.
2. GlobalVars.java: Added GlobalVars class for date of deploy & date of build.
3. UoaMonitorServiceApplication.java:
a. Added @PropertySource("classpath:admintoolslibrary.properties") and @PropertySource("classpath:notification.properties")
b. In @EnableConfigurationProperties added GlobalVars.class.
4. MonitorServiceCheckDeployController.java: Added exposing date of deploy and date of build.
5. monitorservice.properties: Added property monitorservice.globalVars.buildDate=@timestamp@
1. MonitorServiceCheckDeployController.java: In method "checkEverything()" (/health_check/advanced), added "Date of build" field with current date.
2. Indicator.java: In method "copyFromDefault()" set visibility of new indicator to "RESTRICTED" (instead of copying the default indicator's visibility).
3. IndicatorController.java: [NEW] Bulk add for indicators (imported from file) - get charts and numbers in a list and create chart and number sections to put them.
a. Added API call method "saveBulkIndicators()" (POST /{stakeholderId}/{topicId}/{categoryId}/{subcategoryId}/save-bulk).
b. Added helper methods "createSectionsAndSaveBulk()", "createSection()", "saveIndicatorAndAddInSection()".
1. MonitorController.java: [Bug fix] In class @RequestMapping, added "/organization" (this portal type was missing).
2. update_db.js: Commnented old functions and added "addHomePageInPortalType()", "addFooterDivIdForPortalType()", "addFooterHelpTextForPortalType()" for portalTypes: funder, ri, organization.
1. MonitorServiceCheckDeployController.java: [NEW] Controller added and
a. "hello()" method (@RequestMapping(value = {"", "/health_check"}, method = RequestMethod.GET)) which just prints and returns a greeting message.
b. "checkEverything()" method @RequestMapping(value = "/health_check/advanced", method = RequestMethod.GET) only accessible by PORTAL ADMINS which checks connection with db and prints properties.
2. TestController.java: Comment "index()" method with @RequestMapping("/").
3. IndicatorController.java: [Bug fix]
a. Added a check when the value of an indicator path parameter is null
b. When an indicator path parameter from a default profile is deleted, delete this parameter also from all profiles based on this default.
1. RolesUtils.java: Comment all contents of this file (should be removed in next commit). This file is added in uoa-admin-tools-library.
2. StakeholderController.java & TopicController.java & CategoryController.java & SubCategoryController.java & SectionController.java & IndicatorController.java: Import RolesUtils from uoa-admin-tools-library.
3. StakeholderController.java: In "getAllRealStakeholders()" method, add optional parameter "defaultId", to get Stakeholders based on a default profile.
1. StakeholderController.java:
a. Method "getMyRealStakeholders()" (/my-stakeholder) returns basic Stakeholder info (Topics are not full object anymore).
b. Method "saveStakeholder()" (/save) gets basic or full object for Stakeholder and returns whatever format it received.
2. IndicatorController.java: [Bug fix] In method "onUpdateDefaultIndicator()" improve checks (there were missing cases, e.g. chartObject of previous-saved indicatorPath was null).
1. StakeholderController.java & TopicController.java & CategoryController.java & SubCategoryController.java && SectionController.java && IndicatorController.java:
a. Comment logs for get requests.
b. Use "ForbiddenException" instead of "AccessDeniedException"
c. On /save, if full entity has id (already in DB), if not found in DB throw EntityNotFoundException.
d. Get children (e.g. when saving a Topic, get its categories) from DB.
2. TopicController.java & CategoryController.java & SubCategoryController.java & SectionController.java:
In /reorder, if there are in DB, ids that are missing from reordered list, do reordering and add in the end of list the missing ids.
3. ReorderEvent.java: [NEW] Added class ReorderEvent with fields "action" (String), "target" (String), "ids" (List<String>) (used in IndicatorController.java).
4. IndicatorController.java:
a. In /reorder, @RequestBody changed from List<String> indicators to ReorderEvent reorderEvent.
b. If there are in DB, ids that are missing from reordered list AND missing id is not moved to other section (action = removed and target = missing id), do reordering and add in the end of list the missing ids.
5. ExceptionsHandler.java: exception handler methods "invalidInput()", "nullPointerException()", "notFoundException()" moved to "Admin Tools Library" - "accessDeniedException()" is removed.
6. responses/ExceptionResponse.java: File and folder deleted (moved to "Admin Tools Library").
7. RolesUtils.java: Added method "isLoggedIn()" (checks if no roles for user, or user has role "ROLE_ANONYMOUS").
1. MonitorController.java: new class for admin tools functionalities (to be updated, when admin tools UI will be redesigned).
2. update_db.js: Update script added for mongo db updates.