diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java index 8d32ef3..b633251 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/server/UserUtil.java @@ -293,15 +293,12 @@ public class UserUtil { try{ String username = session.getUsername(); logger.debug("User in session is " + username); - if(session.getAttribute(ckanLicensesKey) != null){ - logger.debug("List of licenses was into session"); - } - else{ - List titlesLicenses = ckanUtils.getLicenseTitles(); - LicensesBean licensesBean = new LicensesBean(titlesLicenses); - session.setAttribute(ckanLicensesKey, licensesBean); - logger.info("List of licenses has been saved into session" + licensesBean); - } + + List titlesLicenses = ckanUtils.getLicenseTitles(); + LicensesBean licensesBean = new LicensesBean(titlesLicenses); + session.setAttribute(ckanLicensesKey, licensesBean); + logger.info("List of licenses has been saved into session" + licensesBean); + } catch(Exception e){ logger.error("Failed to preload licenses list", e); @@ -323,37 +320,32 @@ public class UserUtil { logger.debug("Request for user " + username + " organizations list"); List orgsName = new ArrayList(); - if(session.getAttribute(ckanOrganizationsPublishKey) != null){ - logger.debug("List of organizations was into session"); - } - else{ - if(ckanUtils.isSysAdmin(username, token)){ + if(ckanUtils.isSysAdmin(username, token)){ - logger.info("The user " + username + " is a sysadmin. He can publish everywhere"); - orgsName = ckanUtils.getOrganizationsNames(); // get all organizations' names + logger.info("The user " + username + " is a sysadmin. He can publish everywhere"); + orgsName = ckanUtils.getOrganizationsNames(); // get all organizations' names - }else{ + }else{ - // We need to retrieve orgs in which the user has the roles ADMIN or EDITOR - List rolesToMatch = new ArrayList(); - rolesToMatch.add(RolesIntoOrganization.EDITOR); - rolesToMatch.add(RolesIntoOrganization.ADMIN); + // We need to retrieve orgs in which the user has the roles ADMIN or EDITOR + List rolesToMatch = new ArrayList(); + rolesToMatch.add(RolesIntoOrganization.EDITOR); + rolesToMatch.add(RolesIntoOrganization.ADMIN); - Map> orgsAndRoles = ckanUtils.getGroupsAndRolesByUser(username, rolesToMatch); - logger.debug("Result is " + orgsAndRoles); - Iterator>> iterator = orgsAndRoles.entrySet().iterator(); + Map> orgsAndRoles = ckanUtils.getGroupsAndRolesByUser(username, rolesToMatch); + logger.debug("Result is " + orgsAndRoles); + Iterator>> iterator = orgsAndRoles.entrySet().iterator(); - // get the names - while (iterator.hasNext()) { - Map.Entry> entry = (Map.Entry>) iterator - .next(); - orgsName.add(entry.getKey()); - logger.debug("The user has a role ADMIN/EDITOR into org " + entry.getKey()); - } + // get the names + while (iterator.hasNext()) { + Map.Entry> entry = (Map.Entry>) iterator + .next(); + orgsName.add(entry.getKey()); + logger.debug("The user has a role ADMIN/EDITOR into org " + entry.getKey()); } - session.setAttribute(ckanOrganizationsPublishKey, orgsName); - logger.info("Organizations name for user " + username + " has been saved into session"); } + session.setAttribute(ckanOrganizationsPublishKey, orgsName); + logger.info("Organizations name for user " + username + " has been saved into session"); }catch(Exception e){ logger.error("Failed to preload list of organizations in which the user can publish", e); } @@ -374,61 +366,55 @@ public class UserUtil { String username = session.getUsername(); logger.debug("User in session is " + username); - if(session.getAttribute(ckanProfilesKey) != null){ - logger.info("List of profiles was into session"); - } - else{ + List beans = new ArrayList(); - List beans = new ArrayList(); + try { - try { + DataCalogueMetadataFormatReader reader = new DataCalogueMetadataFormatReader(); - DataCalogueMetadataFormatReader reader = new DataCalogueMetadataFormatReader(); + for (MetadataType mt : reader.getListOfMetadataTypes()) { + MetadataFormat metadata = reader.getMetadataFormatForMetadataType(mt); - for (MetadataType mt : reader.getListOfMetadataTypes()) { - MetadataFormat metadata = reader.getMetadataFormatForMetadataType(mt); + // we need to wrap the list of metadata + List wrapperList = new ArrayList(); + List toWrap = metadata.getMetadataFields(); + for(MetadataField metadataField: toWrap){ - // we need to wrap the list of metadata - List wrapperList = new ArrayList(); - List toWrap = metadata.getMetadataFields(); - for(MetadataField metadataField: toWrap){ + MetadataFieldWrapper wrapperObj = new MetadataFieldWrapper(); + wrapperObj.setDefaulValue(metadataField.getDefaulValue()); + wrapperObj.setFieldName(metadataField.getFieldName()); + wrapperObj.setIsBoolean(metadataField.getIsBoolean()); + wrapperObj.setMandatory(metadataField.getMandatory()); + wrapperObj.setNote(metadataField.getNote()); - MetadataFieldWrapper wrapperObj = new MetadataFieldWrapper(); - wrapperObj.setDefaulValue(metadataField.getDefaulValue()); - wrapperObj.setFieldName(metadataField.getFieldName()); - wrapperObj.setIsBoolean(metadataField.getIsBoolean()); - wrapperObj.setMandatory(metadataField.getMandatory()); - wrapperObj.setNote(metadataField.getNote()); + MetadataValidator validator = metadataField.getValidator(); + if(validator != null) + wrapperObj.setValidator(validator.getRegularExpression()); - MetadataValidator validator = metadataField.getValidator(); - if(validator != null) - wrapperObj.setValidator(validator.getRegularExpression()); + MetadataVocabulary vocabulary = metadataField.getVocabulary(); + if(vocabulary != null) + wrapperObj.setVocabulary(vocabulary.getVocabularyFields()); - MetadataVocabulary vocabulary = metadataField.getVocabulary(); - if(vocabulary != null) - wrapperObj.setVocabulary(vocabulary.getVocabularyFields()); + // add to the list + wrapperList.add(wrapperObj); - // add to the list - wrapperList.add(wrapperObj); - - } - - // wrap the mt as well - MetaDataTypeWrapper typeWrapper = new MetaDataTypeWrapper(); - typeWrapper.setDescription(mt.getDescription()); - typeWrapper.setId(mt.getId()); - typeWrapper.setName(mt.getName()); - MetaDataProfileBean bean = new MetaDataProfileBean(typeWrapper, wrapperList); - beans.add(bean); } - logger.info("List of beans is " + beans); - session.setAttribute(ckanProfilesKey, beans); - logger.debug("List of profiles has been saved into session"); - - } catch (Exception e) { - logger.error("Error while retrieving metadata beans ", e); + // wrap the mt as well + MetaDataTypeWrapper typeWrapper = new MetaDataTypeWrapper(); + typeWrapper.setDescription(mt.getDescription()); + typeWrapper.setId(mt.getId()); + typeWrapper.setName(mt.getName()); + MetaDataProfileBean bean = new MetaDataProfileBean(typeWrapper, wrapperList); + beans.add(bean); } + + logger.info("List of beans is " + beans); + session.setAttribute(ckanProfilesKey, beans); + logger.debug("List of profiles has been saved into session"); + + } catch (Exception e) { + logger.error("Error while retrieving metadata beans ", e); } } catch(Exception e){