use of com.thinkbiganalytics.metadata.api.user.UserGroup in project kylo by Teradata.
the class CreateDefaultUsersGroupsAction method createDefaultGroup.
protected UserGroup createDefaultGroup(String groupName, String title) {
UserGroup newGroup = userProvider.ensureGroup(groupName);
newGroup.setTitle(title);
return newGroup;
}
use of com.thinkbiganalytics.metadata.api.user.UserGroup in project kylo by Teradata.
the class CreateDefaultUsersGroupsAction method upgradeTo.
/* (non-Javadoc)
* @see com.thinkbiganalytics.metadata.upgrade.UpgradeState#upgradeFrom(com.thinkbiganalytics.metadata.api.app.KyloVersion)
*/
@Override
public void upgradeTo(KyloVersion startingVersion) {
log.info("Creating default users/groups for version: " + startingVersion);
User dladmin = createDefaultUser("dladmin", "Data Lake Administrator", null);
User analyst = createDefaultUser("analyst", "Analyst", null);
User designer = createDefaultUser("designer", "Designer", null);
User operator = createDefaultUser("operator", "Operator", null);
// Create default groups if they don't exist.
UserGroup adminsGroup = createDefaultGroup("admin", "Administrators");
UserGroup opsGroup = createDefaultGroup("operations", "Operations");
UserGroup designersGroup = createDefaultGroup("designers", "Designers");
UserGroup analystsGroup = createDefaultGroup("analysts", "Analysts");
UserGroup usersGroup = createDefaultGroup("user", "Users");
// Add default users to their respective groups
adminsGroup.addUser(dladmin);
designersGroup.addUser(designer);
analystsGroup.addUser(analyst);
opsGroup.addUser(operator);
usersGroup.addUser(dladmin);
usersGroup.addUser(analyst);
usersGroup.addUser(designer);
usersGroup.addUser(operator);
// Setup initial group access control. Administrators group already has all rights.
actionsProvider.getAllowedActions(AllowedActions.SERVICES).ifPresent((allowed) -> {
allowed.enable(opsGroup.getRootPrincial(), OperationsAccessControl.ADMIN_OPS, FeedServicesAccessControl.ACCESS_CATEGORIES, FeedServicesAccessControl.ACCESS_FEEDS, FeedServicesAccessControl.ACCESS_TEMPLATES, FeedServicesAccessControl.ACCESS_TABLES, FeedServicesAccessControl.ACCESS_SERVICE_LEVEL_AGREEMENTS);
allowed.enable(designersGroup.getRootPrincial(), OperationsAccessControl.ACCESS_OPS, FeedServicesAccessControl.EDIT_FEEDS, FeedServicesAccessControl.ACCESS_TABLES, FeedServicesAccessControl.IMPORT_FEEDS, FeedServicesAccessControl.EXPORT_FEEDS, FeedServicesAccessControl.EDIT_CATEGORIES, FeedServicesAccessControl.EDIT_DATASOURCES, FeedServicesAccessControl.EDIT_TEMPLATES, FeedServicesAccessControl.IMPORT_TEMPLATES, FeedServicesAccessControl.EXPORT_TEMPLATES, FeedServicesAccessControl.ADMIN_TEMPLATES, FeedServicesAccessControl.ACCESS_SERVICE_LEVEL_AGREEMENTS, FeedServicesAccessControl.EDIT_SERVICE_LEVEL_AGREEMENTS, FeedServicesAccessControl.ACCESS_GLOBAL_SEARCH);
allowed.enable(analystsGroup.getRootPrincial(), OperationsAccessControl.ACCESS_OPS, FeedServicesAccessControl.EDIT_FEEDS, FeedServicesAccessControl.ACCESS_TABLES, FeedServicesAccessControl.IMPORT_FEEDS, FeedServicesAccessControl.EXPORT_FEEDS, FeedServicesAccessControl.EDIT_CATEGORIES, FeedServicesAccessControl.ACCESS_TEMPLATES, FeedServicesAccessControl.ACCESS_DATASOURCES, FeedServicesAccessControl.ACCESS_SERVICE_LEVEL_AGREEMENTS, FeedServicesAccessControl.EDIT_SERVICE_LEVEL_AGREEMENTS, FeedServicesAccessControl.ACCESS_GLOBAL_SEARCH);
});
try {
Workspace workspace = (Workspace) JcrMetadataAccess.getActiveSession().getWorkspace();
workspace.reindex("/users");
workspace.reindex("/groups");
} catch (RepositoryException e) {
log.error("Failed to re-index metadata", e);
throw new UpgradeException("Failed to re-index metadata", e);
}
}
use of com.thinkbiganalytics.metadata.api.user.UserGroup in project kylo by Teradata.
the class GroupNamesUpgradeAction method createDefaultGroup.
protected UserGroup createDefaultGroup(String groupName, String title) {
UserGroup newGroup = userProvider.ensureGroup(groupName);
newGroup.setTitle(title);
return newGroup;
}
Aggregations