Moved java src to apache license.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / wayf / WayfConfig.java
1 /*
2  * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package edu.internet2.middleware.shibboleth.wayf;
18
19 import java.util.HashSet;
20
21 import org.apache.log4j.Logger;
22
23 /**
24  * Class used by the WAYF service to determine runtime options Most of the fields of this class should have reasonable
25  * defaults.
26  * 
27  * @author Walter Hoehn wassa@columbia.edu
28  */
29
30 public class WayfConfig {
31
32         private static Logger log = Logger.getLogger(WayfConfig.class.getName());
33
34         private String logoLocation = "images/internet2.gif";
35         private String supportContact = "mailto:shib-support@internet2.org";
36         private String helpText = "In order to fulfill the request for the  web resource you "
37                         + "have just chosen, information must first be obtained from "
38                         + "your home institution. Please select the institution with " + "which you are affiliated.";
39         private String searchResultEmptyText = "No institution found that matches your search "
40                         + "criteria, please try again.";
41         private HashSet ignoredForMatch = new HashSet();
42         private int cacheExpiration;
43         private String cacheDomain;
44         private String cacheType = "COOKIES";
45
46         public WayfConfig() {
47
48                 super();
49         }
50
51         public String getSearchResultEmptyText() {
52
53                 return searchResultEmptyText;
54         }
55
56         public void setSearchResultEmptyText(String searchResultEmptyText) {
57
58                 this.searchResultEmptyText = searchResultEmptyText;
59         }
60
61         public String getHelpText() {
62
63                 return helpText;
64         }
65
66         public void setHelpText(String helpText) {
67
68                 this.helpText = helpText;
69         }
70
71         public String getSupportContact() {
72
73                 return supportContact;
74         }
75
76         public void setSupportContact(String supportContact) {
77
78                 this.supportContact = supportContact;
79         }
80
81         public String getLogoLocation() {
82
83                 return logoLocation;
84         }
85
86         public void setLogoLocation(String logoLocation) {
87
88                 this.logoLocation = logoLocation;
89         }
90
91         /**
92          * Determines if a particular string token should be used for matching when a user searches for origins.
93          * 
94          * @param str
95          *            The string to lookup
96          */
97         public boolean isIgnoredForMatch(String str) {
98
99                 if (ignoredForMatch.contains(str.toLowerCase())) {
100                         return true;
101                 } else {
102                         return false;
103                 }
104         }
105
106         /**
107          * Sets the tokens that should be ignored when a user searches for an origin site.
108          * 
109          * @param s
110          *            The ignored tokens are passed as a single string, each separated by whitespace
111          */
112         public void addIgnoredForMatch(String s) {
113
114                 ignoredForMatch.add(s.toLowerCase());
115         }
116
117         public String getCacheType() {
118
119                 return cacheType;
120         }
121
122         public void setCacheType(String cache) {
123
124                 if (cache.toUpperCase().equals("NONE") || cache.toUpperCase().equals("SESSION")
125                                 || cache.toUpperCase().equals("COOKIES")) {
126                         this.cacheType = cache.toUpperCase();
127                 } else {
128                         log.warn("Cache type :" + cache + ": not recognized, using default.");
129                 }
130         }
131
132         /**
133          * Returns the cacheDomain.
134          * 
135          * @return String
136          */
137         public String getCacheDomain() {
138
139                 return cacheDomain;
140         }
141
142         /**
143          * Returns the cacheExpiration.
144          * 
145          * @return int
146          */
147         public int getCacheExpiration() {
148
149                 return cacheExpiration;
150         }
151
152         /**
153          * Sets the cacheDomain.
154          * 
155          * @param cacheDomain
156          *            The cacheDomain to set
157          */
158         public void setCacheDomain(String cacheDomain) {
159
160                 this.cacheDomain = cacheDomain;
161         }
162
163         /**
164          * Sets the cacheExpiration.
165          * 
166          * @param cacheExpiration
167          *            The cacheExpiration to set
168          */
169         public void setCacheExpiration(int cacheExpiration) {
170
171                 this.cacheExpiration = cacheExpiration;
172         }
173
174 }