当前位置: 首页>>代码示例>>Java>>正文


Java Registry.newCollection方法代码示例

本文整理汇总了Java中org.wso2.carbon.registry.api.Registry.newCollection方法的典型用法代码示例。如果您正苦于以下问题:Java Registry.newCollection方法的具体用法?Java Registry.newCollection怎么用?Java Registry.newCollection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.wso2.carbon.registry.api.Registry的用法示例。


在下文中一共展示了Registry.newCollection方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: renameAppPermissionPathNode

import org.wso2.carbon.registry.api.Registry; //导入方法依赖的package包/类
/**
 * Rename the registry path node name for a deleted Service provider role.
 *
 * @param oldName
 * @param newName
 * @throws IdentityApplicationManagementException
 */
public static void renameAppPermissionPathNode(String oldName, String newName)
        throws IdentityApplicationManagementException {

    List<ApplicationPermission> loadPermissions = loadPermissions(oldName);
    String newApplicationNode = ApplicationMgtUtil.getApplicationPermissionPath() + PATH_CONSTANT + oldName;
    Registry tenantGovReg = CarbonContext.getThreadLocalCarbonContext().getRegistry(
            RegistryType.USER_GOVERNANCE);
    //creating new application node
    try {
        for (ApplicationPermission applicationPermission : loadPermissions) {
            tenantGovReg.delete(newApplicationNode + PATH_CONSTANT + applicationPermission.getValue());
        }
        tenantGovReg.delete(newApplicationNode);
        Collection permissionNode = tenantGovReg.newCollection();
        permissionNode.setProperty("name", newName);
        newApplicationNode = ApplicationMgtUtil.getApplicationPermissionPath() + PATH_CONSTANT + newName;
        ApplicationMgtUtil.applicationNode = newApplicationNode;
        tenantGovReg.put(newApplicationNode, permissionNode);
        addPermission(loadPermissions.toArray(new ApplicationPermission[loadPermissions.size()]), tenantGovReg);
    } catch (RegistryException e) {
        throw new IdentityApplicationManagementException("Error while renaming permission node "
                + oldName + "to " + newName, e);
    }
}
 
开发者ID:wso2,项目名称:carbon-identity-framework,代码行数:32,代码来源:ApplicationMgtUtil.java

示例2: addPermission

import org.wso2.carbon.registry.api.Registry; //导入方法依赖的package包/类
private static void addPermission(ApplicationPermission[] permissions, Registry tenantGovReg) throws
        RegistryException {
    for (ApplicationPermission permission : permissions) {
        String permissionValue = permission.getValue();

        if ("/".equals(permissionValue.substring(0, 1))) {         //if permissions are starts with slash remove that
            permissionValue = permissionValue.substring(1);
        }
        String[] splitedPermission = permissionValue.split("/");
        String permissinPath = applicationNode + PATH_CONSTANT;

        for (int i = 0; i < splitedPermission.length; i++) {
            permissinPath = permissinPath + splitedPermission[i] + PATH_CONSTANT;
            Collection permissionNode = tenantGovReg.newCollection();
            permissionNode.setProperty("name", splitedPermission[i]);
            tenantGovReg.put(permissinPath, permissionNode);
        }

    }
}
 
开发者ID:wso2,项目名称:carbon-identity-framework,代码行数:21,代码来源:ApplicationMgtUtil.java

示例3: updatePermissions

import org.wso2.carbon.registry.api.Registry; //导入方法依赖的package包/类
/**
 * Updates the permissions of the application
 *
 * @param applicationName
 * @param permissions
 * @throws IdentityApplicationManagementException
 */
