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