Author: fbricon
Date: 2012-02-07 11:31:34 -0500 (Tue, 07 Feb 2012)
New Revision: 38478
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/.gitignore
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ear/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ear/pom.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/pom.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/controller/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/controller/MemberRegistration.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/data/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/data/MemberListProducer.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/model/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/model/Member.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/util/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/util/Resources.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/beans.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/persistence.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/import.sql
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/test/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/test/MemberRegistrationTest.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/resources/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/resources/arquillian.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/pom.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/java/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/WEB-INF/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/WEB-INF/faces-config.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/pom.xml
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java
Log:
JBIDE-10790 : added test case
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2012-02-07
16:24:53 UTC (rev 38477)
+++
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -16,6 +16,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
import org.apache.maven.project.MavenProject;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -460,8 +461,7 @@
private String getSeamVersion(MavenProject mavenProject) {
List<Artifact> artifacts = new ArrayList<Artifact>();
- ArtifactFilter filter = new
org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter(
- Artifact.SCOPE_TEST);
+ ArtifactFilter filter = new ScopeArtifactFilter(Artifact.SCOPE_TEST);
for (Artifact artifact : mavenProject.getArtifacts()) {
if (filter.include(artifact)) {
artifacts.add(artifact);
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/.gitignore
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/.gitignore
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/.gitignore 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,10 @@
+*~
+.classpath
+.project
+target
+.settings
+.DS_Store
+.faces-config.xml.jsfdia
+MANIFEST.MF
+.idea
+*.iml
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ear/pom.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ear/pom.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ear/pom.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,83 @@
+<?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>multi</artifactId>
+ <groupId>org.jboss.tools.example</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>multi-ear</artifactId>
+ <packaging>ear</packaging>
+
+ <name>multi EAR module</name>
+
+ <dependencies>
+
+ <!-- Depend on the ejb module and war so that we can package them -->
+ <dependency>
+ <groupId>org.jboss.tools.example</groupId>
+ <artifactId>multi-web</artifactId>
+ <type>war</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.tools.example</groupId>
+ <artifactId>multi-ejb</artifactId>
+ <type>ejb</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <finalName>multi</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-ear-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <!-- Tell Maven we are using Java EE 6 -->
+ <version>6</version>
+ <!-- Use Java EE ear libraries as needed. Java EE ear libraries
+ are in easy way to package any libraries needed in the ear, and
automatically
+ have any modules (EJB-JARs and WARs) use them -->
+ <defaultLibBundleDir>lib</defaultLibBundleDir>
+ <modules></modules>
+ </configuration>
+ </plugin>
+ <!-- The JBoss AS plugin deploys your ear to a local JBoss AS container
-->
+ <!-- Due to Maven's lack of intelligence with EARs we need to configure
+ the jboss-as maven plugin to skip deployment for all modules. We then enable
+ it specifically in the ear module. -->
+ <plugin>
+ <groupId>org.jboss.as.plugins</groupId>
+ <artifactId>jboss-as-maven-plugin</artifactId>
+ <configuration>
+ <skip>false</skip>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <!-- When built in OpenShift the 'openshift' profile will be used
when invoking mvn. -->
+ <!-- Use this profile for any OpenShift specific customization your app will
need. -->
+ <!-- By default that is to put the resulting archive into the
'deployments' folder. -->
+ <!--
http://maven.apache.org/guides/mini/guide-building-for-different-environm... -->
+ <id>openshift</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-ear-plugin</artifactId>
+ <version>2.6</version>
+ <configuration>
+ <outputDirectory>deployments</outputDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+
+</project>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/pom.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/pom.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/pom.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,56 @@
+<?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>multi</artifactId>
+ <groupId>org.jboss.tools.example</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>multi-ejb</artifactId>
+ <packaging>ejb</packaging>
+
+ <name>multi EJB module</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>jboss-seam</artifactId>
+ <version>2.2.2.Final</version>
+ <type>ejb</type>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-ejb-plugin</artifactId>
+ <version>2.3</version>
+ <configuration>
+ <!-- Tell Maven we are using EJB 3.1 -->
+ <ejbVersion>3.0</ejbVersion>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <repositories>
+ <!-- The JBoss Community public repository is a composite repository
+ of several major repositories -->
+ <!-- see
http://community.jboss.org/wiki/MavenGettingStarted-Users -->
+ <repository>
+ <id>jboss-public-repository</id>
+ <name>JBoss Repository</name>
+
<
url>http://repository.jboss.org/nexus/content/groups/public</url>
+ <!-- These optional flags are designed to speed up your builds
+ by reducing remote server calls -->
+ <releases>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+
+
+</project>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/controller/MemberRegistration.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/controller/MemberRegistration.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/controller/MemberRegistration.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,53 @@
+package org.jboss.tools.example.controller;
+
+import java.util.logging.Logger;
+
+import javax.annotation.PostConstruct;
+import javax.ejb.Stateful;
+import javax.enterprise.event.Event;
+import javax.enterprise.inject.Model;
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.persistence.EntityManager;
+
+import org.jboss.tools.example.model.Member;
+
+// The @Stateful annotation eliminates the need for manual transaction demarcation
+@Stateful
+// The @Model stereotype is a convenience mechanism to make this a request-scoped bean
that has an
+// EL name
+// Read more about the @Model stereotype in this FAQ:
+//
http://sfwk.org/Documentation/WhatIsThePurposeOfTheModelAnnotation
+@Model
+public class MemberRegistration {
+
+ @Inject
+ private Logger log;
+
+ @Inject
+ private EntityManager em;
+
+ @Inject
+ private Event<Member> memberEventSrc;
+
+ private Member newMember;
+
+ @Produces
+ @Named
+ public Member getNewMember() {
+ return newMember;
+ }
+
+ public void register() throws Exception {
+ log.info("Registering " + newMember.getName());
+ em.persist(newMember);
+ memberEventSrc.fire(newMember);
+ initNewMember();
+ }
+
+ @PostConstruct
+ public void initNewMember() {
+ newMember = new Member();
+ }
+}
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/data/MemberListProducer.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/data/MemberListProducer.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/data/MemberListProducer.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,48 @@
+package org.jboss.tools.example.data;
+
+import org.jboss.tools.example.model.Member;
+import java.util.List;
+import javax.annotation.PostConstruct;
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.event.Observes;
+import javax.enterprise.event.Reception;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.persistence.EntityManager;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Root;
+
+@RequestScoped
+public class MemberListProducer {
+ @Inject
+ private EntityManager em;
+
+ private List<Member> members;
+
+ // @Named provides access the return value via the EL variable name
"members" in the UI (e.g.,
+ // Facelets or JSP view)
+ @Produces
+ @Named
+ public List<Member> getMembers() {
+ return members;
+ }
+
+ public void onMemberListChanged(@Observes(notifyObserver = Reception.IF_EXISTS) final
Member member) {
+ retrieveAllMembersOrderedByName();
+ }
+
+ @PostConstruct
+ public void retrieveAllMembersOrderedByName() {
+ CriteriaBuilder cb = em.getCriteriaBuilder();
+ CriteriaQuery<Member> criteria = cb.createQuery(Member.class);
+ Root<Member> member = criteria.from(Member.class);
+ // Swap criteria statements if you would like to try out type-safe criteria
queries, a new
+ // feature in JPA 2.0
+ // criteria.select(member).orderBy(cb.asc(member.get(Member_.name)));
+ criteria.select(member).orderBy(cb.asc(member.get("name")));
+ members = em.createQuery(criteria).getResultList();
+ }
+}
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/model/Member.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/model/Member.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/model/Member.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,78 @@
+package org.jboss.tools.example.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import javax.persistence.UniqueConstraint;
+import javax.validation.constraints.Digits;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.hibernate.validator.constraints.Email;
+import org.hibernate.validator.constraints.NotEmpty;
+
+@Entity
+@XmlRootElement
+@Table(name = "Registrant", uniqueConstraints = @UniqueConstraint(columnNames =
"email"))
+public class Member implements Serializable {
+ /** Default value included to remove warning. Remove or modify at will. **/
+ private static final long serialVersionUID = 1L;
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ @NotNull
+ @Size(min = 1, max = 25)
+ @Pattern(regexp = "[A-Za-z ]*", message = "must contain only letters
and spaces")
+ private String name;
+
+ @NotNull
+ @NotEmpty
+ @Email
+ private String email;
+
+ @NotNull
+ @Size(min = 10, max = 12)
+ @Digits(fraction = 0, integer = 12)
+ @Column(name = "phone_number")
+ private String phoneNumber;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getPhoneNumber() {
+ return phoneNumber;
+ }
+
+ public void setPhoneNumber(String phoneNumber) {
+ this.phoneNumber = phoneNumber;
+ }
+}
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/util/Resources.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/util/Resources.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/java/org/jboss/tools/example/util/Resources.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,33 @@
+package org.jboss.tools.example.util;
+
+import java.util.logging.Logger;
+
+import javax.enterprise.inject.Produces;
+import javax.enterprise.inject.spi.InjectionPoint;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+/**
+ * This class uses CDI to alias Java EE resources, such as the persistence context, to
CDI beans
+ *
+ * <p>
+ * Example injection on a managed bean field:
+ * </p>
+ *
+ * <pre>
+ * @Inject
+ * private EntityManager em;
+ * </pre>
+ */
+public class Resources {
+ // use @SuppressWarnings to tell IDE to ignore warnings about field not being
referenced directly
+ @SuppressWarnings("unused")
+ @Produces
+ @PersistenceContext
+ private EntityManager em;
+
+ @Produces
+ public Logger produceLog(InjectionPoint injectionPoint) {
+ return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
+ }
+}
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/beans.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/beans.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/beans.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<beans
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://jboss.org/schema/cdi/beans_1_0.xsd"/>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/persistence.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/persistence.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/META-INF/persistence.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,17 @@
+<?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="primary">
+ <!-- If you are running in a production environment, add a managed
+ data source, the example data source is just for proofs of concept! -->
+ <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
+ <properties>
+ <!-- Properties for Hibernate -->
+ <property name="hibernate.hbm2ddl.auto"
value="create-drop" />
+ <property name="hibernate.show_sql" value="false" />
+ </properties>
+ </persistence-unit>
+</persistence>
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/import.sql
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/import.sql
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/main/resources/import.sql 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,2 @@
+-- You can use this file to load seed data into the database using SQL statements
+insert into Registrant(id, name, email, phone_number) values (0, 'John Smith',
'john.smith(a)mailinator.com', '2125551212')
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/test/MemberRegistrationTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/test/MemberRegistrationTest.java
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/java/org/jboss/tools/example/test/MemberRegistrationTest.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,49 @@
+package org.jboss.tools.example.test;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.logging.Logger;
+
+import javax.inject.Inject;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.jboss.tools.example.controller.MemberRegistration;
+import org.jboss.tools.example.model.Member;
+import org.jboss.tools.example.util.Resources;
+
+(a)RunWith(Arquillian.class)
+public class MemberRegistrationTest {
+ @Deployment
+ public static Archive<?> createTestArchive() {
+ return ShrinkWrap.create(WebArchive.class, "test.war")
+ .addClasses(Member.class, MemberRegistration.class, Resources.class)
+ .addAsResource("META-INF/persistence.xml",
"META-INF/persistence.xml")
+ .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
+ }
+
+ @Inject
+ MemberRegistration memberRegistration;
+
+ @Inject
+ Logger log;
+
+ @Test
+ public void testRegister() throws Exception {
+ Member newMember = memberRegistration.getNewMember();
+ newMember.setName("Jane Doe");
+ newMember.setEmail("jane(a)mailinator.com");
+ newMember.setPhoneNumber("2125551234");
+ memberRegistration.register();
+ assertNotNull(newMember.getId());
+ log.info(newMember.getName() + " was persisted with id " +
newMember.getId());
+ }
+
+}
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/resources/arquillian.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/resources/arquillian.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-ejb/src/test/resources/arquillian.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian
xmlns="http://jboss.org/schema/arquillian"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://jboss.org/schema/arquillian
+
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+
+ <!-- Uncomment to have test archives exported to the file system for inspection
-->
+<!-- <engine> -->
+<!-- <property
name="deploymentExportPath">target/</property> -->
+<!-- </engine> -->
+
+ <!-- Force the use of the Servlet 3.0 protocol with all containers, as it is the
most mature -->
+ <defaultProtocol type="Servlet 3.0" />
+
+ <!-- Example configuration for a remote JBoss AS 7 instance -->
+ <container qualifier="jboss" default="true">
+ <!-- If you want to use the JBOSS_HOME environment variable, just delete the
jbossHome property -->
+ <configuration>
+ <property name="jbossHome">/path/to/jboss/as</property>
+ </configuration>
+ </container>
+
+</arquillian>
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/pom.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/pom.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/pom.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,41 @@
+<?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>multi</artifactId>
+ <groupId>org.jboss.tools.example</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>multi-web</artifactId>
+ <packaging>war</packaging>
+
+ <name>multi Web module</name>
+
+ <dependencies>
+
+ <!-- Dependency on the EJB module so we can use it's services if needed -->
+ <dependency>
+ <groupId>org.jboss.tools.example</groupId>
+ <artifactId>multi-ejb</artifactId>
+ <type>ejb</type>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1.1</version>
+ <configuration>
+ <!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
+ <failOnMissingWebXml>false</failOnMissingWebXml>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/WEB-INF/faces-config.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/multi-web/src/main/webapp/WEB-INF/faces-config.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This file is not required if you don't need any extra configuration. -->
+<faces-config version="2.0"
xmlns="http://java.sun.com/xml/ns/javaee"
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+
http://java.sun.com/xml/ns/javaee
+
http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
+
+ <!-- This descriptor activates the JSF 2.0 Servlet -->
+
+ <!-- Write your navigation rules here. You are encouraged to use CDI for
+ creating @Named managed beans. -->
+
+</faces-config>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/pom.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/pom.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/seam/multi/pom.xml 2012-02-07
16:31:34 UTC (rev 38478)
@@ -0,0 +1,44 @@
+<?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>org.jboss.tools.example</groupId>
+ <artifactId>multi</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>multi application</name>
+
+ <modules>
+ <module>multi-ejb</module>
+ <module>multi-web</module>
+ <module>multi-ear</module>
+ </modules>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+
+ <!-- Define the version of the EJB jar so that we don't need to repeat
+ ourselves in every module -->
+ <dependency>
+ <groupId>org.jboss.tools.example</groupId>
+ <artifactId>multi-ejb</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <type>ejb</type>
+ </dependency>
+
+ <!-- Define the version of the WAR so that we don't need to repeat ourselves
+ in every module -->
+ <dependency>
+ <groupId>org.jboss.tools.example</groupId>
+ <artifactId>multi-web</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <type>war</type>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
Modified:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java 2012-02-07
16:24:53 UTC (rev 38477)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java 2012-02-07
16:31:34 UTC (rev 38478)
@@ -4,14 +4,23 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.m2e.core.project.ResolverConfiguration;
+import org.eclipse.wst.common.project.facet.core.IFacetedProject;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.jboss.tools.jst.web.kb.IKbProject;
import org.jboss.tools.maven.jsf.configurators.JSFProjectConfigurator;
import org.jboss.tools.seam.core.ISeamProject;
+import org.jboss.tools.seam.core.SeamCorePlugin;
+import org.jboss.tools.seam.internal.core.project.facet.ISeamFacetDataModelProperties;
import org.junit.Test;
@SuppressWarnings("restriction")
public class SeamConfiguratorTest extends AbstractMavenConfiguratorTest {
+ private static final IProjectFacet SEAM_FACET =
ProjectFacetsManager.getProjectFacet("jst.seam");
+
@Test
public void testJBIDE9454_webXml_overwrite() throws Exception {
IProject project = importAndCheckSeamProject("seam-webxml");
@@ -47,4 +56,33 @@
assertTrue("Seam nature is missing", ejb.hasNature(ISeamProject.NATURE_ID));
assertTrue("KB nature is missing", ejb.hasNature(IKbProject.NATURE_ID));
}
+
+ @Test
+ public void testJBIDE10790_earConfiguration() throws Exception {
+ IProject[] projects = importProjects("projects/seam/multi",
+ new String[]{ "pom.xml",
+ "multi-ear/pom.xml",
+ "multi-ejb/pom.xml",
+ "multi-web/pom.xml"},
+ new ResolverConfiguration());
+ waitForJobsToComplete();
+
+ IProject pom = projects[0];
+ IProject ear = projects[1];
+ IProject ejb = projects[2];
+ IProject web = projects[3];
+
+ assertNoErrors(pom);
+ assertNoErrors(ejb);
+ assertNoErrors(ear);
+ assertNoErrors(web);
+
+ assertTrue("Seam nature is missing", ejb.hasNature(ISeamProject.NATURE_ID));
+ assertTrue("KB nature is missing", ejb.hasNature(IKbProject.NATURE_ID));
+
+ IFacetedProject fpWeb = ProjectFacetsManager.create(web);
+ assertEquals(SEAM_FACET.getVersion("2.2"),
fpWeb.getProjectFacetVersion(SEAM_FACET));
+ IEclipsePreferences prefs = SeamCorePlugin.getSeamPreferences(web);
+ assertEquals(ISeamFacetDataModelProperties.DEPLOY_AS_EAR,
prefs.get(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, null));
+ }
}