Commit 8d9216eb587d94a36ebdbe3d4d87c48445d923d7

Authored by Danilo Costa Viana
1 parent 74b7da8a

Removendo produtores que conflitam com aqueles encontrados no CDI 1.1

archetype/jsf-jpa/src/main/resources/archetype-resources/pom.xml
... ... @@ -52,4 +52,8 @@
52 52 <scope>test</scope>
53 53 </dependency>
54 54 </dependencies>
  55 +
  56 + <build>
  57 + <finalName>${artifactId}</finalName>
  58 + </build>
55 59 </project>
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/AbstractLifecycleBootstrap.java
... ... @@ -36,33 +36,23 @@
36 36 */
37 37 package br.gov.frameworkdemoiselle.internal.bootstrap;
38 38  
39   -import java.lang.annotation.Annotation;
40   -import java.util.ArrayList;
41   -import java.util.Collections;
42   -import java.util.HashMap;
43   -import java.util.Iterator;
44   -import java.util.List;
45   -import java.util.logging.Logger;
46   -
47   -import javax.enterprise.event.Observes;
48   -import javax.enterprise.inject.spi.AnnotatedMethod;
49   -import javax.enterprise.inject.spi.AnnotatedType;
50   -import javax.enterprise.inject.spi.Extension;
51   -import javax.enterprise.inject.spi.ProcessAnnotatedType;
52   -
53 39 import br.gov.frameworkdemoiselle.DemoiselleException;
54   -import br.gov.frameworkdemoiselle.context.ConversationContext;
55   -import br.gov.frameworkdemoiselle.context.CustomContext;
56   -import br.gov.frameworkdemoiselle.context.RequestContext;
57   -import br.gov.frameworkdemoiselle.context.SessionContext;
58   -import br.gov.frameworkdemoiselle.context.ViewContext;
59   -import br.gov.frameworkdemoiselle.internal.context.TemporaryViewContextImpl;
  40 +import br.gov.frameworkdemoiselle.context.*;
60 41 import br.gov.frameworkdemoiselle.internal.implementation.AnnotatedMethodProcessor;
61 42 import br.gov.frameworkdemoiselle.util.Beans;
62 43 import br.gov.frameworkdemoiselle.util.NameQualifier;
63 44 import br.gov.frameworkdemoiselle.util.Reflections;
64 45 import br.gov.frameworkdemoiselle.util.ResourceBundle;
65 46  
  47 +import javax.enterprise.event.Observes;
  48 +import javax.enterprise.inject.spi.AnnotatedMethod;
  49 +import javax.enterprise.inject.spi.AnnotatedType;
  50 +import javax.enterprise.inject.spi.Extension;
  51 +import javax.enterprise.inject.spi.ProcessAnnotatedType;
  52 +import java.lang.annotation.Annotation;
  53 +import java.util.*;
  54 +import java.util.logging.Logger;
  55 +
