/* * Copyright (c) 2008, 2011 Oracle and/or its affiliates. * All rights reserved. Use is subject to license terms. * * This file is available and licensed under the following license: * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the distribution. * - Neither the name of Oracle Corporation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package com.javafx.experiments.dataapp.server.service; import javax.ejb.Stateless; import javax.ws.rs.Path; import com.javafx.experiments.dataapp.model.Region; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.Parameter; import javax.persistence.PersistenceContext; import javax.persistence.Query; import javax.ws.rs.GET; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @Stateless @Path("com.javafx.experiments.dataapp.model.region") public class RegionFacadeREST extends AbstractFacade<Region> { @PersistenceContext(unitName = "DataAppLibraryPU") private EntityManager em; public RegionFacadeREST() { super(Region.class); } @Override protected EntityManager getEntityManager() { return em; } @GET @Path("/international/{international}") @Produces({"application/xml", "application/json"}) public List<Region> findInternational(@PathParam("international") Integer international) { Query q = getEntityManager().createNamedQuery("Region.findByInternational"); Parameter<Integer> p = q.getParameter("international", Integer.class); q.setParameter(p, international); return q.getResultList(); } }