Commit Graph

55 Commits

Author SHA1 Message Date
Konstantina Galouni 1461f1851e [master | DONE | CHANGED]: IndicatorController.java: Completing previous commit - In method "createSectionsAndSaveBulk()", on createSection() call, always set title parameter to section.getTitle() (even if it is null). 2024-01-24 17:39:37 +02:00
Konstantina Galouni 52c760af1c [master | DONE | CHANGED]: IndicatorController.java: Removed "imported from service" from section name in method "createSectionsAndSaveBulk()". 2024-01-24 17:16:57 +02:00
Konstantinos Triantafyllou 4be89eab36 Merge branch 'irish-monitor-service' of code-repo.d4science.org:MaDgIK/uoa-monitor-service into irish-monitor-service 2023-12-14 15:48:40 +02:00
Konstantinos Triantafyllou f85a2202ab Import Notification and Authorization Configuration only in application. 2023-12-14 15:48:33 +02:00
Konstantina Galouni 8d19c242e7 Merge remote-tracking branch 'origin/master' into irish-monitor-service 2023-12-13 15:13:06 +02:00
Konstantina Galouni 420e6f46fb [master | DONE | FIXED]: IndicatorController.java: In method "parameterMapping()" set in parameter index_shortName the shortname of the stakeholder, not the name. 2023-12-13 15:10:13 +02:00
Konstantina Galouni c55d2836d7 [irish-monitor-service | WIP | CHANGED]: Monitor Service to work as standalone and as library (classifier library) at the same time.
1. pom.xml: Added plugin "maven-jar-plugin" and an <execution> with <classifier> library which creates a jar and excluded files from library setup.
2. UoaMonitorServiceApplication.java: Moved to package application and removed @EnableConfigurationProperties and @Import of other configurations (moved to UoaMonitorServiceConfiguration.java).
3. UoaMonitorServiceConfiguration.java: Added @EnableConfigurationProperties and @Import of configurations and @ComponentScan.
4. ServletInitializer.java: Moved to package application.
5. MonitorLibraryCheckDeployController.java: Added this copy of MonitorServiceCheckDeployController.java to be used only in library setup with @RequestMapping("/monitor-library").
2023-12-01 10:19:20 +02:00
Konstantinos Triantafyllou 615da7f3c2 Add funderType field in stakeholder. 2023-11-09 15:02:11 +02:00
Konstantinos Triantafyllou c8adee576e Add support for country reasearcher and datasource 2023-10-16 12:42:49 +03:00
Konstantinos Triantafyllou 8446c19ea9 Fix section default Id null exception in save default indicator 2023-07-31 10:59:03 +03:00
Konstantina Galouni 648803a30c [Monitor Service | master]: Stakeholder.java: Added field "private Date projectUpdateDate = null;" to expose the last update date in the UI. 2023-07-17 17:06:52 +03:00
Konstantina Galouni fc2010e530 [Monitor Service | master]: IndicatorController.java: In method "createSectionsAndSaveBulk()" -on import indicators- check if a section or an indicator is null, and ignore them. 2023-07-10 18:00:27 +03:00
Konstantinos Triantafyllou 7b4f0a9eec Fix role utils methods 2023-07-04 16:02:34 +03:00
Konstantina Galouni 09b8d2188f [Monitor Service | master]: Indicator.java: In method "copyFromDefault()", get visibility as parameter and set the visibility of the new-copied indicator accordingly | IndicatorController.java: When creating indicators copied from a new default indicator, set the visibility of each new indicator same as of its parent subcategory. 2023-07-03 10:42:46 +03:00
Konstantina Galouni 0184da8a8e [Monitor Service | master]: Stakeholder.java: Added field private Locale locale = Locale.EU; (Local is enum with values: EN("en"), EU("eu")) and getter/setter methods. 2023-06-19 13:28:32 +03:00
Konstantina Galouni 1119c1fdcf [Monitor Service | master]: Stakeholder.java: Added field private String statsProfile = "monitor"; and getter/setter methods | IndicatorPath.java: Added field private Format format = Format.NUMBER; where Format is enum {NUMBER, PERCENTAGE} and getter/setter methods | IndicatorController.java: On method "onUpdateDefaultIndicator()" check if format was changed | update_db.js: Added method "statsProfileOfIndicatorsAsVariable()". 2023-05-03 13:02:56 +03:00
Konstantina Galouni 806e1e16d8 [Monitor Service | master]: MonitorController.java: In method "updatePortal()" call also pageService.updatePid if pid was changed | pom.xml: Updated version of uoa-admin-tools-library to 1.0.7 (previous was 1.0.6). 2023-05-03 12:58:13 +03:00
Konstantina Galouni 5d46d84a96 [Monitor Service | log4j]: SwaggerConfig.java: Updated swagger to add separate folders for libraries. 2022-10-20 10:40:08 +03:00
Konstantina Galouni 05aec3af4a StakeholderController.java: update return type of 'changeStakeholderVisibility()' and 'changeStakeholderVisibilityTree()' from Visibility to Stakeholder. 2022-10-16 11:41:19 +03:00
Konstantina Galouni adf8cb5e70 pom.xml: Updated parent and versions of libraries | Moved to log4j2 & set spring log file as default | Added swagger 2022-10-10 15:27:17 +03:00
Konstantina Galouni 82a8f8ad56 [Trunk | Monitor Service]: StakeholderController.java & TopicController.java & CategoryController.java & SubCategoryController.java & SectionController.java & IndicatorController.java: Updated /change-visibility methods and added @RequestParam(required = false) Boolean propagate, to allow changing visibility of all contents of the updated entity too & updated return type to return the entity instead its visibility & added everywhere method "changeVisibilityTree()". 2022-09-14 18:02:47 +03:00
Konstantina Galouni cddb8a2de1 [Trunk | Monitor Service]: Updated methods "saveBulkIndicators()" and "createSectionsAndSaveBulk()" to import List<Section<Indicator>> instead of List<Indicator>. 2022-09-08 23:34:25 +03:00
Konstantina Galouni a03001c90e [Trunk | Monitor Service]: 1.. pom.xml: Updated version of admin-tools-library to 1.0.5 (used to be 1.0.4) | 2. StakeholderController.java: In method "buildFullStakeholder()", when creating Stakeholder, create Portal if not exists (pid = alias) and in method "deleteStakeholder()", when deleting a Stakeholder, delete Portal as well. 2022-07-27 11:51:56 +00:00
Konstantinos Triantafyllou 827fd60a87 Add idea files to ignore svn list. Update notification and admin tools library 2021-12-07 09:30:43 +00:00
Konstantina Galouni a11cf9c642 [Trunk | Monitor Service]:
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).
2021-11-17 23:00:52 +00:00
Konstantina Galouni 3f0bbbd81c [Trunk | Monitor Service]:
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.
2021-10-05 21:01:19 +00:00
Konstantina Galouni 9b18159e2f [Trunk | Monitor Service]:
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@
2021-09-15 22:17:52 +00:00
Konstantina Galouni 7d4273bea4 [Trunk | Monitor Service]:
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()".
2021-07-21 09:46:49 +00:00
Konstantina Galouni 44e325ddc7 [Trunk | Monitor Service]:
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.
2021-06-23 15:19:20 +00:00
Konstantina Galouni 0c9bc6f006 [Trunk | Monitor Service]:
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.
2021-04-22 10:05:43 +00:00
Konstantina Galouni ac869dd75b [Trunk | Monitor Service]:
1. pom.xml: Add dependency for notification service: uoa-notification-service.
2. UoaMonitorServiceApplication.java: In @SpringBootApplication, add in scanBasePackages "eu.dnetlib.uoanotificationservice".
2021-03-31 15:28:05 +00:00
Konstantina Galouni a284d8449a [Trunk | Monitor Service]:
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.
2021-02-24 19:22:19 +00:00
Konstantina Galouni d6901a49f7 [Trunk | Monitor Service]:
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).
2020-12-22 09:29:17 +00:00
Konstantina Galouni 38a5a09d8a [Trunk | Monitor Service]:
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").
2020-12-09 14:24:27 +00:00
Konstantina Galouni 479e2c0aeb [Trunk | Monitor Service]:
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.
2020-11-11 12:50:44 +00:00
Konstantina Galouni 1a784f29bd [Trunk | Monitor Service]:
1. RolesUtils.java: New class connected to "AuthorizationService" and returns helper methods for roles and authorities.
2. StakeholderController.java & TopicController.java & CategoryController.java & SubCategoryController.java & SectionController.java & IndicatorController.java:
	a. Add authorization checks according to user roles (authorization library).
	b. Handle new fields "createDate" and "updateDate" (StakeholderController.java already had these fields).
	c. [Bug fix] On save method, if it is default entity, add it before "onSaveDefault...()" or after "onUpdateDefault...()".
	d. (not in SectionController) Comment methods for toggling status and access and add method for changing visibility.
		e.g. "changeIndicatorVisibility()" (/{stakeholderId}/{topicId}/{categoryId}/{subcategoryId}/{sectionId}/{indicatorId}/change-visibility).