66 56 public abstract class AbstractLifecycleBootstrap<A extends Annotation> implements Extension {
67 57  
68 58 private Class<A> annotationClass;
... ... @@ -149,7 +139,7 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
149 139 if (!registered) {
150 140 RequestContext requestContext = Beans.getReference(RequestContext.class);
151 141 SessionContext sessionContext = Beans.getReference(SessionContext.class);
152   - ViewContext viewContext = Beans.getReference(ViewContext.class);
  142 + // ViewContext viewContext = Beans.getReference(ViewContext.class);
153 143 ConversationContext conversationContext = Beans.getReference(ConversationContext.class);
154 144  
155 145 if (requestContext != null) {
... ... @@ -166,7 +156,7 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
166 156  
167 157 // Contexto temporário de visão precisa de tratamento especial
168 158 // para evitar conflito com o contexto presente na extensão demoiselle-jsf
169   - if (viewContext != null) {
  159 + /*if (viewContext != null) {
170 160 if (TemporaryViewContextImpl.class.isInstance(viewContext)) {
171 161 startedContextHere.put("view", viewContext.activate());
172 162 } else {
... ... @@ -185,7 +175,7 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
185 175 }
186 176 }
187 177 }
188   - }
  178 + }*/
189 179  
190 180 registered = true;
191 181 }
... ... @@ -212,7 +202,7 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
212 202  
213 203 // Contexto temporário de visão precisa de tratamento especial
214 204 // para evitar conflito com o contexto presente na extensão demoiselle-jsf
215   - if (viewContext != null) {
  205 + /*if (viewContext != null) {
216 206 if (TemporaryViewContextImpl.class.isInstance(viewContext) && startedContextHere.get("view")) {
217 207 viewContext.deactivate();
218 208  
... ... @@ -221,7 +211,7 @@ public abstract class AbstractLifecycleBootstrap&lt;A extends Annotation&gt; implement
221 211 backupContext = null;
222 212 }
223 213 }
224   - }
  214 + }*/
225 215 }
226 216 }
227 217 }
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/CustomContextBootstrap.java
... ... @@ -15,7 +15,6 @@ import br.gov.frameworkdemoiselle.internal.context.StaticContextImpl;
15 15 import br.gov.frameworkdemoiselle.internal.context.TemporaryConversationContextImpl;
16 16 import br.gov.frameworkdemoiselle.internal.context.TemporaryRequestContextImpl;
17 17 import br.gov.frameworkdemoiselle.internal.context.TemporarySessionContextImpl;
18   -import br.gov.frameworkdemoiselle.internal.context.TemporaryViewContextImpl;
19 18 import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
20 19  
21 20 /**
... ... @@ -54,9 +53,6 @@ public class CustomContextBootstrap implements Extension{
54 53 ctx = new StaticContextImpl();
55 54 contexts.add(ctx);
56 55  
57   - ctx = new TemporaryViewContextImpl();
58   - contexts.add(ctx);
59   -
60 56 ctx = new TemporaryConversationContextImpl();
61 57 contexts.add(ctx);
62 58  
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/context/TemporaryViewContextImpl.java
... ... @@ -1,75 +0,0 @@
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   -/*
38   - * Demoiselle Framework Copyright (c) 2010 Serpro and other contributors as indicated by the @author tag. See the
39   - * copyright.txt in the distribution for a full listing of contributors. Demoiselle Framework is an open source Java EE
40   - * library designed to accelerate the development of transactional database Web applications. Demoiselle Framework is
41   - * released under the terms of the LGPL license 3 http://www.gnu.org/licenses/lgpl.html LGPL License 3 This file is part
42   - * of Demoiselle Framework. Demoiselle Framework is free software: you can redistribute it and/or modify it under the
43   - * terms of the GNU Lesser General Public License 3 as published by the Free Software Foundation. Demoiselle Framework
44   - * is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
45   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You
46   - * should have received a copy of the GNU Lesser General Public License along with Demoiselle Framework. If not, see
47   - * <http://www.gnu.org/licenses/>.
48   - */
49   -package br.gov.frameworkdemoiselle.internal.context;
50   -
51   -import javax.enterprise.inject.Alternative;
52   -
53   -import br.gov.frameworkdemoiselle.annotation.Priority;
54   -import br.gov.frameworkdemoiselle.context.ViewContext;
55   -import br.gov.frameworkdemoiselle.lifecycle.ViewScoped;
56   -
57   -/**
58   - *
59   - * Temporary context meant to replace the view context on environments
60   - * that doesn't provide a default context for the view scope. Such
61   - * environments include desktop applications or remote JMX calls, that by CDI
62   - * specification doesn't provide scopes and only have the application scope active.
63   - *
64   - * @author serpro
65   - *
66   - */
67   -@Priority(Priority.MIN_PRIORITY)
68   -@Alternative
69   -public class TemporaryViewContextImpl extends AbstractThreadLocalContext implements ViewContext {
70   -
71   - public TemporaryViewContextImpl() {
72   - super(ViewScoped.class);
73   - }
74   -
75   -}
impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java
... ... @@ -73,7 +73,10 @@ public class ResourceBundleProducer implements Serializable {
73 73 @Name("")
74 74 @Produces
75 75 public ResourceBundle createNamed(InjectionPoint ip) {
76   - String baseName = ip.getAnnotated().getAnnotation(Name.class).value();
  76 + String baseName = "";
  77 + if (ip != null) {
  78 + baseName = ip.getAnnotated().getAnnotation(Name.class).value();
  79 + }
77 80 return new ResourceBundle(baseName, Beans.getReference(Locale.class));
78 81 }
79 82 }
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/lifecycle/ViewScoped.java
... ... @@ -1,64 +0,0 @@
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.lifecycle;
38   -
39   -import static java.lang.annotation.ElementType.FIELD;
40   -import static java.lang.annotation.ElementType.METHOD;
41   -import static java.lang.annotation.ElementType.TYPE;
42   -import static java.lang.annotation.RetentionPolicy.RUNTIME;
43   -
44   -import java.lang.annotation.Inherited;
45   -import java.lang.annotation.Retention;
46   -import java.lang.annotation.Target;
47   -
48   -import javax.enterprise.context.NormalScope;
49   -
50   -/**
51   - * This scope maintains the context for viewed page; when the viewed page change, the data will be lost.
52   - *
53   - * @author SERPRO
54   - *
55   - * @deprecated
56   - */
57   -@Inherited
58   -@Target({ METHOD, TYPE, FIELD })
59   -@Retention(RUNTIME)
60   -@NormalScope(passivating = true)
61   -@Deprecated
62   -public @interface ViewScoped {
63   -
64   -}
impl/core/src/main/java/br/gov/frameworkdemoiselle/stereotype/ViewController.java
... ... @@ -1,72 +0,0 @@
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.stereotype;
38   -
39   -import static java.lang.annotation.ElementType.TYPE;
40   -import static java.lang.annotation.RetentionPolicy.RUNTIME;
41   -
42   -import java.lang.annotation.Inherited;
43   -import java.lang.annotation.Retention;
44   -import java.lang.annotation.Target;
45   -
46   -import javax.enterprise.inject.Stereotype;
47   -import javax.inject.Named;
48   -
49   -import br.gov.frameworkdemoiselle.lifecycle.ViewScoped;
50   -
51   -/**
52   - * Identifies a <b>view controller</b> class. A view controller class is intend to respond to events initiated in the
53   - * application front-view. It should have attributes and methods intented to populate the view.
54   - * <p>
55   - * A <i>View Controller</i> is:
56   - * <ul>
57   - * <li>defined when annotated with {@code @ViewController}</li>
58   - * <li>automatically injected whenever {@code @Inject} is used</li>
59   - * </ul>
60   - *
61   - * @author SERPRO
62   - * @see @Controller
63   - */
64   -@Named
65   -@Controller
66   -@Stereotype
67   -@ViewScoped
68   -@Inherited
69   -@Target(TYPE)
70   -@Retention(RUNTIME)
71   -public @interface ViewController {
72   -}
impl/core/src/main/java/br/gov/frameworkdemoiselle/util/Beans.java
... ... @@ -46,10 +46,8 @@ import java.util.Set;
46 46  
47 47 import javax.enterprise.context.spi.CreationalContext;
48 48 import javax.enterprise.inject.AmbiguousResolutionException;
49   -import javax.enterprise.inject.spi.Annotated;
50   -import javax.enterprise.inject.spi.Bean;
51   -import javax.enterprise.inject.spi.BeanManager;
52   -import javax.enterprise.inject.spi.InjectionPoint;
  49 +import javax.enterprise.inject.Instance;
  50 +import javax.enterprise.inject.spi.*;
53 51  
54 52 import br.gov.frameworkdemoiselle.DemoiselleException;
55 53  
... ... @@ -118,6 +116,16 @@ public final class Beans {
118 116 * if no bean are avaliable to be injected for the given Class and qualifiers.
119 117 */
120 118 public static <T> T getReference(final Class<T> beanClass, Annotation... qualifiers) {
  119 +
  120 + Instance<T> selectedInstance = CDI.current().select(beanClass, qualifiers);
  121 + if (selectedInstance != null)
  122 + {
  123 + return selectedInstance.get();
  124 + }
  125 +
  126 + return null;
  127 +
  128 + /*
121 129 T instance;
122 130  
123 131 try {
... ... @@ -145,7 +153,7 @@ public final class Beans {
145 153 throw new DemoiselleException(message, cause);
146 154 }
147 155  
148   - return instance;
  156 + return instance;*/
149 157 }
150 158  
151 159 @SuppressWarnings("unchecked")
... ... @@ -158,15 +166,16 @@ public final class Beans {
158 166 Bean<?> bean = beans.iterator().next();
159 167 CreationalContext<?> context = getBeanManager().createCreationalContext(bean);
160 168 Type beanType = beanClass == null ? bean.getBeanClass() : beanClass;
161   - InjectionPoint injectionPoint;
  169 + /*InjectionPoint injectionPoint;
162 170  
163 171 if (qualifiers == null) {
164 172 injectionPoint = new ProgramaticInjectionPoint(bean, beanType);
165 173 } else {
166 174 injectionPoint = new ProgramaticInjectionPoint(bean, beanType, qualifiers);
167   - }
  175 + }*/
168 176  
169   - return (T) getBeanManager().getInjectableReference(injectionPoint, context);
  177 + //return (T) getBeanManager().getInjectableReference(injectionPoint, context);
  178 + return (T) getBeanManager().getReference(bean, beanType, context);
170 179 }
171 180  
172 181 /*
... ...
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/JsfBootstrap.java
... ... @@ -46,9 +46,10 @@ import br.gov.frameworkdemoiselle.internal.context.FacesViewContextImpl;
46 46 import br.gov.frameworkdemoiselle.lifecycle.AfterShutdownProccess;
47 47 import br.gov.frameworkdemoiselle.util.Beans;
48 48  
  49 +@Deprecated
49 50 public class JsfBootstrap implements Extension {
50 51  
51   - private FacesViewContextImpl context;
  52 + /*private FacesViewContextImpl context;
52 53  
53 54 private boolean contextActivatedHere;
54 55  
... ... @@ -74,5 +75,5 @@ public class JsfBootstrap implements Extension {
74 75 if (contextActivatedHere) {
75 76 context.deactivate();
76 77 }
77   - }
  78 + }*/
78 79 }
... ...
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/context/FacesViewBeanStore.java
... ... @@ -17,6 +17,7 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle;
17 17 *
18 18 * @author SERPRO
19 19 */
  20 +@Deprecated
20 21 public class FacesViewBeanStore implements Serializable {
21 22  
22 23 private static final long serialVersionUID = -8265458933971929432L;
... ...
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/lifecycle/ViewScoped.java 0 → 100644
... ... @@ -0,0 +1,59 @@
  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.lifecycle;
  38 +
  39 +import static java.lang.annotation.ElementType.FIELD;
  40 +import static java.lang.annotation.ElementType.METHOD;
  41 +import static java.lang.annotation.ElementType.TYPE;
  42 +import static java.lang.annotation.RetentionPolicy.RUNTIME;
  43 +
  44 +import java.lang.annotation.Inherited;
  45 +import java.lang.annotation.Retention;
  46 +import java.lang.annotation.Target;
  47 +
  48 +import javax.enterprise.context.NormalScope;
  49 +
  50 +/**
  51 + * This scope maintains the context for viewed page; when the viewed page change, the data will be lost.
  52 + *
  53 + * @author SERPRO
  54 + *
  55 + * @deprecated Use {@link javax.faces.view.ViewScoped} instead.
  56 + */
  57 +@javax.faces.view.ViewScoped
  58 +@Deprecated
  59 +public @interface ViewScoped {}
... ...
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/stereotype/ViewController.java 0 → 100644
... ... @@ -0,0 +1,72 @@
  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.stereotype;
  38 +
  39 +import static java.lang.annotation.ElementType.TYPE;
  40 +import static java.lang.annotation.RetentionPolicy.RUNTIME;
  41 +
  42 +import java.lang.annotation.Inherited;
  43 +import java.lang.annotation.Retention;
  44 +import java.lang.annotation.Target;
  45 +
  46 +import javax.enterprise.inject.Stereotype;
  47 +import javax.inject.Named;
  48 +
  49 +import br.gov.frameworkdemoiselle.lifecycle.ViewScoped;
  50 +
  51 +/**
  52 + * Identifies a <b>view controller</b> class. A view controller class is intend to respond to events initiated in the
  53 + * application front-view. It should have attributes and methods intented to populate the view.
  54 + * <p>
  55 + * A <i>View Controller</i> is:
  56 + * <ul>
  57 + * <li>defined when annotated with {@code @ViewController}</li>
  58 + * <li>automatically injected whenever {@code @Inject} is used</li>
  59 + * </ul>
  60 + *
  61 + * @author SERPRO
  62 + * @see @Controller
  63 + */
  64 +@Named
  65 +@Controller
  66 +@Stereotype
  67 +@ViewScoped
  68 +@Inherited
  69 +@Target(TYPE)
  70 +@Retention(RUNTIME)
  71 +public @interface ViewController {
  72 +}
... ...
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducer.java
... ... @@ -39,18 +39,20 @@ package br.gov.frameworkdemoiselle.internal.producer;
39 39 import java.io.Serializable;
40 40  
41 41 import javax.enterprise.context.RequestScoped;
  42 +import javax.enterprise.inject.Alternative;
42 43 import javax.enterprise.inject.Default;
43 44 import javax.enterprise.inject.Produces;
44 45 import javax.servlet.http.HttpServletRequest;
45 46  
46 47 @RequestScoped
  48 +@Deprecated
47 49 public class HttpServletRequestProducer implements Serializable {
48 50  
49 51 private static final long serialVersionUID = 1L;
50 52  
51 53 private transient HttpServletRequest request;
52 54  
53   - @Default
  55 + @Alternative
54 56 @Produces
55 57 public HttpServletRequest create() {
56 58 return this.request;
... ...
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducer.java
... ... @@ -39,18 +39,20 @@ package br.gov.frameworkdemoiselle.internal.producer;
39 39 import java.io.Serializable;
40 40  
41 41 import javax.enterprise.context.RequestScoped;
  42 +import javax.enterprise.inject.Alternative;
42 43 import javax.enterprise.inject.Default;
43 44 import javax.enterprise.inject.Produces;
44 45 import javax.servlet.http.HttpServletResponse;
45 46  
46 47 @RequestScoped
  48 +@Deprecated
47 49 public class HttpServletResponseProducer implements Serializable {
48 50  
49 51 private static final long serialVersionUID = 1L;
50 52  
51 53 private transient HttpServletResponse response;
52 54  
53   - @Default
  55 + @Alternative
54 56 @Produces
55 57 public HttpServletResponse create() {
56 58 return this.response;
... ...
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducer.java
... ... @@ -38,16 +38,18 @@ package br.gov.frameworkdemoiselle.internal.producer;
38 38  
39 39 import java.io.Serializable;
40 40  
  41 +import javax.enterprise.inject.Alternative;
41 42 import javax.enterprise.inject.Default;
42 43 import javax.enterprise.inject.Produces;
43 44 import javax.servlet.http.HttpServletRequest;
44 45 import javax.servlet.http.HttpSession;
45 46  
  47 +@Deprecated
46 48 public class HttpSessionProducer implements Serializable {
47 49  
48 50 private static final long serialVersionUID = 1L;
49 51  
50   - @Default
  52 + @Alternative
51 53 @Produces
52 54 public HttpSession create(HttpServletRequest request) {
53 55 return request != null ? request.getSession() : null;
... ...