diff --git a/datasource-deployment/README.md b/datasource/datasource-deployment/README.md
similarity index 100%
rename from datasource-deployment/README.md
rename to datasource/datasource-deployment/README.md
diff --git a/datasource-deployment/pom.xml b/datasource/datasource-deployment/pom.xml
similarity index 76%
rename from datasource-deployment/pom.xml
rename to datasource/datasource-deployment/pom.xml
index bac0ade76..008148cb9 100644
--- a/datasource-deployment/pom.xml
+++ b/datasource/datasource-deployment/pom.xml
@@ -10,12 +10,12 @@
org.wildfly.swarm.examples
- wildfly-swarm-examples-parent
+ examples-datasource
1.0.0.Alpha6-SNAPSHOT
../
- wildfly-swarm-example-datasource-deployment
+ example-datasource-deployment
WildFly Swarm Examples: Datasource Deployment
WildFly Swarm Examples: Datasource Deployment
@@ -30,11 +30,26 @@
org.wildfly.swarm.examples.ds.deployment.Main
+
+
+ package
+
+
+ start
+
+
+ stop
+
+
+
+ org.wildfly.swarm.examples
+ examples-base
+
org.wildfly.swarm
wildfly-swarm-jaxrs
diff --git a/datasource/datasource-deployment/src/it/java/org/wildfly/swarm/examples/ds/deployment/DatasourceIT.java b/datasource/datasource-deployment/src/it/java/org/wildfly/swarm/examples/ds/deployment/DatasourceIT.java
new file mode 100644
index 000000000..0e6b45d90
--- /dev/null
+++ b/datasource/datasource-deployment/src/it/java/org/wildfly/swarm/examples/ds/deployment/DatasourceIT.java
@@ -0,0 +1,33 @@
+package org.wildfly.swarm.examples.ds.deployment;
+
+import org.jboss.arquillian.drone.api.annotation.Drone;
+import org.jboss.arquillian.junit.Arquillian;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.openqa.selenium.WebDriver;
+import org.wildfly.swarm.it.AbstractIntegrationTest;
+import org.wildfly.swarm.it.Log;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+/**
+ * @author Bob McWhirter
+ */
+@RunWith(Arquillian.class)
+public class DatasourceIT extends AbstractIntegrationTest {
+
+ @Drone
+ WebDriver browser;
+
+ @Test
+ public void testIt() throws Exception {
+ Log log = getStdOutLog();
+
+ assertThatLog( log ).hasLineContaining( "WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]" );
+ assertThatLog( log ).hasLineContaining( "WFLYSRV0010: Deployed \"h2\" (runtime-name : \"h2\")" );
+
+
+ browser.navigate().to("http://localhost:8080/");
+ assertThat(browser.getPageSource()).contains("Howdy using connection: org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7" );
+ }
+}
diff --git a/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java b/datasource/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java
similarity index 64%
rename from datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java
rename to datasource/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java
index e8b551258..8ddae6f40 100644
--- a/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java
+++ b/datasource/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/Main.java
@@ -18,30 +18,20 @@ public static void main(String[] args) throws Exception {
Container container = new Container();
- // Start the container
container.start();
// Create a JDBC driver deployment using maven groupId:artifactId
// The version is resolved from your pom.xml's
container.deploy(Swarm.artifact("com.h2database:h2", "h2"));
- /*
// Create a DS deployment
- DatasourceDeployment dsDeployment = new DatasourceDeployment(container, new Datasource("ExampleDS")
- .connectionURL("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE")
- .driver("h2")
- .authentication("sa", "sa")
- );
- */
-
JARArchive dsArchive = ShrinkWrap.create(JARArchive.class);
- dsArchive.as(DatasourceArchive.class).datasource(
- new DataSource("ExampleDS")
- .connectionUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE")
- .driverName("h2")
- .userName("sa")
- .password("sa")
- );
+ dsArchive.as(DatasourceArchive.class).dataSource("ExampleDS", (ds) -> {
+ ds.connectionUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE");
+ ds.driverName("h2");
+ ds.userName("sa");
+ ds.password("sa");
+ });
// Deploy the datasource
container.deploy(dsArchive);
diff --git a/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/MyResource.java b/datasource/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/MyResource.java
similarity index 100%
rename from datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/MyResource.java
rename to datasource/datasource-deployment/src/main/java/org/wildfly/swarm/examples/ds/deployment/MyResource.java
diff --git a/datasource-subsystem/README.md b/datasource/datasource-subsystem/README.md
similarity index 100%
rename from datasource-subsystem/README.md
rename to datasource/datasource-subsystem/README.md
diff --git a/datasource-subsystem/pom.xml b/datasource/datasource-subsystem/pom.xml
similarity index 82%
rename from datasource-subsystem/pom.xml
rename to datasource/datasource-subsystem/pom.xml
index 5000b4091..79eb95ade 100644
--- a/datasource-subsystem/pom.xml
+++ b/datasource/datasource-subsystem/pom.xml
@@ -10,12 +10,12 @@
org.wildfly.swarm.examples
- wildfly-swarm-examples-parent
+ examples-datasource
1.0.0.Alpha6-SNAPSHOT
../
- wildfly-swarm-example-datasource-subsystem
+ example-datasource-subsystem
WildFly Swarm Examples: Datasource Subsystem
WildFly Swarm Examples: Datasource Subsystem
@@ -42,9 +42,13 @@
-
- package
-
+ package
+
+
+ start
+
+
+ stop
@@ -52,6 +56,10 @@
+
+ org.wildfly.swarm.examples
+ examples-base
+
org.wildfly.swarm
wildfly-swarm-jaxrs
diff --git a/datasource/datasource-subsystem/src/it/java/org/wildfly/swarm/examples/ds/subsystem/DatasourceIT.java b/datasource/datasource-subsystem/src/it/java/org/wildfly/swarm/examples/ds/subsystem/DatasourceIT.java
new file mode 100644
index 000000000..a15ac5322
--- /dev/null
+++ b/datasource/datasource-subsystem/src/it/java/org/wildfly/swarm/examples/ds/subsystem/DatasourceIT.java
@@ -0,0 +1,32 @@
+package org.wildfly.swarm.examples.ds.deployment;
+
+import org.jboss.arquillian.drone.api.annotation.Drone;
+import org.jboss.arquillian.junit.Arquillian;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.openqa.selenium.WebDriver;
+import org.wildfly.swarm.it.AbstractIntegrationTest;
+import org.wildfly.swarm.it.Log;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+/**
+ * @author Bob McWhirter
+ */
+@RunWith(Arquillian.class)
+public class DatasourceIT extends AbstractIntegrationTest {
+
+ @Drone
+ WebDriver browser;
+
+ @Test
+ public void testIt() throws Exception {
+ Log log = getStdOutLog();
+
+ assertThatLog( log ).hasLineContaining( "WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]" );
+
+
+ browser.navigate().to("http://localhost:8080/");
+ assertThat(browser.getPageSource()).contains("Howdy using connection: org.jboss.jca.adapters.jdbc.jdk7.WrappedConnectionJDK7" );
+ }
+}
diff --git a/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/Main.java b/datasource/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/Main.java
similarity index 100%
rename from datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/Main.java
rename to datasource/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/Main.java
diff --git a/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/MyResource.java b/datasource/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/MyResource.java
similarity index 100%
rename from datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/MyResource.java
rename to datasource/datasource-subsystem/src/main/java/org/wildfly/swarm/examples/ds/subsystem/MyResource.java
diff --git a/datasource-subsystem/src/main/resources/modules/com/h2database/h2/main/module.xml b/datasource/datasource-subsystem/src/main/resources/modules/com/h2database/h2/main/module.xml
similarity index 100%
rename from datasource-subsystem/src/main/resources/modules/com/h2database/h2/main/module.xml
rename to datasource/datasource-subsystem/src/main/resources/modules/com/h2database/h2/main/module.xml
diff --git a/datasource-subsystem/src/main/resources/provided-dependencies.txt b/datasource/datasource-subsystem/src/main/resources/provided-dependencies.txt
similarity index 100%
rename from datasource-subsystem/src/main/resources/provided-dependencies.txt
rename to datasource/datasource-subsystem/src/main/resources/provided-dependencies.txt
diff --git a/datasource/pom.xml b/datasource/pom.xml
new file mode 100644
index 000000000..fc04b93cd
--- /dev/null
+++ b/datasource/pom.xml
@@ -0,0 +1,30 @@
+
+
+
+ 4.0.0
+
+
+ org.wildfly.swarm.examples
+ wildfly-swarm-examples-parent
+ 1.0.0.Alpha6-SNAPSHOT
+ ../
+
+
+ examples-datasource
+
+ WildFly Swarm Examples: Datasource parent
+ WildFly Swarm Examples: Datasource parent
+
+ pom
+
+
+
+ datasource-deployment
+ datasource-subsystem
+
+
diff --git a/jaxrs-msc/pom.xml b/jaxrs-msc/pom.xml
deleted file mode 100644
index 2c6d97968..000000000
--- a/jaxrs-msc/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
- 4.0.0
-
-
- org.wildfly.swarm.examples
- wildfly-swarm-examples-parent
- 1.0.0.Alpha6-SNAPSHOT
- ../
-
-
- wildfly-swarm-example-jaxrs-msc
-
- WildFly Swarm Examples: JAX-RS + MSC
- WildFly Swarm Examples: JAX-RS +MSC
-
- jar
-
-
-
-
- org.wildfly.swarm
- wildfly-swarm-plugin
-
- org.wildfly.swarm.examples.jaxrs.msc.Main
-
-
-
-
- package
-
-
-
-
-
-
-
-
-
- org.wildfly.swarm
- wildfly-swarm-jaxrs
- ${version.wildfly-swarm}
-
-
- org.wildfly.swarm
- wildfly-swarm-msc
- ${version.wildfly-swarm}
-
-
- joda-time
- joda-time
- 2.7
-
-
-
-
diff --git a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/Main.java b/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/Main.java
deleted file mode 100644
index 2c2c280d9..000000000
--- a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/Main.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.wildfly.swarm.examples.jaxrs.msc;
-
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.wildfly.swarm.container.Container;
-import org.wildfly.swarm.jaxrs.JAXRSArchive;
-import org.wildfly.swarm.msc.ServiceActivatorArchive;
-
-/**
- * @author Bob McWhirter
- */
-public class Main {
-
- public static void main(String[] args) throws Exception {
-
- Container container = new Container();
-
- JAXRSArchive deployment = ShrinkWrap.create(JAXRSArchive.class, "myapp.war");
- deployment.addClass(MyResource.class);
- deployment.addAllDependencies();
- deployment.as(ServiceActivatorArchive.class).addServiceActivator(MyServiceActivator.class);
- deployment.addClass(MyService.class);
- container.start().deploy(deployment);
- }
-}
diff --git a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyApp.java b/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyApp.java
deleted file mode 100644
index e7c2b2fd6..000000000
--- a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyApp.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.wildfly.swarm.examples.jaxrs.msc;
-
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
-
-/**
- * @author Bob McWhirter
- */
-@ApplicationPath("/taco")
-public class MyApp extends Application {
-}
diff --git a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyResource.java b/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyResource.java
deleted file mode 100644
index 35a300f1c..000000000
--- a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyResource.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.wildfly.swarm.examples.jaxrs.msc;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-
-import org.joda.time.DateTime;
-
-/**
- * @author Bob McWhirter
- */
-@Path("/")
-public class MyResource {
-
- @GET
- @Produces("text/plain")
- public String get() {
- return "Howdy at " + new DateTime();
- }
-}
diff --git a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyService.java b/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyService.java
deleted file mode 100644
index 6b901a7eb..000000000
--- a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.wildfly.swarm.examples.jaxrs.msc;
-
-import org.jboss.msc.service.Service;
-import org.jboss.msc.service.StartContext;
-import org.jboss.msc.service.StartException;
-import org.jboss.msc.service.StopContext;
-import org.joda.time.DateTime;
-
-/**
- * @author Bob McWhirter
- */
-public class MyService implements Service {
-
- private final String message;
-
- private Thread thread;
-
- private boolean shouldRun;
-
- public MyService(String message) {
- this.message = message;
- }
-
- public void start(final StartContext startContext) throws StartException {
- startContext.asynchronous();
- this.shouldRun = true;
- this.thread = new Thread(new Runnable() {
- public void run() {
- startContext.complete();
-
- while (shouldRun) {
- System.err.println(message + " at " + new DateTime() );
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- break;
- }
- }
-
- }
- });
-
- this.thread.start();
- }
-
- public void stop(StopContext stopContext) {
- this.shouldRun = false;
- }
-
- public Void getValue() throws IllegalStateException, IllegalArgumentException {
- return null;
- }
-}
-
diff --git a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyServiceActivator.java b/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyServiceActivator.java
deleted file mode 100644
index 5c8611d44..000000000
--- a/jaxrs-msc/src/main/java/org/wildfly/swarm/examples/jaxrs/msc/MyServiceActivator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.wildfly.swarm.examples.jaxrs.msc;
-
-import org.jboss.msc.service.*;
-
-/**
- * @author Bob McWhirter
- */
-public class MyServiceActivator implements ServiceActivator {
- public void activate(ServiceActivatorContext serviceActivatorContext) throws ServiceRegistryException {
-
- ServiceTarget target = serviceActivatorContext.getServiceTarget();
-
-
- MyService service = new MyService("Hi #1");
- target.addService(ServiceName.of("my", "service", "1"), service)
- .install();
-
- service = new MyService("Hi #2");
- target.addService(ServiceName.of("my", "service", "2"), service)
- .install();
-
- service = new MyService("Howdy #1");
- target.addService(ServiceName.of("my", "service", "3"), service)
- .install();
-
- service = new MyService("Howdy #2");
- target.addService(ServiceName.of("my", "service", "4"), service)
- .install();
-
- }
-}
diff --git a/pom.xml b/pom.xml
index 6f95f9a98..ca1772872 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,6 +148,7 @@
base
+ datasource
jaxrs
jpa
jsf