comparison src/main/java/de/intevation/utils/Resources.java @ 10:eb093385ff7e

Added Resources.java. This file is important as it make the EntitManager available through @Inject in other classes.
author Torsten Irländer <torsten.irlaender@intevation.de>
date Thu, 18 Apr 2013 16:03:10 +0200
parents
children ad22a59aa5d7
comparison
equal deleted inserted replaced
9:02093e21ec25 10:eb093385ff7e
1 /*
2 * JBoss, Home of Professional Open Source
3 * Copyright 2012, Red Hat, Inc. and/or its affiliates, and individual
4 * contributors by the @authors tag. See the copyright.txt in the
5 * distribution for a full listing of individual contributors.
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.jboss.as.quickstarts.kitchensink.util;
18
19 import java.util.logging.Logger;
20
21 import javax.enterprise.context.RequestScoped;
22 import javax.enterprise.inject.Produces;
23 import javax.enterprise.inject.spi.InjectionPoint;
24 import javax.faces.context.FacesContext;
25 import javax.persistence.EntityManager;
26 import javax.persistence.PersistenceContext;
27
28 /**
29 * This class uses CDI to alias Java EE resources, such as the persistence context, to CDI beans
30 *
31 * <p>
32 * Example injection on a managed bean field:
33 * </p>
34 *
35 * <pre>
36 * &#064;Inject
37 * private EntityManager em;
38 * </pre>
39 */
40 public class Resources {
41 // use @SuppressWarnings to tell IDE to ignore warnings about field not being referenced directly
42 @SuppressWarnings("unused")
43 @Produces
44 @PersistenceContext
45 private EntityManager em;
46
47 @Produces
48 public Logger produceLog(InjectionPoint injectionPoint) {
49 return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
50 }
51
52 @Produces
53 @RequestScoped
54 public FacesContext produceFacesContext() {
55 return FacesContext.getCurrentInstance();
56 }
57
58 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)