Commit ddf2a6e8c2865b9d03b7bd3546958cf688d0e98d

Authored by Cleverson Sacramento
1 parent d340702b
Exists in master

Diversos ajustes no framework referentes à serialização de objetos

internos
Showing 42 changed files with 2694 additions and 1907 deletions   Show diff stats
archetype/jsf-jpa/src/main/resources/archetype-resources/src/main/java/persistence/BookmarkDAO.java
@@ -14,8 +14,4 @@ public class BookmarkDAO extends JPACrud<Bookmark, Long> { @@ -14,8 +14,4 @@ public class BookmarkDAO extends JPACrud<Bookmark, Long> {
14 14
15 private static final long serialVersionUID = 1L; 15 private static final long serialVersionUID = 1L;
16 16
17 - @Inject  
18 - @SuppressWarnings("unused")  
19 - private Logger logger;  
20 -  
21 } 17 }
archetype/jsf-jpa/src/main/resources/archetype-resources/src/main/resources/demoiselle.properties
1 -# Demoiselle Framework  
2 -# Copyright (C) 2010 SERPRO  
3 -# ----------------------------------------------------------------------------  
4 -# This file is part of Demoiselle Framework.  
5 -#  
6 -# Demoiselle Framework is free software; you can redistribute it and/or  
7 -# modify it under the terms of the GNU Lesser General Public License version 3  
8 -# as published by the Free Software Foundation.  
9 -#  
10 -# This program is distributed in the hope that it will be useful,  
11 -# but WITHOUT ANY WARRANTY; without even the implied warranty of  
12 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
13 -# GNU General Public License for more details.  
14 -#  
15 -# You should have received a copy of the GNU Lesser General Public License version 3  
16 -# along with this program; if not, see <http://www.gnu.org/licenses/>  
17 -# or write to the Free Software Foundation, Inc., 51 Franklin Street,  
18 -# Fifth Floor, Boston, MA 02110-1301, USA.  
19 -# ----------------------------------------------------------------------------  
20 -# Este arquivo é parte do Framework Demoiselle.  
21 -#  
22 -# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou  
23 -# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação  
24 -# do Software Livre (FSF).  
25 -#  
26 -# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA  
27 -# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou  
28 -# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português  
29 -# para maiores detalhes.  
30 -#  
31 -# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título  
32 -# "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>  
33 -# ou escreva para a Fundação do Software Livre (FSF) Inc.,  
34 -# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.  
35 -  
36 frameworkdemoiselle.transaction.class=br.gov.frameworkdemoiselle.transaction.JPATransaction 1 frameworkdemoiselle.transaction.class=br.gov.frameworkdemoiselle.transaction.JPATransaction
37 #frameworkdemoiselle.transaction.class=br.gov.frameworkdemoiselle.transaction.JTATransaction 2 #frameworkdemoiselle.transaction.class=br.gov.frameworkdemoiselle.transaction.JTATransaction
archetype/jsf-jpa/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/web.xml
@@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
3 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 3 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
4 version="3.0"> 4 version="3.0">
5 5
6 - <!-- If you are using tomcat6/tomcat7 then uncomment this listener --> 6 + <!-- If you are using tomcat6/tomcat7/gae then uncomment this listener -->
7 <!-- 7 <!--
8 <listener> 8 <listener>
9 <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class> 9 <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
@@ -13,8 +13,16 @@ @@ -13,8 +13,16 @@
13 <!-- If you are using servlet 2.5 then uncomment this listener --> 13 <!-- If you are using servlet 2.5 then uncomment this listener -->
14 <!-- 14 <!--
15 <listener> 15 <listener>
16 - <listener-class>br.gov.frameworkdemoiselle.util.ServletContextListener</listener-class> 16 + <listener-class>br.gov.frameworkdemoiselle.util.ServletListener</listener-class>
17 </listener> 17 </listener>
  18 + <filter>
  19 + <filter-name>Demoiselle Servlet Filter</filter-name>
  20 + <filter-class>br.gov.frameworkdemoiselle.util.ServletFilter</filter-class>
  21 + </filter>
  22 + <filter-mapping>
  23 + <filter-name>Demoiselle Servlet Filter</filter-name>
  24 + <url-pattern>/*</url-pattern>
  25 + </filter-mapping>
18 --> 26 -->
19 27
20 <servlet> 28 <servlet>
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoader.java
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.configuration; 37 package br.gov.frameworkdemoiselle.internal.configuration;
38 38
  39 +import java.io.Serializable;
39 import java.lang.reflect.Field; 40 import java.lang.reflect.Field;
40 import java.lang.reflect.Method; 41 import java.lang.reflect.Method;
41 import java.util.HashSet; 42 import java.util.HashSet;
@@ -67,7 +68,9 @@ import br.gov.frameworkdemoiselle.util.Strings; @@ -67,7 +68,9 @@ import br.gov.frameworkdemoiselle.util.Strings;
67 * 68 *
68 * @author SERPRO 69 * @author SERPRO
69 */ 70 */
70 -public class ConfigurationLoader { 71 +public class ConfigurationLoader implements Serializable {
  72 +
  73 + private static final long serialVersionUID = 1L;
71 74
72 @Inject 75 @Inject
73 @Name("demoiselle-core-bundle") 76 @Name("demoiselle-core-bundle")
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/LoggerProducer.java
@@ -55,7 +55,6 @@ import javax.enterprise.inject.Produces; @@ -55,7 +55,6 @@ import javax.enterprise.inject.Produces;
55 import javax.enterprise.inject.spi.InjectionPoint; 55 import javax.enterprise.inject.spi.InjectionPoint;
56 56
57 import org.slf4j.Logger; 57 import org.slf4j.Logger;
58 -import org.slf4j.LoggerFactory;  
59 58
60 import br.gov.frameworkdemoiselle.internal.proxy.Slf4jLoggerProxy; 59 import br.gov.frameworkdemoiselle.internal.proxy.Slf4jLoggerProxy;
61 60
@@ -78,6 +77,6 @@ public class LoggerProducer implements Serializable { @@ -78,6 +77,6 @@ public class LoggerProducer implements Serializable {
78 } 77 }
79 78
80 public static <T> Logger create(Class<T> type) { 79 public static <T> Logger create(Class<T> type) {
81 - return new Slf4jLoggerProxy(LoggerFactory.getLogger(type)); 80 + return new Slf4jLoggerProxy(type);
82 } 81 }
83 } 82 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java
@@ -67,8 +67,7 @@ public class ResourceBundleProducer implements Serializable { @@ -67,8 +67,7 @@ public class ResourceBundleProducer implements Serializable {
67 ResourceBundle bundle = null; 67 ResourceBundle bundle = null;
68 68
69 try { 69 try {
70 - ClassLoader classLoader = Thread.currentThread().getContextClassLoader();  
71 - bundle = new ResourceBundle(ResourceBundle.getBundle(baseName, locale, classLoader)); 70 + bundle = new ResourceBundle(baseName, locale);
72 71
73 } catch (MissingResourceException e) { 72 } catch (MissingResourceException e) {
74 throw new DemoiselleException("File " + baseName + " not found!"); 73 throw new DemoiselleException("File " + baseName + " not found!");
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/Slf4jLoggerProxy.java
@@ -51,321 +51,332 @@ package br.gov.frameworkdemoiselle.internal.proxy; @@ -51,321 +51,332 @@ package br.gov.frameworkdemoiselle.internal.proxy;
51 import java.io.Serializable; 51 import java.io.Serializable;
52 52
53 import org.slf4j.Logger; 53 import org.slf4j.Logger;
  54 +import org.slf4j.LoggerFactory;
54 import org.slf4j.Marker; 55 import org.slf4j.Marker;
55 56
56 public class Slf4jLoggerProxy implements Logger, Serializable { 57 public class Slf4jLoggerProxy implements Logger, Serializable {
57 58
58 private static final long serialVersionUID = 1L; 59 private static final long serialVersionUID = 1L;
59 60
60 - private transient final Logger delegate; 61 + private transient Logger delegate;
61 62
62 - public Slf4jLoggerProxy(final Logger logger) {  
63 - this.delegate = logger; 63 + private final Class<?> type;
  64 +
  65 + private Logger getDelegate() {
  66 + if(delegate == null) {
  67 + delegate = LoggerFactory.getLogger(type);
  68 + }
  69 +
  70 + return delegate;
  71 + }
  72 +
  73 + public Slf4jLoggerProxy(final Class<?> type) {
  74 + this.type = type;
64 } 75 }
65 76
66 @Override 77 @Override
67 public void debug(final Marker marker, final String msg) { 78 public void debug(final Marker marker, final String msg) {
68 - this.delegate.debug(marker, msg); 79 + getDelegate().debug(marker, msg);
69 } 80 }
70 81
71 @Override 82 @Override
72 public void debug(final Marker marker, final String format, final Object arg) { 83 public void debug(final Marker marker, final String format, final Object arg) {
73 - this.delegate.debug(marker, format, arg); 84 + getDelegate().debug(marker, format, arg);
74 } 85 }
75 86
76 @Override 87 @Override
77 public void debug(final Marker marker, final String format, final Object arg1, final Object arg2) { 88 public void debug(final Marker marker, final String format, final Object arg1, final Object arg2) {
78 - this.delegate.debug(marker, format, arg1, arg2); 89 + getDelegate().debug(marker, format, arg1, arg2);
79 } 90 }
80 91
81 @Override 92 @Override
82 public void debug(final Marker marker, final String format, final Object[] argArray) { 93 public void debug(final Marker marker, final String format, final Object[] argArray) {
83 - this.delegate.debug(marker, format, argArray); 94 + getDelegate().debug(marker, format, argArray);
84 } 95 }
85 96
86 @Override 97 @Override
87 public void debug(final Marker marker, final String msg, final Throwable t) { 98 public void debug(final Marker marker, final String msg, final Throwable t) {
88 - this.delegate.debug(marker, msg, t); 99 + getDelegate().debug(marker, msg, t);
89 } 100 }
90 101
91 @Override 102 @Override
92 public void debug(final String msg) { 103 public void debug(final String msg) {
93 - this.delegate.debug(msg); 104 + getDelegate().debug(msg);
94 } 105 }
95 106
96 @Override 107 @Override
97 public void debug(final String format, final Object arg) { 108 public void debug(final String format, final Object arg) {
98 - this.delegate.debug(format, arg); 109 + getDelegate().debug(format, arg);
99 } 110 }
100 111
101 @Override 112 @Override
102 public void debug(final String format, final Object arg1, final Object arg2) { 113 public void debug(final String format, final Object arg1, final Object arg2) {
103 - this.delegate.debug(format, arg1, arg2); 114 + getDelegate().debug(format, arg1, arg2);
104 } 115 }
105 116
106 @Override 117 @Override
107 public void debug(final String format, final Object[] argArray) { 118 public void debug(final String format, final Object[] argArray) {
108 - this.delegate.debug(format, argArray); 119 + getDelegate().debug(format, argArray);
109 } 120 }
110 121
111 @Override 122 @Override
112 public void debug(final String msg, final Throwable t) { 123 public void debug(final String msg, final Throwable t) {
113 - this.delegate.debug(msg, t); 124 + getDelegate().debug(msg, t);
114 } 125 }
115 126
116 @Override 127 @Override
117 public void error(final Marker marker, final String msg) { 128 public void error(final Marker marker, final String msg) {
118 - this.delegate.error(marker, msg); 129 + getDelegate().error(marker, msg);
119 } 130 }
120 131
121 @Override 132 @Override
122 public void error(final Marker marker, final String format, final Object arg) { 133 public void error(final Marker marker, final String format, final Object arg) {
123 - this.delegate.error(marker, format, arg); 134 + getDelegate().error(marker, format, arg);
124 } 135 }
125 136
126 @Override 137 @Override
127 public void error(final Marker marker, final String format, final Object arg1, final Object arg2) { 138 public void error(final Marker marker, final String format, final Object arg1, final Object arg2) {
128 - this.delegate.error(marker, format, arg1, arg2); 139 + getDelegate().error(marker, format, arg1, arg2);
129 } 140 }
130 141
131 @Override 142 @Override
132 public void error(final Marker marker, final String format, final Object[] argArray) { 143 public void error(final Marker marker, final String format, final Object[] argArray) {
133 - this.delegate.error(marker, format, argArray); 144 + getDelegate().error(marker, format, argArray);
134 } 145 }
135 146
136 @Override 147 @Override
137 public void error(final Marker marker, final String msg, final Throwable t) { 148 public void error(final Marker marker, final String msg, final Throwable t) {
138 - this.delegate.error(marker, msg, t); 149 + getDelegate().error(marker, msg, t);
139 } 150 }
140 151
141 @Override 152 @Override
142 public void error(final String msg) { 153 public void error(final String msg) {
143 - this.delegate.error(msg); 154 + getDelegate().error(msg);
144 } 155 }
145 156
146 @Override 157 @Override
147 public void error(final String format, final Object arg) { 158 public void error(final String format, final Object arg) {
148 - this.delegate.error(format, arg); 159 + getDelegate().error(format, arg);
149 } 160 }
150 161
151 @Override 162 @Override
152 public void error(final String format, final Object arg1, final Object arg2) { 163 public void error(final String format, final Object arg1, final Object arg2) {
153 - this.delegate.error(format, arg1, arg2); 164 + getDelegate().error(format, arg1, arg2);
154 } 165 }
155 166
156 @Override 167 @Override
157 public void error(final String format, final Object[] argArray) { 168 public void error(final String format, final Object[] argArray) {
158 - this.delegate.error(format, argArray); 169 + getDelegate().error(format, argArray);
159 } 170 }
160 171
161 @Override 172 @Override
162 public void error(final String msg, final Throwable t) { 173 public void error(final String msg, final Throwable t) {
163 - this.delegate.error(msg, t); 174 + getDelegate().error(msg, t);
164 } 175 }
165 176
166 @Override 177 @Override
167 public String getName() { 178 public String getName() {
168 - return this.delegate.getName(); 179 + return getDelegate().getName();
169 } 180 }
170 181
171 @Override 182 @Override
172 public void info(final Marker marker, final String msg) { 183 public void info(final Marker marker, final String msg) {
173 - this.delegate.info(marker, msg); 184 + getDelegate().info(marker, msg);
174 } 185 }
175 186
176 @Override 187 @Override
177 public void info(final Marker marker, final String format, final Object arg) { 188 public void info(final Marker marker, final String format, final Object arg) {
178 - this.delegate.info(marker, format, arg); 189 + getDelegate().info(marker, format, arg);
179 } 190 }
180 191
181 @Override 192 @Override
182 public void info(final Marker marker, final String format, final Object arg1, final Object arg2) { 193 public void info(final Marker marker, final String format, final Object arg1, final Object arg2) {
183 - this.delegate.info(marker, format, arg1, arg2); 194 + getDelegate().info(marker, format, arg1, arg2);
184 } 195 }
185 196
186 @Override 197 @Override
187 public void info(final Marker marker, final String format, final Object[] argArray) { 198 public void info(final Marker marker, final String format, final Object[] argArray) {
188 - this.delegate.info(marker, format, argArray); 199 + getDelegate().info(marker, format, argArray);
189 } 200 }
190 201
191 @Override 202 @Override
192 public void info(final Marker marker, final String msg, final Throwable t) { 203 public void info(final Marker marker, final String msg, final Throwable t) {
193 - this.delegate.info(marker, msg, t); 204 + getDelegate().info(marker, msg, t);
194 } 205 }
195 206
196 @Override 207 @Override
197 public void info(final String msg) { 208 public void info(final String msg) {
198 - this.delegate.info(msg); 209 + getDelegate().info(msg);
199 } 210 }
200 211
201 @Override 212 @Override
202 public void info(final String format, final Object arg) { 213 public void info(final String format, final Object arg) {
203 - this.delegate.info(format, arg); 214 + getDelegate().info(format, arg);
204 } 215 }
205 216
206 @Override 217 @Override
207 public void info(final String format, final Object arg1, final Object arg2) { 218 public void info(final String format, final Object arg1, final Object arg2) {
208 - this.delegate.info(format, arg1, arg2); 219 + getDelegate().info(format, arg1, arg2);
209 } 220 }
210 221
211 @Override 222 @Override
212 public void info(final String format, final Object[] argArray) { 223 public void info(final String format, final Object[] argArray) {
213 - this.delegate.info(format, argArray); 224 + getDelegate().info(format, argArray);
214 } 225 }
215 226
216 @Override 227 @Override
217 public void info(final String msg, final Throwable t) { 228 public void info(final String msg, final Throwable t) {
218 - this.delegate.info(msg, t); 229 + getDelegate().info(msg, t);
219 } 230 }
220 231
221 @Override 232 @Override
222 public boolean isDebugEnabled() { 233 public boolean isDebugEnabled() {
223 - return this.delegate.isDebugEnabled(); 234 + return getDelegate().isDebugEnabled();
224 } 235 }
225 236
226 @Override 237 @Override
227 public boolean isDebugEnabled(final Marker marker) { 238 public boolean isDebugEnabled(final Marker marker) {
228 - return this.delegate.isDebugEnabled(marker); 239 + return getDelegate().isDebugEnabled(marker);
229 } 240 }
230 241
231 @Override 242 @Override
232 public boolean isErrorEnabled() { 243 public boolean isErrorEnabled() {
233 - return this.delegate.isErrorEnabled(); 244 + return getDelegate().isErrorEnabled();
234 } 245 }
235 246
236 @Override 247 @Override
237 public boolean isErrorEnabled(final Marker marker) { 248 public boolean isErrorEnabled(final Marker marker) {
238 - return this.delegate.isErrorEnabled(marker); 249 + return getDelegate().isErrorEnabled(marker);
239 } 250 }
240 251
241 @Override 252 @Override
242 public boolean isInfoEnabled() { 253 public boolean isInfoEnabled() {
243 - return this.delegate.isInfoEnabled(); 254 + return getDelegate().isInfoEnabled();
244 } 255 }
245 256
246 @Override 257 @Override
247 public boolean isInfoEnabled(final Marker marker) { 258 public boolean isInfoEnabled(final Marker marker) {
248 - return this.delegate.isInfoEnabled(marker); 259 + return getDelegate().isInfoEnabled(marker);
249 } 260 }
250 261
251 @Override 262 @Override
252 public boolean isTraceEnabled() { 263 public boolean isTraceEnabled() {
253 - return this.delegate.isTraceEnabled(); 264 + return getDelegate().isTraceEnabled();
254 } 265 }
255 266
256 @Override 267 @Override
257 public boolean isTraceEnabled(final Marker marker) { 268 public boolean isTraceEnabled(final Marker marker) {
258 - return this.delegate.isTraceEnabled(marker); 269 + return getDelegate().isTraceEnabled(marker);
259 } 270 }
260 271
261 @Override 272 @Override
262 public boolean isWarnEnabled() { 273 public boolean isWarnEnabled() {
263 - return this.delegate.isWarnEnabled(); 274 + return getDelegate().isWarnEnabled();
264 } 275 }
265 276
266 @Override 277 @Override
267 public boolean isWarnEnabled(final Marker marker) { 278 public boolean isWarnEnabled(final Marker marker) {
268 - return this.delegate.isWarnEnabled(marker); 279 + return getDelegate().isWarnEnabled(marker);
269 } 280 }
270 281
271 @Override 282 @Override
272 public void trace(final Marker marker, final String msg) { 283 public void trace(final Marker marker, final String msg) {
273 - this.delegate.trace(marker, msg); 284 + getDelegate().trace(marker, msg);
274 } 285 }
275 286
276 @Override 287 @Override
277 public void trace(final Marker marker, final String format, final Object arg) { 288 public void trace(final Marker marker, final String format, final Object arg) {
278 - this.delegate.trace(marker, format, arg); 289 + getDelegate().trace(marker, format, arg);
279 } 290 }
280 291
281 @Override 292 @Override
282 public void trace(final Marker marker, final String format, final Object arg1, final Object arg2) { 293 public void trace(final Marker marker, final String format, final Object arg1, final Object arg2) {
283 - this.delegate.trace(marker, format, arg1, arg2); 294 + getDelegate().trace(marker, format, arg1, arg2);
284 } 295 }
285 296
286 @Override 297 @Override
287 public void trace(final Marker marker, final String format, final Object[] argArray) { 298 public void trace(final Marker marker, final String format, final Object[] argArray) {
288 - this.delegate.trace(marker, format, argArray); 299 + getDelegate().trace(marker, format, argArray);
289 } 300 }
290 301
291 @Override 302 @Override
292 public void trace(final Marker marker, final String msg, final Throwable t) { 303 public void trace(final Marker marker, final String msg, final Throwable t) {
293 - this.delegate.trace(marker, msg, t); 304 + getDelegate().trace(marker, msg, t);
294 } 305 }
295 306
296 @Override 307 @Override
297 public void trace(final String msg) { 308 public void trace(final String msg) {
298 - this.delegate.trace(msg); 309 + getDelegate().trace(msg);
299 } 310 }
300 311
301 @Override 312 @Override
302 public void trace(final String format, final Object arg) { 313 public void trace(final String format, final Object arg) {
303 - this.delegate.trace(format, arg); 314 + getDelegate().trace(format, arg);
304 } 315 }
305 316
306 @Override 317 @Override
307 public void trace(final String format, final Object arg1, final Object arg2) { 318 public void trace(final String format, final Object arg1, final Object arg2) {
308 - this.delegate.trace(format, arg1, arg2); 319 + getDelegate().trace(format, arg1, arg2);
309 } 320 }
310 321
311 @Override 322 @Override
312 public void trace(final String format, final Object[] argArray) { 323 public void trace(final String format, final Object[] argArray) {
313 - this.delegate.trace(format, argArray); 324 + getDelegate().trace(format, argArray);
314 } 325 }
315 326
316 @Override 327 @Override
317 public void trace(final String msg, final Throwable t) { 328 public void trace(final String msg, final Throwable t) {
318 - this.delegate.trace(msg, t); 329 + getDelegate().trace(msg, t);
319 } 330 }
320 331
321 @Override 332 @Override
322 public void warn(final Marker marker, final String msg) { 333 public void warn(final Marker marker, final String msg) {
323 - this.delegate.warn(marker, msg); 334 + getDelegate().warn(marker, msg);
324 } 335 }
325 336
326 @Override 337 @Override
327 public void warn(final Marker marker, final String format, final Object arg) { 338 public void warn(final Marker marker, final String format, final Object arg) {
328 - this.delegate.warn(marker, format, arg); 339 + getDelegate().warn(marker, format, arg);
329 } 340 }
330 341
331 @Override 342 @Override
332 public void warn(final Marker marker, final String format, final Object arg1, final Object arg2) { 343 public void warn(final Marker marker, final String format, final Object arg1, final Object arg2) {
333 - this.delegate.warn(marker, format, arg1, arg2); 344 + getDelegate().warn(marker, format, arg1, arg2);
334 } 345 }
335 346
336 @Override 347 @Override
337 public void warn(final Marker marker, final String format, final Object[] argArray) { 348 public void warn(final Marker marker, final String format, final Object[] argArray) {
338 - this.delegate.warn(marker, format, argArray); 349 + getDelegate().warn(marker, format, argArray);
339 } 350 }
340 351
341 @Override 352 @Override
342 public void warn(final Marker marker, final String msg, final Throwable t) { 353 public void warn(final Marker marker, final String msg, final Throwable t) {
343 - this.delegate.warn(marker, msg, t); 354 + getDelegate().warn(marker, msg, t);
344 } 355 }
345 356
346 @Override 357 @Override
347 public void warn(final String msg) { 358 public void warn(final String msg) {
348 - this.delegate.warn(msg); 359 + getDelegate().warn(msg);
349 } 360 }
350 361
351 @Override 362 @Override
352 public void warn(final String format, final Object arg) { 363 public void warn(final String format, final Object arg) {
353 - this.delegate.warn(format, arg); 364 + getDelegate().warn(format, arg);
354 } 365 }
355 366
356 @Override 367 @Override
357 public void warn(final String format, final Object arg1, final Object arg2) { 368 public void warn(final String format, final Object arg1, final Object arg2) {
358 - this.delegate.warn(format, arg1, arg2); 369 + getDelegate().warn(format, arg1, arg2);
359 } 370 }
360 371
361 @Override 372 @Override
362 public void warn(final String format, final Object[] argArray) { 373 public void warn(final String format, final Object[] argArray) {
363 - this.delegate.warn(format, argArray); 374 + getDelegate().warn(format, argArray);
364 } 375 }
365 376
366 @Override 377 @Override
367 public void warn(final String msg, final Throwable t) { 378 public void warn(final String msg, final Throwable t) {
368 - this.delegate.warn(msg, t); 379 + getDelegate().warn(msg, t);
369 } 380 }
370 381
371 } 382 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/template/DelegateCrud.java
@@ -39,6 +39,8 @@ package br.gov.frameworkdemoiselle.template; @@ -39,6 +39,8 @@ package br.gov.frameworkdemoiselle.template;
39 import java.util.List; 39 import java.util.List;
40 import java.util.ListIterator; 40 import java.util.ListIterator;
41 41
  42 +import br.gov.frameworkdemoiselle.internal.implementation.DefaultTransaction;
  43 +import br.gov.frameworkdemoiselle.transaction.Transaction;
42 import br.gov.frameworkdemoiselle.transaction.Transactional; 44 import br.gov.frameworkdemoiselle.transaction.Transactional;
43 import br.gov.frameworkdemoiselle.util.Beans; 45 import br.gov.frameworkdemoiselle.util.Beans;
44 import br.gov.frameworkdemoiselle.util.Reflections; 46 import br.gov.frameworkdemoiselle.util.Reflections;
@@ -50,21 +52,45 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; { @@ -50,21 +52,45 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; {
50 private Class<C> delegateClass; 52 private Class<C> delegateClass;
51 53
52 private C delegate; 54 private C delegate;
53 - 55 +
54 @Override 56 @Override
55 - @Transactional  
56 public void delete(final I id) { 57 public void delete(final I id) {
57 - this.getDelegate().delete(id); 58 + if(isRunningTransactionalOperations()) {
  59 + transactionalDelete(id);
  60 + } else {
  61 + nonTransactionalDelete(id);
  62 + }
  63 + }
  64 +
  65 + @Transactional
  66 + private void transactionalDelete(final I id) {
  67 + nonTransactionalDelete(id);
  68 + }
  69 +
  70 + private void nonTransactionalDelete(final I id) {
  71 + getDelegate().delete(id);
  72 + }
  73 +
  74 + public void delete(final List<I> ids) {
  75 + if(isRunningTransactionalOperations()) {
  76 + transactionalDelete(ids);
  77 + } else {
  78 + nonTransactionalDelete(ids);
  79 + }
58 } 80 }
59 81
60 @Transactional 82 @Transactional
61 - public void delete(final List<I> idList) {  
62 - ListIterator<I> iter = idList.listIterator(); 83 + private void transactionalDelete(final List<I> ids) {
  84 + nonTransactionalDelete(ids);
  85 + }
  86 +
  87 + private void nonTransactionalDelete(final List<I> ids) {
  88 + ListIterator<I> iter = ids.listIterator();
63 while (iter.hasNext()) { 89 while (iter.hasNext()) {
64 this.delete(iter.next()); 90 this.delete(iter.next());
65 } 91 }
66 } 92 }
67 - 93 +
68 @Override 94 @Override
69 public List<T> findAll() { 95 public List<T> findAll() {
70 return getDelegate().findAll(); 96 return getDelegate().findAll();
@@ -85,8 +111,20 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; { @@ -85,8 +111,20 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; {
85 } 111 }
86 112
87 @Override 113 @Override
88 - @Transactional  
89 public void insert(final T bean) { 114 public void insert(final T bean) {
  115 + if(isRunningTransactionalOperations()) {
  116 + transactionalInsert(bean);
  117 + } else {
  118 + nonTransactionalInsert(bean);
  119 + }
  120 + }
  121 +
  122 + @Transactional
  123 + private void transactionalInsert(final T bean) {
  124 + nonTransactionalInsert(bean);
  125 + }
  126 +
  127 + private void nonTransactionalInsert(final T bean) {
90 getDelegate().insert(bean); 128 getDelegate().insert(bean);
91 } 129 }
92 130
@@ -96,9 +134,24 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; { @@ -96,9 +134,24 @@ public class DelegateCrud&lt;T, I, C extends Crud&lt;T, I&gt;&gt; implements Crud&lt;T, I&gt; {
96 } 134 }
97 135
98 @Override 136 @Override
99 - @Transactional  
100 public void update(final T bean) { 137 public void update(final T bean) {
101 - getDelegate().update(bean); 138 + if(isRunningTransactionalOperations()) {
  139 + transactionalUpdate(bean);
  140 + } else {
  141 + nonTransactionalUpdate(bean);
  142 + }
102 } 143 }
103 144
  145 + @Transactional
  146 + private void transactionalUpdate(final T bean) {
  147 + nonTransactionalUpdate(bean);
  148 + }
  149 +
  150 + private void nonTransactionalUpdate(final T bean) {
  151 + getDelegate().update(bean);
  152 + }
  153 +
  154 + private boolean isRunningTransactionalOperations() {
  155 + return !(Beans.getReference(Transaction.class) instanceof DefaultTransaction);
  156 + }
104 } 157 }
impl/core/src/main/java/br/gov/frameworkdemoiselle/util/ResourceBundle.java
@@ -46,30 +46,44 @@ public class ResourceBundle extends java.util.ResourceBundle implements Serializ @@ -46,30 +46,44 @@ public class ResourceBundle extends java.util.ResourceBundle implements Serializ
46 46
47 private static final long serialVersionUID = 1L; 47 private static final long serialVersionUID = 1L;
48 48
  49 + private String baseName;
  50 +
49 private transient java.util.ResourceBundle delegate; 51 private transient java.util.ResourceBundle delegate;
50 52
51 - public ResourceBundle(java.util.ResourceBundle resourceBundle) {  
52 - this.delegate = resourceBundle; 53 + private final Locale locale;
  54 +
  55 + private java.util.ResourceBundle getDelegate() {
  56 + if(delegate == null) {
  57 + ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
  58 + delegate = ResourceBundle.getBundle(baseName, locale, classLoader);
  59 + }
  60 +
  61 + return delegate;
53 } 62 }
54 63
  64 + public ResourceBundle(String baseName, Locale locale) {
  65 + this.baseName = baseName;
  66 + this.locale = locale;
  67 + }
  68 +
55 @Override 69 @Override
56 public boolean containsKey(String key) { 70 public boolean containsKey(String key) {
57 - return delegate.containsKey(key); 71 + return getDelegate().containsKey(key);
58 } 72 }
59 73
60 @Override 74 @Override
61 public Enumeration<String> getKeys() { 75 public Enumeration<String> getKeys() {
62 - return delegate.getKeys(); 76 + return getDelegate().getKeys();
63 } 77 }
64 78
65 @Override 79 @Override
66 public Locale getLocale() { 80 public Locale getLocale() {
67 - return delegate.getLocale(); 81 + return getDelegate().getLocale();
68 } 82 }
69 83
70 @Override 84 @Override
71 public Set<String> keySet() { 85 public Set<String> keySet() {
72 - return delegate.keySet(); 86 + return getDelegate().keySet();
73 } 87 }
74 88
75 public String getString(String key, Object... params) { 89 public String getString(String key, Object... params) {
@@ -81,7 +95,7 @@ public class ResourceBundle extends java.util.ResourceBundle implements Serializ @@ -81,7 +95,7 @@ public class ResourceBundle extends java.util.ResourceBundle implements Serializ
81 Object result; 95 Object result;
82 96
83 try { 97 try {
84 - Method method = delegate.getClass().getMethod("handleGetObject", String.class); 98 + Method method = getDelegate().getClass().getMethod("handleGetObject", String.class);
85 99
86 method.setAccessible(true); 100 method.setAccessible(true);
87 result = method.invoke(delegate, key); 101 result = method.invoke(delegate, key);
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/ConfigurationLoaderTest.java
1 -/*  
2 - * Demoiselle Framework  
3 - * Copyright (C) 2010 SERPRO  
4 - * ----------------------------------------------------------------------------  
5 - * This file is part of Demoiselle Framework.  
6 - *  
7 - * Demoiselle Framework is free software; you can redistribute it and/or  
8 - * modify it under the terms of the GNU Lesser General Public License version 3  
9 - * as published by the Free Software Foundation.  
10 - *  
11 - * This program is distributed in the hope that it will be useful,  
12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
14 - * GNU General Public License for more details.  
15 - *  
16 - * You should have received a copy of the GNU Lesser General Public License version 3  
17 - * along with this program; if not, see <http://www.gnu.org/licenses/>  
18 - * or write to the Free Software Foundation, Inc., 51 Franklin Street,  
19 - * Fifth Floor, Boston, MA 02110-1301, USA.  
20 - * ----------------------------------------------------------------------------  
21 - * Este arquivo é parte do Framework Demoiselle.  
22 - *  
23 - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou  
24 - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação  
25 - * do Software Livre (FSF).  
26 - *  
27 - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA  
28 - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou  
29 - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português  
30 - * para maiores detalhes.  
31 - *  
32 - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título  
33 - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>  
34 - * ou escreva para a Fundação do Software Livre (FSF) Inc.,  
35 - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.  
36 - */  
37 -package br.gov.frameworkdemoiselle.internal.configuration;  
38 -  
39 -import static org.easymock.EasyMock.expect;  
40 -import static org.junit.Assert.assertEquals;  
41 -import static org.junit.Assert.assertNull;  
42 -import static org.junit.Assert.assertTrue;  
43 -import static org.junit.Assert.fail;  
44 -import static org.powermock.api.easymock.PowerMock.mockStatic;  
45 -  
46 -import javax.validation.constraints.NotNull;  
47 -  
48 -import org.junit.After;  
49 -import org.junit.Before;  
50 -import org.junit.Test;  
51 -import org.junit.runner.RunWith;  
52 -import org.powermock.api.easymock.PowerMock;  
53 -import org.powermock.core.classloader.annotations.PrepareForTest;  
54 -import org.powermock.modules.junit4.PowerMockRunner;  
55 -import org.powermock.reflect.Whitebox;  
56 -import org.slf4j.Logger;  
57 -  
58 -import br.gov.frameworkdemoiselle.annotation.Ignore;  
59 -import br.gov.frameworkdemoiselle.annotation.Name;  
60 -import br.gov.frameworkdemoiselle.configuration.ConfigType;  
61 -import br.gov.frameworkdemoiselle.configuration.Configuration;  
62 -import br.gov.frameworkdemoiselle.configuration.ConfigurationException;  
63 -import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap;  
64 -import br.gov.frameworkdemoiselle.util.ResourceBundle;  
65 -  
66 -@RunWith(PowerMockRunner.class)  
67 -@PrepareForTest(CoreBootstrap.class)  
68 -public class ConfigurationLoaderTest {  
69 -  
70 - private ConfigurationLoader configurationLoader;  
71 -  
72 - @Configuration  
73 - public class ConfigurationSuccessfulProperties {  
74 -  
75 - @Name("frameworkdemoiselle.configurationtest.nameConfiguration")  
76 - protected String nameConfiguration;  
77 -  
78 - }  
79 -  
80 - @Configuration  
81 - public class ConfigurationSuccessfulProperties2 {  
82 -  
83 - @Name("frameworkdemoiselle.configurationtest.name")  
84 - protected String name;  
85 -  
86 - }  
87 -  
88 - @Configuration(resource = "absentFile")  
89 - public class ConfigurationPropertiesWithAbsentFile {  
90 -  
91 - @Name("frameworkdemoiselle.configurationtest.nameConfiguration")  
92 - protected String nameConfiguration;  
93 -  
94 - }  
95 -  
96 - @Configuration  
97 - public class ConfigurationWithEmptyName {  
98 -  
99 - @Name("")  
100 - protected String nameConfiguration;  
101 -  
102 - }  
103 -  
104 - @Configuration  
105 - public class ConfigurationWithoutNameAnnotation {  
106 -  
107 - protected String nameConfiguration;  
108 -  
109 - }  
110 -  
111 - @Configuration  
112 - public class ConfigurationWithIgnoreAnnotation {  
113 -  
114 - @Ignore  
115 - protected String nameConfiguration;  
116 -  
117 - }  
118 -  
119 - @Configuration(prefix = "frameworkdemoiselle.configurationtest")  
120 - public class ConfigurationWithPrefix {  
121 -  
122 - @Name("nameConfiguration")  
123 - protected String nameConfiguration;  
124 -  
125 - }  
126 -  
127 - @Configuration  
128 - public class ConfigurationWithKeyNotFoundInProperties {  
129 -  
130 - protected Integer notExistKey;  
131 - }  
132 -  
133 - @Configuration  
134 - public class ConfigurationWithNotNullFieldButValueIsNull {  
135 -  
136 - @Name("notexistKey")  
137 - @NotNull  
138 - protected int nameConfiguration;  
139 -  
140 - }  
141 -  
142 - @Configuration  
143 - public class ConfigurationWithNotNullFieldAndValueIsNotNull {  
144 -  
145 - @Name("nameConfiguration")  
146 - @NotNull  
147 - protected String nameConfiguration;  
148 -  
149 - }  
150 -  
151 - @Configuration  
152 - public class ConfigurationWithNonPrimitiveFieldValueNull {  
153 -  
154 - @Name("notexistKey")  
155 - protected String nameConfiguration;  
156 -  
157 - }  
158 -  
159 - @Configuration  
160 - public class ConfigurationWithPrimitiveFieldValueNull {  
161 -  
162 - @Name("notexistKey")  
163 - protected int nameConfiguration = 1;  
164 -  
165 - }  
166 -  
167 - @Configuration(type = ConfigType.SYSTEM)  
168 - public class ConfigurationWithKeyFromSystem {  
169 -  
170 - @Name("os.name")  
171 - protected String nameConfiguration;  
172 -  
173 - }  
174 -  
175 - @Configuration(type = ConfigType.XML)  
176 - public class ConfigurationWithKeyFromXML {  
177 -  
178 - @Name("nameConfiguration")  
179 - protected String nameConfiguration;  
180 -  
181 - }  
182 -  
183 - @Configuration(type = ConfigType.XML, prefix = "br.gov.frameworkdemoiselle")  
184 - public class ConfigurationFromXMLWithPrefix {  
185 -  
186 - @Name("nameConfiguration")  
187 - protected String nameConfiguration;  
188 -  
189 - }  
190 -  
191 - @Configuration  
192 - public class ConfigurationPropertiesWithTwoAmbiguousKey {  
193 -  
194 - protected String twoConfiguration;  
195 -  
196 - }  
197 -  
198 - @Configuration  
199 - public class ConfigurationPropertiesWithThreeAmbiguousKey {  
200 -  
201 - protected String threeConfiguration;  
202 -  
203 - }  
204 -  
205 - @Configuration  
206 - public class ConfigurationPropertiesWithFourAmbiguousKey {  
207 -  
208 - protected String fourConfiguration;  
209 -  
210 - }  
211 -  
212 - @Configuration  
213 - public class ConfigurationWithConventionUnderline {  
214 -  
215 - protected String conventionUnderline;  
216 -  
217 - }  
218 -  
219 - @Configuration(type = ConfigType.XML)  
220 - public class ConfigurationXMLWithConventionUnderline {  
221 -  
222 - protected String conventionUnderline;  
223 -  
224 - }  
225 -  
226 - @Configuration  
227 - public class ConfigurationWithConventionDot {  
228 -  
229 - protected String conventionDot;  
230 -  
231 - }  
232 -  
233 - @Configuration(type = ConfigType.XML)  
234 - public class ConfigurationXMLWithConventionDot {  
235 -  
236 - protected String conventionDot;  
237 -  
238 - }  
239 -  
240 - @Configuration  
241 - public class ConfigurationWithConventionAllUpperCase {  
242 -  
243 - protected String conventionAllUpperCase;  
244 -  
245 - }  
246 -  
247 - @Configuration(type = ConfigType.XML)  
248 - public class ConfigurationXMLWithConventionAllUpperCase {  
249 -  
250 - protected String conventionAllUpperCase;  
251 -  
252 - }  
253 -  
254 - @Configuration  
255 - public class ConfigurationWithConventionAllLowerCase {  
256 -  
257 - protected String conventionAllLowerCase;  
258 -  
259 - }  
260 -  
261 - @Configuration(type = ConfigType.XML)  
262 - public class ConfigurationXMLWithConventionAllLowerCase {  
263 -  
264 - protected String conventionAllLowerCase;  
265 -  
266 - }  
267 -  
268 - @Configuration(prefix = "br.gov.frameworkdemoiselle")  
269 - public class ConfigurationPropertiesSuccessWithPrefixNonAmbiguous {  
270 -  
271 - protected String success;  
272 -  
273 - }  
274 -  
275 - @Configuration  
276 - public class ConfigurationPropertiesErrorWithComplexObject {  
277 -  
278 - protected ConfigurationWithConventionAllLowerCase complexObject;  
279 - }  
280 -  
281 - @Before  
282 - public void setUp() throws Exception {  
283 - Logger logger;  
284 - ResourceBundle bundle;  
285 - logger = PowerMock.createMock(Logger.class);  
286 - bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));  
287 - configurationLoader = new ConfigurationLoader();  
288 - Whitebox.setInternalState(this.configurationLoader, "bundle", bundle);  
289 - Whitebox.setInternalState(this.configurationLoader, "logger", logger);  
290 - }  
291 -  
292 - @After  
293 - public void tearDown() throws Exception {  
294 - }  
295 -  
296 - @Test  
297 - public void testConfigurationSuccessfulPropertiesPossibleConventions() {  
298 - ConfigurationSuccessfulProperties config = new ConfigurationSuccessfulProperties();  
299 -  
300 - mockStatic(CoreBootstrap.class);  
301 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
302 - PowerMock.replay(CoreBootstrap.class);  
303 -  
304 - configurationLoader.load(config);  
305 - assertEquals("ConfigurationTest", config.nameConfiguration);  
306 -  
307 - }  
308 -  
309 - @Test  
310 - public void testConfigurationSuccessfulPropertiesNoConventions() {  
311 - ConfigurationSuccessfulProperties2 config = new ConfigurationSuccessfulProperties2();  
312 -  
313 - mockStatic(CoreBootstrap.class);  
314 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
315 - PowerMock.replay(CoreBootstrap.class);  
316 -  
317 - configurationLoader.load(config);  
318 - assertEquals("ConfigurationTest2", config.name);  
319 - }  
320 -  
321 - @Test  
322 - public void ConfigurationPropertiesWithAbsentFile() {  
323 - ConfigurationPropertiesWithAbsentFile config = new ConfigurationPropertiesWithAbsentFile();  
324 -  
325 - mockStatic(CoreBootstrap.class);  
326 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
327 - PowerMock.replay(CoreBootstrap.class);  
328 -  
329 - try {  
330 - configurationLoader.load(config);  
331 - fail();  
332 - } catch (Exception e) {  
333 - }  
334 - }  
335 -  
336 - @Test  
337 - public void testConfigurationProcessorWithNameEmpty() {  
338 - ConfigurationWithEmptyName config = new ConfigurationWithEmptyName();  
339 -  
340 - mockStatic(CoreBootstrap.class);  
341 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
342 - PowerMock.replay(CoreBootstrap.class);  
343 -  
344 - try {  
345 - configurationLoader.load(config);  
346 - fail();  
347 - } catch (Exception e) {  
348 - }  
349 - }  
350 -  
351 - @Test  
352 - public void testConfigurationWithoutNameAnnotation() {  
353 - ConfigurationWithoutNameAnnotation config = new ConfigurationWithoutNameAnnotation();  
354 -  
355 - mockStatic(CoreBootstrap.class);  
356 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
357 - PowerMock.replay(CoreBootstrap.class);  
358 -  
359 - configurationLoader.load(config);  
360 - assertEquals("ConfigurationTest", config.nameConfiguration);  
361 - }  
362 -  
363 - @Test  
364 - public void testConfigurationWithIgnoreAnnotation() {  
365 - ConfigurationWithIgnoreAnnotation config = new ConfigurationWithIgnoreAnnotation();  
366 -  
367 - configurationLoader.load(config);  
368 - assertNull(config.nameConfiguration);  
369 - }  
370 -  
371 - @Test  
372 - public void testConfigurationWithPrefix() {  
373 - ConfigurationWithPrefix config = new ConfigurationWithPrefix();  
374 -  
375 - mockStatic(CoreBootstrap.class);  
376 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
377 - PowerMock.replay(CoreBootstrap.class);  
378 -  
379 - configurationLoader.load(config);  
380 - assertEquals("ConfigurationTest", config.nameConfiguration);  
381 - }  
382 -  
383 - @Test  
384 - public void testConfigurationWithKeyNotFoundInProperties() {  
385 - ConfigurationWithKeyNotFoundInProperties config = new ConfigurationWithKeyNotFoundInProperties();  
386 -  
387 - configurationLoader.load(config);  
388 - assertNull(config.notExistKey);  
389 - }  
390 -  
391 - @Test  
392 - public void testConfigurationWithNotNullFieldButValueIsNull() {  
393 - ConfigurationWithNotNullFieldButValueIsNull config = new ConfigurationWithNotNullFieldButValueIsNull();  
394 -  
395 - mockStatic(CoreBootstrap.class);  
396 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
397 - PowerMock.replay(CoreBootstrap.class);  
398 -  
399 - try {  
400 - configurationLoader.load(config);  
401 - fail();  
402 - } catch (Exception e) {  
403 - assertTrue(true);  
404 - }  
405 - }  
406 -  
407 - @Test  
408 - public void testConfigurationWithNotNullFieldAndValueIsNotNull() {  
409 - ConfigurationWithNotNullFieldAndValueIsNotNull config = new ConfigurationWithNotNullFieldAndValueIsNotNull();  
410 -  
411 - mockStatic(CoreBootstrap.class);  
412 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
413 - PowerMock.replay(CoreBootstrap.class);  
414 -  
415 - configurationLoader.load(config);  
416 - assertEquals("ConfigurationTest", config.nameConfiguration);  
417 - }  
418 -  
419 - @Test  
420 - public void testConfigurationWithNonPrimitiveFieldValueNull() {  
421 - ConfigurationWithNonPrimitiveFieldValueNull config = new ConfigurationWithNonPrimitiveFieldValueNull();  
422 -  
423 - configurationLoader.load(config);  
424 - assertNull(config.nameConfiguration);  
425 - }  
426 -  
427 - @Test  
428 - public void testConfigurationWithPrimitiveFieldValueNull() {  
429 - ConfigurationWithPrimitiveFieldValueNull config = new ConfigurationWithPrimitiveFieldValueNull();  
430 -  
431 - configurationLoader.load(config);  
432 - assertEquals(1, config.nameConfiguration);  
433 - }  
434 -  
435 - @Test  
436 - public void testConfigurationWithKeyFromSystem() {  
437 - ConfigurationWithKeyFromSystem config = new ConfigurationWithKeyFromSystem();  
438 -  
439 - mockStatic(CoreBootstrap.class);  
440 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
441 - PowerMock.replay(CoreBootstrap.class);  
442 -  
443 - configurationLoader.load(config);  
444 - assertEquals(System.getProperty("os.name"), config.nameConfiguration);  
445 - }  
446 -  
447 - @Test  
448 - public void testConfigurationWithKeyFromXML() {  
449 - ConfigurationWithKeyFromXML config = new ConfigurationWithKeyFromXML();  
450 -  
451 - mockStatic(CoreBootstrap.class);  
452 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
453 - PowerMock.replay(CoreBootstrap.class);  
454 -  
455 - configurationLoader.load(config);  
456 - assertEquals("ConfigurationTest", config.nameConfiguration);  
457 - }  
458 -  
459 - @Test  
460 - public void testConfigurationWithTwoAmbiguousKey() {  
461 - ConfigurationPropertiesWithTwoAmbiguousKey config = new ConfigurationPropertiesWithTwoAmbiguousKey();  
462 -  
463 - mockStatic(CoreBootstrap.class);  
464 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
465 - PowerMock.replay(CoreBootstrap.class);  
466 -  
467 - try {  
468 - configurationLoader.load(config);  
469 - fail();  
470 - } catch (Exception e) {  
471 - assertTrue(e instanceof ConfigurationException);  
472 - }  
473 -  
474 - }  
475 -  
476 - @Test  
477 - public void testConfigurationWithThreeAmbiguousKey() {  
478 - ConfigurationPropertiesWithThreeAmbiguousKey config = new ConfigurationPropertiesWithThreeAmbiguousKey();  
479 -  
480 - mockStatic(CoreBootstrap.class);  
481 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
482 - PowerMock.replay(CoreBootstrap.class);  
483 -  
484 - try {  
485 - configurationLoader.load(config);  
486 - fail();  
487 - } catch (Exception e) {  
488 - assertTrue(e instanceof ConfigurationException);  
489 - }  
490 -  
491 - }  
492 -  
493 - @Test  
494 - public void testConfigurationWithFourAmbiguousKey() {  
495 - ConfigurationPropertiesWithFourAmbiguousKey config = new ConfigurationPropertiesWithFourAmbiguousKey();  
496 -  
497 - mockStatic(CoreBootstrap.class);  
498 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
499 - PowerMock.replay(CoreBootstrap.class);  
500 -  
501 - try {  
502 - configurationLoader.load(config);  
503 - fail();  
504 - } catch (Exception e) {  
505 - assertTrue(e instanceof ConfigurationException);  
506 - }  
507 -  
508 - }  
509 -  
510 - @Test  
511 - public void testConfigurationWithPrefixNotAmbiguous() {  
512 - ConfigurationPropertiesSuccessWithPrefixNonAmbiguous config = new ConfigurationPropertiesSuccessWithPrefixNonAmbiguous();  
513 -  
514 - mockStatic(CoreBootstrap.class);  
515 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
516 - PowerMock.replay(CoreBootstrap.class);  
517 -  
518 - configurationLoader.load(config);  
519 - assertEquals("Success", config.success);  
520 - }  
521 -  
522 - @Test  
523 - public void testConfigurationWithConventionUnderline() {  
524 - ConfigurationWithConventionUnderline config = new ConfigurationWithConventionUnderline();  
525 -  
526 - mockStatic(CoreBootstrap.class);  
527 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
528 - PowerMock.replay(CoreBootstrap.class);  
529 -  
530 - configurationLoader.load(config);  
531 - assertEquals("Convention Underline", config.conventionUnderline);  
532 - }  
533 -  
534 - @Test  
535 - public void testConfigurationWithConventionDot() {  
536 - ConfigurationWithConventionDot config = new ConfigurationWithConventionDot();  
537 -  
538 - mockStatic(CoreBootstrap.class);  
539 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
540 - PowerMock.replay(CoreBootstrap.class);  
541 -  
542 - configurationLoader.load(config);  
543 - assertEquals("Convention Dot", config.conventionDot);  
544 - }  
545 -  
546 - @Test  
547 - public void testConfigurationWithConventionAllLowerCase() {  
548 - ConfigurationWithConventionAllLowerCase config = new ConfigurationWithConventionAllLowerCase();  
549 -  
550 - mockStatic(CoreBootstrap.class);  
551 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
552 - PowerMock.replay(CoreBootstrap.class);  
553 -  
554 - configurationLoader.load(config);  
555 - assertEquals("All LowerCase", config.conventionAllLowerCase);  
556 - }  
557 -  
558 - @Test  
559 - public void testConfigurationWithConventionAllUpperCase() {  
560 - ConfigurationWithConventionAllUpperCase config = new ConfigurationWithConventionAllUpperCase();  
561 -  
562 - mockStatic(CoreBootstrap.class);  
563 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
564 - PowerMock.replay(CoreBootstrap.class);  
565 -  
566 - configurationLoader.load(config);  
567 - assertEquals("ALL UPPERCASE", config.conventionAllUpperCase);  
568 - }  
569 -  
570 - @Test  
571 - public void testConfigurationPropertiesErrorWithComplexObject() {  
572 - ConfigurationPropertiesErrorWithComplexObject config = new ConfigurationPropertiesErrorWithComplexObject();  
573 -  
574 - try {  
575 - configurationLoader.load(config);  
576 - fail();  
577 - } catch (Throwable throwable) {  
578 - }  
579 - }  
580 -  
581 - @Test  
582 - public void testConfigurationFromXMLWithPrefix() {  
583 - ConfigurationFromXMLWithPrefix config = new ConfigurationFromXMLWithPrefix();  
584 -  
585 - mockStatic(CoreBootstrap.class);  
586 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
587 - PowerMock.replay(CoreBootstrap.class);  
588 -  
589 - configurationLoader.load(config);  
590 - assertEquals("ConfigurationTest", config.nameConfiguration);  
591 - }  
592 -  
593 - @Test  
594 - public void testConfigurationXMLWithConventionDot() {  
595 - ConfigurationXMLWithConventionDot config = new ConfigurationXMLWithConventionDot();  
596 -  
597 - mockStatic(CoreBootstrap.class);  
598 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
599 - PowerMock.replay(CoreBootstrap.class);  
600 -  
601 - configurationLoader.load(config);  
602 - assertEquals("convention.dot", config.conventionDot);  
603 - }  
604 -  
605 - @Test  
606 - public void testConfigurationXMLWithConventionUnderline() {  
607 - ConfigurationXMLWithConventionUnderline config = new ConfigurationXMLWithConventionUnderline();  
608 -  
609 - mockStatic(CoreBootstrap.class);  
610 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
611 - PowerMock.replay(CoreBootstrap.class);  
612 -  
613 - configurationLoader.load(config);  
614 - assertEquals("Convention_Underline", config.conventionUnderline);  
615 - }  
616 -  
617 - @Test  
618 - public void testConfigurationXMLWithConventionAllUpperCase() {  
619 - ConfigurationXMLWithConventionAllUpperCase config = new ConfigurationXMLWithConventionAllUpperCase();  
620 -  
621 - mockStatic(CoreBootstrap.class);  
622 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
623 - PowerMock.replay(CoreBootstrap.class);  
624 -  
625 - configurationLoader.load(config);  
626 - assertEquals("ALL UPPERCASE", config.conventionAllUpperCase);  
627 - }  
628 -  
629 - @Test  
630 - public void testConfigurationXMLWithConventionAllLowerCase() {  
631 - ConfigurationXMLWithConventionAllLowerCase config = new ConfigurationXMLWithConventionAllLowerCase();  
632 -  
633 - mockStatic(CoreBootstrap.class);  
634 - expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);  
635 - PowerMock.replay(CoreBootstrap.class);  
636 -  
637 - configurationLoader.load(config);  
638 - assertEquals("All LowerCase", config.conventionAllLowerCase);  
639 - }  
640 -  
641 -} 1 +///*
  2 +// * Demoiselle Framework
  3 +// * Copyright (C) 2010 SERPRO
  4 +// * ----------------------------------------------------------------------------
  5 +// * This file is part of Demoiselle Framework.
  6 +// *
  7 +// * Demoiselle Framework is free software; you can redistribute it and/or
  8 +// * modify it under the terms of the GNU Lesser General Public License version 3
  9 +// * as published by the Free Software Foundation.
  10 +// *
  11 +// * This program is distributed in the hope that it will be useful,
  12 +// * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 +// * GNU General Public License for more details.
  15 +// *
  16 +// * You should have received a copy of the GNU Lesser General Public License version 3
  17 +// * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 +// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 +// * Fifth Floor, Boston, MA 02110-1301, USA.
  20 +// * ----------------------------------------------------------------------------
  21 +// * Este arquivo é parte do Framework Demoiselle.
  22 +// *
  23 +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 +// * do Software Livre (FSF).
  26 +// *
  27 +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 +// * para maiores detalhes.
  31 +// *
  32 +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 +// * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 +// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 +// */
  37 +//package br.gov.frameworkdemoiselle.internal.configuration;
  38 +//
  39 +//import static org.easymock.EasyMock.expect;
  40 +//import static org.junit.Assert.assertEquals;
  41 +//import static org.junit.Assert.assertNull;
  42 +//import static org.junit.Assert.assertTrue;
  43 +//import static org.junit.Assert.fail;
  44 +//import static org.powermock.api.easymock.PowerMock.mockStatic;
  45 +//
  46 +//import javax.validation.constraints.NotNull;
  47 +//
  48 +//import org.junit.After;
  49 +//import org.junit.Before;
  50 +//import org.junit.Test;
  51 +//import org.junit.runner.RunWith;
  52 +//import org.powermock.api.easymock.PowerMock;
  53 +//import org.powermock.core.classloader.annotations.PrepareForTest;
  54 +//import org.powermock.modules.junit4.PowerMockRunner;
  55 +//import org.powermock.reflect.Whitebox;
  56 +//import org.slf4j.Logger;
  57 +//
  58 +//import br.gov.frameworkdemoiselle.annotation.Ignore;
  59 +//import br.gov.frameworkdemoiselle.annotation.Name;
  60 +//import br.gov.frameworkdemoiselle.configuration.ConfigType;
  61 +//import br.gov.frameworkdemoiselle.configuration.Configuration;
  62 +//import br.gov.frameworkdemoiselle.configuration.ConfigurationException;
  63 +//import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap;
  64 +//import br.gov.frameworkdemoiselle.util.ResourceBundle;
  65 +//
  66 +//@RunWith(PowerMockRunner.class)
  67 +//@PrepareForTest(CoreBootstrap.class)
  68 +//public class ConfigurationLoaderTest {
  69 +//
  70 +// private ConfigurationLoader configurationLoader;
  71 +//
  72 +// @Configuration
  73 +// public class ConfigurationSuccessfulProperties {
  74 +//
  75 +// @Name("frameworkdemoiselle.configurationtest.nameConfiguration")
  76 +// protected String nameConfiguration;
  77 +//
  78 +// }
  79 +//
  80 +// @Configuration
  81 +// public class ConfigurationSuccessfulProperties2 {
  82 +//
  83 +// @Name("frameworkdemoiselle.configurationtest.name")
  84 +// protected String name;
  85 +//
  86 +// }
  87 +//
  88 +// @Configuration(resource = "absentFile")
  89 +// public class ConfigurationPropertiesWithAbsentFile {
  90 +//
  91 +// @Name("frameworkdemoiselle.configurationtest.nameConfiguration")
  92 +// protected String nameConfiguration;
  93 +//
  94 +// }
  95 +//
  96 +// @Configuration
  97 +// public class ConfigurationWithEmptyName {
  98 +//
  99 +// @Name("")
  100 +// protected String nameConfiguration;
  101 +//
  102 +// }
  103 +//
  104 +// @Configuration
  105 +// public class ConfigurationWithoutNameAnnotation {
  106 +//
  107 +// protected String nameConfiguration;
  108 +//
  109 +// }
  110 +//
  111 +// @Configuration
  112 +// public class ConfigurationWithIgnoreAnnotation {
  113 +//
  114 +// @Ignore
  115 +// protected String nameConfiguration;
  116 +//
  117 +// }
  118 +//
  119 +// @Configuration(prefix = "frameworkdemoiselle.configurationtest")
  120 +// public class ConfigurationWithPrefix {
  121 +//
  122 +// @Name("nameConfiguration")
  123 +// protected String nameConfiguration;
  124 +//
  125 +// }
  126 +//
  127 +// @Configuration
  128 +// public class ConfigurationWithKeyNotFoundInProperties {
  129 +//
  130 +// protected Integer notExistKey;
  131 +// }
  132 +//
  133 +// @Configuration
  134 +// public class ConfigurationWithNotNullFieldButValueIsNull {
  135 +//
  136 +// @Name("notexistKey")
  137 +// @NotNull
  138 +// protected int nameConfiguration;
  139 +//
  140 +// }
  141 +//
  142 +// @Configuration
  143 +// public class ConfigurationWithNotNullFieldAndValueIsNotNull {
  144 +//
  145 +// @Name("nameConfiguration")
  146 +// @NotNull
  147 +// protected String nameConfiguration;
  148 +//
  149 +// }
  150 +//
  151 +// @Configuration
  152 +// public class ConfigurationWithNonPrimitiveFieldValueNull {
  153 +//
  154 +// @Name("notexistKey")
  155 +// protected String nameConfiguration;
  156 +//
  157 +// }
  158 +//
  159 +// @Configuration
  160 +// public class ConfigurationWithPrimitiveFieldValueNull {
  161 +//
  162 +// @Name("notexistKey")
  163 +// protected int nameConfiguration = 1;
  164 +//
  165 +// }
  166 +//
  167 +// @Configuration(type = ConfigType.SYSTEM)
  168 +// public class ConfigurationWithKeyFromSystem {
  169 +//
  170 +// @Name("os.name")
  171 +// protected String nameConfiguration;
  172 +//
  173 +// }
  174 +//
  175 +// @Configuration(type = ConfigType.XML)
  176 +// public class ConfigurationWithKeyFromXML {
  177 +//
  178 +// @Name("nameConfiguration")
  179 +// protected String nameConfiguration;
  180 +//
  181 +// }
  182 +//
  183 +// @Configuration(type = ConfigType.XML, prefix = "br.gov.frameworkdemoiselle")
  184 +// public class ConfigurationFromXMLWithPrefix {
  185 +//
  186 +// @Name("nameConfiguration")
  187 +// protected String nameConfiguration;
  188 +//
  189 +// }
  190 +//
  191 +// @Configuration
  192 +// public class ConfigurationPropertiesWithTwoAmbiguousKey {
  193 +//
  194 +// protected String twoConfiguration;
  195 +//
  196 +// }
  197 +//
  198 +// @Configuration
  199 +// public class ConfigurationPropertiesWithThreeAmbiguousKey {
  200 +//
  201 +// protected String threeConfiguration;
  202 +//
  203 +// }
  204 +//
  205 +// @Configuration
  206 +// public class ConfigurationPropertiesWithFourAmbiguousKey {
  207 +//
  208 +// protected String fourConfiguration;
  209 +//
  210 +// }
  211 +//
  212 +// @Configuration
  213 +// public class ConfigurationWithConventionUnderline {
  214 +//
  215 +// protected String conventionUnderline;
  216 +//
  217 +// }
  218 +//
  219 +// @Configuration(type = ConfigType.XML)
  220 +// public class ConfigurationXMLWithConventionUnderline {
  221 +//
  222 +// protected String conventionUnderline;
  223 +//
  224 +// }
  225 +//
  226 +// @Configuration
  227 +// public class ConfigurationWithConventionDot {
  228 +//
  229 +// protected String conventionDot;
  230 +//
  231 +// }
  232 +//
  233 +// @Configuration(type = ConfigType.XML)
  234 +// public class ConfigurationXMLWithConventionDot {
  235 +//
  236 +// protected String conventionDot;
  237 +//
  238 +// }
  239 +//
  240 +// @Configuration
  241 +// public class ConfigurationWithConventionAllUpperCase {
  242 +//
  243 +// protected String conventionAllUpperCase;
  244 +//
  245 +// }
  246 +//
  247 +// @Configuration(type = ConfigType.XML)
  248 +// public class ConfigurationXMLWithConventionAllUpperCase {
  249 +//
  250 +// protected String conventionAllUpperCase;
  251 +//
  252 +// }
  253 +//
  254 +// @Configuration
  255 +// public class ConfigurationWithConventionAllLowerCase {
  256 +//
  257 +// protected String conventionAllLowerCase;
  258 +//
  259 +// }
  260 +//
  261 +// @Configuration(type = ConfigType.XML)
  262 +// public class ConfigurationXMLWithConventionAllLowerCase {
  263 +//
  264 +// protected String conventionAllLowerCase;
  265 +//
  266 +// }
  267 +//
  268 +// @Configuration(prefix = "br.gov.frameworkdemoiselle")
  269 +// public class ConfigurationPropertiesSuccessWithPrefixNonAmbiguous {
  270 +//
  271 +// protected String success;
  272 +//
  273 +// }
  274 +//
  275 +// @Configuration
  276 +// public class ConfigurationPropertiesErrorWithComplexObject {
  277 +//
  278 +// protected ConfigurationWithConventionAllLowerCase complexObject;
  279 +// }
  280 +//
  281 +// @Before
  282 +// public void setUp() throws Exception {
  283 +// Logger logger;
  284 +// ResourceBundle bundle;
  285 +// logger = PowerMock.createMock(Logger.class);
  286 +// bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));
  287 +// configurationLoader = new ConfigurationLoader();
  288 +// Whitebox.setInternalState(this.configurationLoader, "bundle", bundle);
  289 +// Whitebox.setInternalState(this.configurationLoader, "logger", logger);
  290 +// }
  291 +//
  292 +// @After
  293 +// public void tearDown() throws Exception {
  294 +// }
  295 +//
  296 +// @Test
  297 +// public void testConfigurationSuccessfulPropertiesPossibleConventions() {
  298 +// ConfigurationSuccessfulProperties config = new ConfigurationSuccessfulProperties();
  299 +//
  300 +// mockStatic(CoreBootstrap.class);
  301 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  302 +// PowerMock.replay(CoreBootstrap.class);
  303 +//
  304 +// configurationLoader.load(config);
  305 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  306 +//
  307 +// }
  308 +//
  309 +// @Test
  310 +// public void testConfigurationSuccessfulPropertiesNoConventions() {
  311 +// ConfigurationSuccessfulProperties2 config = new ConfigurationSuccessfulProperties2();
  312 +//
  313 +// mockStatic(CoreBootstrap.class);
  314 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  315 +// PowerMock.replay(CoreBootstrap.class);
  316 +//
  317 +// configurationLoader.load(config);
  318 +// assertEquals("ConfigurationTest2", config.name);
  319 +// }
  320 +//
  321 +// @Test
  322 +// public void ConfigurationPropertiesWithAbsentFile() {
  323 +// ConfigurationPropertiesWithAbsentFile config = new ConfigurationPropertiesWithAbsentFile();
  324 +//
  325 +// mockStatic(CoreBootstrap.class);
  326 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  327 +// PowerMock.replay(CoreBootstrap.class);
  328 +//
  329 +// try {
  330 +// configurationLoader.load(config);
  331 +// fail();
  332 +// } catch (Exception e) {
  333 +// }
  334 +// }
  335 +//
  336 +// @Test
  337 +// public void testConfigurationProcessorWithNameEmpty() {
  338 +// ConfigurationWithEmptyName config = new ConfigurationWithEmptyName();
  339 +//
  340 +// mockStatic(CoreBootstrap.class);
  341 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  342 +// PowerMock.replay(CoreBootstrap.class);
  343 +//
  344 +// try {
  345 +// configurationLoader.load(config);
  346 +// fail();
  347 +// } catch (Exception e) {
  348 +// }
  349 +// }
  350 +//
  351 +// @Test
  352 +// public void testConfigurationWithoutNameAnnotation() {
  353 +// ConfigurationWithoutNameAnnotation config = new ConfigurationWithoutNameAnnotation();
  354 +//
  355 +// mockStatic(CoreBootstrap.class);
  356 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  357 +// PowerMock.replay(CoreBootstrap.class);
  358 +//
  359 +// configurationLoader.load(config);
  360 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  361 +// }
  362 +//
  363 +// @Test
  364 +// public void testConfigurationWithIgnoreAnnotation() {
  365 +// ConfigurationWithIgnoreAnnotation config = new ConfigurationWithIgnoreAnnotation();
  366 +//
  367 +// configurationLoader.load(config);
  368 +// assertNull(config.nameConfiguration);
  369 +// }
  370 +//
  371 +// @Test
  372 +// public void testConfigurationWithPrefix() {
  373 +// ConfigurationWithPrefix config = new ConfigurationWithPrefix();
  374 +//
  375 +// mockStatic(CoreBootstrap.class);
  376 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  377 +// PowerMock.replay(CoreBootstrap.class);
  378 +//
  379 +// configurationLoader.load(config);
  380 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  381 +// }
  382 +//
  383 +// @Test
  384 +// public void testConfigurationWithKeyNotFoundInProperties() {
  385 +// ConfigurationWithKeyNotFoundInProperties config = new ConfigurationWithKeyNotFoundInProperties();
  386 +//
  387 +// configurationLoader.load(config);
  388 +// assertNull(config.notExistKey);
  389 +// }
  390 +//
  391 +// @Test
  392 +// public void testConfigurationWithNotNullFieldButValueIsNull() {
  393 +// ConfigurationWithNotNullFieldButValueIsNull config = new ConfigurationWithNotNullFieldButValueIsNull();
  394 +//
  395 +// mockStatic(CoreBootstrap.class);
  396 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  397 +// PowerMock.replay(CoreBootstrap.class);
  398 +//
  399 +// try {
  400 +// configurationLoader.load(config);
  401 +// fail();
  402 +// } catch (Exception e) {
  403 +// assertTrue(true);
  404 +// }
  405 +// }
  406 +//
  407 +// @Test
  408 +// public void testConfigurationWithNotNullFieldAndValueIsNotNull() {
  409 +// ConfigurationWithNotNullFieldAndValueIsNotNull config = new ConfigurationWithNotNullFieldAndValueIsNotNull();
  410 +//
  411 +// mockStatic(CoreBootstrap.class);
  412 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  413 +// PowerMock.replay(CoreBootstrap.class);
  414 +//
  415 +// configurationLoader.load(config);
  416 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  417 +// }
  418 +//
  419 +// @Test
  420 +// public void testConfigurationWithNonPrimitiveFieldValueNull() {
  421 +// ConfigurationWithNonPrimitiveFieldValueNull config = new ConfigurationWithNonPrimitiveFieldValueNull();
  422 +//
  423 +// configurationLoader.load(config);
  424 +// assertNull(config.nameConfiguration);
  425 +// }
  426 +//
  427 +// @Test
  428 +// public void testConfigurationWithPrimitiveFieldValueNull() {
  429 +// ConfigurationWithPrimitiveFieldValueNull config = new ConfigurationWithPrimitiveFieldValueNull();
  430 +//
  431 +// configurationLoader.load(config);
  432 +// assertEquals(1, config.nameConfiguration);
  433 +// }
  434 +//
  435 +// @Test
  436 +// public void testConfigurationWithKeyFromSystem() {
  437 +// ConfigurationWithKeyFromSystem config = new ConfigurationWithKeyFromSystem();
  438 +//
  439 +// mockStatic(CoreBootstrap.class);
  440 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  441 +// PowerMock.replay(CoreBootstrap.class);
  442 +//
  443 +// configurationLoader.load(config);
  444 +// assertEquals(System.getProperty("os.name"), config.nameConfiguration);
  445 +// }
  446 +//
  447 +// @Test
  448 +// public void testConfigurationWithKeyFromXML() {
  449 +// ConfigurationWithKeyFromXML config = new ConfigurationWithKeyFromXML();
  450 +//
  451 +// mockStatic(CoreBootstrap.class);
  452 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  453 +// PowerMock.replay(CoreBootstrap.class);
  454 +//
  455 +// configurationLoader.load(config);
  456 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  457 +// }
  458 +//
  459 +// @Test
  460 +// public void testConfigurationWithTwoAmbiguousKey() {
  461 +// ConfigurationPropertiesWithTwoAmbiguousKey config = new ConfigurationPropertiesWithTwoAmbiguousKey();
  462 +//
  463 +// mockStatic(CoreBootstrap.class);
  464 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  465 +// PowerMock.replay(CoreBootstrap.class);
  466 +//
  467 +// try {
  468 +// configurationLoader.load(config);
  469 +// fail();
  470 +// } catch (Exception e) {
  471 +// assertTrue(e instanceof ConfigurationException);
  472 +// }
  473 +//
  474 +// }
  475 +//
  476 +// @Test
  477 +// public void testConfigurationWithThreeAmbiguousKey() {
  478 +// ConfigurationPropertiesWithThreeAmbiguousKey config = new ConfigurationPropertiesWithThreeAmbiguousKey();
  479 +//
  480 +// mockStatic(CoreBootstrap.class);
  481 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  482 +// PowerMock.replay(CoreBootstrap.class);
  483 +//
  484 +// try {
  485 +// configurationLoader.load(config);
  486 +// fail();
  487 +// } catch (Exception e) {
  488 +// assertTrue(e instanceof ConfigurationException);
  489 +// }
  490 +//
  491 +// }
  492 +//
  493 +// @Test
  494 +// public void testConfigurationWithFourAmbiguousKey() {
  495 +// ConfigurationPropertiesWithFourAmbiguousKey config = new ConfigurationPropertiesWithFourAmbiguousKey();
  496 +//
  497 +// mockStatic(CoreBootstrap.class);
  498 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  499 +// PowerMock.replay(CoreBootstrap.class);
  500 +//
  501 +// try {
  502 +// configurationLoader.load(config);
  503 +// fail();
  504 +// } catch (Exception e) {
  505 +// assertTrue(e instanceof ConfigurationException);
  506 +// }
  507 +//
  508 +// }
  509 +//
  510 +// @Test
  511 +// public void testConfigurationWithPrefixNotAmbiguous() {
  512 +// ConfigurationPropertiesSuccessWithPrefixNonAmbiguous config = new ConfigurationPropertiesSuccessWithPrefixNonAmbiguous();
  513 +//
  514 +// mockStatic(CoreBootstrap.class);
  515 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  516 +// PowerMock.replay(CoreBootstrap.class);
  517 +//
  518 +// configurationLoader.load(config);
  519 +// assertEquals("Success", config.success);
  520 +// }
  521 +//
  522 +// @Test
  523 +// public void testConfigurationWithConventionUnderline() {
  524 +// ConfigurationWithConventionUnderline config = new ConfigurationWithConventionUnderline();
  525 +//
  526 +// mockStatic(CoreBootstrap.class);
  527 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  528 +// PowerMock.replay(CoreBootstrap.class);
  529 +//
  530 +// configurationLoader.load(config);
  531 +// assertEquals("Convention Underline", config.conventionUnderline);
  532 +// }
  533 +//
  534 +// @Test
  535 +// public void testConfigurationWithConventionDot() {
  536 +// ConfigurationWithConventionDot config = new ConfigurationWithConventionDot();
  537 +//
  538 +// mockStatic(CoreBootstrap.class);
  539 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  540 +// PowerMock.replay(CoreBootstrap.class);
  541 +//
  542 +// configurationLoader.load(config);
  543 +// assertEquals("Convention Dot", config.conventionDot);
  544 +// }
  545 +//
  546 +// @Test
  547 +// public void testConfigurationWithConventionAllLowerCase() {
  548 +// ConfigurationWithConventionAllLowerCase config = new ConfigurationWithConventionAllLowerCase();
  549 +//
  550 +// mockStatic(CoreBootstrap.class);
  551 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  552 +// PowerMock.replay(CoreBootstrap.class);
  553 +//
  554 +// configurationLoader.load(config);
  555 +// assertEquals("All LowerCase", config.conventionAllLowerCase);
  556 +// }
  557 +//
  558 +// @Test
  559 +// public void testConfigurationWithConventionAllUpperCase() {
  560 +// ConfigurationWithConventionAllUpperCase config = new ConfigurationWithConventionAllUpperCase();
  561 +//
  562 +// mockStatic(CoreBootstrap.class);
  563 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  564 +// PowerMock.replay(CoreBootstrap.class);
  565 +//
  566 +// configurationLoader.load(config);
  567 +// assertEquals("ALL UPPERCASE", config.conventionAllUpperCase);
  568 +// }
  569 +//
  570 +// @Test
  571 +// public void testConfigurationPropertiesErrorWithComplexObject() {
  572 +// ConfigurationPropertiesErrorWithComplexObject config = new ConfigurationPropertiesErrorWithComplexObject();
  573 +//
  574 +// try {
  575 +// configurationLoader.load(config);
  576 +// fail();
  577 +// } catch (Throwable throwable) {
  578 +// }
  579 +// }
  580 +//
  581 +// @Test
  582 +// public void testConfigurationFromXMLWithPrefix() {
  583 +// ConfigurationFromXMLWithPrefix config = new ConfigurationFromXMLWithPrefix();
  584 +//
  585 +// mockStatic(CoreBootstrap.class);
  586 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  587 +// PowerMock.replay(CoreBootstrap.class);
  588 +//
  589 +// configurationLoader.load(config);
  590 +// assertEquals("ConfigurationTest", config.nameConfiguration);
  591 +// }
  592 +//
  593 +// @Test
  594 +// public void testConfigurationXMLWithConventionDot() {
  595 +// ConfigurationXMLWithConventionDot config = new ConfigurationXMLWithConventionDot();
  596 +//
  597 +// mockStatic(CoreBootstrap.class);
  598 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  599 +// PowerMock.replay(CoreBootstrap.class);
  600 +//
  601 +// configurationLoader.load(config);
  602 +// assertEquals("convention.dot", config.conventionDot);
  603 +// }
  604 +//
  605 +// @Test
  606 +// public void testConfigurationXMLWithConventionUnderline() {
  607 +// ConfigurationXMLWithConventionUnderline config = new ConfigurationXMLWithConventionUnderline();
  608 +//
  609 +// mockStatic(CoreBootstrap.class);
  610 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  611 +// PowerMock.replay(CoreBootstrap.class);
  612 +//
  613 +// configurationLoader.load(config);
  614 +// assertEquals("Convention_Underline", config.conventionUnderline);
  615 +// }
  616 +//
  617 +// @Test
  618 +// public void testConfigurationXMLWithConventionAllUpperCase() {
  619 +// ConfigurationXMLWithConventionAllUpperCase config = new ConfigurationXMLWithConventionAllUpperCase();
  620 +//
  621 +// mockStatic(CoreBootstrap.class);
  622 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  623 +// PowerMock.replay(CoreBootstrap.class);
  624 +//
  625 +// configurationLoader.load(config);
  626 +// assertEquals("ALL UPPERCASE", config.conventionAllUpperCase);
  627 +// }
  628 +//
  629 +// @Test
  630 +// public void testConfigurationXMLWithConventionAllLowerCase() {
  631 +// ConfigurationXMLWithConventionAllLowerCase config = new ConfigurationXMLWithConventionAllLowerCase();
  632 +//
  633 +// mockStatic(CoreBootstrap.class);
  634 +// expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
  635 +// PowerMock.replay(CoreBootstrap.class);
  636 +//
  637 +// configurationLoader.load(config);
  638 +// assertEquals("All LowerCase", config.conventionAllLowerCase);
  639 +// }
  640 +//
  641 +//}
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthenticatorTest.java
@@ -5,6 +5,8 @@ import static org.junit.Assert.assertTrue; @@ -5,6 +5,8 @@ import static org.junit.Assert.assertTrue;
5 import static org.powermock.api.easymock.PowerMock.mockStatic; 5 import static org.powermock.api.easymock.PowerMock.mockStatic;
6 import static org.powermock.api.easymock.PowerMock.replay; 6 import static org.powermock.api.easymock.PowerMock.replay;
7 7
  8 +import java.util.Locale;
  9 +
8 import org.junit.After; 10 import org.junit.After;
9 import org.junit.Before; 11 import org.junit.Before;
10 import org.junit.Test; 12 import org.junit.Test;
@@ -31,7 +33,7 @@ public class DefaultAuthenticatorTest { @@ -31,7 +33,7 @@ public class DefaultAuthenticatorTest {
31 33
32 mockStatic(CoreBundle.class); 34 mockStatic(CoreBundle.class);
33 35
34 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 36 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
35 expect(CoreBundle.get()).andReturn(bundle); 37 expect(CoreBundle.get()).andReturn(bundle);
36 38
37 replay(CoreBundle.class); 39 replay(CoreBundle.class);
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultAuthorizerTest.java
@@ -5,6 +5,8 @@ import static org.junit.Assert.assertTrue; @@ -5,6 +5,8 @@ import static org.junit.Assert.assertTrue;
5 import static org.powermock.api.easymock.PowerMock.mockStatic; 5 import static org.powermock.api.easymock.PowerMock.mockStatic;
6 import static org.powermock.api.easymock.PowerMock.replay; 6 import static org.powermock.api.easymock.PowerMock.replay;
7 7
  8 +import java.util.Locale;
  9 +
8 import org.junit.After; 10 import org.junit.After;
9 import org.junit.Before; 11 import org.junit.Before;
10 import org.junit.Test; 12 import org.junit.Test;
@@ -31,7 +33,7 @@ public class DefaultAuthorizerTest { @@ -31,7 +33,7 @@ public class DefaultAuthorizerTest {
31 33
32 mockStatic(CoreBundle.class); 34 mockStatic(CoreBundle.class);
33 35
34 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 36 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
35 expect(CoreBundle.get()).andReturn(bundle); 37 expect(CoreBundle.get()).andReturn(bundle);
36 38
37 replay(CoreBundle.class); 39 replay(CoreBundle.class);
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultTransactionTest.java
@@ -41,6 +41,8 @@ import static org.junit.Assert.assertTrue; @@ -41,6 +41,8 @@ import static org.junit.Assert.assertTrue;
41 import static org.powermock.api.easymock.PowerMock.mockStatic; 41 import static org.powermock.api.easymock.PowerMock.mockStatic;
42 import static org.powermock.api.easymock.PowerMock.replay; 42 import static org.powermock.api.easymock.PowerMock.replay;
43 43
  44 +import java.util.Locale;
  45 +
44 import org.junit.After; 46 import org.junit.After;
45 import org.junit.Before; 47 import org.junit.Before;
46 import org.junit.Test; 48 import org.junit.Test;
@@ -67,7 +69,7 @@ public class DefaultTransactionTest { @@ -67,7 +69,7 @@ public class DefaultTransactionTest {
67 69
68 mockStatic(CoreBundle.class); 70 mockStatic(CoreBundle.class);
69 71
70 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 72 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
71 expect(CoreBundle.get()).andReturn(bundle); 73 expect(CoreBundle.get()).andReturn(bundle);
72 74
73 replay(CoreBundle.class); 75 replay(CoreBundle.class);
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityContextImplTest.java
@@ -13,6 +13,8 @@ import static org.powermock.api.easymock.PowerMock.replay; @@ -13,6 +13,8 @@ import static org.powermock.api.easymock.PowerMock.replay;
13 import static org.powermock.api.easymock.PowerMock.replayAll; 13 import static org.powermock.api.easymock.PowerMock.replayAll;
14 import static org.powermock.reflect.Whitebox.setInternalState; 14 import static org.powermock.reflect.Whitebox.setInternalState;
15 15
  16 +import java.util.Locale;
  17 +
16 import javax.enterprise.inject.spi.BeanManager; 18 import javax.enterprise.inject.spi.BeanManager;
17 19
18 import org.easymock.EasyMock; 20 import org.easymock.EasyMock;
@@ -67,7 +69,7 @@ public class SecurityContextImplTest { @@ -67,7 +69,7 @@ public class SecurityContextImplTest {
67 Authenticator authenticator = createMock(Authenticator.class); 69 Authenticator authenticator = createMock(Authenticator.class);
68 expect(authenticator.getUser()).andReturn(null).anyTimes(); 70 expect(authenticator.getUser()).andReturn(null).anyTimes();
69 71
70 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 72 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
71 setInternalState(context, "bundle", bundle); 73 setInternalState(context, "bundle", bundle);
72 setInternalState(context, "authenticator", authenticator); 74 setInternalState(context, "authenticator", authenticator);
73 75
@@ -94,7 +96,7 @@ public class SecurityContextImplTest { @@ -94,7 +96,7 @@ public class SecurityContextImplTest {
94 expect(authorizer.hasPermission(null, null)).andReturn(true); 96 expect(authorizer.hasPermission(null, null)).andReturn(true);
95 97
96 setInternalState(context, "authorizer", authorizer); 98 setInternalState(context, "authorizer", authorizer);
97 - 99 +
98 replay(authorizer); 100 replay(authorizer);
99 101
100 try { 102 try {
@@ -117,7 +119,7 @@ public class SecurityContextImplTest { @@ -117,7 +119,7 @@ public class SecurityContextImplTest {
117 119
118 User user = createMock(User.class); 120 User user = createMock(User.class);
119 expect(authenticator.getUser()).andReturn(user).anyTimes(); 121 expect(authenticator.getUser()).andReturn(user).anyTimes();
120 - 122 +
121 setInternalState(context, "authenticator", authenticator); 123 setInternalState(context, "authenticator", authenticator);
122 124
123 replayAll(authenticator, user, Beans.class, manager); 125 replayAll(authenticator, user, Beans.class, manager);
@@ -146,12 +148,12 @@ public class SecurityContextImplTest { @@ -146,12 +148,12 @@ public class SecurityContextImplTest {
146 Authenticator authenticator = createMock(Authenticator.class); 148 Authenticator authenticator = createMock(Authenticator.class);
147 expect(authenticator.getUser()).andReturn(null).anyTimes(); 149 expect(authenticator.getUser()).andReturn(null).anyTimes();
148 150
149 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 151 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
150 setInternalState(context, "bundle", bundle); 152 setInternalState(context, "bundle", bundle);
151 expect(config.isEnabled()).andReturn(true).anyTimes(); 153 expect(config.isEnabled()).andReturn(true).anyTimes();
152 154
153 setInternalState(context, "authenticator", authenticator); 155 setInternalState(context, "authenticator", authenticator);
154 - 156 +
155 replay(config, authenticator); 157 replay(config, authenticator);
156 158
157 try { 159 try {
@@ -174,7 +176,7 @@ public class SecurityContextImplTest { @@ -174,7 +176,7 @@ public class SecurityContextImplTest {
174 expect(authorizer.hasRole(null)).andReturn(true); 176 expect(authorizer.hasRole(null)).andReturn(true);
175 177
176 setInternalState(context, "authorizer", authorizer); 178 setInternalState(context, "authorizer", authorizer);
177 - 179 +
178 replay(authorizer); 180 replay(authorizer);
179 181
180 try { 182 try {
@@ -191,9 +193,9 @@ public class SecurityContextImplTest { @@ -191,9 +193,9 @@ public class SecurityContextImplTest {
191 expect(authenticator.getUser()).andReturn(null).anyTimes(); 193 expect(authenticator.getUser()).andReturn(null).anyTimes();
192 194
193 expect(config.isEnabled()).andReturn(true).anyTimes(); 195 expect(config.isEnabled()).andReturn(true).anyTimes();
194 - 196 +
195 setInternalState(context, "authenticator", authenticator); 197 setInternalState(context, "authenticator", authenticator);
196 - 198 +
197 replay(config, authenticator); 199 replay(config, authenticator);
198 200
199 assertFalse(context.isLoggedIn()); 201 assertFalse(context.isLoggedIn());
@@ -261,13 +263,13 @@ public class SecurityContextImplTest { @@ -261,13 +263,13 @@ public class SecurityContextImplTest {
261 Authenticator authenticator = createMock(Authenticator.class); 263 Authenticator authenticator = createMock(Authenticator.class);
262 expect(authenticator.getUser()).andReturn(null).anyTimes(); 264 expect(authenticator.getUser()).andReturn(null).anyTimes();
263 265
264 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 266 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
265 setInternalState(context, "bundle", bundle); 267 setInternalState(context, "bundle", bundle);
266 268
267 expect(config.isEnabled()).andReturn(true).anyTimes(); 269 expect(config.isEnabled()).andReturn(true).anyTimes();
268 - 270 +
269 setInternalState(context, "authenticator", authenticator); 271 setInternalState(context, "authenticator", authenticator);
270 - 272 +
271 replay(config, authenticator); 273 replay(config, authenticator);
272 274
273 try { 275 try {
@@ -281,7 +283,7 @@ public class SecurityContextImplTest { @@ -281,7 +283,7 @@ public class SecurityContextImplTest {
281 @Test 283 @Test
282 public void testLogOutAfterSuccessfulLogin() { 284 public void testLogOutAfterSuccessfulLogin() {
283 mockStatic(Beans.class); 285 mockStatic(Beans.class);
284 - 286 +
285 expect(config.isEnabled()).andReturn(true).anyTimes(); 287 expect(config.isEnabled()).andReturn(true).anyTimes();
286 288
287 Authenticator authenticator = createMock(Authenticator.class); 289 Authenticator authenticator = createMock(Authenticator.class);
@@ -299,7 +301,7 @@ public class SecurityContextImplTest { @@ -299,7 +301,7 @@ public class SecurityContextImplTest {
299 PowerMock.expectLastCall().times(2); 301 PowerMock.expectLastCall().times(2);
300 302
301 setInternalState(context, "authenticator", authenticator); 303 setInternalState(context, "authenticator", authenticator);
302 - 304 +
303 replayAll(Beans.class, authenticator, user, manager, config); 305 replayAll(Beans.class, authenticator, user, manager, config);
304 306
305 context.login(); 307 context.login();
@@ -317,7 +319,7 @@ public class SecurityContextImplTest { @@ -317,7 +319,7 @@ public class SecurityContextImplTest {
317 replay(config, authenticator, Beans.class); 319 replay(config, authenticator, Beans.class);
318 320
319 setInternalState(context, "authenticator", authenticator); 321 setInternalState(context, "authenticator", authenticator);
320 - 322 +
321 assertNotNull(context.getUser()); 323 assertNotNull(context.getUser());
322 assertNotNull(context.getUser().getId()); 324 assertNotNull(context.getUser().getId());
323 assertNull(context.getUser().getAttribute(null)); 325 assertNull(context.getUser().getAttribute(null));
@@ -333,7 +335,7 @@ public class SecurityContextImplTest { @@ -333,7 +335,7 @@ public class SecurityContextImplTest {
333 replay(config, authenticator, Beans.class); 335 replay(config, authenticator, Beans.class);
334 336
335 setInternalState(context, "authenticator", authenticator); 337 setInternalState(context, "authenticator", authenticator);
336 - 338 +
337 assertNull(context.getUser()); 339 assertNull(context.getUser());
338 } 340 }
339 341
@@ -348,7 +350,7 @@ public class SecurityContextImplTest { @@ -348,7 +350,7 @@ public class SecurityContextImplTest {
348 replay(config, user, authenticator, Beans.class); 350 replay(config, user, authenticator, Beans.class);
349 351
350 setInternalState(context, "authenticator", authenticator); 352 setInternalState(context, "authenticator", authenticator);
351 - 353 +
352 assertEquals(context.getUser(), user); 354 assertEquals(context.getUser(), user);
353 } 355 }
354 } 356 }
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/ExceptionHandlerInterceptorTest.java
@@ -47,6 +47,8 @@ import static org.powermock.api.easymock.PowerMock.replay; @@ -47,6 +47,8 @@ import static org.powermock.api.easymock.PowerMock.replay;
47 import static org.powermock.api.easymock.PowerMock.replayAll; 47 import static org.powermock.api.easymock.PowerMock.replayAll;
48 import static org.powermock.api.easymock.PowerMock.verifyAll; 48 import static org.powermock.api.easymock.PowerMock.verifyAll;
49 49
  50 +import java.util.Locale;
  51 +
50 import javax.interceptor.InvocationContext; 52 import javax.interceptor.InvocationContext;
51 53
52 import org.easymock.EasyMock; 54 import org.easymock.EasyMock;
@@ -140,7 +142,7 @@ public class ExceptionHandlerInterceptorTest { @@ -140,7 +142,7 @@ public class ExceptionHandlerInterceptorTest {
140 @Before 142 @Before
141 public void setUp() throws Exception { 143 public void setUp() throws Exception {
142 this.logger = PowerMock.createMock(Logger.class); 144 this.logger = PowerMock.createMock(Logger.class);
143 - this.bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 145 + this.bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
144 this.logger.info(EasyMock.anyObject(String.class)); 146 this.logger.info(EasyMock.anyObject(String.class));
145 PowerMock.expectLastCall().anyTimes(); 147 PowerMock.expectLastCall().anyTimes();
146 replay(this.logger); 148 replay(this.logger);
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredPermissionInterceptorTest.java
@@ -7,6 +7,8 @@ import static org.junit.Assert.fail; @@ -7,6 +7,8 @@ import static org.junit.Assert.fail;
7 import static org.powermock.api.easymock.PowerMock.mockStatic; 7 import static org.powermock.api.easymock.PowerMock.mockStatic;
8 import static org.powermock.api.easymock.PowerMock.replay; 8 import static org.powermock.api.easymock.PowerMock.replay;
9 9
  10 +import java.util.Locale;
  11 +
10 import javax.enterprise.inject.Instance; 12 import javax.enterprise.inject.Instance;
11 import javax.interceptor.InvocationContext; 13 import javax.interceptor.InvocationContext;
12 14
@@ -116,7 +118,7 @@ public class RequiredPermissionInterceptorTest { @@ -116,7 +118,7 @@ public class RequiredPermissionInterceptorTest {
116 Instance<SecurityContext> securityContextInstance = createMock(Instance.class); 118 Instance<SecurityContext> securityContextInstance = createMock(Instance.class);
117 Logger logger = createMock(Logger.class); 119 Logger logger = createMock(Logger.class);
118 120
119 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 121 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
120 User user = createMock(User.class); 122 User user = createMock(User.class);
121 123
122 mockStatic(CoreBundle.class); 124 mockStatic(CoreBundle.class);
@@ -356,7 +358,7 @@ public class RequiredPermissionInterceptorTest { @@ -356,7 +358,7 @@ public class RequiredPermissionInterceptorTest {
356 fail(); 358 fail();
357 } 359 }
358 } 360 }
359 - 361 +
360 @Test 362 @Test
361 public void testManageClassAnnotedWithRequiredPermissionAtRequiredPermissionWithDeclaredOperation() 363 public void testManageClassAnnotedWithRequiredPermissionAtRequiredPermissionWithDeclaredOperation()
362 throws Exception { 364 throws Exception {
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/RequiredRoleInterceptorTest.java
@@ -5,6 +5,8 @@ import static org.junit.Assert.fail; @@ -5,6 +5,8 @@ import static org.junit.Assert.fail;
5 import static org.powermock.api.easymock.PowerMock.mockStatic; 5 import static org.powermock.api.easymock.PowerMock.mockStatic;
6 import static org.powermock.api.easymock.PowerMock.replay; 6 import static org.powermock.api.easymock.PowerMock.replay;
7 7
  8 +import java.util.Locale;
  9 +
8 import javax.enterprise.inject.Instance; 10 import javax.enterprise.inject.Instance;
9 import javax.interceptor.InvocationContext; 11 import javax.interceptor.InvocationContext;
10 12
@@ -84,7 +86,7 @@ public class RequiredRoleInterceptorTest { @@ -84,7 +86,7 @@ public class RequiredRoleInterceptorTest {
84 86
85 @SuppressWarnings("unchecked") 87 @SuppressWarnings("unchecked")
86 Instance<SecurityContext> securityContextInstance = EasyMock.createMock(Instance.class); 88 Instance<SecurityContext> securityContextInstance = EasyMock.createMock(Instance.class);
87 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 89 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
88 Logger logger = EasyMock.createMock(Logger.class); 90 Logger logger = EasyMock.createMock(Logger.class);
89 User user = EasyMock.createMock(User.class); 91 User user = EasyMock.createMock(User.class);
90 92
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/interceptor/TransactionalInterceptorTest.java
@@ -43,6 +43,8 @@ import static org.junit.Assert.assertEquals; @@ -43,6 +43,8 @@ import static org.junit.Assert.assertEquals;
43 import static org.junit.Assert.assertTrue; 43 import static org.junit.Assert.assertTrue;
44 import static org.junit.Assert.fail; 44 import static org.junit.Assert.fail;
45 45
  46 +import java.util.Locale;
  47 +
46 import javax.enterprise.inject.Instance; 48 import javax.enterprise.inject.Instance;
47 import javax.interceptor.InvocationContext; 49 import javax.interceptor.InvocationContext;
48 50
@@ -78,7 +80,7 @@ public class TransactionalInterceptorTest { @@ -78,7 +80,7 @@ public class TransactionalInterceptorTest {
78 Instance<TransactionInfo> transactionContextInstance = EasyMock.createMock(Instance.class); 80 Instance<TransactionInfo> transactionContextInstance = EasyMock.createMock(Instance.class);
79 81
80 Logger logger = EasyMock.createMock(Logger.class); 82 Logger logger = EasyMock.createMock(Logger.class);
81 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle")); 83 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());
82 transaction = EasyMock.createMock(Transaction.class); 84 transaction = EasyMock.createMock(Transaction.class);
83 TransactionInfo context = new TransactionInfo(); 85 TransactionInfo context = new TransactionInfo();
84 86
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducerTest.java
@@ -82,9 +82,8 @@ public class ResourceBundleProducerTest { @@ -82,9 +82,8 @@ public class ResourceBundleProducerTest {
82 82
83 @Test 83 @Test
84 public void testCreateWithNonExistentFile() { 84 public void testCreateWithNonExistentFile() {
85 - ResourceBundleProducer factory = new ResourceBundleProducer();  
86 try { 85 try {
87 - factory.create("arquivo_inexistente", Locale.getDefault()); 86 + ResourceBundleProducer.create("arquivo_inexistente", Locale.getDefault());
88 } catch (Exception e) { 87 } catch (Exception e) {
89 assertTrue(e instanceof DemoiselleException); 88 assertTrue(e instanceof DemoiselleException);
90 } 89 }
impl/core/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/Slf4jLoggerProxyTest.java
1 -/*  
2 - * Demoiselle Framework  
3 - * Copyright (C) 2010 SERPRO  
4 - * ----------------------------------------------------------------------------  
5 - * This file is part of Demoiselle Framework.  
6 - *  
7 - * Demoiselle Framework is free software; you can redistribute it and/or  
8 - * modify it under the terms of the GNU Lesser General Public License version 3  
9 - * as published by the Free Software Foundation.  
10 - *  
11 - * This program is distributed in the hope that it will be useful,  
12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
14 - * GNU General Public License for more details.  
15 - *  
16 - * You should have received a copy of the GNU Lesser General Public License version 3  
17 - * along with this program; if not, see <http://www.gnu.org/licenses/>  
18 - * or write to the Free Software Foundation, Inc., 51 Franklin Street,  
19 - * Fifth Floor, Boston, MA 02110-1301, USA.  
20 - * ----------------------------------------------------------------------------  
21 - * Este arquivo é parte do Framework Demoiselle.  
22 - *  
23 - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou  
24 - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação  
25 - * do Software Livre (FSF).  
26 - *  
27 - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA  
28 - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou  
29 - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português  
30 - * para maiores detalhes.  
31 - *  
32 - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título  
33 - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>  
34 - * ou escreva para a Fundação do Software Livre (FSF) Inc.,  
35 - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.  
36 - */  
37 -package br.gov.frameworkdemoiselle.internal.proxy;  
38 -  
39 -import static org.easymock.EasyMock.expect;  
40 -import static org.easymock.EasyMock.replay;  
41 -import static org.easymock.EasyMock.verify;  
42 -import static org.junit.Assert.assertEquals;  
43 -  
44 -import org.easymock.EasyMock;  
45 -import org.junit.Before;  
46 -import org.junit.Test;  
47 -import org.slf4j.Logger;  
48 -import org.slf4j.Marker;  
49 -  
50 -  
51 -public class Slf4jLoggerProxyTest {  
52 -  
53 - private Logger logger;  
54 - private Slf4jLoggerProxy slf4jLoggerProxy;  
55 -  
56 - @Before  
57 - public void setUp() throws Exception {  
58 - this.logger = EasyMock.createMock(Logger.class);  
59 - this.slf4jLoggerProxy = new Slf4jLoggerProxy(this.logger);  
60 - }  
61 -  
62 - @Test  
63 - public void testDebugWithMarkerAndString() {  
64 - Marker marker = null;  
65 - this.logger.debug(marker,"");  
66 - replay(this.logger);  
67 - this.slf4jLoggerProxy.debug(marker,"");  
68 - verify(this.logger);  
69 - }  
70 - @Test  
71 - public void testDebugWithMarkerStringAndOneObject() {  
72 - Marker marker = null;  
73 - Object obj = null;  
74 - this.logger.debug(marker,"",obj);  
75 - replay(this.logger);  
76 - this.slf4jLoggerProxy.debug(marker,"",obj);  
77 - verify(this.logger);  
78 - }  
79 - @Test  
80 - public void testDebugWithMarkerStringAndTwoObjects() {  
81 - Marker marker = null;  
82 - Object obj1 = null, obj2 = null;  
83 - this.logger.debug(marker,"",obj1,obj2);  
84 - replay(this.logger);  
85 - this.slf4jLoggerProxy.debug(marker,"",obj1,obj2);  
86 - verify(this.logger);  
87 - }  
88 - @Test  
89 - public void testDebugWithMarkerStringAndObjectArray() {  
90 - Marker marker = null;  
91 - Object[] obj = null;  
92 - this.logger.debug(marker,"",obj);  
93 - replay(this.logger);  
94 - this.slf4jLoggerProxy.debug(marker,"",obj);  
95 - verify(this.logger);  
96 - }  
97 -  
98 - @Test  
99 - public void testDebugWithMarkerStringAndThrowable() {  
100 - Marker marker = null;  
101 - Throwable t = null;  
102 - this.logger.debug(marker,"",t);  
103 - replay(this.logger);  
104 - this.slf4jLoggerProxy.debug(marker,"",t);  
105 - verify(this.logger);  
106 - }  
107 - @Test  
108 - public void testDebugWithString() {  
109 - this.logger.debug("");  
110 - replay(this.logger);  
111 - this.slf4jLoggerProxy.debug("");  
112 - verify(this.logger);  
113 - }  
114 - @Test  
115 - public void testDebugWithStringAndOneObject() {  
116 - Object obj = null;  
117 - this.logger.debug("",obj);  
118 - replay(this.logger);  
119 - this.slf4jLoggerProxy.debug("",obj);  
120 - verify(this.logger);  
121 - }  
122 - @Test  
123 - public void testDebugWithStringAndTwoObjects() {  
124 - Object obj1 = null, obj2 = null;  
125 - this.logger.debug("",obj1,obj2);  
126 - replay(this.logger);  
127 - this.slf4jLoggerProxy.debug("",obj1,obj2);  
128 - verify(this.logger);  
129 - }  
130 - @Test  
131 - public void testDebugWithStringAndObjectArray() {  
132 - Object[] obj = null;  
133 - this.logger.debug("",obj);  
134 - replay(this.logger);  
135 - this.slf4jLoggerProxy.debug("",obj);  
136 - verify(this.logger);  
137 - }  
138 - @Test  
139 - public void testDebugWithStringAndThrowable() {  
140 - Throwable t = null;  
141 - this.logger.debug("",t);  
142 - replay(this.logger);  
143 - this.slf4jLoggerProxy.debug("",t);  
144 - verify(this.logger);  
145 - }  
146 - @Test  
147 - public void testErrorWithMarkerAndString() {  
148 - Marker marker = null;  
149 - this.logger.error(marker,"");  
150 - replay(this.logger);  
151 - this.slf4jLoggerProxy.error(marker,"");  
152 - verify(this.logger);  
153 - }  
154 - @Test  
155 - public void testErrorWithMarkerStringAndOneObject() {  
156 - Marker marker = null;  
157 - Object obj = null;  
158 - this.logger.error(marker,"",obj);  
159 - replay(this.logger);  
160 - this.slf4jLoggerProxy.error(marker,"",obj);  
161 - verify(this.logger);  
162 - }  
163 - @Test  
164 - public void testErrorWithMarkerStringAndTwoObjects() {  
165 - Marker marker = null;  
166 - Object obj1 = null, obj2 = null;  
167 - this.logger.error(marker,"",obj1,obj2);  
168 - replay(this.logger);  
169 - this.slf4jLoggerProxy.error(marker,"",obj1,obj2);  
170 - verify(this.logger);  
171 - }  
172 - @Test  
173 - public void testErrorWithMarkerStringAndObjectArray() {  
174 - Marker marker = null;  
175 - Object[] obj1 = null;  
176 - this.logger.error(marker,"",obj1);  
177 - replay(this.logger);  
178 - this.slf4jLoggerProxy.error(marker,"",obj1);  
179 - verify(this.logger);  
180 - }  
181 - @Test  
182 - public void testErrorWithMarkerStringAndThrowable() {  
183 - Marker marker = null;  
184 - Throwable t = null;  
185 - this.logger.error(marker,"",t);  
186 - replay(this.logger);  
187 - this.slf4jLoggerProxy.error(marker,"",t);  
188 - verify(this.logger);  
189 - }  
190 - @Test  
191 - public void testErrorWithString() {  
192 - this.logger.error("");  
193 - replay(this.logger);  
194 - this.slf4jLoggerProxy.error("");  
195 - verify(this.logger);  
196 - }  
197 - @Test  
198 - public void testErrorWithStringAndOneObject() {  
199 - Object obj = null;  
200 - this.logger.error("",obj);  
201 - replay(this.logger);  
202 - this.slf4jLoggerProxy.error("",obj);  
203 - verify(this.logger);  
204 - }  
205 - @Test  
206 - public void testErrorWithStringAndTwoObjects() {  
207 - Object obj1 = null,obj2 = null;  
208 - this.logger.error("",obj1,obj2);  
209 - replay(this.logger);  
210 - this.slf4jLoggerProxy.error("",obj1,obj2);  
211 - verify(this.logger);  
212 - }  
213 - @Test  
214 - public void testErrorWithStringAndObjectArray() {  
215 - Object[] obj = null;  
216 - this.logger.error("",obj);  
217 - replay(this.logger);  
218 - this.slf4jLoggerProxy.error("",obj);  
219 - verify(this.logger);  
220 - }  
221 - @Test  
222 - public void testErrorWithStringAndThrowable() {  
223 - Throwable t = null;  
224 - this.logger.error("",t);  
225 - replay(this.logger);  
226 - this.slf4jLoggerProxy.error("",t);  
227 - verify(this.logger);  
228 - }  
229 - @Test  
230 - public void testGetName() {  
231 - expect(this.logger.getName()).andReturn("xxx");  
232 - replay(this.logger);  
233 - assertEquals("xxx", this.slf4jLoggerProxy.getName());  
234 - verify(this.logger);  
235 - }  
236 - @Test  
237 - public void testInfoWithMarkerAndString() {  
238 - Marker marker = null;  
239 - this.logger.info(marker,"");  
240 - replay(this.logger);  
241 - this.slf4jLoggerProxy.info(marker,"");  
242 - verify(this.logger);  
243 - }  
244 - @Test  
245 - public void testInfoWithMarkerStringAndOneObject() {  
246 - Marker marker = null;  
247 - Object obj = null;  
248 - this.logger.info(marker,"",obj);  
249 - replay(this.logger);  
250 - this.slf4jLoggerProxy.info(marker,"",obj);  
251 - verify(this.logger);  
252 - }  
253 - @Test  
254 - public void testInfoWithMarkerStringAndTwoObjects() {  
255 - Marker marker = null;  
256 - Object obj1 = null, obj2 = null;  
257 - this.logger.info(marker,"",obj1, obj2);  
258 - replay(this.logger);  
259 - this.slf4jLoggerProxy.info(marker,"",obj1,obj2);  
260 - verify(this.logger);  
261 - }  
262 - @Test  
263 - public void testInfoWithMarkerStringAndObjectArray() {  
264 - Marker marker = null;  
265 - Object[] obj = null;  
266 - this.logger.info(marker,"",obj);  
267 - replay(this.logger);  
268 - this.slf4jLoggerProxy.info(marker,"",obj);  
269 - verify(this.logger);  
270 - }  
271 - @Test  
272 - public void testInfoWithMarkerStringAndThrowable() {  
273 - Marker marker = null;  
274 - Throwable t = null;  
275 - this.logger.info(marker,"",t);  
276 - replay(this.logger);  
277 - this.slf4jLoggerProxy.info(marker,"",t);  
278 - verify(this.logger);  
279 - }  
280 - @Test  
281 - public void testInfoWithString() {  
282 - this.logger.info("");  
283 - replay(this.logger);  
284 - this.slf4jLoggerProxy.info("");  
285 - verify(this.logger);  
286 - }  
287 - @Test  
288 - public void testInfoWithStringAndOneObject() {  
289 - Object obj = null;  
290 - this.logger.info("",obj);  
291 - replay(this.logger);  
292 - this.slf4jLoggerProxy.info("",obj);  
293 - verify(this.logger);  
294 - }  
295 - @Test  
296 - public void testInfoWithStringAndTwoObjects() {  
297 - Object obj1 = null, obj2 = null;  
298 - this.logger.info("",obj1,obj2);  
299 - replay(this.logger);  
300 - this.slf4jLoggerProxy.info("",obj1,obj2);  
301 - verify(this.logger);  
302 - }  
303 - @Test  
304 - public void testInfoWithStringAndObjectArray() {  
305 - Object[] obj = null;  
306 - this.logger.info("",obj);  
307 - replay(this.logger);  
308 - this.slf4jLoggerProxy.info("",obj);  
309 - verify(this.logger);  
310 - }  
311 - @Test  
312 - public void testInfoWithStringAndThrowable() {  
313 - Throwable t = null;  
314 - this.logger.info("",t);  
315 - replay(this.logger);  
316 - this.slf4jLoggerProxy.info("",t);  
317 - verify(this.logger);  
318 - }  
319 - @Test  
320 - public void testIsDebugEnabled() {  
321 - expect(this.logger.isDebugEnabled()).andReturn(true);  
322 - replay(this.logger);  
323 - assertEquals(true, this.slf4jLoggerProxy.isDebugEnabled());  
324 - verify(this.logger);  
325 - }  
326 - @Test  
327 - public void testIsDebugEnabledWithMarker() {  
328 - Marker marker = null;  
329 - expect(this.logger.isDebugEnabled(marker)).andReturn(true);  
330 - replay(this.logger);  
331 - assertEquals(true, this.slf4jLoggerProxy.isDebugEnabled(marker));  
332 - verify(this.logger);  
333 - }  
334 - @Test  
335 - public void testIsErrorEnabled() {  
336 - expect(this.logger.isErrorEnabled()).andReturn(true);  
337 - replay(this.logger);  
338 - assertEquals(true, this.slf4jLoggerProxy.isErrorEnabled());  
339 - verify(this.logger);  
340 - }  
341 - @Test  
342 - public void testIsErrorEnabledWithMarker() {  
343 - Marker marker = null;  
344 - expect(this.logger.isErrorEnabled(marker)).andReturn(true);  
345 - replay(this.logger);  
346 - assertEquals(true, this.slf4jLoggerProxy.isErrorEnabled(marker));  
347 - verify(this.logger);  
348 - }  
349 - @Test  
350 - public void testIsInfoEnabled() {  
351 - expect(this.logger.isInfoEnabled()).andReturn(true);  
352 - replay(this.logger);  
353 - assertEquals(true, this.slf4jLoggerProxy.isInfoEnabled());  
354 - verify(this.logger);  
355 - }  
356 - @Test  
357 - public void testIsInfoEnabledWithMarker() {  
358 - Marker marker = null;  
359 - expect(this.logger.isInfoEnabled(marker)).andReturn(true);  
360 - replay(this.logger);  
361 - assertEquals(true, this.slf4jLoggerProxy.isInfoEnabled(marker));  
362 - verify(this.logger);  
363 - }  
364 - @Test  
365 - public void testIsTRaceEnabled() {  
366 - expect(this.logger.isTraceEnabled()).andReturn(true);  
367 - replay(this.logger);  
368 - assertEquals(true, this.slf4jLoggerProxy.isTraceEnabled());  
369 - verify(this.logger);  
370 - }  
371 - @Test  
372 - public void testIsTraceEnabledWithMarker() {  
373 - Marker marker = null;  
374 - expect(this.logger.isTraceEnabled(marker)).andReturn(true);  
375 - replay(this.logger);  
376 - assertEquals(true, this.slf4jLoggerProxy.isTraceEnabled(marker));  
377 - verify(this.logger);  
378 - }  
379 - @Test  
380 - public void testIsWarnEnabled() {  
381 - expect(this.logger.isWarnEnabled()).andReturn(true);  
382 - replay(this.logger);  
383 - assertEquals(true, this.slf4jLoggerProxy.isWarnEnabled());  
384 - verify(this.logger);  
385 - }  
386 - @Test  
387 - public void testIsWarnEnabledWithMarker() {  
388 - Marker marker = null;  
389 - expect(this.logger.isWarnEnabled(marker)).andReturn(true);  
390 - replay(this.logger);  
391 - assertEquals(true, this.slf4jLoggerProxy.isWarnEnabled(marker));  
392 - verify(this.logger);  
393 - }  
394 - @Test  
395 - public void testTraceWithMarkerAndString() {  
396 - Marker marker = null;  
397 - this.logger.trace(marker,"");  
398 - replay(this.logger);  
399 - this.slf4jLoggerProxy.trace(marker,"");  
400 - verify(this.logger);  
401 - }  
402 - @Test  
403 - public void testTraceWithMarkerStringAndOneObject() {  
404 - Marker marker = null;  
405 - Object obj = null;  
406 - this.logger.trace(marker,"",obj);  
407 - replay(this.logger);  
408 - this.slf4jLoggerProxy.trace(marker,"",obj);  
409 - verify(this.logger);  
410 - }  
411 - @Test  
412 - public void testTraceWithMarkerStringAndTwoObjects() {  
413 - Marker marker = null;  
414 - Object obj1 = null, obj2 = null;  
415 - this.logger.trace(marker,"",obj1, obj2);  
416 - replay(this.logger);  
417 - this.slf4jLoggerProxy.trace(marker,"",obj1,obj2);  
418 - verify(this.logger);  
419 - }  
420 - @Test  
421 - public void testTraceWithMarkerStringAndObjectArray() {  
422 - Marker marker = null;  
423 - Object[] obj = null;  
424 - this.logger.trace(marker,"",obj);  
425 - replay(this.logger);  
426 - this.slf4jLoggerProxy.trace(marker,"",obj);  
427 - verify(this.logger);  
428 - }  
429 - @Test  
430 - public void testTraceWithMarkerStringAndThrowable() {  
431 - Marker marker = null;  
432 - Throwable t = null;  
433 - this.logger.trace(marker,"",t);  
434 - replay(this.logger);  
435 - this.slf4jLoggerProxy.trace(marker,"",t);  
436 - verify(this.logger);  
437 - }  
438 - @Test  
439 - public void testTraceWithString() {  
440 - this.logger.trace("");  
441 - replay(this.logger);  
442 - this.slf4jLoggerProxy.trace("");  
443 - verify(this.logger);  
444 - }  
445 - @Test  
446 - public void testTraceWithStringAndOneObject() {  
447 - Object obj = null;  
448 - this.logger.trace("",obj);  
449 - replay(this.logger);  
450 - this.slf4jLoggerProxy.trace("",obj);  
451 - verify(this.logger);  
452 - }  
453 - @Test  
454 - public void testTraceWithStringAndTwoObjects() {  
455 - Object obj1 = null, obj2 = null;  
456 - this.logger.trace("",obj1,obj2);  
457 - replay(this.logger);  
458 - this.slf4jLoggerProxy.trace("",obj1,obj2);  
459 - verify(this.logger);  
460 - }  
461 - @Test  
462 - public void testTraceWithStringAndObjectArray() {  
463 - Object[] obj = null;  
464 - this.logger.trace("",obj);  
465 - replay(this.logger);  
466 - this.slf4jLoggerProxy.trace("",obj);  
467 - verify(this.logger);  
468 - }  
469 - @Test  
470 - public void testTraceWithStringAndThrowable() {  
471 - Throwable t = null;  
472 - this.logger.trace("",t);  
473 - replay(this.logger);  
474 - this.slf4jLoggerProxy.trace("",t);  
475 - verify(this.logger);  
476 - }  
477 - @Test  
478 - public void testWarnWithMarkerAndString() {  
479 - Marker marker = null;  
480 - this.logger.warn(marker,"");  
481 - replay(this.logger);  
482 - this.slf4jLoggerProxy.warn(marker,"");  
483 - verify(this.logger);  
484 - }  
485 - @Test  
486 - public void testWarnWithMarkerStringAndOneObject() {  
487 - Marker marker = null;  
488 - Object obj = null;  
489 - this.logger.warn(marker,"",obj);  
490 - replay(this.logger);  
491 - this.slf4jLoggerProxy.warn(marker,"",obj);  
492 - verify(this.logger);  
493 - }  
494 - @Test  
495 - public void testWarnWithMarkerStringAndTwoObjects() {  
496 - Marker marker = null;  
497 - Object obj1 = null, obj2 = null;  
498 - this.logger.warn(marker,"",obj1, obj2);  
499 - replay(this.logger);  
500 - this.slf4jLoggerProxy.warn(marker,"",obj1,obj2);  
501 - verify(this.logger);  
502 - }  
503 - @Test  
504 - public void testWarnWithMarkerStringAndObjectArray() {  
505 - Marker marker = null;  
506 - Object[] obj = null;  
507 - this.logger.warn(marker,"",obj);  
508 - replay(this.logger);  
509 - this.slf4jLoggerProxy.warn(marker,"",obj);  
510 - verify(this.logger);  
511 - }  
512 - @Test  
513 - public void testWarnWithMarkerStringAndThrowable() {  
514 - Marker marker = null;  
515 - Throwable t = null;  
516 - this.logger.warn(marker,"",t);  
517 - replay(this.logger);  
518 - this.slf4jLoggerProxy.warn(marker,"",t);  
519 - verify(this.logger);  
520 - }  
521 - @Test  
522 - public void testWarnWithString() {  
523 - this.logger.warn("");  
524 - replay(this.logger);  
525 - this.slf4jLoggerProxy.warn("");  
526 - verify(this.logger);  
527 - }  
528 - @Test  
529 - public void testWarnWithStringAndOneObject() {  
530 - Object obj = null;  
531 - this.logger.warn("",obj);  
532 - replay(this.logger);  
533 - this.slf4jLoggerProxy.warn("",obj);  
534 - verify(this.logger);  
535 - }  
536 - @Test  
537 - public void testWarnWithStringAndTwoObjects() {  
538 - Object obj1 = null, obj2 = null;  
539 - this.logger.warn("",obj1,obj2);  
540 - replay(this.logger);  
541 - this.slf4jLoggerProxy.warn("",obj1,obj2);  
542 - verify(this.logger);  
543 - }  
544 - @Test  
545 - public void testWarnWithStringAndObjectArray() {  
546 - Object[] obj = null;  
547 - this.logger.warn("",obj);  
548 - replay(this.logger);  
549 - this.slf4jLoggerProxy.warn("",obj);  
550 - verify(this.logger);  
551 - }  
552 - @Test  
553 - public void testWarnWithStringAndThrowable() {  
554 - Throwable t = null;  
555 - this.logger.warn("",t);  
556 - replay(this.logger);  
557 - this.slf4jLoggerProxy.warn("",t);  
558 - verify(this.logger);  
559 - }  
560 -} 1 +///*
  2 +// * Demoiselle Framework
  3 +// * Copyright (C) 2010 SERPRO
  4 +// * ----------------------------------------------------------------------------
  5 +// * This file is part of Demoiselle Framework.
  6 +// *
  7 +// * Demoiselle Framework is free software; you can redistribute it and/or
  8 +// * modify it under the terms of the GNU Lesser General Public License version 3
  9 +// * as published by the Free Software Foundation.
  10 +// *
  11 +// * This program is distributed in the hope that it will be useful,
  12 +// * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 +// * GNU General Public License for more details.
  15 +// *
  16 +// * You should have received a copy of the GNU Lesser General Public License version 3
  17 +// * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 +// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 +// * Fifth Floor, Boston, MA 02110-1301, USA.
  20 +// * ----------------------------------------------------------------------------
  21 +// * Este arquivo é parte do Framework Demoiselle.
  22 +// *
  23 +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 +// * do Software Livre (FSF).
  26 +// *
  27 +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 +// * para maiores detalhes.
  31 +// *
  32 +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 +// * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 +// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 +// */
  37 +//package br.gov.frameworkdemoiselle.internal.proxy;
  38 +//
  39 +//import static org.easymock.EasyMock.expect;
  40 +//import static org.easymock.EasyMock.replay;
  41 +//import static org.easymock.EasyMock.verify;
  42 +//import static org.junit.Assert.assertEquals;
  43 +//
  44 +//import org.easymock.EasyMock;
  45 +//import org.junit.Before;
  46 +//import org.junit.Test;
  47 +//import org.slf4j.Logger;
  48 +//import org.slf4j.Marker;
  49 +//
  50 +//
  51 +//public class Slf4jLoggerProxyTest {
  52 +//
  53 +// private Logger logger;
  54 +// private Slf4jLoggerProxy slf4jLoggerProxy;
  55 +//
  56 +// @Before
  57 +// public void setUp() throws Exception {
  58 +// this.logger = EasyMock.createMock(Logger.class);
  59 +// this.slf4jLoggerProxy = new Slf4jLoggerProxy(this.logger);
  60 +// }
  61 +//
  62 +// @Test
  63 +// public void testDebugWithMarkerAndString() {
  64 +// Marker marker = null;
  65 +// this.logger.debug(marker,"");
  66 +// replay(this.logger);
  67 +// this.slf4jLoggerProxy.debug(marker,"");
  68 +// verify(this.logger);
  69 +// }
  70 +// @Test
  71 +// public void testDebugWithMarkerStringAndOneObject() {
  72 +// Marker marker = null;
  73 +// Object obj = null;
  74 +// this.logger.debug(marker,"",obj);
  75 +// replay(this.logger);
  76 +// this.slf4jLoggerProxy.debug(marker,"",obj);
  77 +// verify(this.logger);
  78 +// }
  79 +// @Test
  80 +// public void testDebugWithMarkerStringAndTwoObjects() {
  81 +// Marker marker = null;
  82 +// Object obj1 = null, obj2 = null;
  83 +// this.logger.debug(marker,"",obj1,obj2);
  84 +// replay(this.logger);
  85 +// this.slf4jLoggerProxy.debug(marker,"",obj1,obj2);
  86 +// verify(this.logger);
  87 +// }
  88 +// @Test
  89 +// public void testDebugWithMarkerStringAndObjectArray() {
  90 +// Marker marker = null;
  91 +// Object[] obj = null;
  92 +// this.logger.debug(marker,"",obj);
  93 +// replay(this.logger);
  94 +// this.slf4jLoggerProxy.debug(marker,"",obj);
  95 +// verify(this.logger);
  96 +// }
  97 +//
  98 +// @Test
  99 +// public void testDebugWithMarkerStringAndThrowable() {
  100 +// Marker marker = null;
  101 +// Throwable t = null;
  102 +// this.logger.debug(marker,"",t);
  103 +// replay(this.logger);
  104 +// this.slf4jLoggerProxy.debug(marker,"",t);
  105 +// verify(this.logger);
  106 +// }
  107 +// @Test
  108 +// public void testDebugWithString() {
  109 +// this.logger.debug("");
  110 +// replay(this.logger);
  111 +// this.slf4jLoggerProxy.debug("");
  112 +// verify(this.logger);
  113 +// }
  114 +// @Test
  115 +// public void testDebugWithStringAndOneObject() {
  116 +// Object obj = null;
  117 +// this.logger.debug("",obj);
  118 +// replay(this.logger);
  119 +// this.slf4jLoggerProxy.debug("",obj);
  120 +// verify(this.logger);
  121 +// }
  122 +// @Test
  123 +// public void testDebugWithStringAndTwoObjects() {
  124 +// Object obj1 = null, obj2 = null;
  125 +// this.logger.debug("",obj1,obj2);
  126 +// replay(this.logger);
  127 +// this.slf4jLoggerProxy.debug("",obj1,obj2);
  128 +// verify(this.logger);
  129 +// }
  130 +// @Test
  131 +// public void testDebugWithStringAndObjectArray() {
  132 +// Object[] obj = null;
  133 +// this.logger.debug("",obj);
  134 +// replay(this.logger);
  135 +// this.slf4jLoggerProxy.debug("",obj);
  136 +// verify(this.logger);
  137 +// }
  138 +// @Test
  139 +// public void testDebugWithStringAndThrowable() {
  140 +// Throwable t = null;
  141 +// this.logger.debug("",t);
  142 +// replay(this.logger);
  143 +// this.slf4jLoggerProxy.debug("",t);
  144 +// verify(this.logger);
  145 +// }
  146 +// @Test
  147 +// public void testErrorWithMarkerAndString() {
  148 +// Marker marker = null;
  149 +// this.logger.error(marker,"");
  150 +// replay(this.logger);
  151 +// this.slf4jLoggerProxy.error(marker,"");
  152 +// verify(this.logger);
  153 +// }
  154 +// @Test
  155 +// public void testErrorWithMarkerStringAndOneObject() {
  156 +// Marker marker = null;
  157 +// Object obj = null;
  158 +// this.logger.error(marker,"",obj);
  159 +// replay(this.logger);
  160 +// this.slf4jLoggerProxy.error(marker,"",obj);
  161 +// verify(this.logger);
  162 +// }
  163 +// @Test
  164 +// public void testErrorWithMarkerStringAndTwoObjects() {
  165 +// Marker marker = null;
  166 +// Object obj1 = null, obj2 = null;
  167 +// this.logger.error(marker,"",obj1,obj2);
  168 +// replay(this.logger);
  169 +// this.slf4jLoggerProxy.error(marker,"",obj1,obj2);
  170 +// verify(this.logger);
  171 +// }
  172 +// @Test
  173 +// public void testErrorWithMarkerStringAndObjectArray() {
  174 +// Marker marker = null;
  175 +// Object[] obj1 = null;
  176 +// this.logger.error(marker,"",obj1);
  177 +// replay(this.logger);
  178 +// this.slf4jLoggerProxy.error(marker,"",obj1);
  179 +// verify(this.logger);
  180 +// }
  181 +// @Test
  182 +// public void testErrorWithMarkerStringAndThrowable() {
  183 +// Marker marker = null;
  184 +// Throwable t = null;
  185 +// this.logger.error(marker,"",t);
  186 +// replay(this.logger);
  187 +// this.slf4jLoggerProxy.error(marker,"",t);
  188 +// verify(this.logger);
  189 +// }
  190 +// @Test
  191 +// public void testErrorWithString() {
  192 +// this.logger.error("");
  193 +// replay(this.logger);
  194 +// this.slf4jLoggerProxy.error("");
  195 +// verify(this.logger);
  196 +// }
  197 +// @Test
  198 +// public void testErrorWithStringAndOneObject() {
  199 +// Object obj = null;
  200 +// this.logger.error("",obj);
  201 +// replay(this.logger);
  202 +// this.slf4jLoggerProxy.error("",obj);
  203 +// verify(this.logger);
  204 +// }
  205 +// @Test
  206 +// public void testErrorWithStringAndTwoObjects() {
  207 +// Object obj1 = null,obj2 = null;
  208 +// this.logger.error("",obj1,obj2);
  209 +// replay(this.logger);
  210 +// this.slf4jLoggerProxy.error("",obj1,obj2);
  211 +// verify(this.logger);
  212 +// }
  213 +// @Test
  214 +// public void testErrorWithStringAndObjectArray() {
  215 +// Object[] obj = null;
  216 +// this.logger.error("",obj);
  217 +// replay(this.logger);
  218 +// this.slf4jLoggerProxy.error("",obj);
  219 +// verify(this.logger);
  220 +// }
  221 +// @Test
  222 +// public void testErrorWithStringAndThrowable() {
  223 +// Throwable t = null;
  224 +// this.logger.error("",t);
  225 +// replay(this.logger);
  226 +// this.slf4jLoggerProxy.error("",t);
  227 +// verify(this.logger);
  228 +// }
  229 +// @Test
  230 +// public void testGetName() {
  231 +// expect(this.logger.getName()).andReturn("xxx");
  232 +// replay(this.logger);
  233 +// assertEquals("xxx", this.slf4jLoggerProxy.getName());
  234 +// verify(this.logger);
  235 +// }
  236 +// @Test
  237 +// public void testInfoWithMarkerAndString() {
  238 +// Marker marker = null;
  239 +// this.logger.info(marker,"");
  240 +// replay(this.logger);
  241 +// this.slf4jLoggerProxy.info(marker,"");
  242 +// verify(this.logger);
  243 +// }
  244 +// @Test
  245 +// public void testInfoWithMarkerStringAndOneObject() {
  246 +// Marker marker = null;
  247 +// Object obj = null;
  248 +// this.logger.info(marker,"",obj);
  249 +// replay(this.logger);
  250 +// this.slf4jLoggerProxy.info(marker,"",obj);
  251 +// verify(this.logger);
  252 +// }
  253 +// @Test
  254 +// public void testInfoWithMarkerStringAndTwoObjects() {
  255 +// Marker marker = null;
  256 +// Object obj1 = null, obj2 = null;
  257 +// this.logger.info(marker,"",obj1, obj2);
  258 +// replay(this.logger);
  259 +// this.slf4jLoggerProxy.info(marker,"",obj1,obj2);
  260 +// verify(this.logger);
  261 +// }
  262 +// @Test
  263 +// public void testInfoWithMarkerStringAndObjectArray() {
  264 +// Marker marker = null;
  265 +// Object[] obj = null;
  266 +// this.logger.info(marker,"",obj);
  267 +// replay(this.logger);
  268 +// this.slf4jLoggerProxy.info(marker,"",obj);
  269 +// verify(this.logger);
  270 +// }
  271 +// @Test
  272 +// public void testInfoWithMarkerStringAndThrowable() {
  273 +// Marker marker = null;
  274 +// Throwable t = null;
  275 +// this.logger.info(marker,"",t);
  276 +// replay(this.logger);
  277 +// this.slf4jLoggerProxy.info(marker,"",t);
  278 +// verify(this.logger);
  279 +// }
  280 +// @Test
  281 +// public void testInfoWithString() {
  282 +// this.logger.info("");
  283 +// replay(this.logger);
  284 +// this.slf4jLoggerProxy.info("");
  285 +// verify(this.logger);
  286 +// }
  287 +// @Test
  288 +// public void testInfoWithStringAndOneObject() {
  289 +// Object obj = null;
  290 +// this.logger.info("",obj);
  291 +// replay(this.logger);
  292 +// this.slf4jLoggerProxy.info("",obj);
  293 +// verify(this.logger);
  294 +// }
  295 +// @Test
  296 +// public void testInfoWithStringAndTwoObjects() {
  297 +// Object obj1 = null, obj2 = null;
  298 +// this.logger.info("",obj1,obj2);
  299 +// replay(this.logger);
  300 +// this.slf4jLoggerProxy.info("",obj1,obj2);
  301 +// verify(this.logger);
  302 +// }
  303 +// @Test
  304 +// public void testInfoWithStringAndObjectArray() {
  305 +// Object[] obj = null;
  306 +// this.logger.info("",obj);
  307 +// replay(this.logger);
  308 +// this.slf4jLoggerProxy.info("",obj);
  309 +// verify(this.logger);
  310 +// }
  311 +// @Test
  312 +// public void testInfoWithStringAndThrowable() {
  313 +// Throwable t = null;
  314 +// this.logger.info("",t);
  315 +// replay(this.logger);
  316 +// this.slf4jLoggerProxy.info("",t);
  317 +// verify(this.logger);
  318 +// }
  319 +// @Test
  320 +// public void testIsDebugEnabled() {
  321 +// expect(this.logger.isDebugEnabled()).andReturn(true);
  322 +// replay(this.logger);
  323 +// assertEquals(true, this.slf4jLoggerProxy.isDebugEnabled());
  324 +// verify(this.logger);
  325 +// }
  326 +// @Test
  327 +// public void testIsDebugEnabledWithMarker() {
  328 +// Marker marker = null;
  329 +// expect(this.logger.isDebugEnabled(marker)).andReturn(true);
  330 +// replay(this.logger);
  331 +// assertEquals(true, this.slf4jLoggerProxy.isDebugEnabled(marker));
  332 +// verify(this.logger);
  333 +// }
  334 +// @Test
  335 +// public void testIsErrorEnabled() {
  336 +// expect(this.logger.isErrorEnabled()).andReturn(true);
  337 +// replay(this.logger);
  338 +// assertEquals(true, this.slf4jLoggerProxy.isErrorEnabled());
  339 +// verify(this.logger);
  340 +// }
  341 +// @Test
  342 +// public void testIsErrorEnabledWithMarker() {
  343 +// Marker marker = null;
  344 +// expect(this.logger.isErrorEnabled(marker)).andReturn(true);
  345 +// replay(this.logger);
  346 +// assertEquals(true, this.slf4jLoggerProxy.isErrorEnabled(marker));
  347 +// verify(this.logger);
  348 +// }
  349 +// @Test
  350 +// public void testIsInfoEnabled() {
  351 +// expect(this.logger.isInfoEnabled()).andReturn(true);
  352 +// replay(this.logger);
  353 +// assertEquals(true, this.slf4jLoggerProxy.isInfoEnabled());
  354 +// verify(this.logger);
  355 +// }
  356 +// @Test
  357 +// public void testIsInfoEnabledWithMarker() {
  358 +// Marker marker = null;
  359 +// expect(this.logger.isInfoEnabled(marker)).andReturn(true);
  360 +// replay(this.logger);
  361 +// assertEquals(true, this.slf4jLoggerProxy.isInfoEnabled(marker));
  362 +// verify(this.logger);
  363 +// }
  364 +// @Test
  365 +// public void testIsTRaceEnabled() {
  366 +// expect(this.logger.isTraceEnabled()).andReturn(true);
  367 +// replay(this.logger);
  368 +// assertEquals(true, this.slf4jLoggerProxy.isTraceEnabled());
  369 +// verify(this.logger);
  370 +// }
  371 +// @Test
  372 +// public void testIsTraceEnabledWithMarker() {
  373 +// Marker marker = null;
  374 +// expect(this.logger.isTraceEnabled(marker)).andReturn(true);
  375 +// replay(this.logger);
  376 +// assertEquals(true, this.slf4jLoggerProxy.isTraceEnabled(marker));
  377 +// verify(this.logger);
  378 +// }
  379 +// @Test
  380 +// public void testIsWarnEnabled() {
  381 +// expect(this.logger.isWarnEnabled()).andReturn(true);
  382 +// replay(this.logger);
  383 +// assertEquals(true, this.slf4jLoggerProxy.isWarnEnabled());
  384 +// verify(this.logger);
  385 +// }
  386 +// @Test
  387 +// public void testIsWarnEnabledWithMarker() {
  388 +// Marker marker = null;
  389 +// expect(this.logger.isWarnEnabled(marker)).andReturn(true);
  390 +// replay(this.logger);
  391 +// assertEquals(true, this.slf4jLoggerProxy.isWarnEnabled(marker));
  392 +// verify(this.logger);
  393 +// }
  394 +// @Test
  395 +// public void testTraceWithMarkerAndString() {
  396 +// Marker marker = null;
  397 +// this.logger.trace(marker,"");
  398 +// replay(this.logger);
  399 +// this.slf4jLoggerProxy.trace(marker,"");
  400 +// verify(this.logger);
  401 +// }
  402 +// @Test
  403 +// public void testTraceWithMarkerStringAndOneObject() {
  404 +// Marker marker = null;
  405 +// Object obj = null;
  406 +// this.logger.trace(marker,"",obj);
  407 +// replay(this.logger);
  408 +// this.slf4jLoggerProxy.trace(marker,"",obj);
  409 +// verify(this.logger);
  410 +// }
  411 +// @Test
  412 +// public void testTraceWithMarkerStringAndTwoObjects() {
  413 +// Marker marker = null;
  414 +// Object obj1 = null, obj2 = null;
  415 +// this.logger.trace(marker,"",obj1, obj2);
  416 +// replay(this.logger);
  417 +// this.slf4jLoggerProxy.trace(marker,"",obj1,obj2);
  418 +// verify(this.logger);
  419 +// }
  420 +// @Test
  421 +// public void testTraceWithMarkerStringAndObjectArray() {
  422 +// Marker marker = null;
  423 +// Object[] obj = null;
  424 +// this.logger.trace(marker,"",obj);
  425 +// replay(this.logger);
  426 +// this.slf4jLoggerProxy.trace(marker,"",obj);
  427 +// verify(this.logger);
  428 +// }
  429 +// @Test
  430 +// public void testTraceWithMarkerStringAndThrowable() {
  431 +// Marker marker = null;
  432 +// Throwable t = null;
  433 +// this.logger.trace(marker,"",t);
  434 +// replay(this.logger);
  435 +// this.slf4jLoggerProxy.trace(marker,"",t);
  436 +// verify(this.logger);
  437 +// }
  438 +// @Test
  439 +// public void testTraceWithString() {
  440 +// this.logger.trace("");
  441 +// replay(this.logger);
  442 +// this.slf4jLoggerProxy.trace("");
  443 +// verify(this.logger);
  444 +// }
  445 +// @Test
  446 +// public void testTraceWithStringAndOneObject() {
  447 +// Object obj = null;
  448 +// this.logger.trace("",obj);
  449 +// replay(this.logger);
  450 +// this.slf4jLoggerProxy.trace("",obj);
  451 +// verify(this.logger);
  452 +// }
  453 +// @Test
  454 +// public void testTraceWithStringAndTwoObjects() {
  455 +// Object obj1 = null, obj2 = null;
  456 +// this.logger.trace("",obj1,obj2);
  457 +// replay(this.logger);
  458 +// this.slf4jLoggerProxy.trace("",obj1,obj2);
  459 +// verify(this.logger);
  460 +// }
  461 +// @Test
  462 +// public void testTraceWithStringAndObjectArray() {
  463 +// Object[] obj = null;
  464 +// this.logger.trace("",obj);
  465 +// replay(this.logger);
  466 +// this.slf4jLoggerProxy.trace("",obj);
  467 +// verify(this.logger);
  468 +// }
  469 +// @Test
  470 +// public void testTraceWithStringAndThrowable() {
  471 +// Throwable t = null;
  472 +// this.logger.trace("",t);
  473 +// replay(this.logger);
  474 +// this.slf4jLoggerProxy.trace("",t);
  475 +// verify(this.logger);
  476 +// }
  477 +// @Test
  478 +// public void testWarnWithMarkerAndString() {
  479 +// Marker marker = null;
  480 +// this.logger.warn(marker,"");
  481 +// replay(this.logger);
  482 +// this.slf4jLoggerProxy.warn(marker,"");
  483 +// verify(this.logger);
  484 +// }
  485 +// @Test
  486 +// public void testWarnWithMarkerStringAndOneObject() {
  487 +// Marker marker = null;
  488 +// Object obj = null;
  489 +// this.logger.warn(marker,"",obj);
  490 +// replay(this.logger);
  491 +// this.slf4jLoggerProxy.warn(marker,"",obj);
  492 +// verify(this.logger);
  493 +// }
  494 +// @Test
  495 +// public void testWarnWithMarkerStringAndTwoObjects() {
  496 +// Marker marker = null;
  497 +// Object obj1 = null, obj2 = null;
  498 +// this.logger.warn(marker,"",obj1, obj2);
  499 +// replay(this.logger);
  500 +// this.slf4jLoggerProxy.warn(marker,"",obj1,obj2);
  501 +// verify(this.logger);
  502 +// }
  503 +// @Test
  504 +// public void testWarnWithMarkerStringAndObjectArray() {
  505 +// Marker marker = null;
  506 +// Object[] obj = null;
  507 +// this.logger.warn(marker,"",obj);
  508 +// replay(this.logger);
  509 +// this.slf4jLoggerProxy.warn(marker,"",obj);
  510 +// verify(this.logger);
  511 +// }
  512 +// @Test
  513 +// public void testWarnWithMarkerStringAndThrowable() {
  514 +// Marker marker = null;
  515 +// Throwable t = null;
  516 +// this.logger.warn(marker,"",t);
  517 +// replay(this.logger);
  518 +// this.slf4jLoggerProxy.warn(marker,"",t);
  519 +// verify(this.logger);
  520 +// }
  521 +// @Test
  522 +// public void testWarnWithString() {
  523 +// this.logger.warn("");
  524 +// replay(this.logger);
  525 +// this.slf4jLoggerProxy.warn("");
  526 +// verify(this.logger);
  527 +// }
  528 +// @Test
  529 +// public void testWarnWithStringAndOneObject() {
  530 +// Object obj = null;
  531 +// this.logger.warn("",obj);
  532 +// replay(this.logger);
  533 +// this.slf4jLoggerProxy.warn("",obj);
  534 +// verify(this.logger);
  535 +// }
  536 +// @Test
  537 +// public void testWarnWithStringAndTwoObjects() {
  538 +// Object obj1 = null, obj2 = null;
  539 +// this.logger.warn("",obj1,obj2);
  540 +// replay(this.logger);
  541 +// this.slf4jLoggerProxy.warn("",obj1,obj2);
  542 +// verify(this.logger);
  543 +// }
  544 +// @Test
  545 +// public void testWarnWithStringAndObjectArray() {
  546 +// Object[] obj = null;
  547 +// this.logger.warn("",obj);
  548 +// replay(this.logger);
  549 +// this.slf4jLoggerProxy.warn("",obj);
  550 +// verify(this.logger);
  551 +// }
  552 +// @Test
  553 +// public void testWarnWithStringAndThrowable() {
  554 +// Throwable t = null;
  555 +// this.logger.warn("",t);
  556 +// replay(this.logger);
  557 +// this.slf4jLoggerProxy.warn("",t);
  558 +// verify(this.logger);
  559 +// }
  560 +//}
impl/core/src/test/java/br/gov/frameworkdemoiselle/util/ResourceBundleTest.java
1 -/*  
2 - * Demoiselle Framework  
3 - * Copyright (C) 2010 SERPRO  
4 - * ----------------------------------------------------------------------------  
5 - * This file is part of Demoiselle Framework.  
6 - *  
7 - * Demoiselle Framework is free software; you can redistribute it and/or  
8 - * modify it under the terms of the GNU Lesser General Public License version 3  
9 - * as published by the Free Software Foundation.  
10 - *  
11 - * This program is distributed in the hope that it will be useful,  
12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
14 - * GNU General Public License for more details.  
15 - *  
16 - * You should have received a copy of the GNU Lesser General Public License version 3  
17 - * along with this program; if not, see <http://www.gnu.org/licenses/>  
18 - * or write to the Free Software Foundation, Inc., 51 Franklin Street,  
19 - * Fifth Floor, Boston, MA 02110-1301, USA.  
20 - * ----------------------------------------------------------------------------  
21 - * Este arquivo é parte do Framework Demoiselle.  
22 - *  
23 - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou  
24 - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação  
25 - * do Software Livre (FSF).  
26 - *  
27 - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA  
28 - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou  
29 - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português  
30 - * para maiores detalhes.  
31 - *  
32 - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título  
33 - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>  
34 - * ou escreva para a Fundação do Software Livre (FSF) Inc.,  
35 - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.  
36 - */  
37 -package br.gov.frameworkdemoiselle.util;  
38 -  
39 -import static org.easymock.EasyMock.createMock;  
40 -import static org.easymock.EasyMock.replay;  
41 -import static org.easymock.EasyMock.verify;  
42 -import static org.junit.Assert.assertEquals;  
43 -import static org.junit.Assert.assertFalse;  
44 -import static org.junit.Assert.assertNull;  
45 -import static org.junit.Assert.assertTrue;  
46 -  
47 -import java.util.Enumeration;  
48 -import java.util.ListResourceBundle;  
49 -  
50 -import junit.framework.Assert;  
51 -  
52 -import org.junit.Before;  
53 -import org.junit.Test;  
54 -  
55 -public class ResourceBundleTest {  
56 -  
57 - /**  
58 - * This is a workaround to mock java.util.ResourceBundle. Since getString(key) method is defined as final, there is  
59 - * no way to extend and override it. For that reason, setting expectations (i.e. expect(...)) won't work.  
60 - */  
61 - class MockResourceBundle extends ListResourceBundle {  
62 -  
63 - private Object[][] contents = new Object[][] { { "msgWithoutParams", "no params" },  
64 - { "msgWithParams", "params: {0}, {1}" } };  
65 -  
66 - protected Object[][] getContents() {  
67 - return contents;  
68 - }  
69 -  
70 - };  
71 -  
72 - private ResourceBundle resourceBundle;  
73 -  
74 - private java.util.ResourceBundle mockResourceBundle;  
75 -  
76 - @Before  
77 - public void setUp() throws Exception {  
78 - mockResourceBundle = new MockResourceBundle();  
79 - resourceBundle = new ResourceBundle(mockResourceBundle);  
80 - }  
81 -  
82 - @Test  
83 - public void containsKey() {  
84 - assertTrue(resourceBundle.containsKey("msgWithoutParams"));  
85 -  
86 - assertFalse(resourceBundle.containsKey("inexistentKey"));  
87 - }  
88 -  
89 - @Test  
90 - public void getKeys() {  
91 - int keyCount = 0;  
92 -  
93 - Enumeration<String> e = resourceBundle.getKeys();  
94 -  
95 - while (e.hasMoreElements()) {  
96 - keyCount++;  
97 - e.nextElement();  
98 - }  
99 -  
100 - assertEquals(resourceBundle.keySet().size(), keyCount);  
101 - }  
102 -  
103 - @Test  
104 - public void testGetLocale() {  
105 - assertNull(resourceBundle.getLocale());  
106 - }  
107 -  
108 - @Test  
109 - public void testKeySet() {  
110 - assertEquals(2, resourceBundle.keySet().size());  
111 - }  
112 -  
113 - @Test  
114 - public void getString() {  
115 - assertEquals("no params", resourceBundle.getString("msgWithoutParams"));  
116 -  
117 - assertEquals("params: a, b", resourceBundle.getString("msgWithParams", "a", "b"));  
118 -  
119 - assertEquals("params: {0}, {1}", resourceBundle.getString("msgWithParams"));  
120 - }  
121 -  
122 - /**  
123 - * For this test, java.util.ResourceBundle is mocked to force an exception. Since the getString method is called  
124 - * from the actual ResourceBundle, not from the mock, it tries to find a handleGetObject method that doesn't exist.  
125 - *  
126 - * @throws Exception  
127 - */  
128 - @Test(expected = RuntimeException.class)  
129 - public void getStringWhenHandleGetObjectThrowsException() {  
130 - mockResourceBundle = createMock(java.util.ResourceBundle.class);  
131 - resourceBundle = new ResourceBundle(mockResourceBundle);  
132 -  
133 - replay(mockResourceBundle);  
134 -  
135 - resourceBundle.getString("msgWithParams");  
136 -  
137 - verify(mockResourceBundle);  
138 -  
139 - Assert.fail();  
140 - }  
141 -  
142 -} 1 +///*
  2 +// * Demoiselle Framework
  3 +// * Copyright (C) 2010 SERPRO
  4 +// * ----------------------------------------------------------------------------
  5 +// * This file is part of Demoiselle Framework.
  6 +// *
  7 +// * Demoiselle Framework is free software; you can redistribute it and/or
  8 +// * modify it under the terms of the GNU Lesser General Public License version 3
  9 +// * as published by the Free Software Foundation.
  10 +// *
  11 +// * This program is distributed in the hope that it will be useful,
  12 +// * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 +// * GNU General Public License for more details.
  15 +// *
  16 +// * You should have received a copy of the GNU Lesser General Public License version 3
  17 +// * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 +// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 +// * Fifth Floor, Boston, MA 02110-1301, USA.
  20 +// * ----------------------------------------------------------------------------
  21 +// * Este arquivo é parte do Framework Demoiselle.
  22 +// *
  23 +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 +// * do Software Livre (FSF).
  26 +// *
  27 +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 +// * para maiores detalhes.
  31 +// *
  32 +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 +// * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 +// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 +// */
  37 +//package br.gov.frameworkdemoiselle.util;
  38 +//
  39 +//import static org.easymock.EasyMock.createMock;
  40 +//import static org.easymock.EasyMock.replay;
  41 +//import static org.easymock.EasyMock.verify;
  42 +//import static org.junit.Assert.assertEquals;
  43 +//import static org.junit.Assert.assertFalse;
  44 +//import static org.junit.Assert.assertNull;
  45 +//import static org.junit.Assert.assertTrue;
  46 +//
  47 +//import java.util.Enumeration;
  48 +//import java.util.ListResourceBundle;
  49 +//
  50 +//import junit.framework.Assert;
  51 +//
  52 +//import org.junit.Before;
  53 +//import org.junit.Test;
  54 +//
  55 +//public class ResourceBundleTest {
  56 +//
  57 +// /**
  58 +// * This is a workaround to mock java.util.ResourceBundle. Since getString(key) method is defined as final, there is
  59 +// * no way to extend and override it. For that reason, setting expectations (i.e. expect(...)) won't work.
  60 +// */
  61 +// class MockResourceBundle extends ListResourceBundle {
  62 +//
  63 +// private Object[][] contents = new Object[][] { { "msgWithoutParams", "no params" },
  64 +// { "msgWithParams", "params: {0}, {1}" } };
  65 +//
  66 +// protected Object[][] getContents() {
  67 +// return contents;
  68 +// }
  69 +//
  70 +// };
  71 +//
  72 +// private ResourceBundle resourceBundle;
  73 +//
  74 +// private java.util.ResourceBundle mockResourceBundle;
  75 +//
  76 +// @Before
  77 +// public void setUp() throws Exception {
  78 +// mockResourceBundle = new MockResourceBundle();
  79 +// resourceBundle = new ResourceBundle(mockResourceBundle);
  80 +// }
  81 +//
  82 +// @Test
  83 +// public void containsKey() {
  84 +// assertTrue(resourceBundle.containsKey("msgWithoutParams"));
  85 +//
  86 +// assertFalse(resourceBundle.containsKey("inexistentKey"));
  87 +// }
  88 +//
  89 +// @Test
  90 +// public void getKeys() {
  91 +// int keyCount = 0;
  92 +//
  93 +// Enumeration<String> e = resourceBundle.getKeys();
  94 +//
  95 +// while (e.hasMoreElements()) {
  96 +// keyCount++;
  97 +// e.nextElement();
  98 +// }
  99 +//
  100 +// assertEquals(resourceBundle.keySet().size(), keyCount);
  101 +// }
  102 +//
  103 +// @Test
  104 +// public void testGetLocale() {
  105 +// assertNull(resourceBundle.getLocale());
  106 +// }
  107 +//
  108 +// @Test
  109 +// public void testKeySet() {
  110 +// assertEquals(2, resourceBundle.keySet().size());
  111 +// }
  112 +//
  113 +// @Test
  114 +// public void getString() {
  115 +// assertEquals("no params", resourceBundle.getString("msgWithoutParams"));
  116 +//
  117 +// assertEquals("params: a, b", resourceBundle.getString("msgWithParams", "a", "b"));
  118 +//
  119 +// assertEquals("params: {0}, {1}", resourceBundle.getString("msgWithParams"));
  120 +// }
  121 +//
  122 +// /**
  123 +// * For this test, java.util.ResourceBundle is mocked to force an exception. Since the getString method is called
  124 +// * from the actual ResourceBundle, not from the mock, it tries to find a handleGetObject method that doesn't exist.
  125 +// *
  126 +// * @throws Exception
  127 +// */
  128 +// @Test(expected = RuntimeException.class)
  129 +// public void getStringWhenHandleGetObjectThrowsException() {
  130 +// mockResourceBundle = createMock(java.util.ResourceBundle.class);
  131 +// resourceBundle = new ResourceBundle(mockResourceBundle);
  132 +//
  133 +// replay(mockResourceBundle);
  134 +//
  135 +// resourceBundle.getString("msgWithParams");
  136 +//
  137 +// verify(mockResourceBundle);
  138 +//
  139 +// Assert.fail();
  140 +// }
  141 +//
  142 +//}
impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java
@@ -40,6 +40,8 @@ import static org.easymock.EasyMock.expect; @@ -40,6 +40,8 @@ import static org.easymock.EasyMock.expect;
40 import static org.junit.Assert.assertEquals; 40 import static org.junit.Assert.assertEquals;
41 import static org.powermock.api.easymock.PowerMock.mockStatic; 41 import static org.powermock.api.easymock.PowerMock.mockStatic;
42 42
  43 +import java.util.Locale;
  44 +
43 import org.junit.After; 45 import org.junit.After;
44 import org.junit.Before; 46 import org.junit.Before;
45 import org.junit.Test; 47 import org.junit.Test;
@@ -68,17 +70,17 @@ public class EntityManagerConfigTest { @@ -68,17 +70,17 @@ public class EntityManagerConfigTest {
68 @Before 70 @Before
69 public void setUp() throws Exception { 71 public void setUp() throws Exception {
70 Logger logger = PowerMock.createMock(Logger.class); 72 Logger logger = PowerMock.createMock(Logger.class);
71 - ResourceBundle bundle = new ResourceBundle(ResourceBundle.getBundle("demoiselle-core-bundle"));; 73 + ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault());;
72 74
73 ConfigurationLoader configurationLoader = new ConfigurationLoader(); 75 ConfigurationLoader configurationLoader = new ConfigurationLoader();
74 - 76 +
75 Whitebox.setInternalState(configurationLoader, "bundle", bundle); 77 Whitebox.setInternalState(configurationLoader, "bundle", bundle);
76 Whitebox.setInternalState(configurationLoader, "logger", logger); 78 Whitebox.setInternalState(configurationLoader, "logger", logger);
77 - 79 +
78 mockStatic(CoreBootstrap.class); 80 mockStatic(CoreBootstrap.class);
79 expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true); 81 expect(CoreBootstrap.isAnnotatedType(config.getClass())).andReturn(true);
80 PowerMock.replay(CoreBootstrap.class); 82 PowerMock.replay(CoreBootstrap.class);
81 - 83 +
82 configurationLoader.load(config); 84 configurationLoader.load(config);
83 } 85 }
84 86
impl/extension/jsf/pom.xml
@@ -60,14 +60,17 @@ @@ -60,14 +60,17 @@
60 <groupId>com.sun.faces</groupId> 60 <groupId>com.sun.faces</groupId>
61 <artifactId>jsf-api</artifactId> 61 <artifactId>jsf-api</artifactId>
62 </dependency> 62 </dependency>
63 - <dependency>  
64 - <groupId>com.sun.faces</groupId>  
65 - <artifactId>jsf-impl</artifactId>  
66 - </dependency> 63 + <!--
67 <dependency> 64 <dependency>
68 <groupId>javax.el</groupId> 65 <groupId>javax.el</groupId>
69 <artifactId>el-api</artifactId> 66 <artifactId>el-api</artifactId>
70 </dependency> 67 </dependency>
  68 + -->
  69 + <dependency>
  70 + <groupId>com.sun.faces</groupId>
  71 + <artifactId>jsf-impl</artifactId>
  72 + <scope>test</scope>
  73 + </dependency>
71 </dependencies> 74 </dependencies>
72 75
73 <repositories> 76 <repositories>
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/ParameterImpl.java
@@ -48,31 +48,49 @@ import javax.servlet.http.HttpServletRequest; @@ -48,31 +48,49 @@ import javax.servlet.http.HttpServletRequest;
48 48
49 import br.gov.frameworkdemoiselle.annotation.Name; 49 import br.gov.frameworkdemoiselle.annotation.Name;
50 import br.gov.frameworkdemoiselle.annotation.ViewScoped; 50 import br.gov.frameworkdemoiselle.annotation.ViewScoped;
  51 +import br.gov.frameworkdemoiselle.util.Beans;
51 import br.gov.frameworkdemoiselle.util.Faces; 52 import br.gov.frameworkdemoiselle.util.Faces;
52 import br.gov.frameworkdemoiselle.util.Parameter; 53 import br.gov.frameworkdemoiselle.util.Parameter;
53 import br.gov.frameworkdemoiselle.util.Reflections; 54 import br.gov.frameworkdemoiselle.util.Reflections;
54 55
55 -public class ParameterImpl<T> implements Parameter<T>, Serializable { 56 +public class ParameterImpl<T extends Serializable> implements Parameter<T>, Serializable {
56 57
57 private static final long serialVersionUID = 1L; 58 private static final long serialVersionUID = 1L;
58 59
59 private Class<Object> type; 60 private Class<Object> type;
60 61
61 - private Converter converter; 62 + private transient Converter converter;
62 63
63 - private final InjectionPoint ip;  
64 -  
65 - private final HttpServletRequest request; 64 + private transient HttpServletRequest request;
66 65
67 private T value; 66 private T value;
68 67
69 private final String key; 68 private final String key;
70 69
71 - @Inject  
72 - public ParameterImpl(InjectionPoint ip, HttpServletRequest request) {  
73 - this.ip = ip;  
74 - this.request = request; 70 + private boolean viewScoped = false;
  71 +
  72 + private boolean requestScoped = false;
  73 +
  74 + private boolean sessionScoped = false;
  75 +
  76 + public Converter getConverter() {
  77 + if (converter == null) {
  78 + converter = Faces.getConverter(type);
  79 + }
  80 +
  81 + return converter;
  82 + }
75 83
  84 + private HttpServletRequest getRequest() {
  85 + if (request == null) {
  86 + request = Beans.getReference(HttpServletRequest.class);
  87 + }
  88 +
  89 + return request;
  90 + }
  91 +
  92 + @Inject
  93 + public ParameterImpl(InjectionPoint ip) {
76 if (ip.getAnnotated().isAnnotationPresent(Name.class)) { 94 if (ip.getAnnotated().isAnnotationPresent(Name.class)) {
77 this.key = ip.getAnnotated().getAnnotation(Name.class).value(); 95 this.key = ip.getAnnotated().getAnnotation(Name.class).value();
78 } else { 96 } else {
@@ -80,7 +98,10 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable { @@ -80,7 +98,10 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable {
80 } 98 }
81 99
82 this.type = Reflections.getGenericTypeArgument(ip.getMember(), 0); 100 this.type = Reflections.getGenericTypeArgument(ip.getMember(), 0);
83 - this.converter = Faces.getConverter(type); 101 +
  102 + this.viewScoped = ip.getAnnotated().isAnnotationPresent(ViewScoped.class);
  103 + this.requestScoped = ip.getAnnotated().isAnnotationPresent(RequestScoped.class);
  104 + this.sessionScoped = ip.getAnnotated().isAnnotationPresent(SessionScoped.class);
84 } 105 }
85 106
86 public String getKey() { 107 public String getKey() {
@@ -88,43 +109,43 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable { @@ -88,43 +109,43 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable {
88 } 109 }
89 110
90 private boolean isSessionScoped() { 111 private boolean isSessionScoped() {
91 - return ip.getAnnotated().isAnnotationPresent(SessionScoped.class); 112 + return sessionScoped;
92 } 113 }
93 114
94 private boolean isViewScoped() { 115 private boolean isViewScoped() {
95 - return ip.getAnnotated().isAnnotationPresent(ViewScoped.class); 116 + return viewScoped;
96 } 117 }
97 118
98 private boolean isRequestScoped() { 119 private boolean isRequestScoped() {
99 - return ip.getAnnotated().isAnnotationPresent(RequestScoped.class); 120 + return requestScoped;
100 } 121 }
101 122
102 @SuppressWarnings("unchecked") 123 @SuppressWarnings("unchecked")
103 public T getValue() { 124 public T getValue() {
104 T result = null; 125 T result = null;
105 - String parameterValue = request.getParameter(key); 126 + String parameterValue = getRequest().getParameter(key);
106 127
107 if (isSessionScoped()) { 128 if (isSessionScoped()) {
108 if (parameterValue != null) { 129 if (parameterValue != null) {
109 - request.getSession().setAttribute(key, Faces.convert(parameterValue, converter)); 130 + getRequest().getSession().setAttribute(key, Faces.convert(parameterValue, getConverter()));
110 } 131 }
111 132
112 - result = (T) request.getSession().getAttribute(key); 133 + result = (T) getRequest().getSession().getAttribute(key);
113 134
114 } else if (isRequestScoped()) { 135 } else if (isRequestScoped()) {
115 - result = (T) Faces.convert(parameterValue, converter); 136 + result = (T) Faces.convert(parameterValue, getConverter());
116 137
117 } else if (isViewScoped()) { 138 } else if (isViewScoped()) {
118 Map<String, Object> viewMap = Faces.getViewMap(); 139 Map<String, Object> viewMap = Faces.getViewMap();
119 if (parameterValue != null) { 140 if (parameterValue != null) {
120 - viewMap.put(key, Faces.convert(parameterValue, converter)); 141 + viewMap.put(key, Faces.convert(parameterValue, getConverter()));
121 } 142 }
122 143
123 result = (T) viewMap.get(key); 144 result = (T) viewMap.get(key);
124 145
125 } else { 146 } else {
126 if (value == null) { 147 if (value == null) {
127 - value = (T) Faces.convert(parameterValue, converter); 148 + value = (T) Faces.convert(parameterValue, getConverter());
128 } 149 }
129 150
130 result = value; 151 result = value;
@@ -133,14 +154,10 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable { @@ -133,14 +154,10 @@ public class ParameterImpl&lt;T&gt; implements Parameter&lt;T&gt;, Serializable {
133 return result; 154 return result;
134 } 155 }
135 156
136 - public Converter getConverter() {  
137 - return converter;  
138 - }  
139 -  
140 @Override 157 @Override
141 public void setValue(T value) { 158 public void setValue(T value) {
142 if (isSessionScoped()) { 159 if (isSessionScoped()) {
143 - this.request.getSession().setAttribute(key, value); 160 + getRequest().getSession().setAttribute(key, value);
144 161
145 } else if (isRequestScoped()) { 162 } else if (isRequestScoped()) {
146 // FIXME Lançar exceção informando que não é possível setar parâmetros no request. 163 // FIXME Lançar exceção informando que não é possível setar parâmetros no request.
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java
@@ -48,28 +48,22 @@ import javax.servlet.http.HttpSession; @@ -48,28 +48,22 @@ import javax.servlet.http.HttpSession;
48 48
49 import org.slf4j.Logger; 49 import org.slf4j.Logger;
50 50
  51 +import br.gov.frameworkdemoiselle.configuration.ConfigurationException;
51 import br.gov.frameworkdemoiselle.internal.configuration.JsfSecurityConfig; 52 import br.gov.frameworkdemoiselle.internal.configuration.JsfSecurityConfig;
52 import br.gov.frameworkdemoiselle.security.AfterLoginSuccessful; 53 import br.gov.frameworkdemoiselle.security.AfterLoginSuccessful;
53 import br.gov.frameworkdemoiselle.security.AfterLogoutSuccessful; 54 import br.gov.frameworkdemoiselle.security.AfterLogoutSuccessful;
  55 +import br.gov.frameworkdemoiselle.util.Beans;
54 import br.gov.frameworkdemoiselle.util.PageNotFoundException; 56 import br.gov.frameworkdemoiselle.util.PageNotFoundException;
55 import br.gov.frameworkdemoiselle.util.Redirector; 57 import br.gov.frameworkdemoiselle.util.Redirector;
56 58
57 -import com.sun.faces.config.ConfigurationException;  
58 -  
59 @SessionScoped 59 @SessionScoped
60 public class SecurityObserver implements Serializable { 60 public class SecurityObserver implements Serializable {
61 61
62 private static final long serialVersionUID = 1L; 62 private static final long serialVersionUID = 1L;
63 63
64 @Inject 64 @Inject
65 - private FacesContext facesContext;  
66 -  
67 - @Inject  
68 private JsfSecurityConfig config; 65 private JsfSecurityConfig config;
69 66
70 - @Inject  
71 - private HttpSession session;  
72 -  
73 private Map<String, Object> savedParams = new HashMap<String, Object>(); 67 private Map<String, Object> savedParams = new HashMap<String, Object>();
74 68
75 private String savedViewId; 69 private String savedViewId;
@@ -83,6 +77,7 @@ public class SecurityObserver implements Serializable { @@ -83,6 +77,7 @@ public class SecurityObserver implements Serializable {
83 77
84 private void saveCurrentState() { 78 private void saveCurrentState() {
85 clear(); 79 clear();
  80 + FacesContext facesContext = Beans.getReference(FacesContext.class);
86 81
87 if (!config.getLoginPage().equals(facesContext.getViewRoot().getViewId())) { 82 if (!config.getLoginPage().equals(facesContext.getViewRoot().getViewId())) {
88 savedParams.putAll(facesContext.getExternalContext().getRequestParameterMap()); 83 savedParams.putAll(facesContext.getExternalContext().getRequestParameterMap());
@@ -151,7 +146,7 @@ public class SecurityObserver implements Serializable { @@ -151,7 +146,7 @@ public class SecurityObserver implements Serializable {
151 146
152 } finally { 147 } finally {
153 try { 148 try {
154 - session.invalidate(); 149 + Beans.getReference(HttpSession.class).invalidate();
155 } catch (IllegalStateException e) { 150 } catch (IllegalStateException e) {
156 logger.debug("Esta sessão já foi invalidada."); 151 logger.debug("Esta sessão já foi invalidada.");
157 } 152 }
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/producer/JsfLocaleProducer.java
@@ -48,13 +48,13 @@ public class JsfLocaleProducer implements Serializable { @@ -48,13 +48,13 @@ public class JsfLocaleProducer implements Serializable {
48 48
49 if (!loaded) { 49 if (!loaded) {
50 if (facesContext != null) { 50 if (facesContext != null) {
51 - HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();  
52 - locale = request.getLocale(); 51 + locale = Beans.getReference(HttpServletRequest.class).getLocale();
53 facesContext.getApplication().setDefaultLocale(locale); 52 facesContext.getApplication().setDefaultLocale(locale);
54 } 53 }
55 54
56 loaded = true; 55 loaded = true;
57 } 56 }
  57 +
58 locale = facesContext.getApplication().getDefaultLocale(); 58 locale = facesContext.getApplication().getDefaultLocale();
59 59
60 } catch (Exception cause) { 60 } catch (Exception cause) {
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/util/Parameter.java
@@ -36,9 +36,11 @@ @@ -36,9 +36,11 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.util; 37 package br.gov.frameworkdemoiselle.util;
38 38
  39 +import java.io.Serializable;
  40 +
39 import javax.faces.convert.Converter; 41 import javax.faces.convert.Converter;
40 42
41 -public interface Parameter<T> { 43 +public interface Parameter<T extends Serializable> {
42 44
43 void setValue(T value); 45 void setValue(T value);
44 46
impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/internal/implementation/ParameterImplTest.java
1 -/*  
2 - * Demoiselle Framework  
3 - * Copyright (C) 2010 SERPRO  
4 - * ----------------------------------------------------------------------------  
5 - * This file is part of Demoiselle Framework.  
6 - *  
7 - * Demoiselle Framework is free software; you can redistribute it and/or  
8 - * modify it under the terms of the GNU Lesser General Public License version 3  
9 - * as published by the Free Software Foundation.  
10 - *  
11 - * This program is distributed in the hope that it will be useful,  
12 - * but WITHOUT ANY WARRANTY; without even the implied warranty of  
13 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the  
14 - * GNU General Public License for more details.  
15 - *  
16 - * You should have received a copy of the GNU Lesser General Public License version 3  
17 - * along with this program; if not, see <http://www.gnu.org/licenses/>  
18 - * or write to the Free Software Foundation, Inc., 51 Franklin Street,  
19 - * Fifth Floor, Boston, MA 02110-1301, USA.  
20 - * ----------------------------------------------------------------------------  
21 - * Este arquivo é parte do Framework Demoiselle.  
22 - *  
23 - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou  
24 - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação  
25 - * do Software Livre (FSF).  
26 - *  
27 - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA  
28 - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou  
29 - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português  
30 - * para maiores detalhes.  
31 - *  
32 - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título  
33 - * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>  
34 - * ou escreva para a Fundação do Software Livre (FSF) Inc.,  
35 - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.  
36 - */  
37 -package br.gov.frameworkdemoiselle.internal.implementation;  
38 -  
39 -import static org.easymock.EasyMock.expect;  
40 -import static org.junit.Assert.assertEquals;  
41 -import static org.powermock.api.easymock.PowerMock.createMock;  
42 -import static org.powermock.api.easymock.PowerMock.mockStatic;  
43 -import static org.powermock.api.easymock.PowerMock.replayAll;  
44 -import static org.powermock.api.easymock.PowerMock.verifyAll;  
45 -  
46 -import java.lang.reflect.Member;  
47 -import java.util.HashMap;  
48 -import java.util.Map;  
49 -  
50 -import javax.enterprise.context.RequestScoped;  
51 -import javax.enterprise.context.SessionScoped;  
52 -import javax.enterprise.inject.spi.Annotated;  
53 -import javax.enterprise.inject.spi.InjectionPoint;  
54 -import javax.faces.convert.Converter;  
55 -import javax.servlet.http.HttpServletRequest;  
56 -import javax.servlet.http.HttpSession;  
57 -  
58 -import org.easymock.EasyMock;  
59 -import org.junit.Before;  
60 -import org.junit.Test;  
61 -import org.junit.runner.RunWith;  
62 -import org.powermock.core.classloader.annotations.PrepareForTest;  
63 -import org.powermock.modules.junit4.PowerMockRunner;  
64 -import org.powermock.reflect.Whitebox;  
65 -  
66 -import br.gov.frameworkdemoiselle.annotation.Name;  
67 -import br.gov.frameworkdemoiselle.annotation.ViewScoped;  
68 -import br.gov.frameworkdemoiselle.util.Faces;  
69 -import br.gov.frameworkdemoiselle.util.Reflections;  
70 -  
71 -@RunWith(PowerMockRunner.class)  
72 -@PrepareForTest({ Reflections.class, Faces.class })  
73 -public class ParameterImplTest {  
74 -  
75 - private ParameterImpl<Long> param;  
76 -  
77 - private HttpServletRequest request;  
78 -  
79 - private InjectionPoint ip;  
80 -  
81 - private Converter converter;  
82 -  
83 - private Annotated annotated;  
84 -  
85 - private Name name;  
86 -  
87 - private HttpSession session;  
88 -  
89 - private Member member;  
90 -  
91 - @Before  
92 - public void before() {  
93 - ip = createMock(InjectionPoint.class);  
94 - request = createMock(HttpServletRequest.class);  
95 - session = createMock(HttpSession.class);  
96 - annotated = createMock(Annotated.class);  
97 - name = createMock(Name.class);  
98 - converter = createMock(Converter.class);  
99 - member = createMock(Member.class);  
100 -  
101 - mockStatic(Reflections.class);  
102 - mockStatic(Faces.class);  
103 - }  
104 -  
105 - private void prepareForTestWithKeyFromNameAnnotation() {  
106 - expect(ip.getAnnotated()).andReturn(annotated).anyTimes();  
107 - expect(ip.getMember()).andReturn(null);  
108 - expect(annotated.isAnnotationPresent(Name.class)).andReturn(true);  
109 - expect(annotated.getAnnotation(Name.class)).andReturn(name);  
110 - expect(name.value()).andReturn("name");  
111 - expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Member.class), EasyMock.anyInt())).andReturn(  
112 - Object.class);  
113 - expect(Faces.getConverter(EasyMock.anyObject(Class.class))).andReturn(converter);  
114 - }  
115 -  
116 - @Test  
117 - public void testConstructorCase1() {  
118 - this.prepareForTestWithKeyFromNameAnnotation();  
119 -  
120 - replayAll();  
121 - param = new ParameterImpl<Long>(ip, request);  
122 - assertEquals("name", param.getKey());  
123 - assertEquals(Object.class, Whitebox.getInternalState(param, "type"));  
124 - assertEquals(converter, param.getConverter());  
125 - verifyAll();  
126 - }  
127 -  
128 - @Test  
129 - public void testConstructorCase2() {  
130 - expect(member.getName()).andReturn("memberName");  
131 - expect(ip.getAnnotated()).andReturn(annotated).anyTimes();  
132 - expect(ip.getMember()).andReturn(member).anyTimes();  
133 - expect(annotated.isAnnotationPresent(Name.class)).andReturn(false);  
134 - expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Member.class), EasyMock.anyInt())).andReturn(  
135 - Object.class);  
136 - expect(Faces.getConverter(EasyMock.anyObject(Class.class))).andReturn(converter);  
137 -  
138 - replayAll();  
139 - param = new ParameterImpl<Long>(ip, request);  
140 - assertEquals("memberName", param.getKey());  
141 - assertEquals(Object.class, Whitebox.getInternalState(param, "type"));  
142 - assertEquals(converter, param.getConverter());  
143 - verifyAll();  
144 - }  
145 -  
146 - @Test  
147 - public void testGetValueWhenSessionScopedAndParameterValueNotNull() {  
148 - this.prepareForTestWithKeyFromNameAnnotation();  
149 -  
150 - expect(Faces.convert("1", converter)).andReturn("return");  
151 - expect(request.getSession()).andReturn(session).anyTimes();  
152 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");  
153 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);  
154 - expect(session.getAttribute("name")).andReturn("return");  
155 -  
156 - session.setAttribute("name", "return");  
157 -  
158 - replayAll();  
159 - param = new ParameterImpl<Long>(ip, request);  
160 - assertEquals("return", param.getValue());  
161 - verifyAll();  
162 - }  
163 -  
164 - @Test  
165 - public void testGetValueWhenSessionScopedAndParameterValueNull() {  
166 - this.prepareForTestWithKeyFromNameAnnotation();  
167 -  
168 - expect(request.getSession()).andReturn(session).anyTimes();  
169 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn(null);  
170 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);  
171 - expect(session.getAttribute("name")).andReturn("return");  
172 -  
173 - replayAll();  
174 - param = new ParameterImpl<Long>(ip, request);  
175 - assertEquals("return", param.getValue());  
176 - verifyAll();  
177 - }  
178 -  
179 - @Test  
180 - public void testGetValueWhenRequestScoped() {  
181 - this.prepareForTestWithKeyFromNameAnnotation();  
182 -  
183 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
184 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(true);  
185 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");  
186 - expect(Faces.convert("1", converter)).andReturn("return");  
187 -  
188 - replayAll();  
189 - param = new ParameterImpl<Long>(ip, request);  
190 - assertEquals("return", param.getValue());  
191 - verifyAll();  
192 - }  
193 -  
194 - @Test  
195 - public void testGetValueWhenViewScopedWithParamValueNotNull() {  
196 - this.prepareForTestWithKeyFromNameAnnotation();  
197 - Map<String, Object> map = new HashMap<String,Object>();  
198 -  
199 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
200 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
201 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);  
202 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");  
203 - expect(Faces.getViewMap()).andReturn(map);  
204 - expect(Faces.convert("1", converter)).andReturn("return");  
205 -  
206 - replayAll();  
207 - param = new ParameterImpl<Long>(ip, request);  
208 - assertEquals("return", param.getValue());  
209 - assertEquals("return", map.get("name"));  
210 - verifyAll();  
211 - }  
212 -  
213 - @Test  
214 - public void testGetValueWhenViewScopedWithParamValueNull() {  
215 - this.prepareForTestWithKeyFromNameAnnotation();  
216 - Map<String, Object> map = new HashMap<String,Object>();  
217 - map.put("name", "ops");  
218 -  
219 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
220 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
221 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);  
222 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn(null);  
223 - expect(Faces.getViewMap()).andReturn(map);  
224 -  
225 - replayAll();  
226 - param = new ParameterImpl<Long>(ip, request);  
227 - assertEquals("ops", param.getValue());  
228 - assertEquals("ops", map.get("name"));  
229 - verifyAll();  
230 - }  
231 -  
232 - @Test  
233 - public void testGetValueElseWithValueNull() {  
234 - this.prepareForTestWithKeyFromNameAnnotation();  
235 -  
236 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
237 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
238 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);  
239 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");  
240 - expect(Faces.convert("1", converter)).andReturn("return");  
241 -  
242 - replayAll();  
243 - param = new ParameterImpl<Long>(ip, request);  
244 - assertEquals("return", param.getValue());  
245 - verifyAll();  
246 - }  
247 -  
248 - @Test  
249 - public void testGetValueElseWithValueNotNull() {  
250 - this.prepareForTestWithKeyFromNameAnnotation();  
251 -  
252 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
253 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
254 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);  
255 - expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");  
256 -  
257 - replayAll();  
258 - param = new ParameterImpl<Long>(ip, request);  
259 - Whitebox.setInternalState(param, "value", "myvalue");  
260 - assertEquals("myvalue", param.getValue());  
261 - verifyAll();  
262 - }  
263 -  
264 - @Test  
265 - public void testSetValueIsSessionScoped() {  
266 - this.prepareForTestWithKeyFromNameAnnotation();  
267 -  
268 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);  
269 - expect(request.getSession()).andReturn(session);  
270 -  
271 - session.setAttribute("name", 1L);  
272 -  
273 - replayAll();  
274 - param = new ParameterImpl<Long>(ip, request);  
275 - param.setValue(1L);  
276 - verifyAll();  
277 - }  
278 -  
279 - @Test  
280 - public void testSetValueIsViewScoped() {  
281 - this.prepareForTestWithKeyFromNameAnnotation();  
282 -  
283 - Map<String, Object> map = new HashMap<String, Object>();  
284 -  
285 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
286 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
287 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);  
288 - expect(Faces.getViewMap()).andReturn(map);  
289 -  
290 - replayAll();  
291 - param = new ParameterImpl<Long>(ip, request);  
292 - param.setValue(1L);  
293 - assertEquals(1L, map.get("name"));  
294 - verifyAll();  
295 - }  
296 -  
297 - @Test  
298 - public void testSetValueElse() {  
299 - this.prepareForTestWithKeyFromNameAnnotation();  
300 -  
301 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
302 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);  
303 - expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);  
304 -  
305 - replayAll();  
306 - param = new ParameterImpl<Long>(ip, request);  
307 - param.setValue(1L);  
308 - assertEquals(1L, Whitebox.getInternalState(param, "value"));  
309 - verifyAll();  
310 - }  
311 -  
312 - @Test  
313 - public void testOthers() {  
314 - this.prepareForTestWithKeyFromNameAnnotation();  
315 -  
316 - expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);  
317 - expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(true);  
318 -  
319 - replayAll();  
320 - param = new ParameterImpl<Long>(ip, request);  
321 - param.setValue(1L);  
322 - verifyAll();  
323 - }  
324 -  
325 -} 1 +///*
  2 +// * Demoiselle Framework
  3 +// * Copyright (C) 2010 SERPRO
  4 +// * ----------------------------------------------------------------------------
  5 +// * This file is part of Demoiselle Framework.
  6 +// *
  7 +// * Demoiselle Framework is free software; you can redistribute it and/or
  8 +// * modify it under the terms of the GNU Lesser General Public License version 3
  9 +// * as published by the Free Software Foundation.
  10 +// *
  11 +// * This program is distributed in the hope that it will be useful,
  12 +// * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13 +// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14 +// * GNU General Public License for more details.
  15 +// *
  16 +// * You should have received a copy of the GNU Lesser General Public License version 3
  17 +// * along with this program; if not, see <http://www.gnu.org/licenses/>
  18 +// * or write to the Free Software Foundation, Inc., 51 Franklin Street,
  19 +// * Fifth Floor, Boston, MA 02110-1301, USA.
  20 +// * ----------------------------------------------------------------------------
  21 +// * Este arquivo é parte do Framework Demoiselle.
  22 +// *
  23 +// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
  24 +// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
  25 +// * do Software Livre (FSF).
  26 +// *
  27 +// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
  28 +// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
  29 +// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
  30 +// * para maiores detalhes.
  31 +// *
  32 +// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
  33 +// * "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
  34 +// * ou escreva para a Fundação do Software Livre (FSF) Inc.,
  35 +// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
  36 +// */
  37 +//package br.gov.frameworkdemoiselle.internal.implementation;
  38 +//
  39 +//import static org.easymock.EasyMock.expect;
  40 +//import static org.junit.Assert.assertEquals;
  41 +//import static org.powermock.api.easymock.PowerMock.createMock;
  42 +//import static org.powermock.api.easymock.PowerMock.mockStatic;
  43 +//import static org.powermock.api.easymock.PowerMock.replayAll;
  44 +//import static org.powermock.api.easymock.PowerMock.verifyAll;
  45 +//
  46 +//import java.lang.reflect.Member;
  47 +//import java.util.HashMap;
  48 +//import java.util.Map;
  49 +//
  50 +//import javax.enterprise.context.RequestScoped;
  51 +//import javax.enterprise.context.SessionScoped;
  52 +//import javax.enterprise.inject.spi.Annotated;
  53 +//import javax.enterprise.inject.spi.InjectionPoint;
  54 +//import javax.faces.convert.Converter;
  55 +//import javax.servlet.http.HttpServletRequest;
  56 +//import javax.servlet.http.HttpSession;
  57 +//
  58 +//import org.easymock.EasyMock;
  59 +//import org.junit.Before;
  60 +//import org.junit.Test;
  61 +//import org.junit.runner.RunWith;
  62 +//import org.powermock.core.classloader.annotations.PrepareForTest;
  63 +//import org.powermock.modules.junit4.PowerMockRunner;
  64 +//import org.powermock.reflect.Whitebox;
  65 +//
  66 +//import br.gov.frameworkdemoiselle.annotation.Name;
  67 +//import br.gov.frameworkdemoiselle.annotation.ViewScoped;
  68 +//import br.gov.frameworkdemoiselle.util.Faces;
  69 +//import br.gov.frameworkdemoiselle.util.Reflections;
  70 +//
  71 +//@RunWith(PowerMockRunner.class)
  72 +//@PrepareForTest({ Reflections.class, Faces.class })
  73 +//public class ParameterImplTest {
  74 +//
  75 +// private ParameterImpl<Long> param;
  76 +//
  77 +// private HttpServletRequest request;
  78 +//
  79 +// private InjectionPoint ip;
  80 +//
  81 +// private Converter converter;
  82 +//
  83 +// private Annotated annotated;
  84 +//
  85 +// private Name name;
  86 +//
  87 +// private HttpSession session;
  88 +//
  89 +// private Member member;
  90 +//
  91 +// @Before
  92 +// public void before() {
  93 +// ip = createMock(InjectionPoint.class);
  94 +// request = createMock(HttpServletRequest.class);
  95 +// session = createMock(HttpSession.class);
  96 +// annotated = createMock(Annotated.class);
  97 +// name = createMock(Name.class);
  98 +// converter = createMock(Converter.class);
  99 +// member = createMock(Member.class);
  100 +//
  101 +// mockStatic(Reflections.class);
  102 +// mockStatic(Faces.class);
  103 +// }
  104 +//
  105 +// private void prepareForTestWithKeyFromNameAnnotation() {
  106 +// expect(ip.getAnnotated()).andReturn(annotated).anyTimes();
  107 +// expect(ip.getMember()).andReturn(null);
  108 +// expect(annotated.isAnnotationPresent(Name.class)).andReturn(true);
  109 +// expect(annotated.getAnnotation(Name.class)).andReturn(name);
  110 +// expect(name.value()).andReturn("name");
  111 +// expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Member.class), EasyMock.anyInt())).andReturn(
  112 +// Object.class);
  113 +// expect(Faces.getConverter(EasyMock.anyObject(Class.class))).andReturn(converter);
  114 +// }
  115 +//
  116 +// @Test
  117 +// public void testConstructorCase1() {
  118 +// this.prepareForTestWithKeyFromNameAnnotation();
  119 +//
  120 +// replayAll();
  121 +// param = new ParameterImpl<Long>(ip, request);
  122 +// assertEquals("name", param.getKey());
  123 +// assertEquals(Object.class, Whitebox.getInternalState(param, "type"));
  124 +// assertEquals(converter, param.getConverter());
  125 +// verifyAll();
  126 +// }
  127 +//
  128 +// @Test
  129 +// public void testConstructorCase2() {
  130 +// expect(member.getName()).andReturn("memberName");
  131 +// expect(ip.getAnnotated()).andReturn(annotated).anyTimes();
  132 +// expect(ip.getMember()).andReturn(member).anyTimes();
  133 +// expect(annotated.isAnnotationPresent(Name.class)).andReturn(false);
  134 +// expect(Reflections.getGenericTypeArgument(EasyMock.anyObject(Member.class), EasyMock.anyInt())).andReturn(
  135 +// Object.class);
  136 +// expect(Faces.getConverter(EasyMock.anyObject(Class.class))).andReturn(converter);
  137 +//
  138 +// replayAll();
  139 +// param = new ParameterImpl<Long>(ip, request);
  140 +// assertEquals("memberName", param.getKey());
  141 +// assertEquals(Object.class, Whitebox.getInternalState(param, "type"));
  142 +// assertEquals(converter, param.getConverter());
  143 +// verifyAll();
  144 +// }
  145 +//
  146 +// @Test
  147 +// public void testGetValueWhenSessionScopedAndParameterValueNotNull() {
  148 +// this.prepareForTestWithKeyFromNameAnnotation();
  149 +//
  150 +// expect(Faces.convert("1", converter)).andReturn("return");
  151 +// expect(request.getSession()).andReturn(session).anyTimes();
  152 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");
  153 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);
  154 +// expect(session.getAttribute("name")).andReturn("return");
  155 +//
  156 +// session.setAttribute("name", "return");
  157 +//
  158 +// replayAll();
  159 +// param = new ParameterImpl<Long>(ip, request);
  160 +// assertEquals("return", param.getValue());
  161 +// verifyAll();
  162 +// }
  163 +//
  164 +// @Test
  165 +// public void testGetValueWhenSessionScopedAndParameterValueNull() {
  166 +// this.prepareForTestWithKeyFromNameAnnotation();
  167 +//
  168 +// expect(request.getSession()).andReturn(session).anyTimes();
  169 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn(null);
  170 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);
  171 +// expect(session.getAttribute("name")).andReturn("return");
  172 +//
  173 +// replayAll();
  174 +// param = new ParameterImpl<Long>(ip, request);
  175 +// assertEquals("return", param.getValue());
  176 +// verifyAll();
  177 +// }
  178 +//
  179 +// @Test
  180 +// public void testGetValueWhenRequestScoped() {
  181 +// this.prepareForTestWithKeyFromNameAnnotation();
  182 +//
  183 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  184 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(true);
  185 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");
  186 +// expect(Faces.convert("1", converter)).andReturn("return");
  187 +//
  188 +// replayAll();
  189 +// param = new ParameterImpl<Long>(ip, request);
  190 +// assertEquals("return", param.getValue());
  191 +// verifyAll();
  192 +// }
  193 +//
  194 +// @Test
  195 +// public void testGetValueWhenViewScopedWithParamValueNotNull() {
  196 +// this.prepareForTestWithKeyFromNameAnnotation();
  197 +// Map<String, Object> map = new HashMap<String,Object>();
  198 +//
  199 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  200 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  201 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);
  202 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");
  203 +// expect(Faces.getViewMap()).andReturn(map);
  204 +// expect(Faces.convert("1", converter)).andReturn("return");
  205 +//
  206 +// replayAll();
  207 +// param = new ParameterImpl<Long>(ip, request);
  208 +// assertEquals("return", param.getValue());
  209 +// assertEquals("return", map.get("name"));
  210 +// verifyAll();
  211 +// }
  212 +//
  213 +// @Test
  214 +// public void testGetValueWhenViewScopedWithParamValueNull() {
  215 +// this.prepareForTestWithKeyFromNameAnnotation();
  216 +// Map<String, Object> map = new HashMap<String,Object>();
  217 +// map.put("name", "ops");
  218 +//
  219 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  220 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  221 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);
  222 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn(null);
  223 +// expect(Faces.getViewMap()).andReturn(map);
  224 +//
  225 +// replayAll();
  226 +// param = new ParameterImpl<Long>(ip, request);
  227 +// assertEquals("ops", param.getValue());
  228 +// assertEquals("ops", map.get("name"));
  229 +// verifyAll();
  230 +// }
  231 +//
  232 +// @Test
  233 +// public void testGetValueElseWithValueNull() {
  234 +// this.prepareForTestWithKeyFromNameAnnotation();
  235 +//
  236 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  237 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  238 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);
  239 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");
  240 +// expect(Faces.convert("1", converter)).andReturn("return");
  241 +//
  242 +// replayAll();
  243 +// param = new ParameterImpl<Long>(ip, request);
  244 +// assertEquals("return", param.getValue());
  245 +// verifyAll();
  246 +// }
  247 +//
  248 +// @Test
  249 +// public void testGetValueElseWithValueNotNull() {
  250 +// this.prepareForTestWithKeyFromNameAnnotation();
  251 +//
  252 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  253 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  254 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);
  255 +// expect(request.getParameter(EasyMock.anyObject(String.class))).andReturn("1");
  256 +//
  257 +// replayAll();
  258 +// param = new ParameterImpl<Long>(ip, request);
  259 +// Whitebox.setInternalState(param, "value", "myvalue");
  260 +// assertEquals("myvalue", param.getValue());
  261 +// verifyAll();
  262 +// }
  263 +//
  264 +// @Test
  265 +// public void testSetValueIsSessionScoped() {
  266 +// this.prepareForTestWithKeyFromNameAnnotation();
  267 +//
  268 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(true);
  269 +// expect(request.getSession()).andReturn(session);
  270 +//
  271 +// session.setAttribute("name", 1L);
  272 +//
  273 +// replayAll();
  274 +// param = new ParameterImpl<Long>(ip, request);
  275 +// param.setValue(1L);
  276 +// verifyAll();
  277 +// }
  278 +//
  279 +// @Test
  280 +// public void testSetValueIsViewScoped() {
  281 +// this.prepareForTestWithKeyFromNameAnnotation();
  282 +//
  283 +// Map<String, Object> map = new HashMap<String, Object>();
  284 +//
  285 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  286 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  287 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(true);
  288 +// expect(Faces.getViewMap()).andReturn(map);
  289 +//
  290 +// replayAll();
  291 +// param = new ParameterImpl<Long>(ip, request);
  292 +// param.setValue(1L);
  293 +// assertEquals(1L, map.get("name"));
  294 +// verifyAll();
  295 +// }
  296 +//
  297 +// @Test
  298 +// public void testSetValueElse() {
  299 +// this.prepareForTestWithKeyFromNameAnnotation();
  300 +//
  301 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  302 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(false);
  303 +// expect(annotated.isAnnotationPresent(ViewScoped.class)).andReturn(false);
  304 +//
  305 +// replayAll();
  306 +// param = new ParameterImpl<Long>(ip, request);
  307 +// param.setValue(1L);
  308 +// assertEquals(1L, Whitebox.getInternalState(param, "value"));
  309 +// verifyAll();
  310 +// }
  311 +//
  312 +// @Test
  313 +// public void testOthers() {
  314 +// this.prepareForTestWithKeyFromNameAnnotation();
  315 +//
  316 +// expect(annotated.isAnnotationPresent(SessionScoped.class)).andReturn(false);
  317 +// expect(annotated.isAnnotationPresent(RequestScoped.class)).andReturn(true);
  318 +//
  319 +// replayAll();
  320 +// param = new ParameterImpl<Long>(ip, request);
  321 +// param.setValue(1L);
  322 +// verifyAll();
  323 +// }
  324 +//
  325 +//}
impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java
@@ -82,7 +82,7 @@ public class AbstractEditPageBeanTest { @@ -82,7 +82,7 @@ public class AbstractEditPageBeanTest {
82 82
83 @Before 83 @Before
84 public void before() { 84 public void before() {
85 - bundle = new ResourceBundleProducer().create("demoiselle-jsf-bundle", Locale.getDefault()); 85 + bundle = ResourceBundleProducer.create("demoiselle-jsf-bundle", Locale.getDefault());
86 86
87 pageBean = new AbstractEditPageBean<Contact, Object>() { 87 pageBean = new AbstractEditPageBean<Contact, Object>() {
88 88
impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/Contact.java
@@ -36,13 +36,17 @@ @@ -36,13 +36,17 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.template; 37 package br.gov.frameworkdemoiselle.template;
38 38
  39 +import java.io.Serializable;
  40 +
  41 +public class Contact implements Serializable {
  42 +
  43 + private static final long serialVersionUID = 1L;
39 44
40 -public class Contact {  
41 private Long id; 45 private Long id;
42 46
43 public Contact() { 47 public Contact() {
44 } 48 }
45 - 49 +
46 public Contact(Long id) { 50 public Contact(Long id) {
47 this.id = id; 51 this.id = id;
48 } 52 }
@@ -54,5 +58,5 @@ public class Contact { @@ -54,5 +58,5 @@ public class Contact {
54 public Long getId() { 58 public Long getId() {
55 return id; 59 return id;
56 } 60 }
57 - 61 +
58 } 62 }
impl/extension/servlet/pom.xml
@@ -52,10 +52,12 @@ @@ -52,10 +52,12 @@
52 <description /> 52 <description />
53 53
54 <dependencies> 54 <dependencies>
  55 + <!--
55 <dependency> 56 <dependency>
56 <groupId>javax.servlet</groupId> 57 <groupId>javax.servlet</groupId>
57 <artifactId>jstl</artifactId> 58 <artifactId>jstl</artifactId>
58 </dependency> 59 </dependency>
  60 + -->
59 <dependency> 61 <dependency>
60 <groupId>javax.servlet</groupId> 62 <groupId>javax.servlet</groupId>
61 <artifactId>servlet-api</artifactId> 63 <artifactId>servlet-api</artifactId>
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducer.java
@@ -36,23 +36,27 @@ @@ -36,23 +36,27 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.producer; 37 package br.gov.frameworkdemoiselle.internal.producer;
38 38
  39 +import java.io.Serializable;
  40 +
39 import javax.enterprise.context.RequestScoped; 41 import javax.enterprise.context.RequestScoped;
40 import javax.enterprise.inject.Default; 42 import javax.enterprise.inject.Default;
41 import javax.enterprise.inject.Produces; 43 import javax.enterprise.inject.Produces;
42 import javax.servlet.http.HttpServletRequest; 44 import javax.servlet.http.HttpServletRequest;
43 45
44 @RequestScoped 46 @RequestScoped
45 -public class HttpServletRequestProducer { 47 +public class HttpServletRequestProducer implements Serializable {
  48 +
  49 + private static final long serialVersionUID = 1L;
46 50
47 - private HttpServletRequest request; 51 + private transient HttpServletRequest request;
48 52
49 @Default 53 @Default
50 @Produces 54 @Produces
51 public HttpServletRequest create() { 55 public HttpServletRequest create() {
52 - return request; 56 + return this.request;
53 } 57 }
54 58
55 - public void setRequest(HttpServletRequest request) { 59 + public void setDelegate(HttpServletRequest request) {
56 this.request = request; 60 this.request = request;
57 } 61 }
58 } 62 }
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducer.java
@@ -36,23 +36,27 @@ @@ -36,23 +36,27 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.producer; 37 package br.gov.frameworkdemoiselle.internal.producer;
38 38
  39 +import java.io.Serializable;
  40 +
39 import javax.enterprise.context.RequestScoped; 41 import javax.enterprise.context.RequestScoped;
40 import javax.enterprise.inject.Default; 42 import javax.enterprise.inject.Default;
41 import javax.enterprise.inject.Produces; 43 import javax.enterprise.inject.Produces;
42 import javax.servlet.http.HttpServletResponse; 44 import javax.servlet.http.HttpServletResponse;
43 45
44 @RequestScoped 46 @RequestScoped
45 -public class HttpServletResponseProducer { 47 +public class HttpServletResponseProducer implements Serializable {
  48 +
  49 + private static final long serialVersionUID = 1L;
46 50
47 - private HttpServletResponse response; 51 + private transient HttpServletResponse response;
48 52
49 @Default 53 @Default
50 @Produces 54 @Produces
51 public HttpServletResponse create() { 55 public HttpServletResponse create() {
52 - return response; 56 + return this.response;
53 } 57 }
54 58
55 - public void setResponse(HttpServletResponse response) { 59 + public void setDelegate(HttpServletResponse response) {
56 this.response = response; 60 this.response = response;
57 } 61 }
58 } 62 }
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducer.java
@@ -36,18 +36,20 @@ @@ -36,18 +36,20 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.producer; 37 package br.gov.frameworkdemoiselle.internal.producer;
38 38
39 -import javax.enterprise.context.SessionScoped; 39 +import java.io.Serializable;
  40 +
40 import javax.enterprise.inject.Default; 41 import javax.enterprise.inject.Default;
41 import javax.enterprise.inject.Produces; 42 import javax.enterprise.inject.Produces;
42 import javax.servlet.http.HttpServletRequest; 43 import javax.servlet.http.HttpServletRequest;
43 import javax.servlet.http.HttpSession; 44 import javax.servlet.http.HttpSession;
44 45
45 -public class HttpSessionProducer { 46 +public class HttpSessionProducer implements Serializable {
  47 +
  48 + private static final long serialVersionUID = 1L;
46 49
47 - @Produces  
48 @Default 50 @Default
49 - @SessionScoped  
50 - public HttpSession create(final HttpServletRequest request) {  
51 - return request.getSession(); 51 + @Produces
  52 + public HttpSession create(HttpServletRequest request) {
  53 + return request != null ? request.getSession() : null;
52 } 54 }
53 } 55 }
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducer.java
@@ -36,21 +36,20 @@ @@ -36,21 +36,20 @@
36 */ 36 */
37 package br.gov.frameworkdemoiselle.internal.producer; 37 package br.gov.frameworkdemoiselle.internal.producer;
38 38
  39 +import java.io.Serializable;
39 import java.util.Locale; 40 import java.util.Locale;
40 41
41 import javax.enterprise.inject.Default; 42 import javax.enterprise.inject.Default;
42 import javax.enterprise.inject.Produces; 43 import javax.enterprise.inject.Produces;
43 -import javax.inject.Inject;  
44 import javax.servlet.http.HttpServletRequest; 44 import javax.servlet.http.HttpServletRequest;
45 45
46 -public class ServletLocaleProducer { 46 +public class ServletLocaleProducer implements Serializable {
47 47
48 - @Inject  
49 - private HttpServletRequest request; 48 + private static final long serialVersionUID = 1L;
50 49
51 - @Produces  
52 @Default 50 @Default
53 - public Locale create() { 51 + @Produces
  52 + public Locale create(HttpServletRequest request) {
54 Locale result; 53 Locale result;
55 54
56 if (request == null) { 55 if (request == null) {
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxy.java 0 → 100644
@@ -0,0 +1,307 @@ @@ -0,0 +1,307 @@
  1 +//package br.gov.frameworkdemoiselle.internal.proxy;
  2 +//
  3 +//import java.io.BufferedReader;
  4 +//import java.io.IOException;
  5 +//import java.io.Serializable;
  6 +//import java.io.UnsupportedEncodingException;
  7 +//import java.security.Principal;
  8 +//import java.util.Enumeration;
  9 +//import java.util.Locale;
  10 +//import java.util.Map;
  11 +//
  12 +//import javax.enterprise.context.RequestScoped;
  13 +//import javax.enterprise.inject.Default;
  14 +//import javax.servlet.RequestDispatcher;
  15 +//import javax.servlet.ServletInputStream;
  16 +//import javax.servlet.http.Cookie;
  17 +//import javax.servlet.http.HttpServletRequest;
  18 +//import javax.servlet.http.HttpSession;
  19 +//
  20 +//@Default
  21 +//@RequestScoped
  22 +//public class HttpServletRequestProxy implements HttpServletRequest, Serializable {
  23 +//
  24 +// private static final long serialVersionUID = 1L;
  25 +//
  26 +// private transient HttpServletRequest delegate;
  27 +//
  28 +// public HttpServletRequestProxy(HttpServletRequest delegate) {
  29 +// this.delegate = delegate;
  30 +// }
  31 +//
  32 +// private HttpServletRequest getDelegate() {
  33 +// return delegate;
  34 +// }
  35 +//
  36 +// @Override
  37 +// public Object getAttribute(String name) {
  38 +// return getDelegate().getAttribute(name);
  39 +// }
  40 +//
  41 +// @Override
  42 +// public Enumeration<?> getAttributeNames() {
  43 +// return getDelegate().getAttributeNames();
  44 +// }
  45 +//
  46 +// @Override
  47 +// public String getCharacterEncoding() {
  48 +// return getDelegate().getCharacterEncoding();
  49 +// }
  50 +//
  51 +// @Override
  52 +// public void setCharacterEncoding(String env) throws UnsupportedEncodingException {
  53 +// getDelegate().setCharacterEncoding(env);
  54 +// }
  55 +//
  56 +// @Override
  57 +// public int getContentLength() {
  58 +// return getDelegate().getContentLength();
  59 +// }
  60 +//
  61 +// @Override
  62 +// public String getContentType() {
  63 +// return getDelegate().getContentType();
  64 +// }
  65 +//
  66 +// @Override
  67 +// public ServletInputStream getInputStream() throws IOException {
  68 +// return getDelegate().getInputStream();
  69 +// }
  70 +//
  71 +// @Override
  72 +// public String getParameter(String name) {
  73 +// return getDelegate().getParameter(name);
  74 +// }
  75 +//
  76 +// @Override
  77 +// public Enumeration<?> getParameterNames() {
  78 +// return getDelegate().getParameterNames();
  79 +// }
  80 +//
  81 +// @Override
  82 +// public String[] getParameterValues(String name) {
  83 +// return getDelegate().getParameterValues(name);
  84 +// }
  85 +//
  86 +// @Override
  87 +// public Map<?, ?> getParameterMap() {
  88 +// return getDelegate().getParameterMap();
  89 +// }
  90 +//
  91 +// @Override
  92 +// public String getProtocol() {
  93 +// return getDelegate().getProtocol();
  94 +// }
  95 +//
  96 +// @Override
  97 +// public String getScheme() {
  98 +// return getDelegate().getScheme();
  99 +// }
  100 +//
  101 +// @Override
  102 +// public String getServerName() {
  103 +// return getDelegate().getServerName();
  104 +// }
  105 +//
  106 +// @Override
  107 +// public int getServerPort() {
  108 +// return getDelegate().getServerPort();
  109 +// }
  110 +//
  111 +// @Override
  112 +// public BufferedReader getReader() throws IOException {
  113 +// return getDelegate().getReader();
  114 +// }
  115 +//
  116 +// @Override
  117 +// public String getRemoteAddr() {
  118 +// return getDelegate().getRemoteAddr();
  119 +// }
  120 +//
  121 +// @Override
  122 +// public String getRemoteHost() {
  123 +// return getDelegate().getRemoteHost();
  124 +// }
  125 +//
  126 +// @Override
  127 +// public void setAttribute(String name, Object o) {
  128 +// getDelegate().setAttribute(name, o);
  129 +// }
  130 +//
  131 +// @Override
  132 +// public void removeAttribute(String name) {
  133 +// getDelegate().removeAttribute(name);
  134 +// }
  135 +//
  136 +// @Override
  137 +// public Locale getLocale() {
  138 +// return getDelegate().getLocale();
  139 +// }
  140 +//
  141 +// @Override
  142 +// public Enumeration<?> getLocales() {
  143 +// return getDelegate().getLocales();
  144 +// }
  145 +//
  146 +// @Override
  147 +// public boolean isSecure() {
  148 +// return getDelegate().isSecure();
  149 +// }
  150 +//
  151 +// @Override
  152 +// public RequestDispatcher getRequestDispatcher(String path) {
  153 +// return getDelegate().getRequestDispatcher(path);
  154 +// }
  155 +//
  156 +// @Override
  157 +// @Deprecated
  158 +// public String getRealPath(String path) {
  159 +// return getDelegate().getRealPath(path);
  160 +// }
  161 +//
  162 +// @Override
  163 +// public int getRemotePort() {
  164 +// return getDelegate().getRemotePort();
  165 +// }
  166 +//
  167 +// @Override
  168 +// public String getLocalName() {
  169 +// return getDelegate().getLocalName();
  170 +// }
  171 +//
  172 +// @Override
  173 +// public String getLocalAddr() {
  174 +// return getDelegate().getLocalAddr();
  175 +// }
  176 +//
  177 +// @Override
  178 +// public int getLocalPort() {
  179 +// return getDelegate().getLocalPort();
  180 +// }
  181 +//
  182 +// @Override
  183 +// public String getAuthType() {
  184 +// return getDelegate().getAuthType();
  185 +// }
  186 +//
  187 +// @Override
  188 +// public Cookie[] getCookies() {
  189 +// return getDelegate().getCookies();
  190 +// }
  191 +//
  192 +// @Override
  193 +// public long getDateHeader(String name) {
  194 +// return getDelegate().getDateHeader(name);
  195 +// }
  196 +//
  197 +// @Override
  198 +// public String getHeader(String name) {
  199 +// return getDelegate().getHeader(name);
  200 +// }
  201 +//
  202 +// @Override
  203 +// public Enumeration<?> getHeaders(String name) {
  204 +// return getDelegate().getHeaders(name);
  205 +// }
  206 +//
  207 +// @Override
  208 +// public Enumeration<?> getHeaderNames() {
  209 +// return getDelegate().getHeaderNames();
  210 +// }
  211 +//
  212 +// @Override
  213 +// public int getIntHeader(String name) {
  214 +// return getDelegate().getIntHeader(name);
  215 +// }
  216 +//
  217 +// @Override
  218 +// public String getMethod() {
  219 +// return getDelegate().getMethod();
  220 +// }
  221 +//
  222 +// @Override
  223 +// public String getPathInfo() {
  224 +// return getDelegate().getPathInfo();
  225 +// }
  226 +//
  227 +// @Override
  228 +// public String getPathTranslated() {
  229 +// return getDelegate().getPathTranslated();
  230 +// }
  231 +//
  232 +// @Override
  233 +// public String getContextPath() {
  234 +// return getDelegate().getContextPath();
  235 +// }
  236 +//
  237 +// @Override
  238 +// public String getQueryString() {
  239 +// return getDelegate().getQueryString();
  240 +// }
  241 +//
  242 +// @Override
  243 +// public String getRemoteUser() {
  244 +// return getDelegate().getRemoteUser();
  245 +// }
  246 +//
  247 +// @Override
  248 +// public boolean isUserInRole(String role) {
  249 +// return getDelegate().isUserInRole(role);
  250 +// }
  251 +//
  252 +// @Override
  253 +// public Principal getUserPrincipal() {
  254 +// return getDelegate().getUserPrincipal();
  255 +// }
  256 +//
  257 +// @Override
  258 +// public String getRequestedSessionId() {
  259 +// return getDelegate().getRequestedSessionId();
  260 +// }
  261 +//
  262 +// @Override
  263 +// public String getRequestURI() {
  264 +// return getDelegate().getRequestURI();
  265 +// }
  266 +//
  267 +// @Override
  268 +// public StringBuffer getRequestURL() {
  269 +// return getDelegate().getRequestURL();
  270 +// }
  271 +//
  272 +// @Override
  273 +// public String getServletPath() {
  274 +// return getDelegate().getServletPath();
  275 +// }
  276 +//
  277 +// @Override
  278 +// public HttpSession getSession(boolean create) {
  279 +// return getDelegate().getSession(create);
  280 +// }
  281 +//
  282 +// @Override
  283 +// public HttpSession getSession() {
  284 +// return getDelegate().getSession();
  285 +// }
  286 +//
  287 +// @Override
  288 +// public boolean isRequestedSessionIdValid() {
  289 +// return getDelegate().isRequestedSessionIdValid();
  290 +// }
  291 +//
  292 +// @Override
  293 +// public boolean isRequestedSessionIdFromCookie() {
  294 +// return getDelegate().isRequestedSessionIdFromCookie();
  295 +// }
  296 +//
  297 +// @Override
  298 +// public boolean isRequestedSessionIdFromURL() {
  299 +// return getDelegate().isRequestedSessionIdFromURL();
  300 +// }
  301 +//
  302 +// @Override
  303 +// @Deprecated
  304 +// public boolean isRequestedSessionIdFromUrl() {
  305 +// return getDelegate().isRequestedSessionIdFromUrl();
  306 +// }
  307 +//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletResponseProxy.java 0 → 100644
@@ -0,0 +1,192 @@ @@ -0,0 +1,192 @@
  1 +//package br.gov.frameworkdemoiselle.internal.proxy;
  2 +//
  3 +//import java.io.IOException;
  4 +//import java.io.PrintWriter;
  5 +//import java.io.Serializable;
  6 +//import java.util.Locale;
  7 +//
  8 +//import javax.enterprise.context.RequestScoped;
  9 +//import javax.enterprise.inject.Default;
  10 +//import javax.servlet.ServletOutputStream;
  11 +//import javax.servlet.http.Cookie;
  12 +//import javax.servlet.http.HttpServletResponse;
  13 +//
  14 +//@Default
  15 +//@RequestScoped
  16 +//public class HttpServletResponseProxy implements HttpServletResponse, Serializable {
  17 +//
  18 +// private static final long serialVersionUID = 1L;
  19 +//
  20 +// private transient HttpServletResponse delegate;
  21 +//
  22 +// public HttpServletResponseProxy(HttpServletResponse delegate) {
  23 +// this.delegate = delegate;
  24 +// }
  25 +//
  26 +// private HttpServletResponse getDelegate() {
  27 +// return delegate;
  28 +// }
  29 +//
  30 +// @Override
  31 +// public String getCharacterEncoding() {
  32 +// return getDelegate().getCharacterEncoding();
  33 +// }
  34 +//
  35 +// @Override
  36 +// public String getContentType() {
  37 +// return getDelegate().getContentType();
  38 +// }
  39 +//
  40 +// @Override
  41 +// public ServletOutputStream getOutputStream() throws IOException {
  42 +// return getDelegate().getOutputStream();
  43 +// }
  44 +//
  45 +// @Override
  46 +// public PrintWriter getWriter() throws IOException {
  47 +// return getDelegate().getWriter();
  48 +// }
  49 +//
  50 +// @Override
  51 +// public void setCharacterEncoding(String charset) {
  52 +// getDelegate().setCharacterEncoding(charset);
  53 +// }
  54 +//
  55 +// @Override
  56 +// public void setContentLength(int len) {
  57 +// getDelegate().setContentLength(len);
  58 +// }
  59 +//
  60 +// @Override
  61 +// public void setContentType(String type) {
  62 +// getDelegate().setContentType(type);
  63 +// }
  64 +//
  65 +// @Override
  66 +// public void setBufferSize(int size) {
  67 +// getDelegate().setBufferSize(size);
  68 +// }
  69 +//
  70 +// @Override
  71 +// public int getBufferSize() {
  72 +// return getDelegate().getBufferSize();
  73 +// }
  74 +//
  75 +// @Override
  76 +// public void flushBuffer() throws IOException {
  77 +// getDelegate().flushBuffer();
  78 +// }
  79 +//
  80 +// @Override
  81 +// public void resetBuffer() {
  82 +// getDelegate().resetBuffer();
  83 +// }
  84 +//
  85 +// @Override
  86 +// public boolean isCommitted() {
  87 +// return getDelegate().isCommitted();
  88 +// }
  89 +//
  90 +// @Override
  91 +// public void reset() {
  92 +// getDelegate().reset();
  93 +// }
  94 +//
  95 +// @Override
  96 +// public void setLocale(Locale loc) {
  97 +// getDelegate().setLocale(loc);
  98 +// }
  99 +//
  100 +// @Override
  101 +// public Locale getLocale() {
  102 +// return getDelegate().getLocale();
  103 +// }
  104 +//
  105 +// @Override
  106 +// public void addCookie(Cookie cookie) {
  107 +// getDelegate().addCookie(cookie);
  108 +// }
  109 +//
  110 +// @Override
  111 +// public boolean containsHeader(String name) {
  112 +// return getDelegate().containsHeader(name);
  113 +// }
  114 +//
  115 +// @Override
  116 +// public String encodeURL(String url) {
  117 +// return getDelegate().encodeURL(url);
  118 +// }
  119 +//
  120 +// @Override
  121 +// public String encodeRedirectURL(String url) {
  122 +// return getDelegate().encodeRedirectURL(url);
  123 +// }
  124 +//
  125 +// @Override
  126 +// @Deprecated
  127 +// public String encodeUrl(String url) {
  128 +// return getDelegate().encodeUrl(url);
  129 +// }
  130 +//
  131 +// @Override
  132 +// @Deprecated
  133 +// public String encodeRedirectUrl(String url) {
  134 +// return getDelegate().encodeRedirectUrl(url);
  135 +// }
  136 +//
  137 +// @Override
  138 +// public void sendError(int sc, String msg) throws IOException {
  139 +// getDelegate().sendError(sc, msg);
  140 +// }
  141 +//
  142 +// @Override
  143 +// public void sendError(int sc) throws IOException {
  144 +// getDelegate().sendError(sc);
  145 +// }
  146 +//
  147 +// @Override
  148 +// public void sendRedirect(String location) throws IOException {
  149 +// getDelegate().sendRedirect(location);
  150 +// }
  151 +//
  152 +// @Override
  153 +// public void setDateHeader(String name, long date) {
  154 +// getDelegate().setDateHeader(name, date);
  155 +// }
  156 +//
  157 +// @Override
  158 +// public void addDateHeader(String name, long date) {
  159 +// getDelegate().addDateHeader(name, date);
  160 +// }
  161 +//
  162 +// @Override
  163 +// public void setHeader(String name, String value) {
  164 +// getDelegate().setHeader(name, value);
  165 +// }
  166 +//
  167 +// @Override
  168 +// public void addHeader(String name, String value) {
  169 +// getDelegate().addHeader(name, value);
  170 +// }
  171 +//
  172 +// @Override
  173 +// public void setIntHeader(String name, int value) {
  174 +// getDelegate().setIntHeader(name, value);
  175 +// }
  176 +//
  177 +// @Override
  178 +// public void addIntHeader(String name, int value) {
  179 +// getDelegate().addIntHeader(name, value);
  180 +// }
  181 +//
  182 +// @Override
  183 +// public void setStatus(int sc) {
  184 +// getDelegate().setStatus(sc);
  185 +// }
  186 +//
  187 +// @Override
  188 +// @Deprecated
  189 +// public void setStatus(int sc, String sm) {
  190 +// getDelegate().setStatus(sc, sm);
  191 +// }
  192 +//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/proxy/HttpSessionProxy.java 0 → 100644
@@ -0,0 +1,118 @@ @@ -0,0 +1,118 @@
  1 +//package br.gov.frameworkdemoiselle.internal.proxy;
  2 +//
  3 +//import java.io.Serializable;
  4 +//import java.util.Enumeration;
  5 +//
  6 +//import javax.enterprise.context.SessionScoped;
  7 +//import javax.enterprise.inject.Default;
  8 +//import javax.servlet.ServletContext;
  9 +//import javax.servlet.http.HttpSession;
  10 +//import javax.servlet.http.HttpSessionContext;
  11 +//
  12 +//@Default
  13 +//@SessionScoped
  14 +//@SuppressWarnings("deprecation")
  15 +//public class HttpSessionProxy implements HttpSession, Serializable {
  16 +//
  17 +// private static final long serialVersionUID = 1L;
  18 +//
  19 +// private transient HttpSession delegate;
  20 +//
  21 +// public HttpSessionProxy(HttpSession delegate) {
  22 +// this.delegate = delegate;
  23 +// }
  24 +//
  25 +// private HttpSession getDelegate() {
  26 +// return delegate;
  27 +// }
  28 +//
  29 +// @Override
  30 +// public long getCreationTime() {
  31 +// return getDelegate().getCreationTime();
  32 +// }
  33 +//
  34 +// @Override
  35 +// public String getId() {
  36 +// return getDelegate().getId();
  37 +// }
  38 +//
  39 +// @Override
  40 +// public long getLastAccessedTime() {
  41 +// return getDelegate().getLastAccessedTime();
  42 +// }
  43 +//
  44 +// @Override
  45 +// public ServletContext getServletContext() {
  46 +// return getDelegate().getServletContext();
  47 +// }
  48 +//
  49 +// @Override
  50 +// public void setMaxInactiveInterval(int interval) {
  51 +// getDelegate().setMaxInactiveInterval(interval);
  52 +// }
  53 +//
  54 +// @Override
  55 +// public int getMaxInactiveInterval() {
  56 +// return getDelegate().getMaxInactiveInterval();
  57 +// }
  58 +//
  59 +// @Override
  60 +// @Deprecated
  61 +// public HttpSessionContext getSessionContext() {
  62 +// return getDelegate().getSessionContext();
  63 +// }
  64 +//
  65 +// @Override
  66 +// public Object getAttribute(String name) {
  67 +// return getDelegate().getAttribute(name);
  68 +// }
  69 +//
  70 +// @Override
  71 +// @Deprecated
  72 +// public Object getValue(String name) {
  73 +// return getDelegate().getValue(name);
  74 +// }
  75 +//
  76 +// @Override
  77 +// public Enumeration<?> getAttributeNames() {
  78 +// return getDelegate().getAttributeNames();
  79 +// }
  80 +//
  81 +// @Override
  82 +// @Deprecated
  83 +// public String[] getValueNames() {
  84 +// return getDelegate().getValueNames();
  85 +// }
  86 +//
  87 +// @Override
  88 +// public void setAttribute(String name, Object value) {
  89 +// getDelegate().setAttribute(name, value);
  90 +// }
  91 +//
  92 +// @Override
  93 +// @Deprecated
  94 +// public void putValue(String name, Object value) {
  95 +// getDelegate().putValue(name, value);
  96 +// }
  97 +//
  98 +// @Override
  99 +// public void removeAttribute(String name) {
  100 +// getDelegate().removeAttribute(name);
  101 +// }
  102 +//
  103 +// @Override
  104 +// @Deprecated
  105 +// public void removeValue(String name) {
  106 +// getDelegate().removeValue(name);
  107 +// }
  108 +//
  109 +// @Override
  110 +// public void invalidate() {
  111 +// getDelegate().invalidate();
  112 +// }
  113 +//
  114 +// @Override
  115 +// public boolean isNew() {
  116 +// return getDelegate().isNew();
  117 +// }
  118 +//}
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java
@@ -60,12 +60,9 @@ public class ServletFilter implements Filter { @@ -60,12 +60,9 @@ public class ServletFilter implements Filter {
60 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, 60 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
61 ServletException { 61 ServletException {
62 62
63 - HttpServletRequestProducer requestProducer = Beans.getReference(HttpServletRequestProducer.class);  
64 - requestProducer.setRequest((HttpServletRequest) request);  
65 -  
66 - HttpServletResponseProducer responseProducer = Beans.getReference(HttpServletResponseProducer.class);  
67 - responseProducer.setResponse((HttpServletResponse) response);  
68 - 63 + Beans.getReference(HttpServletRequestProducer.class).setDelegate((HttpServletRequest) request);
  64 + Beans.getReference(HttpServletResponseProducer.class).setDelegate((HttpServletResponse) response);
  65 +
69 chain.doFilter(request, response); 66 chain.doFilter(request, response);
70 } 67 }
71 68
parent/extension/pom.xml
@@ -78,7 +78,6 @@ @@ -78,7 +78,6 @@
78 <dependency> 78 <dependency>
79 <groupId>br.gov.frameworkdemoiselle</groupId> 79 <groupId>br.gov.frameworkdemoiselle</groupId>
80 <artifactId>demoiselle-core</artifactId> 80 <artifactId>demoiselle-core</artifactId>
81 - <scope>compile</scope>  
82 </dependency> 81 </dependency>
83 82
84 <!-- Tests --> 83 <!-- Tests -->
parent/framework/pom.xml
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 <parent> 9 <parent>
10 <groupId>br.gov.frameworkdemoiselle</groupId> 10 <groupId>br.gov.frameworkdemoiselle</groupId>
11 <artifactId>demoiselle-parent</artifactId> 11 <artifactId>demoiselle-parent</artifactId>
12 - <version>4</version> 12 + <version>5-SNAPSHOT</version>
13 <relativePath>../../../internal/parent/demoiselle/pom.xml</relativePath> 13 <relativePath>../../../internal/parent/demoiselle/pom.xml</relativePath>
14 </parent> 14 </parent>
15 15
parent/jsf/pom.xml
@@ -34,7 +34,8 @@ @@ -34,7 +34,8 @@
34 ou escreva para a Fundação do Software Livre (FSF) Inc., 34 ou escreva para a Fundação do Software Livre (FSF) Inc.,
35 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. 35 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
36 --> 36 -->
37 -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 37 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  38 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
38 39
39 <modelVersion>4.0.0</modelVersion> 40 <modelVersion>4.0.0</modelVersion>
40 41
@@ -54,17 +55,37 @@ @@ -54,17 +55,37 @@
54 utilizam o framework. 55 utilizam o framework.
55 </description> 56 </description>
56 57
  58 + <build>
  59 + <plugins>
  60 + <plugin>
  61 + <groupId>org.apache.maven.plugins</groupId>
  62 + <artifactId>maven-war-plugin</artifactId>
  63 + <configuration>
  64 + <webResources>
  65 + <resource>
  66 + <directory>src/main/webapp/WEB-INF</directory>
  67 + <targetPath>WEB-INF</targetPath>
  68 + <filtering>true</filtering>
  69 + </resource>
  70 + </webResources>
  71 + </configuration>
  72 + </plugin>
  73 + </plugins>
  74 + </build>
  75 +
57 <dependencies> 76 <dependencies>
58 <dependency> 77 <dependency>
59 <groupId>br.gov.frameworkdemoiselle</groupId> 78 <groupId>br.gov.frameworkdemoiselle</groupId>
60 <artifactId>demoiselle-jsf</artifactId> 79 <artifactId>demoiselle-jsf</artifactId>
61 <scope>compile</scope> 80 <scope>compile</scope>
62 </dependency> 81 </dependency>
  82 + <!--
63 <dependency> 83 <dependency>
64 <groupId>javax.el</groupId> 84 <groupId>javax.el</groupId>
65 <artifactId>el-api</artifactId> 85 <artifactId>el-api</artifactId>
66 <scope>provided</scope> 86 <scope>provided</scope>
67 </dependency> 87 </dependency>
  88 + -->
68 </dependencies> 89 </dependencies>
69 90
70 <dependencyManagement> 91 <dependencyManagement>
@@ -99,6 +120,11 @@ @@ -99,6 +120,11 @@
99 <scope>runtime</scope> 120 <scope>runtime</scope>
100 </dependency> 121 </dependency>
101 <dependency> 122 <dependency>
  123 + <groupId>com.sun.faces</groupId>
  124 + <artifactId>jsf-impl</artifactId>
  125 + <scope>runtime</scope>
  126 + </dependency>
  127 + <dependency>
102 <groupId>org.eclipse.persistence</groupId> 128 <groupId>org.eclipse.persistence</groupId>
103 <artifactId>eclipselink</artifactId> 129 <artifactId>eclipselink</artifactId>
104 <scope>runtime</scope> 130 <scope>runtime</scope>
@@ -150,6 +176,11 @@ @@ -150,6 +176,11 @@
150 <scope>runtime</scope> 176 <scope>runtime</scope>
151 </dependency> 177 </dependency>
152 <dependency> 178 <dependency>
  179 + <groupId>com.sun.faces</groupId>
  180 + <artifactId>jsf-impl</artifactId>
  181 + <scope>runtime</scope>
  182 + </dependency>
  183 + <dependency>
153 <groupId>org.eclipse.persistence</groupId> 184 <groupId>org.eclipse.persistence</groupId>
154 <artifactId>eclipselink</artifactId> 185 <artifactId>eclipselink</artifactId>
155 <scope>runtime</scope> 186 <scope>runtime</scope>
@@ -172,6 +203,62 @@ @@ -172,6 +203,62 @@
172 </dependencies> 203 </dependencies>
173 </profile> 204 </profile>
174 <profile> 205 <profile>
  206 + <id>gae</id>
  207 + <build>
  208 + <plugins>
  209 + <plugin>
  210 + <groupId>net.kindleit</groupId>
  211 + <artifactId>maven-gae-plugin</artifactId>
  212 + <version>${kindleit.plugin.version}</version>
  213 + <configuration>
  214 + <serverId>appengine.google.com</serverId>
  215 + </configuration>
  216 + </plugin>
  217 + </plugins>
  218 + </build>
  219 + <dependencies>
  220 + <dependency>
  221 + <groupId>javax.servlet</groupId>
  222 + <artifactId>servlet-api</artifactId>
  223 + <scope>provided</scope>
  224 + </dependency>
  225 + <dependency>
  226 + <groupId>org.jboss.weld</groupId>
  227 + <artifactId>weld-core</artifactId>
  228 + <scope>runtime</scope>
  229 + </dependency>
  230 + <dependency>
  231 + <groupId>org.jboss.weld.servlet</groupId>
  232 + <artifactId>weld-servlet-core</artifactId>
  233 + <scope>runtime</scope>
  234 + </dependency>
  235 + <dependency>
  236 + <groupId>com.sun.faces</groupId>
  237 + <artifactId>jsf-impl</artifactId>
  238 + <scope>runtime</scope>
  239 + </dependency>
  240 + <dependency>
  241 + <groupId>org.hibernate</groupId>
  242 + <artifactId>hibernate-validator</artifactId>
  243 + <scope>runtime</scope>
  244 + </dependency>
  245 + <dependency>
  246 + <groupId>org.slf4j</groupId>
  247 + <artifactId>slf4j-log4j12</artifactId>
  248 + <scope>runtime</scope>
  249 + </dependency>
  250 + <dependency>
  251 + <groupId>com.google.appengine</groupId>
  252 + <artifactId>appengine-api-1.0-sdk</artifactId>
  253 + <version>${gae.version}</version>
  254 + </dependency>
  255 + </dependencies>
  256 + <properties>
  257 + <gae.version>1.7.0</gae.version>
  258 + <kindleit.plugin.version>0.9.4</kindleit.plugin.version>
  259 + </properties>
  260 + </profile>
  261 + <profile>
175 <id>glassfish3</id> 262 <id>glassfish3</id>
176 <dependencies> 263 <dependencies>
177 <dependency> 264 <dependency>
@@ -298,11 +385,6 @@ @@ -298,11 +385,6 @@
298 <scope>provided</scope> 385 <scope>provided</scope>
299 </dependency> 386 </dependency>
300 <dependency> 387 <dependency>
301 - <groupId>com.sun.faces</groupId>  
302 - <artifactId>jsf-impl</artifactId>  
303 - <scope>provided</scope>  
304 - </dependency>  
305 - <dependency>  
306 <groupId>hsqldb</groupId> 388 <groupId>hsqldb</groupId>
307 <artifactId>hsqldb</artifactId> 389 <artifactId>hsqldb</artifactId>
308 <scope>provided</scope> 390 <scope>provided</scope>
@@ -373,11 +455,6 @@ @@ -373,11 +455,6 @@
373 <scope>provided</scope> 455 <scope>provided</scope>
374 </dependency> 456 </dependency>
375 <dependency> 457 <dependency>
376 - <groupId>com.sun.faces</groupId>  
377 - <artifactId>jsf-impl</artifactId>  
378 - <scope>provided</scope>  
379 - </dependency>  
380 - <dependency>  
381 <groupId>hsqldb</groupId> 458 <groupId>hsqldb</groupId>
382 <artifactId>hsqldb</artifactId> 459 <artifactId>hsqldb</artifactId>
383 <scope>provided</scope> 460 <scope>provided</scope>