Importing WAYF code
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / wayf / WayfConfig.java
1 package edu.internet2.middleware.shibboleth.wayf;
2
3 import java.util.Enumeration;
4 import java.util.HashSet;
5 import java.util.StringTokenizer;
6
7 import javax.servlet.ServletContext;
8
9 /**
10  * Class used by the  WAYF service to determine runtime options
11  * Most of the fields of this class should have reasonable defaults set
12  * @author        Walter Hoehn
13  */
14
15 public class WayfConfig {
16
17     private static WayfOrigins wd;
18     private static String location;
19     private static String logoLocation = "images/internet2.gif";
20     private static String supportContact = "mailto:shib-support@internet2.org";
21     private static String helpText =
22         "In order to fulfill the request for the  web resource you "
23             + "have just chosen, information must first be obtained from "
24             + "your home institution. Please select the institution with "
25             + "which you are affiliated.";
26     private static String searchResultEmptyText =
27         "No institution found that matches your search " + "criteria, please try again.";
28     private static HashSet ignoredForMatch = new HashSet();
29
30     private static String cache = "SESSION";
31
32     private static ServletContext servletContext;
33
34     /**
35      * Constructor for WayfConfig.
36      */
37     public WayfConfig() {
38         super();
39     }
40
41     /**
42      * Gets the wd.
43      * @return Returns a WayfOrigins
44      */
45     public static WayfOrigins getWAYFData() {
46         return wd;
47     }
48
49     /**
50      * Sets the wd.
51      * @param wd The wd to set
52      */
53     public void setWAYFData(WayfOrigins wd) {
54         WayfConfig.wd = wd;
55     }
56
57     /**
58      * Gets the searchResultEmptyText.
59      * @return Returns a String
60      */
61     public static String getSearchResultEmptyText() {
62         return searchResultEmptyText;
63     }
64
65     /**
66      * Sets the searchResultEmptyText.
67      * @param searchResultEmptyText The searchResultEmptyText to set
68      */
69     public void setSearchResultEmptyText(String searchResultEmptyText) {
70         WayfConfig.searchResultEmptyText = searchResultEmptyText;
71     }
72
73     /**
74      * Gets the helpText.
75      * @return Returns a String
76      */
77     public static String getHelpText() {
78         return helpText;
79     }
80
81     /**
82      * Sets the helpText.
83      * @param helpText The helpText to set
84      */
85     public void setHelpText(String helpText) {
86         WayfConfig.helpText = helpText;
87     }
88
89     /**
90      * Gets the supportContact.
91      * @return Returns a String
92      */
93     public static String getSupportContact() {
94         return supportContact;
95     }
96
97     /**
98      * Sets the supportContact.
99      * @param supportContact The supportContact to set
100      */
101     public void setSupportContact(String supportContact) {
102         WayfConfig.supportContact = supportContact;
103     }
104
105     /**
106      * Gets the logoLocation.
107      * @return Returns a String
108      */
109     public static String getLogoLocation() {
110         return logoLocation;
111     }
112
113     /**
114      * Sets the logoLocation.
115      * @param logoLocation The logoLocation to set
116      */
117     public void setLogoLocation(String logoLocation) {
118         WayfConfig.logoLocation = logoLocation;
119     }
120
121     /**
122      * Gets the location.
123      * @return Returns a String
124      */
125     public static String getLocation() {
126         return location;
127     }
128
129     /**
130      * Sets the location.
131      * @param location The location to set
132      */
133     public void setLocation(String location) {
134         WayfConfig.location = location;
135     }
136
137     /**
138      * Determines if a particular string token should be used for matching when a user searches for origins.
139      * @param str The string to lookup
140      */
141     public static boolean isIgnoredForMatch(String str) {
142
143         if (ignoredForMatch.contains(str.toLowerCase())) {
144             return true;
145         } else {
146             return false;
147         }
148     }
149
150     /**
151      * Sets the tokens that should be ignored when a user searches for an origin site.
152      * @param s The ignored tokens are passed as a single string, each separated by whitespace
153      */
154     public void addIgnoredForMatch(String s) {
155
156         ignoredForMatch.add(s.toLowerCase());
157     }
158
159     /**
160      * Gets the servletContext.
161      * @return Returns a ServletContext
162      */
163     public static ServletContext getServletContext() {
164         return servletContext;
165     }
166
167     /**
168      * Sets the servletContext.
169      * @param servletContext The servletContext to set
170      */
171     public static void setServletContext(ServletContext servletContext) {
172         WayfConfig.servletContext = servletContext;
173     }
174
175     /**
176      * Gets the cache.
177      * @return Returns a String
178      */
179     public static String getCache() {
180         return cache;
181     }
182
183     /**
184      * Sets the cache.
185      * @param cache The cache to set
186      */
187     public void setCache(String cache) {
188         if (cache.toUpperCase().equals("NONE")
189             || cache.toUpperCase().equals("SESSION")
190             || cache.toUpperCase().equals("COOKIES")) {
191             WayfConfig.cache = cache.toUpperCase();
192         } else {
193             getServletContext().log("Cache type :" + cache + ": not recognized, using default.");
194         }
195     }
196
197 }