/* * Copyright (c) 2013, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * WSO2 Inc. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.wso2.carbon.identity.sso.saml.ui; import org.wso2.carbon.identity.sso.saml.stub.types.SAMLSSOServiceProviderDTO; import org.wso2.carbon.ui.util.CharacterEncoder; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; public class SAMLSSOUIUtil { private SAMLSSOUIUtil() { } /** * Return * * @param request * @param parameter * @return */ public static String getSafeInput(HttpServletRequest request, String parameter) { return request.getParameter(parameter); } public static SAMLSSOServiceProviderDTO[] doPaging(int pageNumber, SAMLSSOServiceProviderDTO[] serviceProviderSet) { int itemsPerPageInt = SAMLSSOUIConstants.DEFAULT_ITEMS_PER_PAGE; SAMLSSOServiceProviderDTO[] returnedServiceProviderSet; int startIndex = pageNumber * itemsPerPageInt; int endIndex = (pageNumber + 1) * itemsPerPageInt; if (serviceProviderSet.length > itemsPerPageInt) { returnedServiceProviderSet = new SAMLSSOServiceProviderDTO[itemsPerPageInt]; } else { returnedServiceProviderSet = new SAMLSSOServiceProviderDTO[serviceProviderSet.length]; } for (int i = startIndex, j = 0; i < endIndex && i < serviceProviderSet.length; i++, j++) { returnedServiceProviderSet[j] = serviceProviderSet[i]; } return returnedServiceProviderSet; } public static SAMLSSOServiceProviderDTO[] doFilter(String filter, SAMLSSOServiceProviderDTO[] serviceProviderSet) { String regPattern = filter.replace("*", ".*"); List<SAMLSSOServiceProviderDTO> list = new ArrayList<>(); for (SAMLSSOServiceProviderDTO serviceProvider : serviceProviderSet) { if (serviceProvider.getIssuer().toLowerCase().matches(regPattern.toLowerCase())) { list.add(serviceProvider); } } SAMLSSOServiceProviderDTO[] filteredProviders = new SAMLSSOServiceProviderDTO[list.size()]; for (int i = 0; i < list.size(); i++) { filteredProviders[i] = list.get(i); } return filteredProviders; } }