View Javadoc
1   /*
2    * JBoss, Home of Professional Open Source
3    * Copyright 2014, 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.cmt.controller;
18  
19  import java.util.List;
20  import java.util.logging.Logger;
21  
22  import javax.faces.bean.RequestScoped;
23  import javax.inject.Inject;
24  import javax.inject.Named;
25  import javax.naming.NamingException;
26  import javax.transaction.HeuristicMixedException;
27  import javax.transaction.HeuristicRollbackException;
28  import javax.transaction.NotSupportedException;
29  import javax.transaction.RollbackException;
30  import javax.transaction.SystemException;
31  
32  import org.jboss.as.quickstarts.cmt.jts.ejb.CustomerManagerEJB;
33  import org.jboss.as.quickstarts.cmt.model.Customer;
34  
35  @Named("customerManager")
36  @RequestScoped
37  public class CustomerManager {
38      private Logger logger = Logger.getLogger(CustomerManager.class.getName());
39  
40      @Inject
41      private CustomerManagerEJB customerManager;
42  
43      public List<Customer> getCustomers() throws SecurityException, IllegalStateException, NamingException,
44              NotSupportedException, SystemException, RollbackException, HeuristicMixedException, HeuristicRollbackException {
45          return customerManager.listCustomers();
46      }
47  
48      public String addCustomer(String name) {
49          try {
50              customerManager.createCustomer(name);
51              return "customerAdded";
52          } catch (Exception e) {
53              logger.warning("Caught a duplicate: " + e.getMessage());
54              // Transaction will be marked rollback only anyway utx.rollback();
55              return "customerDuplicate";
56          }
57      }
58  }