[netbeans-samples~samples:88] add sources for maven enterprise app for 68
- From: ken_g@kenai.com
- To: commits@netbeans-samples.kenai.com
- Subject: [netbeans-samples~samples:88] add sources for maven enterprise app for 68
- Date: Mon, 7 Dec 2009 17:07:59 +0000
Project: netbeans-samples
Repository: samples
Revision: 88
Author: ken_g
Date: 2009-12-07 17:07:56 UTC
Link:
Log Message:
------------
add sources for maven enterprise app for 68
Revisions:
----------
88
Added Paths:
------------
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/test
Samples/JavaEE/MavenEnterpriseApp/pom.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/test/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/com/mycompany
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/PostMessage.java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application/META-INF
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/test/java/com/mycompany
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/com
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntityFacade.java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/test/java/com/mycompany
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/com
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/webapp/index.jsp
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application/META-INF/MANIFEST.MF
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/ListNews.java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/test/java/com
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/pom.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/test
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/persistence.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/resources
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/webapp
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/test/java/com
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/com/mycompany
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/MANIFEST.MF
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/nbactions.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/setup
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/test/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/pom.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/pom.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/test/java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/setup/sun-resources.xml
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/test
Samples/JavaEE/MavenEnterpriseApp
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntity.java
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewMessage.java
Diffs:
------
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/ListNews.java
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/ListNews.java
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/ListNews.java
(revision 88)
@@ -0,0 +1,100 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package web;
+
+import ejb.NewsEntity;
+import ejb.NewsEntityFacade;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Iterator;
+import java.util.List;
+import javax.ejb.EJB;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author nb
+ */
+@WebServlet(name = "ListNews", urlPatterns = {"/ListNews"})
+public class ListNews extends HttpServlet {
+
+ @EJB
+ private NewsEntityFacade newsEntityFacade;
+
+ /**
+ * Processes requests for both HTTP <code>GET</code> and
<code>POST</code> methods.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+ PrintWriter out = response.getWriter();
+ try {
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>Servlet ListNews</title>");
+ out.println("</head>");
+ out.println("<body>");
+ out.println("<h1>Servlet ListNews at " +
request.getContextPath() + "</h1>");
+
+ List news = newsEntityFacade.findAll();
+ for (Iterator it = news.iterator(); it.hasNext();) {
+ NewsEntity elem = (NewsEntity) it.next();
+ out.println(" <b>" + elem.getTitle() + " </b><br />");
+ out.println(elem.getBody() + "<br /> ");
+ }
+ out.println("<a href='PostMessage'>Add new message</a>");
+
+
+ out.println("</body>");
+ out.println("</html>");
+ } finally {
+ out.close();
+ }
+ }
+
+ // <editor-fold defaultstate="collapsed" desc="HttpServlet methods.
Click on the + sign on the left to edit the code.">
+ /**
+ * Handles the HTTP <code>GET</code> method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse
response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP <code>POST</code> method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse
response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }// </editor-fold>
+}
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/PostMessage.java
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/PostMessage.java
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/java/web/PostMessage.java
(revision 88)
@@ -0,0 +1,135 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package web;
+
+import ejb.NewsEntity;
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.annotation.Resource;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.JMSException;
+import javax.jms.MessageProducer;
+import javax.jms.ObjectMessage;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ *
+ * @author nb
+ */
+@WebServlet(name = "PostMessage", urlPatterns = {"/PostMessage"})
+public class PostMessage extends HttpServlet {
+
+ @Resource(mappedName = "jms/NewMessageFactory")
+ private ConnectionFactory connectionFactory;
+ @Resource(mappedName = "jms/NewMessage")
+ private Queue queue;
+
+ /**
+ * Processes requests for both HTTP <code>GET</code> and
<code>POST</code> methods.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
+ throws ServletException, IOException {
+ response.setContentType("text/html;charset=UTF-8");
+
+ // Add the following code to send the JMS message
+ String title = request.getParameter("title");
+ String body = request.getParameter("body");
+ if ((title != null) && (body != null)) {
+ try {
+ Connection connection = connectionFactory.createConnection();
+ Session session = connection.createSession(false,
Session.AUTO_ACKNOWLEDGE);
+ MessageProducer messageProducer =
session.createProducer(queue);
+
+ ObjectMessage message = session.createObjectMessage();
+ // here we create NewsEntity, that will be sent in JMS
message
+ NewsEntity e = new NewsEntity();
+ e.setTitle(title);
+ e.setBody(body);
+
+ message.setObject(e);
+ messageProducer.send(message);
+ messageProducer.close();
+ connection.close();
+ response.sendRedirect("ListNews");
+
+ } catch (JMSException ex) {
+ ex.printStackTrace();
+ }
+ }
+
+
+ PrintWriter out = response.getWriter();
+ try {
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>Servlet PostMessage</title>");
+ out.println("</head>");
+ out.println("<body>");
+ out.println("<h1>Servlet PostMessage at " +
request.getContextPath() + "</h1>");
+
+ // The following code adds the form to the web page
+ out.println("<form>");
+ out.println("Title: <input type='text' name='title'><br/>");
+ out.println("Message: <textarea name='body'></textarea><br/>");
+ out.println("<input type='submit'><br/>");
+ out.println("</form>");
+
+
+ out.println("</body>");
+ out.println("</html>");
+ } finally {
+ out.close();
+ }
+ }
+ // <editor-fold defaultstate="collapsed" desc="HttpServlet methods.
Click on the + sign on the left to edit the code.">
+
+ /**
+ * Handles the HTTP <code>GET</code> method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse
response)
+ throws ServletException,
+ IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Handles the HTTP <code>POST</code> method.
+ * @param request servlet request
+ * @param response servlet response
+ * @throws ServletException if a servlet-specific error occurs
+ * @throws IOException if an I/O error occurs
+ */
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse
response)
+ throws ServletException,
+ IOException {
+ processRequest(request, response);
+ }
+
+ /**
+ * Returns a short description of the servlet.
+ * @return a String containing servlet description
+ */
+ @Override
+ public String getServletInfo() {
+ return "Short description";
+ }// </editor-fold>
+}
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/webapp/index.jsp
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/webapp/index.jsp
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/src/main/webapp/index.jsp
(revision 88)
@@ -0,0 +1,13 @@
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>JSP Page</title>
+ </head>
+ <body>
+ <h1>Hello World!</h1>
+ </body>
+</html>
Index: Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/pom.xml
===================================================================
--- Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/pom.xml
(revision 0)
+++ Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-web/pom.xml
(revision 88)
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>MavenEnterpriseApp</artifactId>
+ <groupId>com.mycompany</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-web</artifactId>
+ <packaging>war</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>MavenEnterpriseApp-web Java EE 6 Webapp</name>
+ <url>http://maven.apache.org</url>
+ <repositories>
+ <repository>
+ <id>java.net2</id>
+ <name>Repository hosting the jee6 artifacts</name>
+ <url>http://download.java.net/maven/2</url>
+ </repository>
+ </repositories>
+ <dependencies>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-web-api</artifactId>
+ <version>6.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-ejb</artifactId>
+ <scope>provided</scope>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>6.0</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ <configuration>
+ <failOnMissingWebXml>false</failOnMissingWebXml>
+ </configuration>
+ </plugin>
+ </plugins>
+ <finalName>MavenEnterpriseApp-web</finalName>
+ </build>
+ <profiles>
+ <profile>
+ <id>endorsed</id>
+ <activation>
+ <property>
+ <name>sun.boot.class.path</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <!-- javaee6 contains upgrades of APIs contained
within the JDK itself.
+ As such these need to be placed on the
bootclasspath, rather than classpath of the
+ compiler.
+ If you don't make use of these new updated
API, you can delete the profile.
+ On non-SUN jdk, you will need to create a
similar profile for your jdk, with the similar property as
sun.boot.class.path in Sun's JDK.-->
+ <compilerArguments>
+
<bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar${path.separator}${sun.boot.class.path}</bootclasspath>
+ </compilerArguments>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-endorsed-api</artifactId>
+ <version>6.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
+
+
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/setup/sun-resources.xml
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/setup/sun-resources.xml
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/setup/sun-resources.xml
(revision 88)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application
Server 9.0 Resource Definitions //EN"
"http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
+<resources>
+ <admin-object-resource enabled="true" jndi-name="jms/NewMessage"
res-type="javax.jms.Queue" res-adapter="jmsra">
+ <property name="Name" value="PhysicalQueue"/>
+ </admin-object-resource>
+ <connector-connection-pool name="jms/NewMessageFactoryPool"
connection-definition-name="javax.jms.QueueConnectionFactory"
resource-adapter-name="jmsra"/>
+ <connector-resource enabled="true" jndi-name="jms/NewMessageFactory"
pool-name="jms/NewMessageFactoryPool" />
+</resources>
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntity.java
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntity.java
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntity.java
(revision 88)
@@ -0,0 +1,77 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package ejb;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+
+/**
+ *
+ * @author nb
+ */
+@Entity
+public class NewsEntity implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long id;
+
+ private String title;
+ private String body;
+
+ public String getBody() {
+ return body;
+ }
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 0;
+ hash += (id != null ? id.hashCode() : 0);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ // TODO: Warning - this method won't work in the case the id fields
are not set
+ if (!(object instanceof NewsEntity)) {
+ return false;
+ }
+ NewsEntity other = (NewsEntity) object;
+ if ((this.id == null && other.id != null) || (this.id != null &&
!this.id.equals(other.id))) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ return "ejb.NewsEntity[id=" + id + "]";
+ }
+
+}
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntityFacade.java
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntityFacade.java
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewsEntityFacade.java
(revision 88)
@@ -0,0 +1,64 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package ejb;
+
+import java.util.List;
+import javax.ejb.Stateless;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Root;
+
+/**
+ *
+ * @author nb
+ */
+@Stateless
+public class NewsEntityFacade {
+ @PersistenceContext(unitName =
"com.mycompany_MavenEnterpriseApp-ejb_ejb_1.0-SNAPSHOTPU")
+ private EntityManager em;
+
+ public void create(NewsEntity newsEntity) {
+ em.persist(newsEntity);
+ }
+
+ public void edit(NewsEntity newsEntity) {
+ em.merge(newsEntity);
+ }
+
+ public void remove(NewsEntity newsEntity) {
+ em.remove(em.merge(newsEntity));
+ }
+
+ public NewsEntity find(Object id) {
+ return em.find(NewsEntity.class, id);
+ }
+
+ public List<NewsEntity> findAll() {
+ CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
+ cq.select(cq.from(NewsEntity.class));
+ return em.createQuery(cq).getResultList();
+ }
+
+ public List<NewsEntity> findRange(int[] range) {
+ CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
+ cq.select(cq.from(NewsEntity.class));
+ Query q = em.createQuery(cq);
+ q.setMaxResults(range[1] - range[0]);
+ q.setFirstResult(range[0]);
+ return q.getResultList();
+ }
+
+ public int count() {
+ CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
+ Root<NewsEntity> rt = cq.from(NewsEntity.class);
+ cq.select(em.getCriteriaBuilder().count(rt));
+ Query q = em.createQuery(cq);
+ return ((Long) q.getSingleResult()).intValue();
+ }
+
+}
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewMessage.java
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewMessage.java
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/java/ejb/NewMessage.java
(revision 88)
@@ -0,0 +1,58 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package ejb;
+
+import javax.annotation.Resource;
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.ejb.MessageDrivenContext;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import javax.jms.ObjectMessage;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+/**
+ *
+ * @author nb
+ */
+@MessageDriven(mappedName = "jms/NewMessage", activationConfig = {
+ @ActivationConfigProperty(propertyName = "acknowledgeMode",
propertyValue = "Auto-acknowledge"),
+ @ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")
+ })
+public class NewMessage implements MessageListener {
+
+ @Resource
+ private MessageDrivenContext mdc;
+
@PersistenceContext(unitName="com.mycompany_MavenEnterpriseApp-ejb_ejb_1.0-SNAPSHOTPU")
+ private EntityManager em;
+
+ public NewMessage() {
+ }
+
+ public void save(Object object) {
+ em.persist(object);
+ }
+
+ public void onMessage(Message message) {
+ ObjectMessage msg = null;
+ try {
+ if (message instanceof ObjectMessage) {
+ msg = (ObjectMessage) message;
+ NewsEntity e = (NewsEntity) msg.getObject();
+ save(e);
+ }
+ } catch (JMSException e) {
+ e.printStackTrace();
+ mdc.setRollbackOnly();
+ } catch (Throwable te) {
+ te.printStackTrace();
+ }
+
+ }
+
+}
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/persistence.xml
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/persistence.xml
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/persistence.xml
(revision 88)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+ <persistence-unit
name="com.mycompany_MavenEnterpriseApp-ejb_ejb_1.0-SNAPSHOTPU"
transaction-type="JTA">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+ <jta-data-source>jdbc/sample</jta-data-source>
+ <exclude-unlisted-classes>false</exclude-unlisted-classes>
+ <properties>
+ <property name="eclipselink.ddl-generation" value="create-tables"/>
+ </properties>
+ </persistence-unit>
+</persistence>
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/MANIFEST.MF
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/MANIFEST.MF
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/src/main/resources/META-INF/MANIFEST.MF
(revision 88)
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
Index: Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/pom.xml
===================================================================
--- Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/pom.xml
(revision 0)
+++ Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb/pom.xml
(revision 88)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>MavenEnterpriseApp</artifactId>
+ <groupId>com.mycompany</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-ejb</artifactId>
+ <packaging>ejb</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>MavenEnterpriseApp-ejb Java EE 6 EJB</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>6.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.2</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <repositories>
+ <repository>
+ <id>java.net2</id>
+ <name>Java.Net Maven2 Repository, hosts the javaee-api
dependency</name>
+ <url>http://download.java.net/maven/2</url>
+ </repository>
+ </repositories>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ejb-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <ejbVersion>3.1</ejbVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ <finalName>MavenEnterpriseApp-ejb</finalName>
+ </build>
+ <profiles>
+ <profile>
+ <id>endorsed</id>
+ <activation>
+ <property>
+ <name>sun.boot.class.path</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <!-- javaee6 contains upgrades of APIs contained
within the JDK itself.
+ As such these need to be placed on the
bootclasspath, rather than classpath of the
+ compiler.
+ If you don't make use of these new updated
API, you can delete the profile.
+ On non-SUN jdk, you will need to create a
similar profile for your jdk, with the similar property as
sun.boot.class.path in Sun's JDK.-->
+ <compilerArguments>
+
<bootclasspath>${settings.localRepository}/javax/javaee-endorsed-api/6.0/javaee-endorsed-api-6.0.jar${path.separator}${sun.boot.class.path}</bootclasspath>
+ </compilerArguments>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-endorsed-api</artifactId>
+ <version>6.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <properties>
+ <netbeans.hint.deploy.server>gfv3ee6</netbeans.hint.deploy.server>
+ </properties>
+</project>
+
Property changes on: Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ejb
___________________________________________________________________
Added: svn:ignore
+ profiles.xml
Index: Samples/JavaEE/MavenEnterpriseApp/pom.xml
===================================================================
--- Samples/JavaEE/MavenEnterpriseApp/pom.xml (revision 0)
+++ Samples/JavaEE/MavenEnterpriseApp/pom.xml (revision 88)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>MavenEnterpriseApp Maven Enterprise Application</name>
+ <url>http://maven.apache.org</url>
+ <modules>
+ <module>MavenEnterpriseApp-ear</module>
+ <module>MavenEnterpriseApp-web</module>
+ <module>MavenEnterpriseApp-ejb</module>
+ </modules>
+</project>
Index: Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/nbactions.xml
===================================================================
--- Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/nbactions.xml
(revision 0)
+++ Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/nbactions.xml
(revision 88)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<actions>
+ <action>
+ <actionName>run</actionName>
+ <goals>
+ <goal>install</goal>
+ </goals>
+ <properties>
+ <netbeans.deploy>true</netbeans.deploy>
+ </properties>
+ </action>
+ </actions>
Index:
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application/META-INF/MANIFEST.MF
===================================================================
---
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application/META-INF/MANIFEST.MF
(revision 0)
+++
Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/src/main/application/META-INF/MANIFEST.MF
(revision 88)
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
Index: Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/pom.xml
===================================================================
--- Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/pom.xml
(revision 0)
+++ Samples/JavaEE/MavenEnterpriseApp/MavenEnterpriseApp-ear/pom.xml
(revision 88)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>MavenEnterpriseApp</artifactId>
+ <groupId>com.mycompany</groupId>
+ <version>1.0-SNAPSHOT</version>
+ </parent>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-ear</artifactId>
+ <packaging>ear</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>MavenEnterpriseApp-ear JavaEE6 Assembly</name>
+ <url>http://maven.apache.org</url>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ear-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <version>6</version>
+ </configuration>
+ </plugin>
+ </plugins>
+ <finalName>MavenEnterpriseApp-ear</finalName>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-ejb</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>ejb</type>
+ </dependency>
+ <dependency>
+ <groupId>com.mycompany</groupId>
+ <artifactId>MavenEnterpriseApp-web</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <type>war</type>
+ </dependency>
+ </dependencies>
+</project>
+
|
[netbeans-samples~samples:88] add sources for maven enterprise app for 68 |
ken_g | 12/07/2009 |





