1
14
15 package com.liferay.portal.model.impl;
16
17 import com.liferay.portal.kernel.util.StringPool;
18 import com.liferay.portal.kernel.util.StringUtil;
19 import com.liferay.portal.kernel.util.Validator;
20 import com.liferay.portal.kernel.xml.QName;
21 import com.liferay.portal.model.EventDefinition;
22 import com.liferay.portal.model.Portlet;
23 import com.liferay.portal.model.PortletApp;
24 import com.liferay.portal.model.PortletFilter;
25 import com.liferay.portal.model.PortletURLListener;
26 import com.liferay.portal.model.PublicRenderParameter;
27 import com.liferay.portal.model.SpriteImage;
28 import com.liferay.util.UniqueList;
29
30 import java.util.HashMap;
31 import java.util.Iterator;
32 import java.util.LinkedHashMap;
33 import java.util.LinkedHashSet;
34 import java.util.List;
35 import java.util.Map;
36 import java.util.Properties;
37 import java.util.Set;
38
39 import javax.xml.XMLConstants;
40
41
46 public class PortletAppImpl implements PortletApp {
47
48 public PortletAppImpl(String servletContextName) {
49 _servletContextName = servletContextName;
50
51 if (Validator.isNotNull(_servletContextName)) {
52 _warFile = true;
53 }
54 else {
55 _warFile = false;
56 }
57 }
58
59 public void addEventDefinition(EventDefinition eventDefinition) {
60 _eventDefinitions.add(eventDefinition);
61 }
62
63 public void addPortlet(Portlet portlet) {
64 _portlets.add(portlet);
65 }
66
67 public void addPortletFilter(PortletFilter portletFilter) {
68 _portletFilters.add(portletFilter);
69 _portletFiltersByFilterName.put(
70 portletFilter.getFilterName(), portletFilter);
71 }
72
73 public void addPortletURLListener(PortletURLListener portletURLListener) {
74 _portletURLListeners.add(portletURLListener);
75 _portletURLListenersByListenerClass.put(
76 portletURLListener.getListenerClass(), portletURLListener);
77 }
78
79 public void addPublicRenderParameter(
80 PublicRenderParameter publicRenderParameter) {
81
82 _publicRenderParameters.add(publicRenderParameter);
83 _publicRenderParametersByIdentifier.put(
84 publicRenderParameter.getIdentifier(), publicRenderParameter);
85 }
86
87 public void addPublicRenderParameter(String identifier, QName qName) {
88 PublicRenderParameter publicRenderParameter =
89 new PublicRenderParameterImpl(identifier, qName, this);
90
91 addPublicRenderParameter(publicRenderParameter);
92 }
93
94 public void addServletURLPatterns(Set<String> servletURLPatterns) {
95 _servletURLPatterns.addAll(servletURLPatterns);
96 }
97
98 public Map<String, String[]> getContainerRuntimeOptions() {
99 return _containerRuntimeOptions;
100 }
101
102 public Map<String, String> getCustomUserAttributes() {
103 return _customUserAttributes;
104 }
105
106 public String getDefaultNamespace() {
107 return _defaultNamespace;
108 }
109
110 public PortletFilter getPortletFilter(String filterName) {
111 return _portletFiltersByFilterName.get(filterName);
112 }
113
114 public Set<PortletFilter> getPortletFilters() {
115 return _portletFilters;
116 }
117
118 public List<Portlet> getPortlets() {
119 return _portlets;
120 }
121
122 public PortletURLListener getPortletURLListener(String listenerClass) {
123 return _portletURLListenersByListenerClass.get(listenerClass);
124 }
125
126 public Set<PortletURLListener> getPortletURLListeners() {
127 return _portletURLListeners;
128 }
129
130 public PublicRenderParameter getPublicRenderParameter(String identifier) {
131 return _publicRenderParametersByIdentifier.get(identifier);
132 }
133
134 public String getServletContextName() {
135 return _servletContextName;
136 }
137
138 public Set<String> getServletURLPatterns() {
139 return _servletURLPatterns;
140 }
141
142 public SpriteImage getSpriteImage(String fileName) {
143 return _spriteImagesMap.get(fileName);
144 }
145
146 public Set<String> getUserAttributes() {
147 return _userAttributes;
148 }
149
150 public boolean isWARFile() {
151 return _warFile;
152 }
153
154 public void setDefaultNamespace(String defaultNamespace) {
155 _defaultNamespace = defaultNamespace;
156 }
157
158 public void setSpriteImages(
159 String spriteFileName, Properties properties) {
160
161 Iterator<Map.Entry<Object, Object>> itr =
162 properties.entrySet().iterator();
163
164 while (itr.hasNext()) {
165 Map.Entry<Object, Object> entry = itr.next();
166
167 String key = (String)entry.getKey();
168 String value = (String)entry.getValue();
169
170 int[] values = StringUtil.split(value, 0);
171
172 int offset = values[0];
173 int height = values[1];
174 int width = values[2];
175
176 SpriteImage spriteImage = new SpriteImage(
177 spriteFileName, key, offset, height, width);
178
179 _spriteImagesMap.put(key, spriteImage);
180 }
181 }
182
183 public void setWARFile(boolean warFile) {
184 _warFile = warFile;
185 }
186
187 private Map<String, String[]> _containerRuntimeOptions =
188 new HashMap<String, String[]>();
189 private Map<String, String> _customUserAttributes =
190 new LinkedHashMap<String, String>();
191 private String _defaultNamespace = XMLConstants.NULL_NS_URI;
192 private Set<EventDefinition> _eventDefinitions =
193 new LinkedHashSet<EventDefinition>();
194 private Set<PortletFilter> _portletFilters =
195 new LinkedHashSet<PortletFilter>();
196 private Map<String, PortletFilter> _portletFiltersByFilterName =
197 new HashMap<String, PortletFilter>();
198 private List<Portlet> _portlets = new UniqueList<Portlet>();
199 private Set<PortletURLListener> _portletURLListeners =
200 new LinkedHashSet<PortletURLListener>();
201 private Map<String, PortletURLListener>
202 _portletURLListenersByListenerClass =
203 new HashMap<String, PortletURLListener>();
204 private Set<PublicRenderParameter> _publicRenderParameters =
205 new LinkedHashSet<PublicRenderParameter>();
206 private Map<String, PublicRenderParameter>
207 _publicRenderParametersByIdentifier =
208 new HashMap<String, PublicRenderParameter>();
209 private String _servletContextName = StringPool.BLANK;
210 private Set<String> _servletURLPatterns = new LinkedHashSet<String>();
211 private Map<String, SpriteImage> _spriteImagesMap =
212 new HashMap<String, SpriteImage>();
213 private Set<String> _userAttributes = new LinkedHashSet<String>();
214 private boolean _warFile;
215
216 }