This project has retired. For details please refer to its
Attic page.
ServletApplicationContext xref
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.tiles.request.servlet;
22
23 import java.net.MalformedURLException;
24 import java.net.URL;
25 import java.util.ArrayList;
26 import java.util.Collection;
27 import java.util.Locale;
28 import java.util.Map;
29
30 import javax.servlet.ServletContext;
31
32 import org.apache.tiles.request.ApplicationContext;
33 import org.apache.tiles.request.ApplicationResource;
34 import org.apache.tiles.request.collection.ReadOnlyEnumerationMap;
35 import org.apache.tiles.request.collection.ScopeMap;
36 import org.apache.tiles.request.locale.URLApplicationResource;
37 import org.apache.tiles.request.servlet.extractor.ApplicationScopeExtractor;
38 import org.apache.tiles.request.servlet.extractor.InitParameterExtractor;
39
40
41
42
43
44
45 public class ServletApplicationContext implements ApplicationContext {
46
47
48
49
50 private ServletContext servletContext;
51
52
53
54
55
56 private Map<String, Object> applicationScope = null;
57
58
59
60
61
62 private Map<String, String> initParam = null;
63
64
65
66
67
68
69 public ServletApplicationContext(ServletContext servletContext) {
70 this.servletContext = servletContext;
71 }
72
73
74 public Object getContext() {
75 return servletContext;
76 }
77
78
79 public Map<String, Object> getApplicationScope() {
80
81 if ((applicationScope == null) && (servletContext != null)) {
82 applicationScope = new ScopeMap(new ApplicationScopeExtractor(servletContext));
83 }
84 return (applicationScope);
85
86 }
87
88
89 public Map<String, String> getInitParams() {
90
91 if ((initParam == null) && (servletContext != null)) {
92 initParam = new ReadOnlyEnumerationMap<String>(new InitParameterExtractor(servletContext));
93 }
94 return (initParam);
95
96 }
97
98
99 public ApplicationResource getResource(String localePath) {
100 try {
101 URL url = servletContext.getResource(localePath);
102 if (url != null) {
103 return new URLApplicationResource(localePath, url);
104 } else {
105 return null;
106 }
107 } catch (MalformedURLException e) {
108 return null;
109 }
110 }
111
112
113 public ApplicationResource getResource(ApplicationResource base, Locale locale) {
114 try {
115 URL url = servletContext.getResource(base.getLocalePath(locale));
116 if (url != null) {
117 return new URLApplicationResource(base.getPath(), locale, url);
118 } else {
119 return null;
120 }
121 } catch (MalformedURLException e) {
122 return null;
123 }
124 }
125
126
127 public Collection<ApplicationResource> getResources(String path) {
128 ArrayList<ApplicationResource> resources = new ArrayList<ApplicationResource>();
129 resources.add(getResource(path));
130 return resources;
131 }
132 }