Java源码示例:org.wso2.carbon.identity.application.common.model.ApplicationBasicInfo

示例1
@Override
public String exportSPApplicationFromAppID(String applicationId, boolean exportSecrets,
                                           String tenantDomain) throws IdentityApplicationManagementException {

    ApplicationBasicInfo application = getApplicationBasicInfoByResourceId(applicationId, tenantDomain);
    if (application == null) {
        throw buildClientException(APPLICATION_NOT_FOUND, "Application could not be found " +
                "for the provided resourceId: " + applicationId);
    }
    String appName = application.getApplicationName();
    try {
        startTenantFlow(tenantDomain);
        return exportSPApplication(appName, exportSecrets, tenantDomain);
    } finally {
        endTenantFlow();
    }
}
 
示例2
@Override
public ApplicationBasicInfo[] getAllApplicationBasicInfo()
        throws IdentityApplicationManagementException {

    Map<String, ServiceProvider> spMap = ApplicationManagementServiceComponent
            .getFileBasedSPs();

    List<ApplicationBasicInfo> appInfo = new ArrayList<ApplicationBasicInfo>();

    for (Iterator<Entry<String, ServiceProvider>> iterator = spMap.entrySet().iterator(); iterator
            .hasNext(); ) {
        Entry<String, ServiceProvider> entry = iterator.next();
        ApplicationBasicInfo basicInfo = new ApplicationBasicInfo();
        basicInfo.setApplicationName(entry.getValue().getApplicationName());
        basicInfo.setDescription(entry.getValue().getDescription());
        appInfo.add(basicInfo);

    }

    return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
}
 
示例3
private void addAppBasicInfoToCache(ApplicationBasicInfo appBasicInfo, String tenantDomain) throws
        IdentityApplicationManagementException {

    if (log.isDebugEnabled()) {
        log.debug("Add cache for the application " + appBasicInfo.getApplicationName() + "@" + tenantDomain);
    }
    try {
        ApplicationMgtUtil.startTenantFlow(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);

        ApplicationBasicInfoResourceIdCacheKey key =
                new ApplicationBasicInfoResourceIdCacheKey(appBasicInfo.getApplicationResourceId());
        ApplicationBasicInfoResourceIdCacheEntry entry = new ApplicationBasicInfoResourceIdCacheEntry(appBasicInfo);
        appBasicInfoCacheByResourceId.addToCache(key, entry);
    } finally {
        ApplicationMgtUtil.endTenantFlow();
    }
}
 
示例4
/**
 * Get all basic application information
 *
 * @return Application Basic information array
 * @throws org.wso2.carbon.identity.application.common.IdentityApplicationManagementException
 */
@SuppressWarnings("ValidExternallyBoundObject")
public ApplicationBasicInfo[] getAllApplicationBasicInfo() throws IdentityApplicationManagementException {

    try {
        applicationMgtService = ApplicationManagementService.getInstance();
        ApplicationBasicInfo[] applicationBasicInfos =
                applicationMgtService.getAllApplicationBasicInfo(getTenantDomain(), getUsername());
        List<ApplicationBasicInfo> appInfo = getAuthorizedApplicationBasicInfo(applicationBasicInfos,
                getUsername());
        return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
    } catch (IdentityApplicationManagementException ex) {
        String message = "Error while retrieving all application basic info for tenant: " + getTenantDomain();
        throw handleException(message, ex);
    }
}
 
示例5
/**
 * Get all basic application information for a matching filter.
 *
 * @param filter Application name filter
 * @return Application Basic Information array
 * @throws org.wso2.carbon.identity.application.common.IdentityApplicationManagementException
 */
public ApplicationBasicInfo[] getApplicationBasicInfo(String filter)
        throws IdentityApplicationManagementException {

    try {
        applicationMgtService = ApplicationManagementService.getInstance();
        ApplicationBasicInfo[] applicationBasicInfos =
                applicationMgtService.getApplicationBasicInfo(getTenantDomain(), getUsername(), filter);
        List<ApplicationBasicInfo> appInfo = getAuthorizedApplicationBasicInfo(applicationBasicInfos,
                getUsername());
        return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
    } catch (IdentityApplicationManagementException ex) {
        String message = "Error while retrieving all application basic info for tenant: " + getTenantDomain() +
                " with filter: " + filter;
        throw handleException(message, ex);
    }
}
 
