/*
* Copyright (c) 2010, 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.security.ui;
import org.wso2.carbon.security.mgt.stub.keystore.xsd.CertData;
import org.wso2.carbon.security.mgt.stub.keystore.xsd.KeyStoreData;
import org.wso2.carbon.user.mgt.stub.types.carbon.FlaggedName;
import java.util.ArrayList;
import java.util.List;
public class Util {
private Util(){}
public static CertData[] doPaging(int pageNumber, CertData[] certDataSet) {
int itemsPerPageInt = SecurityUIConstants.DEFAULT_ITEMS_PER_PAGE;
int startIndex = pageNumber * itemsPerPageInt;
int endIndex = (pageNumber + 1) * itemsPerPageInt;
CertData[] returnedCertDataSet = new CertData[itemsPerPageInt];
for (int i = startIndex, j = 0; i < endIndex && i < certDataSet.length; i++, j++) {
returnedCertDataSet[j] = certDataSet[i];
}
return returnedCertDataSet;
}
public static KeyStoreData[] doPaging(int pageNumber, KeyStoreData[] keyStoreDataSet) {
int itemsPerPageInt = SecurityUIConstants.KEYSTORE_DEFAULT_ITEMS_PER_PAGE;
int startIndex = pageNumber * itemsPerPageInt;
int endIndex = (pageNumber + 1) * itemsPerPageInt;
KeyStoreData[] returnedDataSet = new KeyStoreData[itemsPerPageInt];
for (int i = startIndex, j = 0; i < endIndex && i < keyStoreDataSet.length; i++, j++) {
returnedDataSet[j] = keyStoreDataSet[i];
}
return returnedDataSet;
}
public static FlaggedName[] doFlaggedNamePaging(int pageNumber, FlaggedName[] flaggedName) {
int itemsPerPageInt = SecurityUIConstants.DEFAULT_ITEMS_PER_PAGE;
FlaggedName[] returnedFlaggedNameSet;
int startIndex = pageNumber * itemsPerPageInt;
int endIndex = (pageNumber + 1) * itemsPerPageInt;
if (itemsPerPageInt < flaggedName.length - 1) {
returnedFlaggedNameSet = new FlaggedName[itemsPerPageInt];
} else {
returnedFlaggedNameSet = new FlaggedName[flaggedName.length - 1];
}
for (int i = startIndex, j = 0; i < endIndex && i < flaggedName.length - 1; i++, j++) {
returnedFlaggedNameSet[j] = flaggedName[i];
}
return returnedFlaggedNameSet;
}
public static KeyStoreData[] doFilter(String filter, KeyStoreData[] keyStoreDataSet) {
String regPattern = filter.replace("*", ".*");
List<KeyStoreData> list = new ArrayList<>();
for (KeyStoreData keyStore : keyStoreDataSet) {
if (keyStore != null && keyStore.getKeyStoreName().toLowerCase().matches(regPattern.toLowerCase())) {
list.add(keyStore);
}
}
return list.toArray(new KeyStoreData[list.size()]);
}
public static CertData[] doFilter(String filter, CertData[] certDataSet) {
if (certDataSet == null || certDataSet.length == 0) {
return new CertData[0];
}
String regPattern = filter.replace("*", ".*");
List<CertData> list = new ArrayList<>();
for (CertData cert : certDataSet) {
if (cert != null
&& cert.getAlias().toLowerCase()
.matches(regPattern.toLowerCase())) {
list.add(cert);
}
}
return list.toArray(new CertData[list.size()]);
}
}