2021-02-12 16:08:18 +01:00
|
|
|
package org.gcube.datacatalogue.utillibrary.server;
|
2020-06-01 16:00:23 +02:00
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
2021-02-12 16:08:18 +01:00
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.LandingPages;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.ResourceBean;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.RolesCkanGroupOrOrg;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanDataset;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanGroup;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanLicense;
|
|
|
|
import org.gcube.datacatalogue.utillibrary.shared.jackan.model.CkanOrganization;
|
2021-02-09 16:32:25 +01:00
|
|
|
|
2021-02-12 15:38:11 +01:00
|
|
|
|
2020-06-01 17:12:28 +02:00
|
|
|
/**
|
|
|
|
* The Interface DataCatalogue.
|
|
|
|
*
|
2021-02-12 15:38:11 +01:00
|
|
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
|
|
|
*
|
|
|
|
* Feb 12, 2021
|
2020-06-01 17:12:28 +02:00
|
|
|
*/
|
2020-06-01 16:00:23 +02:00
|
|
|
public interface DataCatalogue {
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Finds the id associated to the chosen license.
|
|
|
|
*
|
|
|
|
* @param chosenLicense the chosen license
|
2020-06-01 16:00:23 +02:00
|
|
|
* @return the id on success, null otherwise
|
|
|
|
*/
|
|
|
|
String findLicenseIdByLicenseTitle(String chosenLicense);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Given the id or the name of the dataset it returns its current url by
|
|
|
|
* contacting the uri resolver. If no uri resolver is available, an url that is
|
|
|
|
* not guaranteed to be long term valid will be generated. Information are not
|
|
|
|
* encrypted.
|
2020-06-01 17:12:28 +02:00
|
|
|
*
|
|
|
|
* @param datasetIdOrName the dataset id or name
|
2020-06-01 16:00:23 +02:00
|
|
|
* @return The url of the dataset on success, null otherwise
|
|
|
|
*/
|
|
|
|
String getUnencryptedUrlFromDatasetIdOrName(String datasetIdOrName);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a dataset with those information.
|
2020-06-01 17:12:28 +02:00
|
|
|
*
|
|
|
|
* @param nameOrId the name or id
|
2020-06-01 16:00:23 +02:00
|
|
|
* @return the id of the dataset on success, null otherwise
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Checks if a product with such name already exists. Please remember that the
|
|
|
|
* name is unique.
|
|
|
|
*
|
|
|
|
* @param nameOrId the name or the id of the dataset to check
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
boolean existProductWithNameOrId(String nameOrId);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the list of licenses' titles.
|
|
|
|
*
|
|
|
|
* @return the list of licenses' titles
|
|
|
|
*/
|
|
|
|
List<String> getLicenseTitles();
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Retrieve ckan licenses.
|
|
|
|
*
|
|
|
|
* @return the licenses
|
2020-06-01 16:00:23 +02:00
|
|
|
*/
|
|
|
|
List<CkanLicense> getLicenses();
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Retrieve the url of the uri resolver for this catalogue instance/scope.
|
|
|
|
*
|
|
|
|
* @return the uri resolver url
|
2020-06-01 16:00:23 +02:00
|
|
|
*/
|
|
|
|
String getUriResolverUrl();
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Return the manage product property.
|
|
|
|
*
|
2020-06-01 16:00:23 +02:00
|
|
|
* @return the manage product property
|
|
|
|
*/
|
|
|
|
boolean isManageProductEnabled();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return the catalogue portlet for this context(i.e. scope)
|
2020-06-01 17:12:28 +02:00
|
|
|
*
|
|
|
|
* @return the portlet url
|
2020-06-01 16:00:23 +02:00
|
|
|
*/
|
|
|
|
String getPortletUrl();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Return the ckan catalogue url in this scope.
|
|
|
|
*
|
|
|
|
* @return the catalogue url
|
|
|
|
*/
|
|
|
|
String getCatalogueUrl();
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Returns the list of groups to whom the user belongs (with any role).
|
|
|
|
*
|
|
|
|
* @param username the username
|
2020-06-01 16:00:23 +02:00
|
|
|
* @return a list of groups
|
|
|
|
*/
|
|
|
|
List<CkanGroup> getGroupsByUser(String username);
|
|
|
|
|
|
|
|
/**
|
2020-06-01 17:12:28 +02:00
|
|
|
* Retrieve a ckan dataset given its id.
|
|
|
|
*
|
2021-02-17 12:09:02 +01:00
|
|
|
* @param datasetIdOrName the dataset id or name
|
|
|
|
* @param username the username
|
2020-06-01 17:12:28 +02:00
|
|
|
* @return the dataset
|
2020-06-01 16:00:23 +02:00
|
|
|
*/
|
2021-02-17 12:09:02 +01:00
|
|
|
CkanDataset getDataset(String datasetIdOrName, String username);
|
2020-06-01 16:00:23 +02:00
|
|
|
|
2020-06-01 17:12:28 +02:00
|
|
|
/**
|
|
|
|
* Gets the user role by group.
|
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @return the user role by group
|
|
|
|
*/
|
|
|
|
Map<String, Map<CkanGroup, RolesCkanGroupOrOrg>> getUserRoleByGroup(String username);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2020-06-01 17:12:28 +02:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* The method returns the role the user has in the organizations he/she belongs
|
|
|
|
* to (it uses the db, so it is much faster).
|
2020-08-28 15:29:42 +02:00
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @return the user role by organization
|
2020-06-01 17:12:28 +02:00
|
|
|
*/
|
|
|
|
Map<String, Map<CkanOrganization, RolesCkanGroupOrOrg>> getUserRoleByOrganization(String username);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2020-06-03 16:29:47 +02:00
|
|
|
/**
|
2020-08-28 15:29:42 +02:00
|
|
|
* Retrieve the list of organizations ids.
|
|
|
|
*
|
|
|
|
* @return the organizations ids
|
2020-06-03 16:29:47 +02:00
|
|
|
*/
|
|
|
|
List<String> getOrganizationsIds();
|
|
|
|
|
|
|
|
/**
|
2020-08-28 15:29:42 +02:00
|
|
|
* Retrieve the list of organizations names.
|
|
|
|
*
|
|
|
|
* @return the organizations names
|
2020-06-03 16:29:47 +02:00
|
|
|
*/
|
|
|
|
List<String> getOrganizationsNames();
|
|
|
|
|
|
|
|
/**
|
2020-08-28 15:29:42 +02:00
|
|
|
* Retrieve the organization with this name.
|
|
|
|
*
|
|
|
|
* @param name the name
|
|
|
|
* @return the organization by id or name
|
2020-06-03 16:29:47 +02:00
|
|
|
*/
|
2020-08-27 14:37:19 +02:00
|
|
|
CkanOrganization getOrganizationByIdOrName(String name);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2020-06-03 16:29:47 +02:00
|
|
|
/**
|
2020-08-28 15:29:42 +02:00
|
|
|
* Returns the list of organizations to whom the user belongs (with any role).
|
|
|
|
*
|
|
|
|
* @param username the username
|
2020-06-03 16:29:47 +02:00
|
|
|
* @return a list of organizations
|
|
|
|
*/
|
|
|
|
List<CkanOrganization> getOrganizationsByUser(String username);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2020-06-03 14:39:41 +02:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* Returns the list of organizations' names to whom the user belongs (with any
|
|
|
|
* role).
|
2020-08-28 15:29:42 +02:00
|
|
|
*
|
|
|
|
* @param username the username
|
2020-06-03 16:29:47 +02:00
|
|
|
* @return a list of organizations
|
|
|
|
*/
|
|
|
|
List<String> getOrganizationsNamesByUser(String username);
|
|
|
|
|
2021-02-12 15:38:11 +01:00
|
|
|
/**
|
|
|
|
* Returns a group given its name.
|
|
|
|
*
|
|
|
|
* @param nameOrId the name or id
|
|
|
|
* @return return a {@link CkanGroup} or null if no group with this name exists
|
|
|
|
*/
|
|
|
|
CkanGroup getGroupByName(String nameOrId);
|
|
|
|
|
2020-06-03 16:29:47 +02:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* Given the username and the organization name the method retrieves the role of
|
|
|
|
* the user (i.e. his/her 'capacity')
|
2020-08-28 15:29:42 +02:00
|
|
|
*
|
|
|
|
* @param username the username
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param orgName the org name
|
2020-06-03 16:29:47 +02:00
|
|
|
* @return the capacity of the user into this organization or null
|
2020-06-03 14:39:41 +02:00
|
|
|
*/
|
2020-06-03 16:29:47 +02:00
|
|
|
String getRoleOfUserInOrganization(String username, String orgName);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2020-09-02 17:40:12 +02:00
|
|
|
/**
|
|
|
|
* Check if the user is valid by checking if its API_KEY is present into DB.
|
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @return true, if successful
|
|
|
|
*/
|
|
|
|
boolean checkValidUser(String username);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2021-02-09 12:55:58 +01:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* Check if this role is present for this user in the organization. If he/she is
|
|
|
|
* not present we need to add it with the given role.
|
2021-02-12 15:38:11 +01:00
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @param organizationName the organization name
|
|
|
|
* @param correspondentRoleToCheck the correspondent role to check
|
2021-02-09 12:55:58 +01:00
|
|
|
* @return true if the role can be set, false if it cannot
|
|
|
|
*/
|
2021-02-11 16:09:17 +01:00
|
|
|
boolean checkRoleIntoOrganization(String username, String organizationName,
|
|
|
|
RolesCkanGroupOrOrg correspondentRoleToCheck);
|
|
|
|
|
2021-02-09 12:55:58 +01:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* Check if this role is present for this user in the group. If he/she is not
|
|
|
|
* present we need to add it with the given role.
|
2021-02-12 15:38:11 +01:00
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @param groupName the group name
|
|
|
|
* @param correspondentRoleToCheck the correspondent role to check
|
2021-02-09 12:55:58 +01:00
|
|
|
* @return true if the role can be set, false if it cannot
|
|
|
|
*/
|
|
|
|
boolean checkRoleIntoGroup(String username, String groupName, RolesCkanGroupOrOrg correspondentRoleToCheck);
|
2021-02-11 16:09:17 +01:00
|
|
|
|
2021-02-09 12:55:58 +01:00
|
|
|
/**
|
2021-02-11 16:09:17 +01:00
|
|
|
* Returns the main landing pages for this catalogue (i.e. type, orgs, groups
|
|
|
|
* and items pages)
|
2021-02-09 12:55:58 +01:00
|
|
|
*
|
|
|
|
* @return the landing pages
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
LandingPages getLandingPages() throws Exception;
|
2020-09-02 17:40:12 +02:00
|
|
|
|
2021-02-11 16:09:17 +01:00
|
|
|
/**
|
|
|
|
* Returns a Map with key 'capacity' and as value a list of users with that
|
|
|
|
* capacity into the group groupNameOrTitle.
|
2021-02-12 15:38:11 +01:00
|
|
|
*
|
|
|
|
* @param groupNameOrTitle the group name or title
|
|
|
|
* @return the roles and users group
|
2021-02-11 16:09:17 +01:00
|
|
|
*/
|
|
|
|
Map<RolesCkanGroupOrOrg, List<String>> getRolesAndUsersGroup(String groupNameOrTitle);
|
2020-06-03 16:29:47 +02:00
|
|
|
|
2021-02-11 16:09:17 +01:00
|
|
|
/**
|
2021-02-12 15:38:11 +01:00
|
|
|
* Get the parent groups of this group.
|
|
|
|
*
|
|
|
|
* @param groupName the group name
|
|
|
|
* @param apiKey the api key
|
2021-02-11 16:09:17 +01:00
|
|
|
* @return the group parent, if any
|
|
|
|
*/
|
|
|
|
List<CkanGroup> getParentGroups(String groupName, String apiKey);
|
2021-02-12 15:38:11 +01:00
|
|
|
|
2021-02-11 16:09:17 +01:00
|
|
|
/**
|
2021-02-12 15:38:11 +01:00
|
|
|
* Retrieve the organization with this name.
|
|
|
|
*
|
|
|
|
* @param name the name
|
|
|
|
* @return the organization by name
|
2021-02-11 16:09:17 +01:00
|
|
|
*/
|
|
|
|
CkanOrganization getOrganizationByName(String name);
|
|
|
|
|
2020-08-27 14:37:19 +02:00
|
|
|
/**
|
2021-02-12 15:38:11 +01:00
|
|
|
* Check if the users of the current context need to be alerted from a post
|
|
|
|
* creation or not. Default is false.
|
2020-06-03 16:29:47 +02:00
|
|
|
*
|
2021-02-12 15:38:11 +01:00
|
|
|
* @return a boolean value
|
|
|
|
*/
|
|
|
|
boolean isNotificationToUsersEnabled();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ***************************************************************************
|
2020-06-03 16:29:47 +02:00
|
|
|
*
|
|
|
|
*
|
|
|
|
* WRITE OPERATIONS
|
|
|
|
*
|
|
|
|
*
|
2021-02-12 15:38:11 +01:00
|
|
|
* ***************************************************************************.
|
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @param title the title
|
|
|
|
* @param name the name
|
|
|
|
* @param organizationName the organization name
|
|
|
|
* @param author the author
|
|
|
|
* @param authorMail the author mail
|
|
|
|
* @param maintainer the maintainer
|
|
|
|
* @param maintainerMail the maintainer mail
|
|
|
|
* @param version the version
|
|
|
|
* @param description the description
|
|
|
|
* @param licenseId the license id
|
|
|
|
* @param tags the tags
|
|
|
|
* @param customFieldsMultiple the custom fields multiple
|
|
|
|
* @param resources the resources
|
|
|
|
* @param setPublic the set public
|
|
|
|
* @param setSearchable the set searchable
|
|
|
|
* @param socialPost the social post
|
|
|
|
* @return the string
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a dataset with those information. The method allows to have multiple
|
|
|
|
* values for the same custom field key. NOTE: unfortunately java doesn't
|
|
|
|
* support overload in java interface methods (that's way I cannot use the same
|
|
|
|
* name for the method)
|
2020-06-03 16:29:47 +02:00
|
|
|
*
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param username the username
|
|
|
|
* @param title the title
|
2020-06-03 14:39:41 +02:00
|
|
|
* @param name (unique identifier)
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param organizationName the organization name
|
|
|
|
* @param author the author
|
|
|
|
* @param authorMail the author mail
|
|
|
|
* @param maintainer the maintainer
|
|
|
|
* @param maintainerMail the maintainer mail
|
|
|
|
* @param version the version
|
|
|
|
* @param description the description
|
|
|
|
* @param licenseId the license id
|
|
|
|
* @param tags the tags
|
2020-06-03 16:29:47 +02:00
|
|
|
* @param customFieldsMultiple the custom fields multiple
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param resources the resources
|
|
|
|
* @param setPublic (manage visibility: Admin role is needed)
|
|
|
|
* @param setSearchable set the item as searchable or not
|
|
|
|
* @param socialPost send the social post or not
|
2020-06-03 14:39:41 +02:00
|
|
|
* @return the id of the dataset on success, null otherwise
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
2021-02-11 16:09:17 +01:00
|
|
|
String createCkanDatasetMultipleCustomFields(String username, String title, String name, String organizationName,
|
2020-06-03 16:29:47 +02:00
|
|
|
String author, String authorMail, String maintainer, String maintainerMail, long version,
|
|
|
|
String description, String licenseId, List<String> tags, Map<String, List<String>> customFieldsMultiple,
|
2021-02-11 16:09:17 +01:00
|
|
|
List<ResourceBean> resources, boolean setPublic, boolean setSearchable, boolean socialPost)
|
|
|
|
throws Exception;
|
2020-06-03 14:39:41 +02:00
|
|
|
|
2020-08-28 15:29:42 +02:00
|
|
|
// /**
|
|
|
|
// * Patch a product with product id productId by using the couples in
|
|
|
|
// * customFieldsToChange. NOTE: only the specified custom fields will be changed.
|
|
|
|
// * If a custom field with a given key already exists, and removeOld is set to
|
|
|
|
// * false, the new values are added at the end of the list. Otherwise they are
|
|
|
|
// * lost.
|
|
|
|
// *
|
|
|
|
// * @param productId the product id
|
|
|
|
// * @param customFieldsToChange the custom fields to change
|
|
|
|
// * @param removeOld the remove old
|
|
|
|
// * @return true, if successful
|
|
|
|
// */
|
|
|
|
// boolean patchProductCustomFields(String productId, Map<String, List<String>> customFieldsToChange,
|
|
|
|
// boolean removeOld);
|
2020-06-03 14:39:41 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Add a resource described by the bean to the dataset id into
|
|
|
|
* resource.datasetId
|
|
|
|
*
|
|
|
|
* @param resource the resource
|
|
|
|
* @return String the id of the resource on success, null otherwise
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
String addResourceToDataset(ResourceBean resource) throws Exception;
|
|
|
|
|
|
|
|
/**
|
2020-08-28 12:07:54 +02:00
|
|
|
* Remove the resource with id resourceId from dataset in which it is.
|
2020-06-03 14:39:41 +02:00
|
|
|
*
|
|
|
|
* @param resourceId the resource id
|
|
|
|
* @return true on success, false otherwise.
|
2020-08-28 12:07:54 +02:00
|
|
|
* @throws Exception the exception
|
2020-06-03 14:39:41 +02:00
|
|
|
*/
|
2020-08-27 17:25:56 +02:00
|
|
|
boolean deleteResourceFromDataset(String resourceId) throws Exception;
|
2020-06-03 14:39:41 +02:00
|
|
|
|
2020-08-27 17:25:56 +02:00
|
|
|
/**
|
|
|
|
* Create a CkanGroup.
|
2020-08-28 15:29:42 +02:00
|
|
|
*
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param nameOrId a unique id for the group
|
|
|
|
* @param title a title for the group
|
2020-08-27 17:25:56 +02:00
|
|
|
* @param description a description for the group
|
|
|
|
* @return the created CkanGroup on success, null otherwise
|
2020-08-28 15:29:42 +02:00
|
|
|
* @throws Exception the exception
|
2020-08-27 17:25:56 +02:00
|
|
|
*/
|
|
|
|
CkanGroup createGroup(String nameOrId, String title, String description) throws Exception;
|
2020-06-03 16:29:47 +02:00
|
|
|
|
2020-08-28 15:29:42 +02:00
|
|
|
/**
|
|
|
|
* Sets the searchable field for dataset.
|
|
|
|
*
|
2021-02-11 16:09:17 +01:00
|
|
|
* @param datasetId the dataset id
|
2020-08-28 15:29:42 +02:00
|
|
|
* @param searchable the searchable
|
|
|
|
* @return true, if successful
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
boolean setSearchableFieldForDataset(String datasetId, boolean searchable) throws Exception;
|
|
|
|
|
|
|
|
/**
|
2021-02-12 15:38:11 +01:00
|
|
|
* Patch the fields for dataset passed.
|
2020-08-28 15:29:42 +02:00
|
|
|
*
|
|
|
|
* @param datasetId the dataset id
|
|
|
|
* @param mapFields the map fields
|
|
|
|
* @return true, if successful
|
|
|
|
* @throws Exception the exception
|
|
|
|
*/
|
|
|
|
boolean patchFieldsForDataset(String datasetId, Map<String, String> mapFields) throws Exception;
|
|
|
|
|
2021-02-11 16:09:17 +01:00
|
|
|
/**
|
|
|
|
* Assign dataset to group.
|
|
|
|
*
|
|
|
|
* @param groupNameOrId the group name or id
|
|
|
|
* @param datasetNameOrId the dataset name or id
|
|
|
|
* @return true, if successful
|
|
|
|
*/
|
|
|
|
boolean assignDatasetToGroup(String groupNameOrId, String datasetNameOrId);
|
2021-02-17 12:09:02 +01:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Patch a product with product id productId by using the couples in customFieldsToChange.
|
|
|
|
* NOTE: only the specified custom fields will be changed. If a custom field with a given key
|
|
|
|
* already exists, and removeOld is set to false, the new values are added at the end of the list. Otherwise they are lost.
|
|
|
|
*
|
|
|
|
* @param productId the product id
|
|
|
|
* @param username the username
|
|
|
|
* @param customFieldsToChange the custom fields to change
|
|
|
|
* @param removeOld the remove old
|
|
|
|
* @return true, if successful
|
|
|
|
*/
|
|
|
|
boolean patchProductCustomFields(String productId, String username, Map<String, List<String>> customFieldsToChange,
|
|
|
|
boolean removeOld);
|
2020-06-03 16:29:47 +02:00
|
|
|
|
2021-02-12 15:38:11 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* ********************************************************************************
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* MANAGEMENT OPERATIONS
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* ********************************************************************************.
|
|
|
|
*
|
|
|
|
* @param username the username
|
|
|
|
* @param sourceOrganization the source organization
|
|
|
|
* @param currentRole the current role
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Check if the user identified by username has to be registered in other
|
|
|
|
* organizations with some role.
|
|
|
|
*
|
|
|
|
* @param username
|
|
|
|
* @param sourceOrganization
|
|
|
|
* @param currentRole
|
|
|
|
*/
|
|
|
|
void assignRolesOtherOrganization(String username, String sourceOrganization, RolesCkanGroupOrOrg currentRole);
|
|
|
|
|
2021-02-17 12:09:02 +01:00
|
|
|
|
|
|
|
|
2020-06-01 16:00:23 +02:00
|
|
|
}
|