Converted to use separate wayf config file and sites config file.
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / wayf / WayfConfig.java
1 package edu.internet2.middleware.shibboleth.wayf;
2
3 import java.util.HashSet;
4
5 import org.apache.log4j.Logger;
6
7 /**
8  * Class used by the  WAYF service to determine runtime options
9  * Most of the fields of this class should have reasonable defaults set
10  * @author Walter Hoehn wassa@columbia.edu
11  */
12
13 public class WayfConfig {
14
15         private static Logger log = Logger.getLogger(WayfConfig.class.getName());
16
17         private String logoLocation = "images/internet2.gif";
18         private String supportContact = "mailto:shib-support@internet2.org";
19         private String helpText =
20                 "In order to fulfill the request for the  web resource you "
21                         + "have just chosen, information must first be obtained from "
22                         + "your home institution. Please select the institution with "
23                         + "which you are affiliated.";
24         private String searchResultEmptyText =
25                 "No institution found that matches your search " + "criteria, please try again.";
26         private HashSet ignoredForMatch = new HashSet();
27
28         private String cacheType = "COOKIES";
29
30         public WayfConfig() {
31                 super();
32         }
33
34         public String getSearchResultEmptyText() {
35                 return searchResultEmptyText;
36         }
37
38         public void setSearchResultEmptyText(String searchResultEmptyText) {
39                 this.searchResultEmptyText = searchResultEmptyText;
40         }
41
42         public String getHelpText() {
43                 return helpText;
44         }
45
46         public void setHelpText(String helpText) {
47                 this.helpText = helpText;
48         }
49
50         public String getSupportContact() {
51                 return supportContact;
52         }
53
54         public void setSupportContact(String supportContact) {
55                 this.supportContact = supportContact;
56         }
57
58         public String getLogoLocation() {
59                 return logoLocation;
60         }
61
62         public void setLogoLocation(String logoLocation) {
63                 this.logoLocation = logoLocation;
64         }
65
66         /**
67          * Determines if a particular string token should be used for matching when a user searches for origins.
68          * @param str The string to lookup
69          */
70         public boolean isIgnoredForMatch(String str) {
71
72                 if (ignoredForMatch.contains(str.toLowerCase())) {
73                         return true;
74                 } else {
75                         return false;
76                 }
77         }
78
79         /**
80          * Sets the tokens that should be ignored when a user searches for an origin site.
81          * @param s The ignored tokens are passed as a single string, each separated by whitespace
82          */
83         public void addIgnoredForMatch(String s) {
84
85                 ignoredForMatch.add(s.toLowerCase());
86         }
87
88         public String getCacheType() {
89                 return cacheType;
90         }
91
92         public void setCacheType(String cache) {
93                 if (cache.toUpperCase().equals("NONE")
94                         || cache.toUpperCase().equals("SESSION")
95                         || cache.toUpperCase().equals("COOKIES")) {
96                         this.cacheType = cache.toUpperCase();
97                 } else {
98                         log.warn("Cache type :" + cache + ": not recognized, using default.");
99                 }
100         }
101
102 }