]> source.dussan.org Git - archiva.git/blob
99c8b893bebe3a0ed3afe794138f81becfe86c6b
[archiva.git] /
1 package org.apache.archiva.admin.model.beans;
2 /*
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  */
20
21 import javax.xml.bind.annotation.XmlRootElement;
22 import java.io.Serializable;
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
28
29 /**
30  * @author Olivier Lamy
31  * @since 1.4-M4
32  */
33 @XmlRootElement(name = "redbackRuntimeConfiguration")
34 public class RedbackRuntimeConfiguration
35     implements Serializable
36 {
37
38     /**
39      * Field userManagerImpls.
40      */
41     private List<String> userManagerImpls = new ArrayList<String>();
42
43     /**
44      * Field rbacManagerImpls.
45      */
46     private java.util.List<String> rbacManagerImpls = new ArrayList<String>();
47
48     private LdapConfiguration ldapConfiguration;
49
50     /**
51      * flag to know if redback configuration has been checked/migrated.
52      */
53     private boolean migratedFromRedbackConfiguration = false;
54
55     private Map<String, String> configurationProperties;
56
57     /**
58      * field to ease json mapping wrapper on <code>configurationProperties</code> field
59      */
60     private List<PropertyEntry> configurationPropertiesEntries;
61
62     /**
63      * flag to know if redback will use a cache to prevent
64      * searching users already found.
65      */
66     private boolean useUsersCache = true;
67
68     private CacheConfiguration usersCacheConfiguration;
69
70     public RedbackRuntimeConfiguration()
71     {
72         // no op
73     }
74
75     public List<String> getUserManagerImpls()
76     {
77         return userManagerImpls;
78     }
79
80     public void setUserManagerImpls( List<String> userManagerImpls )
81     {
82         this.userManagerImpls = userManagerImpls;
83     }
84
85     public LdapConfiguration getLdapConfiguration()
86     {
87         return ldapConfiguration;
88     }
89
90     public void setLdapConfiguration( LdapConfiguration ldapConfiguration )
91     {
92         this.ldapConfiguration = ldapConfiguration;
93     }
94
95     public boolean isMigratedFromRedbackConfiguration()
96     {
97         return migratedFromRedbackConfiguration;
98     }
99
100     public void setMigratedFromRedbackConfiguration( boolean migratedFromRedbackConfiguration )
101     {
102         this.migratedFromRedbackConfiguration = migratedFromRedbackConfiguration;
103     }
104
105     public Map<String, String> getConfigurationProperties()
106     {
107         if ( this.configurationProperties == null )
108         {
109             this.configurationProperties = new HashMap<String, String>();
110         }
111         return configurationProperties;
112     }
113
114     public void setConfigurationProperties( Map<String, String> configurationProperties )
115     {
116         this.configurationProperties = configurationProperties;
117     }
118
119     public List<PropertyEntry> getConfigurationPropertiesEntries()
120     {
121         configurationPropertiesEntries = new ArrayList<PropertyEntry>( getConfigurationProperties().size() );
122         for ( Map.Entry<String, String> entry : getConfigurationProperties().entrySet() )
123         {
124             configurationPropertiesEntries.add( new PropertyEntry( entry.getKey(), entry.getValue() ) );
125         }
126         Collections.sort( configurationPropertiesEntries );
127         return configurationPropertiesEntries;
128     }
129
130     public void setConfigurationPropertiesEntries( List<PropertyEntry> configurationPropertiesEntries )
131     {
132         this.configurationPropertiesEntries = configurationPropertiesEntries;
133         if ( configurationPropertiesEntries != null )
134         {
135             this.configurationProperties = new HashMap<String, String>( configurationPropertiesEntries.size() );
136             for ( PropertyEntry propertyEntry : configurationPropertiesEntries )
137             {
138                 this.configurationProperties.put( propertyEntry.getKey(), propertyEntry.getValue() );
139             }
140         }
141     }
142
143     public boolean isUseUsersCache()
144     {
145         return useUsersCache;
146     }
147
148     public void setUseUsersCache( boolean useUsersCache )
149     {
150         this.useUsersCache = useUsersCache;
151     }
152
153     public CacheConfiguration getUsersCacheConfiguration()
154     {
155         return usersCacheConfiguration;
156     }
157
158     public void setUsersCacheConfiguration( CacheConfiguration usersCacheConfiguration )
159     {
160         this.usersCacheConfiguration = usersCacheConfiguration;
161     }
162
163     public List<String> getRbacManagerImpls()
164     {
165         return rbacManagerImpls;
166     }
167
168     public void setRbacManagerImpls( List<String> rbacManagerImpls )
169     {
170         this.rbacManagerImpls = rbacManagerImpls;
171     }
172
173     @Override
174     public String toString()
175     {
176         final StringBuilder sb = new StringBuilder();
177         sb.append( "RedbackRuntimeConfiguration" );
178         sb.append( "{userManagerImpls=" ).append( userManagerImpls );
179         sb.append( ", rbacManagerImpls=" ).append( rbacManagerImpls );
180         sb.append( ", ldapConfiguration=" ).append( ldapConfiguration );
181         sb.append( ", migratedFromRedbackConfiguration=" ).append( migratedFromRedbackConfiguration );
182         sb.append( ", configurationProperties=" ).append( configurationProperties );
183         sb.append( ", configurationPropertiesEntries=" ).append( configurationPropertiesEntries );
184         sb.append( ", useUsersCache=" ).append( useUsersCache );
185         sb.append( ", usersCacheConfiguration=" ).append( usersCacheConfiguration );
186         sb.append( '}' );
187         return sb.toString();
188     }
189 }