3. StakeholderController.java: Method "getAllRealStakeholders()" (/stakeholder) returns now basic Stakeholder info (topicIds, not full entities).
4. IndicatorController.java:
	a. [Bug fix] On "onUpdateDefaultIndicator()", "changed" is set to false for each indicatorBasedOnDefault.
	b. On "onUpdateDefaultIndicator()" handle update policy for "description" and "additionalDescription".
	c. [Bug fix] On "onUpdateDefaultIndicator()", bug fixes when updating "jsonPath".
2020-11-11 12:45:59 +00:00
Konstantina Galouni b7a4471385 [Trunk | Monitor Service]:
1. In all enums, add capitalized values too (maybe in the future, lowercased values will be removed - NOT NOW).
2. Visibility.java: New enumeration Visibility added with values: PUBLIC, RESTRICTED, PRIVATE (will replace isPublic and isActive fields).
3. Stakeholder.java: 
	a. Add field "isUpload" (default value: false) to define if "logoUrl" is a link, or a locally uploaded image.
	b. Remove fields "isActive" and "isPublic" and add field "visibility" (default value: Visibility.PRIVATE).
	c. Remove unused field "managers" (managers are defined from aai roles).
4. Topic.java & Category.java & SubCategory.java: 
	a. Remove fields "isActive" and "isPublic" and add field "visibility" (default value: Visibility.PRIVATE).
	b. Add fields "creationDate" and "updateDate".