示例6
private ArrayList<ApplicationBasicInfo> getAuthorizedApplicationBasicInfo(
        ApplicationBasicInfo[] applicationBasicInfos, String userName)
        throws IdentityApplicationManagementException {

    ArrayList<ApplicationBasicInfo> appInfo = new ArrayList<>();
    for (ApplicationBasicInfo applicationBasicInfo : applicationBasicInfos) {
        if (ApplicationMgtUtil.isUserAuthorized(applicationBasicInfo.getApplicationName(), userName)) {
            appInfo.add(applicationBasicInfo);
            if (log.isDebugEnabled()) {
                log.debug("Retrieving basic information of application: " +
                        applicationBasicInfo.getApplicationName() + "username: " + userName);
            }
        }
    }
    return appInfo;
}
 
示例7
@Override
public ApplicationBasicInfo[] getAllApplicationBasicInfo()
        throws IdentityApplicationManagementException {
    Map<String, ServiceProvider> spMap = ApplicationManagementServiceComponent
            .getFileBasedSPs();

    List<ApplicationBasicInfo> appInfo = new ArrayList<ApplicationBasicInfo>();

    for (Iterator<Entry<String, ServiceProvider>> iterator = spMap.entrySet().iterator(); iterator
            .hasNext(); ) {
        Entry<String, ServiceProvider> entry = iterator.next();
        ApplicationBasicInfo basicInfo = new ApplicationBasicInfo();
        basicInfo.setApplicationName(entry.getValue().getApplicationName());
        basicInfo.setDescription(entry.getValue().getDescription());
        appInfo.add(basicInfo);

    }

    return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
}
 
示例8
/**
 * Get all basic application information
 *
 * @return Application Basic information array
 * @throws org.wso2.carbon.identity.application.common.IdentityApplicationManagementException
 */
public ApplicationBasicInfo[] getAllApplicationBasicInfo()
        throws IdentityApplicationManagementException {
    applicationMgtService = ApplicationManagementService.getInstance();

    ApplicationBasicInfo[] applicationBasicInfos = applicationMgtService.getAllApplicationBasicInfo(getTenantDomain(), getUsername());
    ArrayList<ApplicationBasicInfo> appInfo = new ArrayList<>();
    for (ApplicationBasicInfo applicationBasicInfo: applicationBasicInfos) {
        if (ApplicationMgtUtil.isUserAuthorized(applicationBasicInfo.getApplicationName(), getUsername())) {
            appInfo.add(applicationBasicInfo);
            if (log.isDebugEnabled()) {
                log.debug("Application Name:" + applicationBasicInfo.getApplicationName());
            }
        }
    }
    return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
}
 
示例9
public ApplicationListResponse getAllApplications(Integer limit, Integer offset, String filter, String sortOrder,
                                                  String sortBy, String requiredAttributes) {

    handleNotImplementedCapabilities(sortOrder, sortBy, requiredAttributes);

    limit = validateAndGetLimit(limit);
    offset = validateAndGetOffset(offset);

    // Format the filter to a value that can be interpreted by the backend.
    String formattedFilter = buildFilter(filter);
    String tenantDomain = ContextLoader.getTenantDomainFromContext();
    String username = ContextLoader.getUsernameFromContext();
    try {
        int totalResults = getApplicationManagementService()
                .getCountOfApplications(tenantDomain, username, formattedFilter);

        ApplicationBasicInfo[] filteredAppList = getApplicationManagementService()
                .getApplicationBasicInfo(tenantDomain, username, formattedFilter, offset, limit);
        int resultsInCurrentPage = filteredAppList.length;

        return new ApplicationListResponse()
                .totalResults(totalResults)
                .startIndex(offset + 1)
                .count(resultsInCurrentPage)
                .applications(getApplicationListItems(filteredAppList))
                .links(Util.buildPaginationLinks(limit, offset, totalResults, APPLICATION_MANAGEMENT_PATH_COMPONENT)
                        .entrySet()
                        .stream()
                        .map(link -> new Link().rel(link.getKey()).href(link.getValue()))
                        .collect(Collectors.toList()));

    } catch (IdentityApplicationManagementException e) {
        String msg = "Error listing applications of tenantDomain: " + tenantDomain;
        throw handleIdentityApplicationManagementException(e, msg);
    }
}
 
示例10
@Override
public ApplicationListItem apply(ApplicationBasicInfo applicationBasicInfo) {

    return new ApplicationListItem()
            .id(applicationBasicInfo.getApplicationResourceId())
            .name(applicationBasicInfo.getApplicationName())
            .description(applicationBasicInfo.getDescription())
            .image(applicationBasicInfo.getImageUrl())
            .accessUrl(applicationBasicInfo.getAccessUrl())
            .self(getApplicationLocation(applicationBasicInfo.getApplicationResourceId()));
}
 
示例11
@Override
public boolean doPostGetApplicationBasicInfoByResourceId(ApplicationBasicInfo appInfo, String resourceId,
                                                         String tenantDomain)
        throws IdentityApplicationManagementException {

    return true;
}
 
