Commit Graph

54 Commits

Author SHA1 Message Date
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