5. Section.java: Add fields "creationDate" and "updateDate".
6. Indicator.java: 
	a. Rename enumeration "IndicatorWidth" to "IndicatorSize" (will be used for width and height).
	b. Add field "additionalDescription" (for default profiles, "description" can now be changed only by default profiles settings,
						while "additionalDescription" can also be changed by managers too).
	c. Add field "height" (default value:  IndicatorSize.MEDIUM).
	d. Remove fields "isActive" and "isPublic" and add field "visibility" (default value: Visibility.PRIVATE).
	e. Add fields "creationDate" and "updateDate".
2020-11-11 11:20:10 +00:00
Konstantina Galouni 3540b9ec6b [Trunk | Monitor Service]: uoa-authorization-library dependency added:
1. pom.xml: Added dependencies for spring security and for uoa-authorization-library | [Bug fix] spring boot version set to 1.5.8 (it was accidentally set to 1.5.18 and library was not compatible).
2. UoaMonitorServiceApplication.java: Added authorization.properties | Remove SecurityConfig from configuration (done by authorization library) | import AuthorizationConfiguration.
3. ExceptionsHandler.java: Add handler for AccessDeniedException.
4. monitorservice.properties: Remove security properties (and add missing properties for mongodb).
5. UoaMonitorServiceConfiguration.java: Remove interceptor for AuthorizationHandler.
6. SecurityConfig.java & AuthorizationHandler.java & AuthorizationUtils.java: Removed unnecessary files (authorization is done via authorization library).
2020-11-11 10:52:38 +00:00
Konstantina Galouni 30a58da9b1 [Trunk | Monitor Service]:
CategoryController.java & SubCategoryController.java & TopicController.java: In "onUpdateDefaultTopic()" method, when "name" is changed, update also "alias" according to default profile.
2020-09-28 11:59:00 +00:00
Konstantina Galouni 78913b0140 [Trunk | Monitor Service]:
1. TopicController.java & CategoryController.java & SubCategoryController.java: New methods for reorder added.
2. CategoryController.java: Method "checkForExceptions()" added.
3. IndicatorController.java: [Bug Fix] When updating a default indicator and all indicators based on that are updated too, set description field when needed (not name again).
2020-06-25 09:55:46 +00:00
Konstantina Galouni 0f929b581d [Trunk | Monitor Service]:
1. Adding parameter in delete methods to delete or disconnect all profiles based on the default one that is being deleted (not for stakeholder).
	2. In delete methods remove iterations (for deleting inner elements) and call "deleteTree()" method.
