package org.apache.archiva.admin.model.beans; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF 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. */ import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author Olivier Lamy * @since 1.4-M4 */ @XmlRootElement(name = "ldapConfiguration") public class LdapConfiguration implements Serializable { /** * The LDAP host. */ private String hostName; /** * The LDAP port. */ private int port; /** * ssl LDAP connection. */ private boolean ssl = false; /** * The LDAP base dn. */ private String baseDn; /** * contextFactory to use. */ private String contextFactory; /** * The LDAP bind dn. */ private String bindDn; /** * The LDAP base dn for groups (if empty baseDn is used). */ private String baseGroupsDn; /** * The LDAP password. */ private String password; /** * The LDAP authenticationMethod. */ private String authenticationMethod; /** * */ private boolean bindAuthenticatorEnabled; /** * Will use role name as LDAP group. */ private boolean useRoleNameAsGroup = false; /** * Field extraProperties. */ private Map<String, String> extraProperties = new HashMap<>(); /** * field to ease json mapping wrapper on <code>extraProperties</code> field */ private List<PropertyEntry> extraPropertiesEntries; /** * LDAP writable. */ private boolean writable = false; public LdapConfiguration() { // no op } public String getHostName() { return hostName; } public void setHostName( String hostName ) { this.hostName = hostName; } public int getPort() { return port; } public void setPort( int port ) { this.port = port; } public boolean isSsl() { return ssl; } public void setSsl( boolean ssl ) { this.ssl = ssl; } public String getBaseDn() { return baseDn; } public void setBaseDn( String baseDn ) { this.baseDn = baseDn; } public String getContextFactory() { return contextFactory; } public void setContextFactory( String contextFactory ) { this.contextFactory = contextFactory; } public String getBindDn() { return bindDn; } public void setBindDn( String bindDn ) { this.bindDn = bindDn; } public String getPassword() { return password; } public void setPassword( String password ) { this.password = password; } public String getAuthenticationMethod() { return authenticationMethod; } public void setAuthenticationMethod( String authenticationMethod ) { this.authenticationMethod = authenticationMethod; } public Map<String, String> getExtraProperties() { return extraProperties; } public void setExtraProperties( Map<String, String> extraProperties ) { this.extraProperties = extraProperties; } public boolean isBindAuthenticatorEnabled() { return bindAuthenticatorEnabled; } public void setBindAuthenticatorEnabled( boolean bindAuthenticatorEnabled ) { this.bindAuthenticatorEnabled = bindAuthenticatorEnabled; } public List<PropertyEntry> getExtraPropertiesEntries() { extraPropertiesEntries = new ArrayList<>( getExtraProperties().size() ); for ( Map.Entry<String, String> entry : getExtraProperties().entrySet() ) { extraPropertiesEntries.add( new PropertyEntry( entry.getKey(), entry.getValue() ) ); } return extraPropertiesEntries; } public void setExtraPropertiesEntries( List<PropertyEntry> extraPropertiesEntries ) { this.extraPropertiesEntries = extraPropertiesEntries; if ( extraPropertiesEntries != null ) { for ( PropertyEntry propertyEntry : extraPropertiesEntries ) { this.extraProperties.put( propertyEntry.getKey(), propertyEntry.getValue() ); } } } public String getBaseGroupsDn() { return baseGroupsDn; } public void setBaseGroupsDn( String baseGroupsDn ) { this.baseGroupsDn = baseGroupsDn; } public boolean isWritable() { return writable; } public void setWritable( boolean writable ) { this.writable = writable; } public boolean isUseRoleNameAsGroup() { return useRoleNameAsGroup; } public void setUseRoleNameAsGroup( boolean useRoleNameAsGroup ) { this.useRoleNameAsGroup = useRoleNameAsGroup; } }