public static void updatePermissions(String applicationName, ApplicationPermission[] permissions)
        throws IdentityApplicationManagementException {

    applicationNode = getApplicationPermissionPath() + PATH_CONSTANT + applicationName;

    Registry tenantGovReg = CarbonContext.getThreadLocalCarbonContext().getRegistry(
            RegistryType.USER_GOVERNANCE);

    try {

        boolean exist = tenantGovReg.resourceExists(applicationNode);
        if (!exist) {
            Collection appRootNode = tenantGovReg.newCollection();
            appRootNode.setProperty("name", applicationName);
            tenantGovReg.put(applicationNode, appRootNode);
        }

        Collection appNodeCollec = (Collection) tenantGovReg.get(applicationNode);
        String[] childern = appNodeCollec.getChildren();

        // new permissions are null. deleting all permissions case
        if ((childern != null && childern.length > 0)
                && (permissions == null || permissions.length == 0)) { // there are permissions
            tenantGovReg.delete(applicationNode);
        }

        if (ArrayUtils.isEmpty(permissions)) {
            return;
        }

        // no permission exist for the application, create new
        if (childern == null || appNodeCollec.getChildCount() < 1) {

            addPermission(permissions, tenantGovReg);

        } else { // there are permission
            List<ApplicationPermission> loadPermissions = loadPermissions(applicationName);
            for (ApplicationPermission applicationPermission : loadPermissions) {
                tenantGovReg.delete(applicationNode + PATH_CONSTANT + applicationPermission.getValue());
            }
            addPermission(permissions, tenantGovReg);
        }

    } catch (RegistryException e) {
        throw new IdentityApplicationManagementException("Error while storing permissions", e);
    }

}
 
开发者ID:wso2,项目名称:carbon-identity-framework,代码行数:56,代码来源:ApplicationMgtUtil.java

示例4: storePermissions

import org.wso2.carbon.registry.api.Registry; //导入方法依赖的package包/类
/**
 * @param applicationName
 * @param permissionsConfig
 * @throws IdentityApplicationManagementException
 */
public static void storePermissions(String applicationName, String username, PermissionsAndRoleConfig permissionsConfig)
        throws IdentityApplicationManagementException {

    Registry tenantGovReg = CarbonContext.getThreadLocalCarbonContext().getRegistry(
            RegistryType.USER_GOVERNANCE);

    String permissionResourcePath = getApplicationPermissionPath();
    try {
        if (!tenantGovReg.resourceExists(permissionResourcePath)) {
            boolean loggedInUserChanged = false;
            UserRealm realm =
                    (UserRealm) CarbonContext.getThreadLocalCarbonContext().getUserRealm();
            if (!realm.getAuthorizationManager()
                    .isUserAuthorized(username, permissionResourcePath,
                            UserMgtConstants.EXECUTE_ACTION)) {
                //Logged in user is not authorized to create the permission.
                // Temporarily change the user to the admin for creating the permission
                PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(
                        realm.getRealmConfiguration().getAdminUserName());
                tenantGovReg = CarbonContext.getThreadLocalCarbonContext()
                        .getRegistry(RegistryType.USER_GOVERNANCE);
                loggedInUserChanged = true;
            }
            Collection appRootNode = tenantGovReg.newCollection();
            appRootNode.setProperty("name", "Applications");
            tenantGovReg.put(permissionResourcePath, appRootNode);
            if (loggedInUserChanged) {
                PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(username);
            }
        }

        if (permissionsConfig != null) {
            ApplicationPermission[] permissions = permissionsConfig.getPermissions();
            if (permissions == null || permissions.length < 1) {
                return;
            }

            // creating the application node in the tree
            String appNode = permissionResourcePath + PATH_CONSTANT + applicationName;
            Collection appNodeColl = tenantGovReg.newCollection();
            tenantGovReg.put(appNode, appNodeColl);

            // now start storing the permissions
            for (ApplicationPermission permission : permissions) {
                String permissinPath = appNode + PATH_CONSTANT + permission;
                Resource permissionNode = tenantGovReg.newResource();
                permissionNode.setProperty("name", permission.getValue());
                tenantGovReg.put(permissinPath, permissionNode);
            }
        }

    } catch (Exception e) {
        throw new IdentityApplicationManagementException("Error while storing permissions for application " +
                applicationName, e);
    }
}
 
开发者ID:wso2-attic,项目名称:carbon-identity,代码行数:62,代码来源:ApplicationMgtUtil.java


注:本文中的org.wso2.carbon.registry.api.Registry.newCollection方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。