2020-06-22 19:58:40 +00:00
Konstantina Galouni ff38145b25 [Trunk | Monitor Service]:
1. trunk/src/test/java/eu/dnetlib/uoamonitorservice: New folders for tests.
2. ExceptionsHandler.java: Replace "log.debug" with "log.error".
3. Stakeholder.java: Field 'description' and getter/ setter methods added.
4. Topic.java: Field 'icon' and getter/ setter methods added | In method "copyFromDefault()", set "isActive" and "isPublic" fields of new Topic same as the values from default Topic.
5. TopicController.java: In method "onUpdateDefaultTopic()", add update for icon.
6. Category.java & SubCategory.java & Indicator.java: 
	In method "copyFromDefault()", set "isActive" and "isPublic" fields of new Category/ SubCategory/ Indicator same as the values from default Category/ SubCategory/ Indicator.
7. IndicatorController.java: 
	a. [Bug fix] Add some null checks when updating number indicators.
	b. In method "parameterMapping()" comment replacement of "index_id", "index_name", "index_shortName" in indicatorPath.url (number indicators only).
2020-06-17 11:37:42 +00:00
Konstantina Galouni 8a3f97db13 [Trunk | Monitor Service]:
1. pom.xml: Comment dependency of "uoa-help-texts-library" and add dependency of "uoa-admin-tools-library" | Add dependency of "spring-boot-starter-test".
2. MongoConnection.java: Replace basePackage "eu.dnetlib.uoahelptexts.dao" with "eu.dnetlib.uoaadmintoolslibrary.dao".
3. EmailController.java: Import from " eu.dnetlib.uoaadmintoolslibrary" instead of "eu.dnetlib.uoahelptexts".
4. UoaMonitorServiceApplication.java: Replace scanBasePackage "eu.dnetlib.uoahelptexts" with "eu.dnetlib.uoaadmintoolslibrary" | Add @PropertySource("classpath:dnet-override.properties".
2020-06-17 10:56:52 +00:00
Konstantina Galouni 67cf2d9812 [Trunk | Monitor Service]:
1. Stakeholder.java: Field 'name' added.
2. Section.java: In method 'copyFromDefault()' initialize indicators (empty list).
3. StakeholderDAO.java & MongoDBStakeholderDAO.java: Added method 'Stakeholder findByTopicsContaining(String topic);' (needed to find in which Stakeholder a Topic belongs - section needs stakeholderAlias).
4. TopicDAO.java & MongoDBTopicDAO.java: Added method 'Topic findByCategoriesContaining(String category);' (needed to find in which Topic a Category belongs - section needs stakeholderAlias).
5. CategoryDAO.java & MongoDBCategoryDAO.java: Added method 'Category findBySubCategoriesContaining(String subCategory);' (needed to find in which Category a SubCategory belongs - section needs stakeholderAlias).
6. TopicController.java & CategoryController.java & SubCategoryController.java & SectionController.java & IndicatorController.java:
	Bug fixes & changed logic for updates on default profile: When a value in a profile is same as the value in default, inherit changes in default value, otherwise keep local profile's options.
2020-05-18 09:17:05 +00:00
Konstantina Galouni f522d373ed [Trunk | Monitor Service]: SectionController: [Bug fix] In method "saveSection()" (/{stakeholderId}/{topicId}/{categoryId}/{subcategoryId}/save/{index})
a. Pathvariable "index" is required - if index == -1, ignore it and add section in the end of the list.
	b. Use id from saved section (Section<String> section) and not from RequestBody - if this is a new section, no id in "Section<Indicator> sectionFull" yet.
2020-05-13 13:25:02 +00:00
Konstantina Galouni 8ef6abce47 [Trunk | Monitor Service]:
1. SectionController.java: In 'saveSection()' method add in path index where section will be stored in subcategory (path: /{stakeholderId}/{topicId}/{categoryId}/{subcategoryId}/save/{index}).
2. IndicatorController.java: In 'parameterMapping()' method add replacement in number url - add 'urlEncode()' helper method.
2020-01-17 11:43:31 +00:00
Konstantina Galouni 6565055c6a [Trunk | Monitor Service]:
1. Section entity level added. Hierarchy changed from: Stakeholder > Topic > Category > SubCategory > Indicator to: Stakeholder > Topic > Category > SubCategory > Section > Indicator.
2. Section.java & SectionDAO.java & MongoDBSectionDAO.java & SectionController.java: New entity 'Section', DAOs for Section, Controller for section added.
3. In all controllers fix hierarchy of model to include Section.
4. SubCategoryController.java & IndicatorController.java: Helper method 'checkForExceptions()' added (instead of checking in every method separately).
2020-01-10 10:48:24 +00:00
Konstantina Galouni acda0c638e StakeholderController.java & TopicController.java & CategoryController.java & SubCategoryController.java: toggle methods for status and access added. 2019-12-23 11:45:07 +00:00
Konstantina Galouni 196387701c Indicator.java: [Bug fix]: One extra parenthesis is removed. 2019-12-19 15:05:39 +00:00
Konstantina Galouni 0ee5ff1e0e 1. pom.xml: Add dependency for "uoa-help-texts-library" (will be renamed).
2. UoaMonitorServiceApplication.java: Add @PropertySource path used in dl170.
3. MongoConnection.java: @EnableMongoRepositories not only from: eu.dnetlib.uoamonitorservice.dao, but also: eu.dnetlib.uoahelptexts.dao.
4. GoogleConfig.java & MailConfig.java: [Deleted]: Functionality available on library project.
5. EmailController.java: [New]: Used for contact-us page in portal.
6. ExceptionsHandler.java & /controllers/: Add more and detailed logs.
7. Stakeholder.java:
        a. Field 'logoUrl' added.
        b. Method 'getType()' returns type.name() and 'setType()' gets String and converts it into StakeholderType.
8. Topic.java & Category.java & SubCategory.java & Indicator.java: 
	a. Field 'boolean isDefault' changed to 'String defaultId'.
	b. Method copyFromDefault() added to create a clone from default entity (topic, category, subcategory, indicator).
9. Category.java & SubCategory.java: Field 'String description' added.
10. SubCategory.java: Field 'String stakeholderId' added | method createOverviewSubCategory(Category) added.
11. Indicator.java & IndicatorPath.java: Method 'getType()' returns type.name() and 'setType()' gets String and converts it into IndicatorType / IndicatorPathType.
12. IndicatorPath.java: Constructor and copy constructor added.
13. StakeholderDAO.java & MongoDBStakeholderDAO.java: 
	a. Method findByIsDefaultProfile() changed to: findByDefaultId() & findByDefaultIdNot().
	b. Method findByIsDefaultProfileAndType() changed to: findByDefaultIdAndType() & findByDefaultIdNotAndType().
14. SubCategoryDAO.java & MongoDBSubCategoryDAO.java & IndicatorDAO.java & MongoDBSubCategoryDAO.java: Method 'findByDefaultId()' added.
15. StakeholderController.java: Handle creationDate and updateDate | Add more exceptional cases.
16. TopicController.java:
        a. Helper method 'onSaveDefaultTopic()' added (save cloned topic on stakeholders based on this default Stakeholder).
        b. Helper method 'onUpdateDefaultTopic()' added (update cloned topics based on this default topic).
17. CategoryController.java:
        a. Remove 'subCategory.setIsDefault(true);' when a category is created.
        b. Helper method 'onSaveDefaultCategory()' added (save cloned category on topics based on this default Topic).
        c. Helper method 'onUpdateDefaultCategory()' added (update cloned categories based on this default category).
18. SubCategoryController.java:
        a. Helper method 'onSaveDefaultSubCategory()' added (save cloned subCategory on topics based on this default Category).
        b. Helper method 'onUpdateDefaultSubCategory()' added (update cloned subCategories based on this default subCategory).
19. IndicatorController.java:
        a. Helper method 'onSaveDefaultIndicator()' added (save cloned indicator on subCategories based on this default SubCategory).
        b. Helper method 'onUpdateDefaultIndicator()' added (update cloned indicators based on this default indicator).
        c. Helper method 'parameterMapping()' added to map correct parameter values on parameters depending on stakeholder info.
        d. Method 'toggleIndicatorStatus()' added to toggle 'isActive' field.
        e. Method 'toggleIndicatorAccess()' added to toggle 'isPublic' field.
        f. Helper method 'toggleIndicator()' added to update indicator when a field is toggled.
2019-12-19 15:04:25 +00:00