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