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;
}