diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/BrowseController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/BrowseController.java
index 4a109b2c1..4a1b44dc5 100644
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/BrowseController.java
+++ b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/BrowseController.java
@@ -25,7 +25,6 @@
import org.irods.jargon.core.exception.JargonException;
import org.irods.jargon.core.utils.MiscIRODSUtils;
import org.irods.jargon.extensions.dataprofiler.DataProfile;
-import org.irodsext.dataprofiler.favorites.FavoritesService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -64,7 +63,6 @@
import com.emc.metalnx.services.interfaces.PermissionsService;
import com.emc.metalnx.services.interfaces.ResourceService;
import com.emc.metalnx.services.interfaces.RuleDeploymentService;
-import com.emc.metalnx.services.interfaces.UserBookmarkService;
import com.emc.metalnx.services.interfaces.UserService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -95,9 +93,6 @@ public class BrowseController {
@Autowired
GroupService groupService;
- @Autowired
- UserBookmarkService userBookmarkService;
-
@Autowired
MetadataService metadataService;
@@ -107,9 +102,6 @@ public class BrowseController {
@Autowired
IRODSServices irodsServices;
- @Autowired
- FavoritesService favoritesService;
-
@Autowired
LoggedUserUtils loggedUserUtils;
@@ -439,7 +431,6 @@ public String getDirectoriesAndFilesForUser(final Model model, @RequestParam("pa
Set writePermissions = new HashSet();
Set ownershipPermissions = new HashSet();
Set inheritPermissions = new HashSet();
- List userBookmarks = new ArrayList();
// If a string is null, empty or contains only white spaces, StringUtils
// returns true
@@ -463,11 +454,6 @@ public String getDirectoriesAndFilesForUser(final Model model, @RequestParam("pa
// may not find based on permissions..it's ok
}
}
-
- List users = userService.findByUsername(username);
- if (users != null && !users.isEmpty()) {
- userBookmarks = userBookmarkService.findBookmarksForUserAsString(users.get(0));
- }
}
}
@@ -479,9 +465,6 @@ public String getDirectoriesAndFilesForUser(final Model model, @RequestParam("pa
model.addAttribute("writePermissions", writePermissions);
model.addAttribute("ownershipPermissions", ownershipPermissions);
model.addAttribute("inheritPermissions", inheritPermissions);
- model.addAttribute("addBookmark", new ArrayList());
- model.addAttribute("removeBookmark", new ArrayList());
- model.addAttribute("userBookmarks", userBookmarks);
logger.info("model:{}", model);
logger.info("done with processing:{}", model);
@@ -575,28 +558,8 @@ public String modifyAction(@ModelAttribute final CollectionOrDataObjectForm coll
boolean modificationSuccessful = cs.modifyCollectionAndDataObject(previousPath, newPath,
collForm.getInheritOption());
- // checking if the previousPath collection/dataobject was marked as favorite:
- String username = irodsServices.getCurrentUser();
- String zoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(username, zoneName);
- boolean isMarkedFavorite = favoritesService.isPathFavoriteForUser(user, previousPath);
- logger.info("Favorite status for previousPath: " + previousPath + " is: " + String.valueOf(isMarkedFavorite));
-
if (modificationSuccessful) {
logger.debug("Collection/Data Object {} modified to {}", previousPath, newPath);
-
- if (isMarkedFavorite) {
- Set toAdd = new HashSet();
- Set toRemove = new HashSet();
- toAdd.add(newPath);
- toRemove.add(previousPath);
- boolean operationResult = favoritesService.updateFavorites(user, toAdd, toRemove);
- if (operationResult) {
- logger.info("Favorite re-added successfully for: " + newPath);
- } else {
- logger.info("Error re-adding favorite to: " + newPath);
- }
- }
redirectAttributes.addFlashAttribute("collectionModifiedSuccessfully", collForm.getCollectionName());
}
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/CollectionController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/CollectionController.java
index 2f74dd0d3..d58faeadc 100755
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/CollectionController.java
+++ b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/CollectionController.java
@@ -12,7 +12,6 @@
import org.irods.jargon.core.exception.JargonException;
import org.irods.jargon.core.utils.CollectionAndPath;
import org.irods.jargon.core.utils.MiscIRODSUtils;
-import org.irodsext.dataprofiler.favorites.FavoritesService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,7 +37,6 @@
import com.emc.metalnx.services.interfaces.PermissionsService;
import com.emc.metalnx.services.interfaces.ResourceService;
import com.emc.metalnx.services.interfaces.RuleDeploymentService;
-import com.emc.metalnx.services.interfaces.UserBookmarkService;
import com.emc.metalnx.services.interfaces.UserService;
import com.emc.metalnx.services.interfaces.mail.MailService;
@@ -60,9 +58,6 @@ public class CollectionController {
@Autowired
GroupService groupService;
- @Autowired
- UserBookmarkService userBookmarkService;
-
@Autowired
MetadataService metadataService;
@@ -72,9 +67,6 @@ public class CollectionController {
@Autowired
IRODSServices irodsServices;
- @Autowired
- FavoritesService favoritesService;
-
@Autowired
LoggedUserUtils loggedUserUtils;
@@ -281,14 +273,6 @@ public void setGroupService(GroupService groupService) {
this.groupService = groupService;
}
- public UserBookmarkService getUserBookmarkService() {
- return userBookmarkService;
- }
-
- public void setUserBookmarkService(UserBookmarkService userBookmarkService) {
- this.userBookmarkService = userBookmarkService;
- }
-
public MetadataService getMetadataService() {
return metadataService;
}
@@ -313,14 +297,6 @@ public void setIrodsServices(IRODSServices irodsServices) {
this.irodsServices = irodsServices;
}
- public FavoritesService getFavoritesService() {
- return favoritesService;
- }
-
- public void setFavoritesService(FavoritesService favoritesService) {
- this.favoritesService = favoritesService;
- }
-
public LoggedUserUtils getLoggedUserUtils() {
return loggedUserUtils;
}
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/FavoritesController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/FavoritesController.java
deleted file mode 100755
index 60909cb84..000000000
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/FavoritesController.java
+++ /dev/null
@@ -1,168 +0,0 @@
- /* Copyright (c) 2018, University of North Carolina at Chapel Hill */
- /* Copyright (c) 2015-2017, Dell EMC */
-
-
-
-package com.emc.metalnx.controller;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.irodsext.dataprofiler.favorites.FavoritesService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.SessionAttributes;
-import org.springframework.web.context.WebApplicationContext;
-
-import com.emc.metalnx.core.domain.entity.DataGridUser;
-import com.emc.metalnx.core.domain.entity.DataGridUserFavorite;
-import com.emc.metalnx.services.interfaces.HeaderService;
-import com.emc.metalnx.services.interfaces.IRODSServices;
-import com.emc.metalnx.services.interfaces.UserService;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@Scope(WebApplicationContext.SCOPE_SESSION)
-@RequestMapping(value = "/favorites")
-public class FavoritesController {
- @Autowired
- FavoritesService favoritesService;
-
- @Autowired
- UserService userService;
-
- @Autowired
- IRODSServices irodsServices;
-
- @Autowired
- HeaderService headerService;
-
- private static final String REQUEST_OK = "OK";
- private static final String REQUEST_ERROR = "ERROR";
-
- private int totalFavorites;
- private int totalFavoritesFiltered;
-
- private static final Logger logger = LoggerFactory.getLogger(FavoritesController.class);
-
- /**
- * Responds to the list favorites request
- *
- * @param model
- * @return the template with a list of favorite items
- */
- @RequestMapping(value = "/")
- public String listfavorites(final Model model) {
- String loggedUsername = irodsServices.getCurrentUser();
- String loggedUserZoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(loggedUsername, loggedUserZoneName);
-
- List userFavorites = user.getFavoritesSorted();
-
- model.addAttribute("userFavorites", userFavorites);
-
-
- return "favorites/favorites";
- }
-
- /**
- * Add a path to the favorites list
- *
- * @param path
- * path to be added to the favorites
- */
- @RequestMapping(value = "/addFavoriteToUser/")
- @ResponseBody
- public String addFavoriteToUser(@RequestParam("path") final String path) {
- String zoneName = irodsServices.getCurrentUserZone();
- String username = irodsServices.getCurrentUser();
-
- logger.info("Request for adding a {} favorite from {}", path, username);
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(username, zoneName);
-
- Set toAdd = new HashSet();
- toAdd.add(path);
-
- boolean operationResult = favoritesService.updateFavorites(user, toAdd, null);
-
- return operationResult ? REQUEST_OK : REQUEST_ERROR;
- }
-
- /**
- * Remove a path to the favorites list
- *
- * @param model
- * @param path
- * path to be removed from the favorites
- */
- @RequestMapping(value = "/removeFavoriteFromUser/")
- @ResponseBody
- public String removeFavoriteFromUser(@RequestParam("path") final String path) {
- String username = irodsServices.getCurrentUser();
- logger.info("Request for removing a {} favorite from {}", path, username);
-
- String zoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(username, zoneName);
-
- Set toRemove = new HashSet();
- toRemove.add(path);
-
- boolean operationResult = favoritesService.updateFavorites(user, null, toRemove);
-
- return operationResult ? REQUEST_OK : REQUEST_ERROR;
- }
-
- @RequestMapping(value = "/favoritesPaginated")
- @ResponseBody
- public String favoritesPaginated(final HttpServletRequest request) {
-
- int draw = Integer.parseInt(request.getParameter("draw"));
- int start = Integer.parseInt(request.getParameter("start"));
- int length = Integer.parseInt(request.getParameter("length"));
- String searchString = request.getParameter("search[value]");
- int orderColumn = Integer.parseInt(request.getParameter("order[0][column]"));
- String orderDir = request.getParameter("order[0][dir]");
- boolean onlyCollections = Boolean.parseBoolean(request.getParameter("onlyCollections"));
- String loggedUsername = irodsServices.getCurrentUser();
- String loggedUserZoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(loggedUsername, loggedUserZoneName);
- String[] orderBy = { "name", "path", "created_at", "is_collection" };
-
- List userFavorites = favoritesService.findFavoritesPaginated(user, start, length,
- searchString, orderBy[orderColumn], orderDir, onlyCollections);
-
- ObjectMapper mapper = new ObjectMapper();
- Map jsonResponse = new HashMap();
- String jsonString = "";
- if ("".equals(searchString)) {
- totalFavorites = user.getFavorites().size();
- totalFavoritesFiltered = user.getFavorites().size();
- } else {
- totalFavoritesFiltered = userFavorites.size();
- }
-
- jsonResponse.put("draw", String.valueOf(draw));
- jsonResponse.put("recordsTotal", String.valueOf(totalFavorites));
- jsonResponse.put("recordsFiltered", String.valueOf(totalFavoritesFiltered));
- jsonResponse.put("data", userFavorites);
-
- try {
- jsonString = mapper.writeValueAsString(jsonResponse);
- } catch (Exception e) {
- logger.error("Could not parse hashmap in favorites to json", e.getMessage());
- }
- return jsonString;
- }
-}
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/PermissionsController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/PermissionsController.java
index 1e9612a76..5f0085c5a 100755
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/PermissionsController.java
+++ b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/PermissionsController.java
@@ -27,7 +27,6 @@
import com.emc.metalnx.core.domain.entity.DataGridFilePermission;
import com.emc.metalnx.core.domain.entity.DataGridGroupPermission;
import com.emc.metalnx.core.domain.entity.DataGridUser;
-import com.emc.metalnx.core.domain.entity.DataGridUserBookmark;
import com.emc.metalnx.core.domain.entity.DataGridUserPermission;
import com.emc.metalnx.core.domain.entity.enums.DataGridPermType;
import com.emc.metalnx.core.domain.exceptions.DataGridConnectionRefusedException;
@@ -35,7 +34,6 @@
import com.emc.metalnx.services.interfaces.CollectionService;
import com.emc.metalnx.services.interfaces.GroupService;
import com.emc.metalnx.services.interfaces.PermissionsService;
-import com.emc.metalnx.services.interfaces.UserBookmarkService;
import com.emc.metalnx.services.interfaces.UserService;
@Controller
@@ -49,9 +47,6 @@ public class PermissionsController {
@Autowired
private GroupService gs;
- @Autowired
- private UserBookmarkService uBMS;
-
@Autowired
private PermissionsService ps;
@@ -120,9 +115,6 @@ public String getPermissionDetails(final Model model, @RequestParam("path") fina
List permissions;
List groupPermissions;
List userPermissions;
- List userBookmarks;
- Set groupsWithBookmarks;
- Set usersWithBookmarks;
boolean userCanModify = false;
boolean isCollection = false;
@@ -133,16 +125,8 @@ public String getPermissionDetails(final Model model, @RequestParam("path") fina
groupPermissions = ps.getGroupsWithPermissions(permissions);
userPermissions = ps.getUsersWithPermissions(permissions);
- userBookmarks = uBMS.findBookmarksOnPath(path);
userCanModify = loggedUser.isAdmin() || ps.canLoggedUserModifyPermissionOnPath(path);
- groupsWithBookmarks = new HashSet<>();
-
- usersWithBookmarks = new HashSet<>();
- for (DataGridUserBookmark userBookmark : userBookmarks) {
- usersWithBookmarks.add(userBookmark.getUser().getUsername());
- }
-
obj = cs.findByName(path);
obj.setMostPermissiveAccessForCurrentUser(
ps.resolveMostPermissiveAccessForUser(obj.getPath(), loggedUser.getUsername()));
@@ -151,8 +135,6 @@ public String getPermissionDetails(final Model model, @RequestParam("path") fina
throw new DataGridException("error getting permissions", e);
}
- model.addAttribute("usersWithBookmarks", usersWithBookmarks);
- model.addAttribute("groupsWithBookmark", groupsWithBookmarks);
model.addAttribute("groupPermissions", groupPermissions);
model.addAttribute("userPermissions", userPermissions);
model.addAttribute("userCanModify", userCanModify);
@@ -240,12 +222,6 @@ public String addGroupToCreationList(@RequestParam("permission") final String pe
operationResult &= ps.setPermissionOnPath(permType, group, recursive, loggedUser.isAdmin(), path);
}
- // Updating bookmarks for the recently-created permissions
- if (bookmark) {
- Set bookmarks = new HashSet();
- bookmarks.add(path);
- }
-
return operationResult ? REQUEST_OK : REQUEST_ERROR;
}
@@ -270,18 +246,6 @@ public String addUserToCreationList(@RequestParam("permission") final String per
for (String username : usernames) {
operationResult &= ps.setPermissionOnPath(permType, username, recursive, loggedUser.isAdmin(), path);
-
- // Updating bookmarks for the recently-created permissions
- if (bookmark) {
- Set bookmarks = new HashSet();
- bookmarks.add(path);
-
- // Getting list of users and updating bookmarks
- List dataGridUsers = us.findByUsername(username);
- if (dataGridUsers != null && !dataGridUsers.isEmpty()) {
- uBMS.updateBookmarks(dataGridUsers.get(0), bookmarks, null);
- }
- }
}
return operationResult ? REQUEST_OK : REQUEST_ERROR;
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/TemplateController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/TemplateController.java
deleted file mode 100755
index e5112f283..000000000
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/TemplateController.java
+++ /dev/null
@@ -1,810 +0,0 @@
-/* Copyright (c) 2018, University of North Carolina at Chapel Hill */
-/* Copyright (c) 2015-2017, Dell EMC */
-
-package com.emc.metalnx.controller;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.Arrays;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Scope;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.bind.annotation.SessionAttributes;
-import org.springframework.web.context.WebApplicationContext;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import com.emc.metalnx.controller.utils.LoggedUserUtils;
-import com.emc.metalnx.core.domain.entity.DataGridTemplate;
-import com.emc.metalnx.core.domain.entity.DataGridTemplateField;
-import com.emc.metalnx.core.domain.entity.DataGridUser;
-import com.emc.metalnx.core.domain.exceptions.DataGridConnectionRefusedException;
-import com.emc.metalnx.core.domain.exceptions.DataGridException;
-import com.emc.metalnx.core.domain.exceptions.DataGridTemplateAttrException;
-import com.emc.metalnx.core.domain.exceptions.DataGridTemplateUnitException;
-import com.emc.metalnx.core.domain.exceptions.DataGridTemplateValueException;
-import com.emc.metalnx.core.domain.exceptions.DataGridTooLongTemplateNameException;
-import com.emc.metalnx.modelattribute.enums.MetadataTemplateAccessType;
-import com.emc.metalnx.modelattribute.metadatatemplate.MetadataTemplateForm;
-import com.emc.metalnx.modelattribute.template.field.TemplateFieldForm;
-import com.emc.metalnx.services.interfaces.CollectionService;
-import com.emc.metalnx.services.interfaces.HeaderService;
-import com.emc.metalnx.services.interfaces.MetadataTemplateException;
-import com.emc.metalnx.services.interfaces.TemplateFieldService;
-import com.emc.metalnx.services.interfaces.TemplateService;
-import com.emc.metalnx.services.interfaces.UserService;
-import com.emc.metalnx.services.interfaces.IRODSServices;
-
-@Controller
-@Scope(WebApplicationContext.SCOPE_SESSION)
-@SessionAttributes({ "selectedTemplates" })
-@RequestMapping(value = "/templates")
-public class TemplateController {
-
- @Autowired
- TemplateService templateService;
-
- @Autowired
- TemplateFieldService templateFieldService;
-
- @Autowired
- CollectionService collectionService;
-
- @Autowired
- UserService userService;
-
- @Autowired
- IRODSServices irodsServices;
-
- @Autowired
- LoggedUserUtils loggedUserUtils;
-
- @Autowired
- HeaderService headerService;
-
- @Value("${irods.zoneName}")
- private String zoneName;
-
- // contains the template fields to be added to a brand new template
- private List addTemplateFields;
-
- // contains the template fields to be removed from a brand new template
- private List removeTemplateFields;
-
- // Auxiliary structure to handle template selection
- private Set selectedTemplates = new HashSet();
-
- // UI mode that will be shown when the rods user switches mode from admin to
- // user and vice-versa
- public static final String UI_USER_MODE = "user";
- public static final String UI_ADMIN_MODE = "admin";
-
- private static final Logger logger = LoggerFactory.getLogger(TemplateController.class);
-
- @RequestMapping(value = "/")
- public String index(final Model model, final HttpServletRequest request)
- throws DataGridConnectionRefusedException, DataGridException {
-
- addTemplateFields = new ArrayList();
- removeTemplateFields = new ArrayList();
-
- DataGridUser loggedUser = loggedUserUtils.getLoggedDataGridUser();
- String uiMode = (String) request.getSession().getAttribute("uiMode");
-
- if (uiMode == null || uiMode.isEmpty()) {
- if (loggedUser.isAdmin()) {
- uiMode = UI_ADMIN_MODE;
- } else {
- uiMode = UI_USER_MODE;
- model.addAttribute("homePath", collectionService.getHomeDirectyForCurrentUser());
- model.addAttribute("publicPath", collectionService.getHomeDirectyForPublic());
- }
- }
- selectedTemplates.clear();
- model.addAttribute("uiMode", uiMode);
- return "template/templateManagement";
- }
-
- @RequestMapping(value = "/listTemplateFields", method = RequestMethod.POST)
- public String listTemplateFields(final Model model, @RequestParam("template") final String template) {
- updateAddTemplateFieldsList();
-
- List dataGridTemplateFields = templateService.listTemplateFields(template);
- List templateFields = this.mapDataGridTempToFieldForm(dataGridTemplateFields);
- DataGridTemplate metadataTemplate = templateService.findByName(template);
-
- if (addTemplateFields != null) {
- templateFields.addAll(addTemplateFields);
- }
- if (removeTemplateFields != null) {
- templateFields.removeAll(removeTemplateFields);
- }
-
- model.addAttribute("metadataTemplate", metadataTemplate);
- model.addAttribute("templateFields", templateFields);
- model.addAttribute("resultSize", templateFields.size());
- model.addAttribute("foundTemplateFields", templateFields.size() > 0);
-
- return "template/templateFieldList";
- }
-
- @RequestMapping(value = "/listTemplateFieldsForCollections", method = RequestMethod.POST)
- public String listTemplateFieldsForCollections(final Model model,
- @RequestParam("templateIDsList") final long[] templateIDsList) {
- MetadataTemplateForm templateForm = new MetadataTemplateForm();
- List templateFields = new ArrayList();
- List dataGridTemplateFields = new ArrayList();
-
- if (templateIDsList.length > 0) {
- for (long id : templateIDsList) {
- dataGridTemplateFields.addAll(templateService.listTemplateFields(id));
- }
- templateFields = this.mapDataGridTempToFieldForm(dataGridTemplateFields);
- }
-
- model.addAttribute("templateForm", templateForm);
- model.addAttribute("requestMapping", "/browse/applyTemplatesToCollections/");
- model.addAttribute("templateFields", templateFields);
- model.addAttribute("resultSize", templateFields.size());
- model.addAttribute("foundTemplateFields", templateFields.size() > 0);
-
- return "collections/templateFieldListForCollections";
- }
-
- @RequestMapping(value = "/listTemplatesForCollections", method = RequestMethod.POST)
- public String listTemplatesForCollections(final Model model) {
- findAllTemplates(model);
- return "collections/templateListForCollections :: templateList";
- }
-
- @RequestMapping(value = "/findAll/")
- public String findAll(final Model model) {
- findAllTemplates(model);
- return "template/templateList :: templateList";
- }
-
- @RequestMapping(value = "/find/{templateName}")
- public String findTemplate(final Model model, @PathVariable final String templateName) {
- List templates = templateService.findByQueryString(templateName);
-
- model.addAttribute("templates", templates);
- model.addAttribute("foundTemplates", templates.size() >= 0);
- model.addAttribute("resultSize", templates.size());
- model.addAttribute("queryString", templateName);
-
- return "template/templateList :: templateList";
- }
-
- @RequestMapping(value = "add/")
- public String newTemplate(final Model model, final HttpServletRequest request) {
- MetadataTemplateForm templateForm = new MetadataTemplateForm();
- TemplateFieldForm templateFieldForm = new TemplateFieldForm();
-
- if (addTemplateFields == null) {
- addTemplateFields = new ArrayList();
- }
-
- templateForm.setOwner(loggedUserUtils.getLoggedDataGridUser().getUsername());
-
- model.addAttribute("uiMode", request.getSession().getAttribute("uiMode"));
- model.addAttribute("accessTypes", MetadataTemplateAccessType.values());
- model.addAttribute("metadataTemplateForm", templateForm);
- model.addAttribute("templateFieldForm", templateFieldForm);
- model.addAttribute("requestMapping", "/templates/add/action/");
- model.addAttribute("requestMappingForTemplateField", "/templates/addFieldToCurrentTemplate");
-
- return "template/templateForm";
- }
-
- @RequestMapping(value = "add/action/")
- public String addNewTemplate(final Model model, @ModelAttribute final MetadataTemplateForm templateForm,
- final RedirectAttributes redirectAttributes) {
- DataGridTemplate newTemplate = null;
-
- try {
- newTemplate = new DataGridTemplate();
- newTemplate.setTemplateName(templateForm.getTemplateName());
- newTemplate.setDescription(templateForm.getDescription());
- newTemplate.setUsageInformation(templateForm.getUsageInformation());
- newTemplate.setOwner(loggedUserUtils.getLoggedDataGridUser().getUsername());
- newTemplate.setAccessType(templateForm.getAccessType().toString());
-
- long templateID = templateService.createTemplate(newTemplate);
-
- if (templateID > 0) {
- redirectAttributes.addFlashAttribute("templateAddedSuccessfully", newTemplate.getTemplateName());
- newTemplate.setId(templateID);
-
- // adding all fields to the template
- for (TemplateFieldForm tempFieldForm : addTemplateFields) {
- DataGridTemplateField dataGridTempField = mapTempFieldFormToDataGridTemp(tempFieldForm);
- dataGridTempField.setTemplate(newTemplate);
- templateFieldService.createTemplateField(dataGridTempField);
- }
-
- // reseting the temporary fields to be added and removed from a
- // template
- addTemplateFields = new ArrayList();
- removeTemplateFields = new ArrayList();
-
- return "redirect:/templates/";
- }
- } catch (DataGridTooLongTemplateNameException e) {
- redirectAttributes.addFlashAttribute("templateNotAddedSuccessfully", true);
- redirectAttributes.addFlashAttribute("tooLongTemplateName", true);
- } catch (Exception e) {
- redirectAttributes.addFlashAttribute("templateNotAddedSuccessfully", true);
- }
-
- return "redirect:/templates/add/";
- }
-
- @RequestMapping(value = "modify/")
- public String showModifyTemplate(final Model model, final HttpServletRequest request) {
- // DataGridTemplate template =
- // templateService.findById(selectedTemplates.iterator().next());
- DataGridTemplate template = templateService.findById(Long.parseLong(request.getParameter("templateId")));
-
- if (template == null) {
- return "redirect:/templates/";
- }
-
- MetadataTemplateForm templateForm = new MetadataTemplateForm();
- templateForm.setId(template.getId());
- templateForm.setTemplateName(template.getTemplateName());
- templateForm.setDescription(template.getDescription());
- templateForm.setUsageInformation(template.getUsageInformation());
- templateForm.setOwner(template.getOwner());
- templateForm.setAccessType(template.getAccessType());
- templateForm.setVersion(template.getVersion());
-
- TemplateFieldForm templateFieldForm = new TemplateFieldForm();
-
- model.addAttribute("uiMode", request.getSession().getAttribute("uiMode"));
- model.addAttribute("accessTypes", MetadataTemplateAccessType.values());
- model.addAttribute("metadataTemplateForm", templateForm);
- model.addAttribute("templateFieldForm", templateFieldForm);
- model.addAttribute("requestMapping", "/templates/modify/action/");
-
- return "template/templateForm";
- }
-
- @RequestMapping(value = "modify/action/")
- public String modifyTemplate(final Model model, @ModelAttribute final MetadataTemplateForm templateForm,
- final RedirectAttributes redirectAttributes) {
-
- DataGridTemplate template = null;
-
- try {
- template = templateService.findById(templateForm.getId());
-
- if (template == null) {
- throw new Exception("Cannot modify a non-existent template");
- }
- DataGridUser loggedUser = loggedUserUtils.getLoggedDataGridUser();
-
- // throw error if user is not the template owner, rodsadmin or groupadmin
- if (!(template.getOwner().equalsIgnoreCase(loggedUser.getUsername())) && loggedUser.isAdmin() == false && loggedUser.isGroupAdmin() == false) {
- throw new Exception("Cannot modify a template belonging to another user");
- }
- // throw error if logged user is not the groupadmin of the template owner's group
- if (loggedUser.isGroupAdmin()){
- boolean groupAdminEditPermission = false;
- String[] templateOwnerGroupList = userService.getGroupIdsForUser(template.getOwner(), irodsServices.getCurrentUserZone());
- Set groupAdminGroupList = new HashSet<>(Arrays.asList(userService.getGroupIdsForUser(loggedUser.getUsername(), irodsServices.getCurrentUserZone())));
- for(int i = 0; i< templateOwnerGroupList.length && !groupAdminEditPermission; i++){
- if (groupAdminGroupList.contains(templateOwnerGroupList[i])) {
- groupAdminEditPermission = true;
- }
- }
- if (!groupAdminEditPermission) {
- throw new Exception("Cannot modify a template belonging to a user of other group");
- }
- }
-
- template.setTemplateName(templateForm.getTemplateName());
- template.setDescription(templateForm.getDescription());
- template.setUsageInformation(templateForm.getUsageInformation());
- template.setAccessType(templateForm.getAccessType().toString());
-
- List positions = templateForm.getAvuPositions();
- List attributes = templateForm.getAvuAttributes();
- List values = templateForm.getAvuValues();
- List units = templateForm.getAvuUnits();
-
- if (attributes != null) {
- for (int i = 0; i < attributes.size(); i++) {
- for (int j = i + 1; j < attributes.size(); j++) {
- if (attributes.get(i).equals(attributes.get(j)) && !values.get(i).isEmpty()
- && values.get(i).equals(values.get(j)) && units.get(i).equals(units.get(j))) {
- redirectAttributes.addFlashAttribute("repeatedAVU", true);
- return "redirect:/templates/modify/";
- }
- }
- }
- }
-
- if (positions != null) {
- for (int i = 0; i < positions.size(); i++) {
- String position = positions.get(i);
- if (position.contains("mod_pos_")) {
- addTemplateFields.get(Integer.parseInt(position.replace("mod_pos_", "")))
- .setAttribute(attributes.get(i));
- addTemplateFields.get(Integer.parseInt(position.replace("mod_pos_", "")))
- .setValue(values.get(i));
- addTemplateFields.get(Integer.parseInt(position.replace("mod_pos_", ""))).setUnit(units.get(i));
- } else if (position.contains("mod_id_")) {
- templateFieldService.modifyTemplateField(Long.parseLong(position.replace("mod_id_", "")),
- attributes.get(i), values.get(i), units.isEmpty() ? "" : units.get(i));
- template.setModified(true);
- }
- }
- }
-
- // adding all fields to the template
- for (TemplateFieldForm tempFieldForm : addTemplateFields) {
- DataGridTemplateField dataGridTempField = mapTempFieldFormToDataGridTemp(tempFieldForm);
- dataGridTempField.setTemplate(template);
- templateFieldService.createTemplateField(dataGridTempField);
- template.setModified(true);
- }
-
- Set currentTempFields = template.getFields();
-
- // removing fields from the template
- for (TemplateFieldForm tempFieldForm : removeTemplateFields) {
- DataGridTemplateField dataGridTempField = mapTempFieldFormToDataGridTemp(tempFieldForm);
- dataGridTempField.setTemplate(template);
- template.setModified(true);
-
- // removing template fields from template
- if (currentTempFields.remove(dataGridTempField)) {
- templateFieldService.deleteTemplateField(dataGridTempField);
- logger.debug("Template removed from memory and database");
- }
- // template field wasn't removed
- else {
- throw new Exception("Could not removed template field from memory.");
- }
- }
-
- template.setFields(currentTempFields);
- templateService.modifyTemplate(template);
-
- // reseting the temporary fields to be added and removed from a template
- addTemplateFields = new ArrayList();
- removeTemplateFields = new ArrayList();
-
- redirectAttributes.addFlashAttribute("templateModifiedSuccessfully", template.getTemplateName());
-
- selectedTemplates.clear();
- } catch (Exception e) {
- logger.error("Could not modify template {}.", templateForm.getTemplateName());
- redirectAttributes.addFlashAttribute("templateNotModifiedSuccessfully", templateForm.getTemplateName());
- }
-
- return "redirect:/templates/";
-
- }
-
- @RequestMapping(value = "delete/")
- public String deleteTemplate(final RedirectAttributes redirectAttributes) {
-
- boolean deletionSuccessful = true;
-
- for (Long templateId : selectedTemplates) {
- logger.debug("Deleting template [{}]", templateId);
- DataGridUser loggedUser = loggedUserUtils.getLoggedDataGridUser();
- if (templateService.findById(templateId).getOwner().equalsIgnoreCase(loggedUser.getUsername())) {
- deletionSuccessful &= templateService.deleteTemplate(templateId);
- }
- }
-
- redirectAttributes.addFlashAttribute("templateRemovedSuccessfully", deletionSuccessful);
- selectedTemplates.clear();
-
- return "redirect:/templates/";
- }
-
- @RequestMapping(value = "/addFieldToCurrentTemplate")
- public String addFieldToCurrentTemplate(final Model model,
- @ModelAttribute final TemplateFieldForm templateFieldForm) {
- updateAddTemplateFieldsList();
-
- boolean isAddFieldsEmpty = false;
-
- try {
- List existingTemplateFields = templateService
- .listTemplateFields(templateFieldForm.getTemplateName());
-
- DataGridTemplateField newDataGridField = mapTempFieldFormToDataGridTemp(templateFieldForm);
-
- List templateFields = new ArrayList();
- TemplateFieldForm newField = this.mapDataGridTempToFieldForm(newDataGridField, addTemplateFields.size());
- templateFields.add(newField);
-
- if (addTemplateFields.isEmpty()) {
- isAddFieldsEmpty = true;
- }
-
- // prevent an AVU from being added twice to a template
- if (!addTemplateFields.contains(newField)
- || addTemplateFields.contains(newField) && newField.getValue().equals("")) {
- addTemplateFields.add(newField.getFormListPosition(), newField);
- }
-
- model.addAttribute("templateFields", templateFields);
- model.addAttribute("resultSize", templateFields.size());
- model.addAttribute("foundTemplateFields", templateFields.size() > 0);
-
- if (isAddFieldsEmpty && existingTemplateFields.isEmpty()) {
- return "template/templateFieldList";
- }
- } catch (DataGridTemplateAttrException e) {
- logger.error(e.getMessage());
- } catch (DataGridTemplateValueException e) {
- logger.error(e.getMessage());
- } catch (DataGridTemplateUnitException e) {
- logger.error(e.getMessage());
- }
-
- return "template/templateFieldList :: avuRow";
- }
-
- @RequestMapping(value = "/removeFieldFromDB")
- @ResponseStatus(value = HttpStatus.OK)
- public void removeFieldFromDB(@RequestParam("templateFieldsIDList") final long[] templateFieldsIDList) {
- for (long templateFieldID : templateFieldsIDList) {
- DataGridTemplateField dataGridField = templateFieldService.findById(templateFieldID);
- TemplateFieldForm field = this.mapDataGridTempToFieldForm(dataGridField);
-
- if (addTemplateFields.contains(field)) {
- addTemplateFields.remove(field);
- }
-
- // adding the field to the list that is needed to be removed from a template
- if (!removeTemplateFields.contains(field)) {
- removeTemplateFields.add(field);
- }
- }
- }
-
- @RequestMapping(value = "/removeFieldFromTemplate")
- @ResponseStatus(value = HttpStatus.OK)
- public void removeFieldFromTemplate(@RequestParam("templateFieldsPosList") final int[] templateFieldsPosList) {
- int addTemplateFieldsSize = addTemplateFields.size();
-
- for (int templateFieldPos : templateFieldsPosList) {
- if (templateFieldPos >= 0 && templateFieldPos < addTemplateFieldsSize) {
- addTemplateFields.remove(templateFieldPos);
- }
- }
- }
-
- @RequestMapping(value = "/exportTemplates/")
- public void exportTemplates(final HttpServletResponse response) throws DataGridException {
- try {
- setReponseHeaderForJsonExport(response);
- String jsonString;
-
- response.getOutputStream().write("{\"templates\":[".getBytes());
- int ctr = 0;
-
- for (Long templateId : selectedTemplates) {
- jsonString = templateService.exportMetadataTemplateAsJsonString(Long.valueOf(templateId));
-
- logger.debug("exporting template:{}", jsonString);
- response.getOutputStream().write(jsonString.getBytes());
- if (ctr + 1 < selectedTemplates.size()) {
- response.getOutputStream().write(",".getBytes());
- ctr++;
- }
-
- }
-
- response.getOutputStream().write("]}".getBytes());
-
- response.getOutputStream().flush();
- selectedTemplates.clear();
-
- } catch (Exception e) {
- logger.error("Could not export templates using metadata", e);
- throw new DataGridException("unable to export template", e);
- }
- }
-
- @RequestMapping(value = "/import/", method = RequestMethod.POST)
- @ResponseStatus(value = HttpStatus.OK)
- @ResponseBody
- public String importJsonFile(final Model model, final HttpServletRequest request, final RedirectAttributes redirect)
- throws MetadataTemplateException, DataGridException {
-
- logger.info("importJsonFile()");
-
- String responseString = "ok";
-
- if (request instanceof MultipartHttpServletRequest) {
-
- MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
- List multipartFiles = multipartRequest.getFiles("file");
- String prefix = multipartRequest.getParameter("prefix");
- String suffix = multipartRequest.getParameter("suffix");
- InputStream jsonStream;
- try {
- jsonStream = multipartFiles.get(0).getInputStream();
- } catch (IOException e) {
- logger.error("Io excepion getting JSON data for template", e);
- throw new MetadataTemplateException("error getting JSON stream", e);
- }
- if (jsonStream == null) {
- logger.error("no json input stream found");
- throw new MetadataTemplateException("error importing input stream, no json multipart file found");
- }
-
- // try {
- String username = loggedUserUtils.getLoggedDataGridUser().getUsername();
- this.templateService.importMetadataTemplate(jsonStream, username, prefix, suffix);
-
- }
- return responseString;
- }
-
- /*
- * ************************************************************************
- * ******************** HANDLING SESSION VARIABLES ************************
- * ************************************************************************
- */
-
- @RequestMapping(value = "/selectTemplate/", method = RequestMethod.POST)
- @ResponseBody
- public boolean selectTemplate(@RequestParam("id") final String id) {
- Long idLong = Long.valueOf(id);
- if (!selectedTemplates.contains(idLong)) {
- selectedTemplates.add(idLong);
- }
-
- return canCurrentUserRemoveSelectedTemplates();
- }
-
- @RequestMapping(value = "/unselectTemplate/", method = RequestMethod.POST)
- @ResponseBody
- public boolean unselectTemplate(@RequestParam("id") final String id) {
- Long idLong = Long.valueOf(id);
- if (selectedTemplates.contains(idLong)) {
- selectedTemplates.remove(idLong);
- }
-
- return canCurrentUserRemoveSelectedTemplates();
- }
-
- /*
- * *****************************************************************************
- * *************** ******************************** VALIDATION
- * ***************************************
- * *****************************************************************************
- * ***************
- */
-
- /**
- * Validates a template name
- *
- * @param templateName
- * @return True, if the template name can be used. False, otherwise.
- */
- @ResponseBody
- @RequestMapping(value = "isValidTemplateName/{templateName}/", method = RequestMethod.GET)
- public String isValidUsername(@PathVariable final String templateName) {
-
- if (templateName.compareTo("") != 0) {
- // if no users are found with this username, it means this username can be used
- DataGridTemplate template = templateService.findByName(templateName);
- return template == null ? "true" : "false";
- }
-
- return "false";
- }
-
- /*
- * *************************************************************************
- * ***************************** PRIVATE METHODS ***************************
- * *************************************************************************
- */
-
- private void setReponseHeaderForJsonExport(final HttpServletResponse response) {
- String loggedUser = loggedUserUtils.getLoggedDataGridUser().getUsername();
- String date = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
-
- String filename = String.format("template_%s_%s.json", loggedUser, date);
-
- // Setting CSV Mime type
- response.setContentType("application/json");
- response.setHeader("Content-disposition", "attachment;filename=" + filename);
- }
-
- private void findAllTemplates(final Model model) {
-
- List templates = new ArrayList();
- String loggedUser = loggedUserUtils.getLoggedDataGridUser().getUsername();
-
- templates = templateService.listPublicTemplates();
- templates.addAll(templateService.listPrivateTemplatesByUser(loggedUser));
-
- Collections.sort(templates);
-
- model.addAttribute("templates", templates);
- model.addAttribute("resultSize", templates.size());
- model.addAttribute("foundTemplates", templates.size() >= 0);
- }
-
- /**
- * Updates the form list position of each element of the addTemplateFields array
- * list.
- */
- private void updateAddTemplateFieldsList() {
- if (addTemplateFields != null) {
- // updating form list position once an element was removed from the
- // array
- int i = 0;
- for (TemplateFieldForm templateFieldForm : addTemplateFields) {
- templateFieldForm.setFormListPosition(i);
- i++;
- }
- }
- }
-
- /**
- * Maps a single instance of DataGridTemplateField into a TemplateFieldForm
- * object
- *
- * @param dataGridTempField DataGridTemplateField object
- * @return TemplateFieldForm object
- */
- private TemplateFieldForm mapDataGridTempToFieldForm(final DataGridTemplateField dataGridTempField) {
- if (dataGridTempField == null) {
- return null;
- }
-
- TemplateFieldForm tempField = new TemplateFieldForm();
- tempField.setAttribute(dataGridTempField.getAttribute());
- tempField.setValue(dataGridTempField.getValue());
- tempField.setUnit(dataGridTempField.getUnit());
- tempField.setStartRange(dataGridTempField.getStartRange());
- tempField.setEndRange(dataGridTempField.getEndRange());
- tempField.setOrder(dataGridTempField.getOrder());
- tempField.setId(dataGridTempField.getId());
-
- if (dataGridTempField.getTemplate() != null) {
- tempField.setTemplateName(dataGridTempField.getTemplate().getTemplateName());
- }
-
- return tempField;
- }
-
- /**
- * Maps a single instance of DataGridTemplateField into a TemplateFieldForm
- * object
- *
- * @param dataGridTempField DataGridTemplateField object
- * @param position DataGridTemplateField object position into the
- * memory array list of fields to be added to a
- * template
- * @return TemplateFieldForm object
- */
- private TemplateFieldForm mapDataGridTempToFieldForm(final DataGridTemplateField dataGridTempField,
- final int position) {
- if (dataGridTempField == null) {
- return null;
- }
-
- TemplateFieldForm tempField = new TemplateFieldForm();
- tempField.setAttribute(dataGridTempField.getAttribute());
- tempField.setValue(dataGridTempField.getValue());
- tempField.setUnit(dataGridTempField.getUnit());
- tempField.setStartRange(dataGridTempField.getStartRange());
- tempField.setEndRange(dataGridTempField.getEndRange());
- tempField.setOrder(dataGridTempField.getOrder());
- tempField.setFormListPosition(position);
- tempField.setId(dataGridTempField.getId());
-
- if (dataGridTempField.getTemplate() != null) {
- tempField.setTemplateName(dataGridTempField.getTemplate().getTemplateName());
- }
-
- return tempField;
- }
-
- /**
- * Maps a list of DataGridTemplateField objects into a list of TemplateFieldForm
- * objects
- *
- * @param tempFields list of data grid template objects
- * @return list of TemplateFieldForm objects
- */
- private List mapDataGridTempToFieldForm(final List tempFields) {
- List tempFieldFormList = new ArrayList();
-
- if (tempFields == null || tempFields.isEmpty()) {
- return tempFieldFormList;
- }
-
- TemplateFieldForm tempField = null;
-
- int position = 0;
- for (DataGridTemplateField dataGridTemplateField : tempFields) {
- tempField = this.mapDataGridTempToFieldForm(dataGridTemplateField, position);
- tempFieldFormList.add(tempField);
- }
-
- return tempFieldFormList;
- }
-
- /**
- * Map a Template Field form object into a DataGridTemplateField object
- *
- * @param tempFieldForm template field form object to be mapped
- * @return DataGridTemplateField object
- * @throws DataGridTemplateAttrException
- * @throws DataGridTemplateValueException
- * @throws DataGridTemplateUnitException
- */
- private DataGridTemplateField mapTempFieldFormToDataGridTemp(final TemplateFieldForm tempFieldForm)
- throws DataGridTemplateAttrException, DataGridTemplateValueException, DataGridTemplateUnitException {
-
- if (tempFieldForm == null) {
- return null;
- }
-
- DataGridTemplateField templateField = new DataGridTemplateField();
- templateField.setAttribute(tempFieldForm.getAttribute());
- templateField.setValue(tempFieldForm.getValue());
- templateField.setUnit(tempFieldForm.getUnit());
- templateField.setStartRange(tempFieldForm.getStartRange());
- templateField.setEndRange(tempFieldForm.getEndRange());
- templateField.setOrder(tempFieldForm.getOrder());
-
- if (tempFieldForm.getId() != null) {
- templateField.setId(tempFieldForm.getId());
- }
-
- return templateField;
- }
-
- /**
- * Checks if the currently logged user can delete the list of selected templates
- *
- * @return true it is possible to delete selected templates, false otherwise
- */
- private boolean canCurrentUserRemoveSelectedTemplates() {
- DataGridUser loggedUser = loggedUserUtils.getLoggedDataGridUser();
- for (Long templateId : selectedTemplates) {
- if (!templateService.findById(templateId).getOwner().equalsIgnoreCase(loggedUser.getUsername())) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserBookmarkController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserBookmarkController.java
deleted file mode 100755
index 9c1260f64..000000000
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserBookmarkController.java
+++ /dev/null
@@ -1,230 +0,0 @@
- /* Copyright (c) 2018, University of North Carolina at Chapel Hill */
- /* Copyright (c) 2015-2017, Dell EMC */
-
-
-
-package com.emc.metalnx.controller;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.bind.annotation.SessionAttributes;
-
-import com.emc.metalnx.core.domain.entity.DataGridUser;
-import com.emc.metalnx.core.domain.entity.DataGridUserBookmark;
-import com.emc.metalnx.services.interfaces.AdminServices;
-import com.emc.metalnx.services.interfaces.GroupService;
-import com.emc.metalnx.services.interfaces.HeaderService;
-import com.emc.metalnx.services.interfaces.IRODSServices;
-import com.emc.metalnx.services.interfaces.UserBookmarkService;
-import com.emc.metalnx.services.interfaces.UserService;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@SessionAttributes({ "addBookmarks", "removeBookmarks"})
-@RequestMapping(value = "/userBookmarks")
-public class UserBookmarkController {
- @Autowired
- UserBookmarkService userBookmarkService;
-
- @Autowired
- UserService userService;
-
- @Autowired
- GroupService groupService;
-
- @Autowired
- IRODSServices irodsServices;
-
- @Autowired
- AdminServices adminServices;
-
- @Autowired
- HeaderService headerService;
-
- private Set addBookmark = new HashSet();
- private Set removeBookmark = new HashSet();
-
- private int totalUserBookmarks;
- private int totalUserBookmarksFiltered;
-
- private static final String REQUEST_OK = "OK";
- private static final String REQUEST_ERROR = "ERROR";
-
- public final static Logger logger = LoggerFactory.getLogger(UserBookmarkController.class);
-
- @RequestMapping(value = "/")
- public String listBookmarks(final Model model) {
- String loggedUsername = irodsServices.getCurrentUser();
- String loggedUserZoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(loggedUsername, loggedUserZoneName);
-
- List userBookmakrs = user.getBookmarksSorted();
- logger.info("userBookmarks found....");
- logger.info(userBookmakrs.toString());
- model.addAttribute("userBookmarks", userBookmakrs);
- model.addAttribute("foundUserBookmarks", !userBookmakrs.isEmpty());
- return "bookmarks/userBookmarks";
- }
-
- @RequestMapping(value = "/addBookmark/")
- @ResponseStatus(value = HttpStatus.OK)
- public void addBookmark(@RequestParam("path") final String path, final Model model) {
- logger.info("addBookmark()");
- // Remove from the in-memory list before checking database
- if (removeBookmark.contains(path)) {
- removeBookmark.remove(path);
- } else {
- addBookmark.add(path);
- model.addAttribute("addBookmark", addBookmark);
- }
- }
-
- @RequestMapping(value = "/removeBookmark/")
- @ResponseStatus(value = HttpStatus.OK)
- public void removeBookmark(@RequestParam("path") final String path) {
- logger.info("removeBookmark()");
- // Removing from the in-memory bookmarks list before checking database
- if (addBookmark.contains(path)) {
- addBookmark.remove(path);
- } else {
- removeBookmark.add(path);
- }
- }
-
- @RequestMapping(value = "/addBookmarkToUser/")
- @ResponseBody
- public String addBookmarkToGroup(@RequestParam("username") final String username,
- @RequestParam("path") final String path) {
- logger.info("addBookmarkToGroup()");
- String zoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(username, zoneName);
-
- if (user == null) {
- return REQUEST_ERROR;
- }
-
- Set toAdd = new HashSet();
- toAdd.add(path);
-
- return userBookmarkService.updateBookmarks(user, toAdd, null) ? REQUEST_OK : REQUEST_ERROR;
- }
-
- @RequestMapping(value = "/removeBookmarkFromUser/")
- @ResponseBody
- public String removeBookmarkFromGroup(@RequestParam("username") final String username,
- @RequestParam("path") final String path) {
- logger.info("removeBookmarkFromGroup()");
- logger.info("Request for removing a {} bookmark from {}", path, username);
-
- String zoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(username, zoneName);
-
- if (user == null) {
- return REQUEST_ERROR;
- }
-
- Set toRemove = new HashSet();
- toRemove.add(path);
-
- return userBookmarkService.updateBookmarks(user, null, toRemove) ? REQUEST_OK : REQUEST_ERROR;
- }
-
- @RequestMapping(value = "/bookmarksPaginated")
- @ResponseBody
- public String bookmarksPaginated(final HttpServletRequest request) {
- int draw = Integer.parseInt(request.getParameter("draw"));
- int start = Integer.parseInt(request.getParameter("start"));
- int length = Integer.parseInt(request.getParameter("length"));
- String searchString = request.getParameter("search[value]");
- int orderColumn = Integer.parseInt(request.getParameter("order[0][column]"));
- String orderDir = request.getParameter("order[0][dir]");
- boolean onlyCollections = Boolean.parseBoolean(request.getParameter("onlyCollections"));
- String loggedUsername = irodsServices.getCurrentUser();
- String loggedUserZoneName = irodsServices.getCurrentUserZone();
- DataGridUser user = userService.findByUsernameAndAdditionalInfo(loggedUsername, loggedUserZoneName);
- String[] orderBy = { "name", "path", "created_at", "is_collection" };
-
- // checking if there is another column to order by
- boolean has2ndColumnToOrderBy = request.getParameter("order[1][column]") != null;
-
- List userBookmarks = null;
- if (has2ndColumnToOrderBy) {
- List orderByList = new ArrayList();
- List orderDirList = new ArrayList();
-
- int firstCol = Integer.parseInt(request.getParameter("order[0][column]"));
- int secondCol = Integer.parseInt(request.getParameter("order[1][column]"));
-
- orderByList.add(orderBy[firstCol]);
- orderDirList.add(request.getParameter("order[0][dir]"));
- orderByList.add(orderBy[secondCol]);
- orderDirList.add(request.getParameter("order[1][dir]"));
-
- userBookmarks = userBookmarkService.findBookmarksPaginated(user, start, length, searchString, orderByList,
- orderDirList, onlyCollections);
- } else {
- userBookmarks = userBookmarkService.findBookmarksPaginated(user, start, length, searchString,
- orderBy[orderColumn], orderDir, onlyCollections);
- }
-
- ObjectMapper mapper = new ObjectMapper();
- Map jsonResponse = new HashMap();
- String jsonString = "";
- if ("".equals(searchString)) {
- totalUserBookmarks = user.getBookmarks().size();
- totalUserBookmarksFiltered = user.getBookmarks().size();
- } else {
- totalUserBookmarksFiltered = userBookmarks.size();
- }
-
- jsonResponse.put("draw", String.valueOf(draw));
- jsonResponse.put("recordsTotal", String.valueOf(totalUserBookmarks));
- jsonResponse.put("recordsFiltered", String.valueOf(totalUserBookmarksFiltered));
- jsonResponse.put("data", userBookmarks);
-
- try {
- jsonString = mapper.writeValueAsString(jsonResponse);
- } catch (JsonProcessingException e) {
- logger.error("Could not parse user bookmarks to json: {}", e.getMessage());
- }
- return jsonString;
- }
-
- public void clearBookmarksLists() {
- addBookmark.clear();
- removeBookmark.clear();
- }
-
- /**
- * @return the addBookmark
- */
- public Set getAddBookmark() {
- return addBookmark;
- }
-
- /**
- * @return the removeBookmark
- */
- public Set getRemoveBookmark() {
- return removeBookmark;
- }
-
-}
diff --git a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserController.java b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserController.java
index b5af3f680..19d7a6ec8 100755
--- a/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserController.java
+++ b/src/metalnx-web/src/main/java/com/emc/metalnx/controller/UserController.java
@@ -52,7 +52,6 @@
import com.emc.metalnx.services.interfaces.GroupService;
import com.emc.metalnx.services.interfaces.HeaderService;
import com.emc.metalnx.services.interfaces.IRODSServices;
-import com.emc.metalnx.services.interfaces.UserBookmarkService;
import com.emc.metalnx.services.interfaces.UserService;
import com.emc.metalnx.services.interfaces.ZoneService;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -80,12 +79,6 @@ public class UserController {
@Autowired
ZoneService zoneService;
- @Autowired
- UserBookmarkService userBookmarkService;
-
- @Autowired
- UserBookmarkController userBookmarkController;
-
@Autowired
LoggedUserUtils loggedUserUtils;
@@ -129,7 +122,7 @@ public String listUsers(Model model) {
*/
@RequestMapping(value = "/find/{query}/")
public String listUsersByPageAndQuery(Model model, @PathVariable String query) {
- List users = userService.findByQueryString(query);
+ List users = userService.findByUsername(query);
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String usernameLogged = (String) auth.getPrincipal();
@@ -150,15 +143,13 @@ public String listUsersByPageAndQuery(Model model, @PathVariable String query) {
@ResponseBody
public String findUserByQueryy(Model model, @PathVariable String query) {
ObjectMapper mapper = new ObjectMapper();
- List users = userService.findByQueryString(query);
+ List users = userService.findByUsername(query);
List
-
-
@@ -326,27 +306,6 @@
Move item to
-
-
-
diff --git a/src/metalnx-web/src/main/resources/views/dashboard/dashboard.html b/src/metalnx-web/src/main/resources/views/dashboard/dashboard.html
index 785dab54c..b31722e57 100755
--- a/src/metalnx-web/src/main/resources/views/dashboard/dashboard.html
+++ b/src/metalnx-web/src/main/resources/views/dashboard/dashboard.html
@@ -176,34 +176,6 @@
-
-
diff --git a/src/metalnx-web/src/main/resources/views/defaultTemplate.html b/src/metalnx-web/src/main/resources/views/defaultTemplate.html
index 1ce58110b..c11280fe4 100644
--- a/src/metalnx-web/src/main/resources/views/defaultTemplate.html
+++ b/src/metalnx-web/src/main/resources/views/defaultTemplate.html
@@ -150,10 +150,6 @@
}else if(current_url.indexOf([[@{ ${urlMap.URL_PUBLIC_COLLECTION_USER} }]]) >= 0){
$("#side-menu a[href='"+[[@{${urlMap.URL_PUBLIC_COLLECTION_USER}}]]+"']").addClass("active");
set_active_class = true;
- // making only profile side-menu active
- }else if(current_url.indexOf([[@{ ${urlMap.URL_USER_PROFILE_MANAGEMENT} }]]) >= 0){
- $("#side-menu a[href='"+[[@{${urlMap.URL_USER_PROFILE_MANAGEMENT}}]]+"']").addClass("active");
- set_active_class = true;
//making trash side-menu option active
}else if(current_url.indexOf([[@{ ${urlMap.URL_TRASH_COLLECTION_USER} }]]) >= 0){
console.log("issue 145 trash block passed")
@@ -167,4 +163,4 @@
/*]]>*/