示例12
@Override
public ApplicationBasicInfo[] getApplicationBasicInfo(String filter)
        throws IdentityApplicationManagementException {

    Map<String, ServiceProvider> spMap = ApplicationManagementServiceComponent.getFileBasedSPs();
    List<ApplicationBasicInfo> appInfo = new ArrayList<ApplicationBasicInfo>();
    if (filter != null && filter.trim().length() != 0) {
        filter = filter.replace("*", ".*");
    } else {
        filter = ".*";
    }
    Pattern pattern = Pattern.compile(filter, Pattern.CASE_INSENSITIVE);

    Iterator<Entry<String, ServiceProvider>> iterator = spMap.entrySet().iterator();
    while (iterator.hasNext()) {
        Entry<String, ServiceProvider> entry = iterator.next();
        Matcher matcher = pattern.matcher(entry.getValue().getApplicationName());
        if (!matcher.matches()) {
            continue;
        }
        ApplicationBasicInfo basicInfo = new ApplicationBasicInfo();
        basicInfo.setApplicationName(entry.getValue().getApplicationName());
        basicInfo.setDescription(entry.getValue().getDescription());
        appInfo.add(basicInfo);
    }

    return appInfo.toArray(new ApplicationBasicInfo[appInfo.size()]);
}
 
示例13
public ApplicationBasicInfo[] getApplicationBasicInfo(String filter) throws IdentityApplicationManagementException {

        if (appDAO instanceof PaginatableFilterableApplicationDAO) {
            // No need to cache the returned list.
            return ((PaginatableFilterableApplicationDAO) appDAO).getApplicationBasicInfo(filter);
        } else {
            throw new UnsupportedOperationException("Get application basic info with filter not supported.");
        }
    }
 
示例14
public ApplicationBasicInfo[] getAllPaginatedApplicationBasicInfo(int pageNumber)
        throws IdentityApplicationManagementException {

    if (appDAO instanceof PaginatableFilterableApplicationDAO) {
        // No need to cache the returned list.
        return ((PaginatableFilterableApplicationDAO) appDAO).getAllPaginatedApplicationBasicInfo(pageNumber);
    } else {
        throw new UnsupportedOperationException("This operation only supported in" +
                " PaginatableFilterableApplicationDAO only.");
    }
}
 
示例15
@Override
public ApplicationBasicInfo[] getApplicationBasicInfo(int offset, int limit)
        throws IdentityApplicationManagementException {

    if (appDAO instanceof PaginatableFilterableApplicationDAO) {
        // No need to cache the returned list.
        return ((PaginatableFilterableApplicationDAO) appDAO).getApplicationBasicInfo(offset, limit);
    } else {
        throw new UnsupportedOperationException("This operation only supported in" +
                " PaginatableFilterableApplicationDAO only.");
    }
}
 
示例16
public ApplicationBasicInfo[] getPaginatedApplicationBasicInfo(int pageNumber, String filter)
        throws IdentityApplicationManagementException {

    if (appDAO instanceof PaginatableFilterableApplicationDAO) {
        // No need to cache the returned list.
        return ((PaginatableFilterableApplicationDAO) appDAO).getPaginatedApplicationBasicInfo(pageNumber, filter);
    } else {
        throw new UnsupportedOperationException("This operation only supported in" +
                " PaginatableFilterableApplicationDAO only.");
    }
}
 
示例17
@Override
public ApplicationBasicInfo[] getApplicationBasicInfo(String filter, int offset, int limit)
        throws IdentityApplicationManagementException {

    if (appDAO instanceof PaginatableFilterableApplicationDAO) {
        // No need to cache the returned list.
        return ((PaginatableFilterableApplicationDAO) appDAO).getApplicationBasicInfo(filter, offset, limit);
    } else {
        throw new UnsupportedOperationException("This operation only supported in" +
                " PaginatableFilterableApplicationDAO only.");
    }
}
 
示例18
@Override
public ApplicationBasicInfo getApplicationBasicInfoByResourceId(String resourceId, String tenantDomain)
        throws IdentityApplicationManagementException {

    ApplicationBasicInfo appBasicInfo = getApplicationBasicInfoFromCacheByResourceId(resourceId);
    if (appBasicInfo == null) {
        // Cache miss, fetch from DB.
        appBasicInfo = appDAO.getApplicationBasicInfoByResourceId(resourceId, tenantDomain);
        if (appBasicInfo != null) {
            addAppBasicInfoToCache(appBasicInfo, tenantDomain);
        }
    }
    return appBasicInfo;
}
 
