Home » openejb-3.1.2-src » org.superbiz.moviefun » [javadoc | source]

    1   /**
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   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.superbiz.moviefun;
   18   
   19   import javax.ejb.Stateless;
   20   import javax.ejb.EJB;
   21   import javax.persistence.EntityManager;
   22   import javax.persistence.PersistenceContext;
   23   import javax.persistence.Query;
   24   import javax.jws.WebService;
   25   import javax.annotation.Resource;
   26   import java.util.List;
   27   
   28   @Stateless(name = "Movies")
   29   @WebService(portName = "MoviesPort",
   30           serviceName = "MoviesWebService",
   31           targetNamespace = "http://superbiz.org/wsdl")
   32   public class MoviesImpl implements Movies {
   33   
   34       @EJB
   35       private Notifier notifier;
   36   
   37       @PersistenceContext(unitName = "movie-unit")
   38       private EntityManager entityManager;
   39   
   40       public void addMovie(Movie movie) throws Exception {
   41           entityManager.persist(movie);
   42       }
   43   
   44       public void deleteMovie(Movie movie) throws Exception {
   45           entityManager.remove(movie);
   46       }
   47   
   48       public void deleteMovieId(long id) throws Exception {
   49           Movie movie = entityManager.find(Movie.class, id);
   50           entityManager.remove(movie);
   51   
   52           notifier.notify("Deleted Movie \"" + movie.getTitle() + "\" (" + movie.getYear() + ")");
   53       }
   54   
   55       public List<Movie> getMovies() throws Exception {
   56           Query query = entityManager.createQuery("SELECT m from Movie as m");
   57           return query.getResultList();
   58       }
   59   
   60       public List<Movie> findByTitle(String title) throws Exception {
   61           Query query = entityManager.createQuery("SELECT m from Movie as m where m.title = ?1");
   62           query.setParameter(1, title);
   63           return query.getResultList();
   64       }
   65   
   66       public List<Movie> findByGenre(String genre) throws Exception {
   67           Query query = entityManager.createQuery("SELECT m from Movie as m where m.genre = ?1");
   68           query.setParameter(1, genre);
   69           return query.getResultList();
   70       }
   71   
   72       public List<Movie> findByDirector(String director) throws Exception {
   73           Query query = entityManager.createQuery("SELECT m from Movie as m where m.director = ?1");
   74           query.setParameter(1, director);
   75           return query.getResultList();
   76       }
   77   
   78   }

Home » openejb-3.1.2-src » org.superbiz.moviefun » [javadoc | source]