1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.profiler.rules.impl;
18
19 import org.apache.jetspeed.profiler.rules.RuleCriterion;
20 import org.apache.jetspeed.profiler.rules.RuleCriterionResolver;
21 import org.apache.jetspeed.request.RequestContext;
22
23 /***
24 * Hostname Resolver
25 *
26 * @author <a href="mailto:stalherm@goodgulf.net">Frank Stalherm</a>
27 * @version $Id:$
28 */
29 public class DomainCriterionResolver extends StandardResolver implements
30 RuleCriterionResolver
31 {
32
33
34
35
36
37
38 public boolean isControl(RuleCriterion criterion)
39 {
40 return false;
41 }
42
43
44
45
46
47
48 public boolean isNavigation(RuleCriterion criterion)
49 {
50 return true;
51 }
52
53 public String resolve(RequestContext context, RuleCriterion criterion)
54 {
55 return getDomain(context.getRequest().getServerName());
56 }
57
58 /***
59 * extracts the domain from the servername from RequestContext
60 *
61 * @param servername
62 * server name from request
63 * @return domain extracted from server name
64 */
65 public static String getDomain(String servername)
66 {
67 String domain = null;
68
69 if (servername != null)
70 {
71 int idx = servername.indexOf(".");
72 if (idx != -1)
73 {
74 domain = servername.substring(idx + 1, servername.length());
75 } else
76 {
77
78
79 idx = servername.indexOf(":");
80 if (idx != -1)
81 {
82
83
84 domain = "";
85 } else
86 {
87
88 domain = "";
89 }
90 }
91 }
92 return domain;
93 }
94
95 }