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