示例19
@Override
public List<ApplicationBasicInfo> getDiscoverableApplicationBasicInfo(int limit, int offset, String filter,
                                                                      String sortOrder, String sortBy, String
                                                                              tenantDomain) throws
        IdentityApplicationManagementException {

    return appDAO.getDiscoverableApplicationBasicInfo(limit, offset, filter, sortOrder, sortBy, tenantDomain);
}
 
示例20
private ApplicationBasicInfo getApplicationBasicInfoFromCacheByResourceId(String resourceId)
        throws IdentityApplicationManagementException {

    ApplicationBasicInfo applicationBasicInfo = null;
    try {
        ApplicationMgtUtil.startTenantFlow(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
        if (resourceId != null) {
            ApplicationBasicInfoResourceIdCacheKey cacheKey =
                    new ApplicationBasicInfoResourceIdCacheKey(resourceId);
            ApplicationBasicInfoResourceIdCacheEntry entry =
                    appBasicInfoCacheByResourceId.getValueFromCache(cacheKey);

            if (entry != null) {
                applicationBasicInfo = entry.getApplicationBasicInfo();
            }
        }
    } finally {
        ApplicationMgtUtil.endTenantFlow();
    }

    if (applicationBasicInfo == null) {
        if (log.isDebugEnabled()) {
            log.debug("Cache miss for the application with resourceId: " + resourceId);
        }
    } else {
        if (log.isDebugEnabled()) {
            log.debug("Cache hit for the application with resourceId: " + resourceId);
        }
    }
    return applicationBasicInfo;
}
 
示例21
@Override
public List<ApplicationBasicInfo> getDiscoverableApplicationBasicInfo(int limit, int offset, String
        filter, String sortOrder, String sortBy, String tenantDomain) throws
        IdentityApplicationManagementException {

    ApplicationDAO appDAO = ApplicationMgtSystemConfig.getInstance().getApplicationDAO();
    return appDAO.getDiscoverableApplicationBasicInfo(limit, offset, filter, sortOrder, sortBy, tenantDomain);
}
 
示例22
@Override
public ApplicationBasicInfo getDiscoverableApplicationBasicInfoByResourceId(String resourceId, String
        tenantDomain) throws IdentityApplicationManagementException {

    ApplicationDAO appDAO = ApplicationMgtSystemConfig.getInstance().getApplicationDAO();
    return appDAO.getDiscoverableApplicationBasicInfoByResourceId(resourceId, tenantDomain);
}
 
示例23
@Override
public ApplicationBasicInfo[] getApplicationBasicInfo(String tenantDomain, String username, String filter,
                                                      int offset, int limit)
        throws IdentityApplicationManagementException {

    return new ApplicationBasicInfo[0];
}
 
示例24
private List<ApplicationListItem> getApplicationListItems(ApplicationBasicInfo[] allApplicationBasicInfo) {

        return Arrays.stream(allApplicationBasicInfo)
                .map(new ApplicationBasicInfoToApiModel())
                .collect(Collectors.toList());
    }
 
示例25
@Override
public ApplicationBasicInfo[] getAllApplicationBasicInfo(String tenantDomain, String username)
        throws IdentityApplicationManagementException {

    return getApplicationBasicInfo(tenantDomain, username, "*");
}
 
示例26
private ApplicationBasicInfo getApplicationBasicInfo(String resourceId, String tenantDomain)
        throws IdentityApplicationManagementException {

    ApplicationDAO appDAO = ApplicationMgtSystemConfig.getInstance().getApplicationDAO();
    return appDAO.getApplicationBasicInfoByResourceId(resourceId, tenantDomain);
}
 
示例27
private String getApplicationName(String resourceId,
                                  String tenantDomain) throws IdentityApplicationManagementException {

    ApplicationBasicInfo appInfo = getApplicationBasicInfoByResourceId(resourceId, tenantDomain);
    return appInfo != null ? appInfo.getApplicationName() : null;
}
 
示例28
private int getApplicationId(String applicationResourceId,
                             String tenantDomain) throws IdentityApplicationManagementException {

    ApplicationBasicInfo appInfo = getApplicationBasicInfoByResourceId(applicationResourceId, tenantDomain);
    return appInfo != null ? appInfo.getApplicationId() : -1;
}
 
示例29
private ApplicationBasicInfo getApplicationBasicInfoByResourceId(String resourceId, String tenantDomain)
        throws IdentityApplicationManagementException {

    ApplicationDAO appDAO = ApplicationMgtSystemConfig.getInstance().getApplicationDAO();
    return appDAO.getApplicationBasicInfoByResourceId(resourceId, tenantDomain);
}
 
示例30
default ApplicationBasicInfo getApplicationBasicInfoByResourceId(String resourceId, String tenantDomain)
        throws IdentityApplicationManagementException {

    return null;
}