diff --git a/ccm-archetype-module/src/main/resources/META-INF/maven/archetype-metadata.xml b/ccm-archetype-module/src/main/resources/META-INF/maven/archetype-metadata.xml
index 042522b74..be90795ad 100644
--- a/ccm-archetype-module/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/ccm-archetype-module/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -5,7 +5,7 @@
partial="false" >
-
+
${artifactId}
@@ -18,7 +18,7 @@
-->
-
+
src/main/java
@@ -30,7 +30,7 @@
src/main/resources/module-info
-
+
src/test/java
diff --git a/ccm-archetype-module/src/main/resources/archetype-resources/pom.xml b/ccm-archetype-module/src/main/resources/archetype-resources/pom.xml
index d705b37d5..289ca5def 100644
--- a/ccm-archetype-module/src/main/resources/archetype-resources/pom.xml
+++ b/ccm-archetype-module/src/main/resources/archetype-resources/pom.xml
@@ -15,7 +15,7 @@
${artifactId}
${version}
- ${moduleName}
+ ${artifactId}
diff --git a/ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClassName__.java b/ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClass__.java
similarity index 77%
rename from ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClassName__.java
rename to ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClass__.java
index 9b18f229e..67dace6cb 100644
--- a/ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClassName__.java
+++ b/ccm-archetype-module/src/main/resources/archetype-resources/src/main/java/__moduleClass__.java
@@ -1,18 +1,19 @@
/**
* Add your license here, for example LGPL
*/
-package ${packageName}
+package ${package};
import org.libreccm.modules.CcmModule;
import org.libreccm.modules.InitEvent;
import org.libreccm.modules.InstallEvent;
import org.libreccm.modules.Module;
+import org.libreccm.modules.RequiredModule;
import org.libreccm.modules.ShutdownEvent;
import org.libreccm.modules.UnInstallEvent;
-@Module(moduleDataPackage=${packageName},
- requiredModules = {@RequiredModule = org.libreccm.core.CcmCore})
-public ${moduleClassName} implements CcmModule {
+@Module(packageName="${package}",
+ requiredModules = {@RequiredModule(module = org.libreccm.core.CcmCore)})
+public class ${moduleClass} implements CcmModule {
@Override
public void install(final InstallEvent event) {
diff --git a/ccm-archetype-module/src/main/resources/archetype-resources/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-archetype-module/src/main/resources/archetype-resources/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule
index fedd3f1fd..f4adcfc35 100644
--- a/ccm-archetype-module/src/main/resources/archetype-resources/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule
+++ b/ccm-archetype-module/src/main/resources/archetype-resources/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule
@@ -1 +1 @@
-${packageName}.${moduleClassName}
+${package}.${moduleClass}
diff --git a/ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClassName__Test.java b/ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClass__Test.java
similarity index 90%
rename from ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClassName__Test.java
rename to ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClass__Test.java
index 09a4bd5dc..00094b112 100644
--- a/ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClassName__Test.java
+++ b/ccm-archetype-module/src/main/resources/archetype-resources/src/test/java/__moduleClass__Test.java
@@ -1,7 +1,7 @@
/*
* ToDo: Add your license
*/
-package ${packageName};
+package ${package};
import static org.hamcrest.CoreMatchers.*;
@@ -38,12 +38,12 @@ import javax.persistence.PersistenceContext;
import static org.junit.Assert.*;
-@Category(IntegrationTest.class}
+@Category(IntegrationTest.class)
@RunWith(Arquillian.class)
@PersistenceTest
@Transactional(TransactionMode.COMMIT)
@CreateSchema({"create_${artifactId}_schema.sql"})
-public class ${moduleClassName}Test {
+public class ${moduleClass}Test {
@PersistenceContext(name = "LibreCCM")
private transient EntityManager entityManager;
@@ -80,10 +80,10 @@ public class ${moduleClassName}Test {
return ShrinkWrap
.create(WebArchive.class,
- "LibreCCM-${packageName}.${moduleClassName}Test.war")
- .addPackage(${moduleClassName}.class.getPackage())
+ "LibreCCM-${package}.${moduleClass}Test.war")
+ .addPackage(${moduleClass}.class.getPackage())
.addAsLibraries(libs)
- .addAsResource("test-persistence.xml,
+ .addAsResource("test-persistence.xml",
"META-INF/persistence.xml")
.addAsWebInfResource("test-web.xml", "WEB-INF/web.xml")
.addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");
diff --git a/ccm-cms/pom.xml b/ccm-cms/pom.xml
new file mode 100644
index 000000000..55770dd50
--- /dev/null
+++ b/ccm-cms/pom.xml
@@ -0,0 +1,318 @@
+
+
+
+ 4.0.0
+
+
+ libreccm-parent
+ org.libreccm
+ 7.0.0-SNAPSHOT
+
+
+
+ UTF-8
+ ${maven.build.timestamp}
+ yyyy-MM-dd'T'HH:mm:ss'Z'Z
+
+
+ org.libreccm
+ ccm-cms
+ 7.0.0-SNAPSHOT
+
+ ccm-cms
+
+
+
+ javax
+ javaee-api
+ jar
+ provided
+
+
+
+ org.libreccm
+ ccm-core
+ ${project.parent.version}
+ provided
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+
+
+
+ org.hibernate
+ hibernate-validator
+
+
+
+ junit
+ junit
+ test
+
+
+
+ org.hamcrest
+ hamcrest-core
+ test
+
+
+ org.hamcrest
+ hamcrest-library
+ test
+
+
+
+ org.libreccm
+ ccm-testutils
+ ${project.parent.version}
+ test
+
+
+
+ nl.jqno.equalsverifier
+ equalsverifier
+ test
+
+
+
+ org.jboss.arquillian.junit
+ arquillian-junit-container
+ test
+
+
+ org.jboss.arquillian.extension
+ arquillian-persistence-dbunit
+ test
+
+
+ org.jboss.arquillian.extension
+ arquillian-transaction-impl-base
+ test
+
+
+ org.jboss.shrinkwrap.resolver
+ shrinkwrap-resolver-impl-maven
+ test
+
+
+
+ com.h2database
+ h2
+ test
+
+
+
+
+
+ ccm-cms
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.3
+
+ 1.7
+ 1.7
+ true
+ true
+ ${project.build.sourceEncoding}
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.18.1
+
+ org.libreccm.tests.categories.UnitTest
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.7.5.201505241946
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ default-report
+ prepare-package
+
+ report
+
+
+
+ default-check
+
+ check
+
+
+
+
+ BUNDLE
+
+
+ COMPLEXITY
+ COVEREDRATIO
+ 0.60
+
+
+
+
+
+
+
+
+
+
+ de.jpdigital
+ hibernate4-ddl-maven-plugin
+
+
+ h2
+ mysql5_innodb
+ oracle10g
+ postgresql9
+
+
+ org.libreccm
+
+ true
+
+
+
+
+ gen-ddl
+
+ process-classes
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.10.3
+
+ true
+ true
+
+ http://docs.oracle.com/javase/7/docs/api/
+ http://docs.oracle.com/javaee/7/api/
+ http://docs.jboss.org/hibernate/orm/4.3/javadocs/
+
+ private
+ true
+ UTF-8
+ UTF-8
+ UTF-8
+ true
+ true
+ true
+ true
+ false
+ org.jboss.apiviz.APIviz
+
+ org.jboss.apiviz
+ apiviz
+ 1.3.2.GA
+
+ true
+ -sourceclasspath ${project.build.outputDirectory}
+
+
+
+
+ org.apache.maven.plugins
+ maven-jxr-plugin
+ 2.5
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 2.18.1
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.7.5.201505241946
+
+
+ org.codehaus.mojo
+ findbugs-maven-plugin
+ 3.0.1
+
+
+
+ org.apache.maven.plugins
+ maven-pmd-plugin
+ 3.4
+
+ true
+ utf-8
+ 1.7
+
+ /rulesets/java/basic.xml
+ /rulesets/java/braces.xml
+ /rulesets/java/clone.xml
+ /rulesets/java/codesize.xml
+ /rulesets/java/design.xml
+ /rulesets/java/empty.xml
+ /rulesets/java/finalizers.xml
+ /rulesets/java/imports.xml
+ /rulesets/java/javabeans.xml
+ /rulesets/java/junit.xml
+ /rulesets/java/naming.xml
+ /rulesets/java/optimizations.xml
+ /rulesets/java/strictexception.xml
+ /rulesets/java/strings.xml
+ /rulesets/java/sunsecure.xml
+ /rulesets/java/typeresolution.xml
+ /rulesets/java/unnecessary.xml
+ /rulesets/java/unusedcode.xml
+
+
+
+
+ org.codehaus.mojo
+ javancss-maven-plugin
+ 2.1
+
+
+ org.apache.maven.plugins
+ maven-project-info-reports-plugin
+ 2.8
+
+
+
+ dependencies
+ license
+
+
+
+
+ false
+
+
+
+
+
diff --git a/ccm-cms/src/main/java/org/libreccm/cms/Cms.java b/ccm-cms/src/main/java/org/libreccm/cms/Cms.java
new file mode 100644
index 000000000..f92879165
--- /dev/null
+++ b/ccm-cms/src/main/java/org/libreccm/cms/Cms.java
@@ -0,0 +1,39 @@
+/**
+ * Add your license here, for example LGPL
+ */
+package org.libreccm.cms;
+
+import org.libreccm.modules.CcmModule;
+import org.libreccm.modules.InitEvent;
+import org.libreccm.modules.InstallEvent;
+import org.libreccm.modules.Module;
+import org.libreccm.modules.RequiredModule;
+import org.libreccm.modules.ShutdownEvent;
+import org.libreccm.modules.UnInstallEvent;
+
+@Module(packageName = "org.libreccm.cms",
+ requiredModules = {@RequiredModule(module = org.libreccm.core.CcmCore.class)})
+public class Cms implements CcmModule {
+
+ @Override
+ public void install(final InstallEvent event) {
+ //ToDo Create initial data for the module if neccessary
+ }
+
+ @Override
+ public void init(final InitEvent event) {
+ //ToDo Add initialisation logic necessary for your module
+ }
+
+ @Override
+ public void shutdown(final ShutdownEvent event) {
+ //ToDo Add shutdown logic if necessary
+ }
+
+ @Override
+ public void uninstall(final UnInstallEvent event) {
+ //ToDo Remove module data
+ }
+
+
+}
diff --git a/ccm-cms/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-cms/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule
new file mode 100644
index 000000000..67d5c4e45
--- /dev/null
+++ b/ccm-cms/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule
@@ -0,0 +1 @@
+org.libreccm.cms.Cms
diff --git a/ccm-cms/src/test/java/org/libreccm/cms/CmsTest.java b/ccm-cms/src/test/java/org/libreccm/cms/CmsTest.java
new file mode 100644
index 000000000..30861055d
--- /dev/null
+++ b/ccm-cms/src/test/java/org/libreccm/cms/CmsTest.java
@@ -0,0 +1,104 @@
+/*
+ * ToDo: Add your license
+ */
+package org.libreccm.cms;
+
+import static org.hamcrest.CoreMatchers.*;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.ShouldThrowException;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.junit.InSequence;
+import org.jboss.arquillian.persistence.CreateSchema;
+import org.jboss.arquillian.persistence.PersistenceTest;
+import org.jboss.arquillian.persistence.ShouldMatchDataSet;
+import org.jboss.arquillian.persistence.UsingDataSet;
+import org.jboss.arquillian.transaction.api.annotation.TransactionMode;
+import org.jboss.arquillian.transaction.api.annotation.Transactional;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+import org.junit.runner.RunWith;
+import org.libreccm.tests.categories.IntegrationTest;
+
+import java.io.File;
+import java.util.List;
+
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import static org.junit.Assert.*;
+
+@Category(IntegrationTest.class)
+@RunWith(Arquillian.class)
+@PersistenceTest
+@Transactional(TransactionMode.COMMIT)
+@CreateSchema({"create_ccm-cms_schema.sql"})
+public class CmsTest {
+
+ @PersistenceContext(name = "LibreCCM")
+ private transient EntityManager entityManager;
+
+ @BeforeClass
+ public static void setUpClass() {
+ }
+
+ @AfterClass
+ public static void tearDownClass() {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ @Deployment
+ public static WebArchive createDeployment() {
+ final PomEquippedResolveStage pom = Maven
+ .resolver()
+ .loadPomFromFile("pom.xml");
+ final PomEquippedResolveStage dependencies = pom
+ .importCompileAndRuntimeDependencies();
+ final File[] libs = dependencies.resolve().withTransitivity().asFile();
+
+ for (File lib : libs) {
+ System.err.printf("Adding file '%s' to test archive...%n",
+ lib.getName());
+ }
+
+ return ShrinkWrap
+ .create(WebArchive.class,
+ "LibreCCM-org.libreccm.cms.CmsTest.war")
+ .addPackage(Cms.class.getPackage())
+ .addAsLibraries(libs)
+ .addAsResource("test-persistence.xml",
+ "META-INF/persistence.xml")
+ .addAsWebInfResource("test-web.xml", "WEB-INF/web.xml")
+ .addAsWebInfResource(EmptyAsset.INSTANCE, "WEB-INF/beans.xml");
+
+ }
+
+ @Test
+ @InSequence(1)
+ public void yourFirstTest() {
+ //ToDo: Add test logic
+ }
+
+
+
+}
+
+
+
diff --git a/pom.xml b/pom.xml
index 3bb5592c1..5f074f86e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,6 +45,7 @@
ccm-archetype-module
+ ccm-cms