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