/*
* (C) Copyright 2017 Netcentric AG.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package biz.netcentric.cq.tools.actool.configmodel;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
/** User and group part of the AC Tool configuration (natural ordered set of AuthorizableConfigBeans). */
public class AuthorizablesConfig extends LinkedHashSet<AuthorizableConfigBean> {
private static final long serialVersionUID = -253685832563496002L;
public AuthorizableConfigBean getAuthorizableConfig(String authorizableId) {
for (AuthorizableConfigBean authorizableConfigBean : this) {
if (StringUtils.equals(authorizableConfigBean.getAuthorizableId(), authorizableId)) {
return authorizableConfigBean;
}
}
return null;
}
public Set<String> getAuthorizableIds() {
Set<String> authorizableIdsFromConfigurations = new LinkedHashSet<String>();
for (AuthorizableConfigBean authorizableConfigBean : this) {
authorizableIdsFromConfigurations.add(authorizableConfigBean.getAuthorizableId());
}
return authorizableIdsFromConfigurations;
}
public Set<String> getPrincipalNames() {
Set<String> principals = new HashSet<String>();
for (AuthorizableConfigBean authorizableConfigBean : this) {
principals.add(authorizableConfigBean.getPrincipalName());
}
return principals;
}
}