Commit Graph

18 Commits

Author SHA1 Message Date
Konstantinos Triantafyllou 7b4f0a9eec Fix role utils methods 2023-07-04 16:02:34 +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 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
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 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 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 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 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 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
Konstantina Galouni 26f7388680 1. Schema changes: Move each entity on its own collection - each entity keeps ids for its sub-entities.
2. New controllers for each entity: TopicController.java, CategoryController.java, SubCategoryController.java, IndicatorController.java.
3. New DAOs for each entity: TopicDAO.java, MongoDBTopicDAO.java, CategoryDAO.java, MongoDBCategoryDAO.java, SubCategoryDAO.java, MongoDBSubCategoryDAO.java.
4. New custom Exceptions: EntityNotFoundException.java, PathNotValidException.java.
5. ExceptionsHandler.java: Handle new EntityNotFoundException (id not in db) and PathNotValidException (id exists in db but not in path given).
2019-11-22 15:50:59 +00:00
Konstantina Galouni 6bed8383d5 1. Add IndicatorDAO.java & MongoDBIndicatorDAO.java.
2. StakeholderDAO.java & MongoDBStakeholderDAO.java: Add methods 'findById()' and  'delete()'.
3. Category.java & SubCategory.java & Topic.java: Add fields 'id' and 'isDefault' and getters/setters for 'isDefault'.
4. Indicator.java: Add field 'isDefault' and getters/setters.
5. IndicatorPath.java: Change 'image' to 'other' in IndicatorPathType enum.
6. StakeholderController.java: Add methods: 'deleteStakeholder()' (by id), 'deleteTopic()', 'deleteCategory()', 'deleteSubCategory()', 'reorderIndicators()'.
2019-11-19 13:05:43 +00:00
Konstantina Galouni 4adda29adc 1. Stakeholder.java: Create constructor and copy constructor & change getters-setters for 'isDeafult', 'isPublic' and 'isActive' fields.
2. Topic.java: Create constructor and copy constructor & change getters-setters for 'isPublic' and 'isActive' fields.
3. Category.java: Create constructor and copy constructor & change getters-setters for 'isOverview, 'isPublic' and 'isActive' fields & remove field 'description'.
4. SubCategory.java: Create constructor and copy constructor & change getters-setters for 'isPublic' and 'isActive' fields & remove field 'description' & 
		     make charts and numbers (List) generic (String or Indicator).
5. Indicator.java: Change getters-setters for 'indicatorPaths', 'isPublic' and 'isActive' fields & create method: public boolean hasType(String str), to check if "chart" or "number".
6. IndicatorPath.java: Add fields in schema (chartObject, parameters, filters) & add in enum IndicatorPathType types: pie, line, image.
7. MongoDBStakeholderDAO.java & StakeholderDAO.java: Add method: Stakeholder findByAlias(String Alias)
8. StakeholderController.java: 
	a. Add method: public Stakeholder setIndicatorsForStakeholder(Stakeholder stakeholder) to replace indicator ids with Indicator objects 
	(used by: getAllStakeholders, getAllDefaultStakeholders, getAllRealStakeholders, getStakeholder (by alias))
	b. Add method: public Stakeholder getStakeholder(@PathVariable("alias") String alias) - /stakeholder/{alias}
	c. Add method: public Stakeholder saveStakeholder(@RequestBody Stakeholder stakeholder) - /stakeholder/save
	d. Add method: public boolean deleteIndicator(...) - /{stakeholder}/{topic}/{category}/{subcategory}/indicator/{id}
	e. Add method: public Indicator saveIndicator(...) - /{stakeholder}/{topic}/{category}/{subcategory}/indicator/save (in body send Indicator object)
2019-11-11 16:38:36 +00:00
Konstantina Galouni 1ff5f13223 Initial commit for monitor-service. 2019-11-04 09:03:49 +00:00