CCM NG:
ccm-core: - Moved package for module system from org.libreccm.core.modules to org.libreccm.modules ccm-docrepo - Fixed wrong import for java.sql.Date, should be java.util.Date - Added a placeholder persistence.xml to avoid error in the ddl generator git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3611 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
75ceb5e2ce
commit
e001c43351
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.libreccm.core;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
import org.libreccm.modules.CcmModule;
|
||||
import org.libreccm.modules.InitEvent;
|
||||
import org.libreccm.modules.InstallEvent;
|
||||
import org.libreccm.modules.Module;
|
||||
import org.libreccm.modules.ShutdownEvent;
|
||||
import org.libreccm.modules.UnInstallEvent;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ import javax.persistence.EntityManager;
|
|||
org.libreccm.core.Role.class,
|
||||
org.libreccm.core.Subject.class,
|
||||
org.libreccm.core.User.class,
|
||||
org.libreccm.core.modules.InstalledModule.class,
|
||||
org.libreccm.modules.InstalledModule.class,
|
||||
org.libreccm.formbuilder.Component.class,
|
||||
org.libreccm.formbuilder.DataDrivenSelect.class,
|
||||
org.libreccm.formbuilder.FormSection.class,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
|
|
@ -16,15 +16,16 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.servlet.ServletContextEvent;
|
||||
import javax.servlet.ServletContextListener;
|
||||
import javax.servlet.annotation.WebListener;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.libreccm.core.modules.ModuleManager;
|
||||
import org.libreccm.modules.ModuleManager;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
* Enumeration describing the status of a module.
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -19,9 +19,7 @@
|
|||
-->
|
||||
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
|
||||
|
||||
<jta-data-source>
|
||||
java:/comp/env/jdbc/ccm-core/db
|
||||
</jta-data-source>
|
||||
<jta-data-source>java:/comp/env/jdbc/ccm-core/db</jta-data-source>
|
||||
|
||||
<properties>
|
||||
<!-- Properties for Hibernate -->
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
org.libreccm.core.modules.CcmIntegrator
|
||||
org.libreccm.modules.CcmIntegrator
|
||||
|
|
@ -1,216 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2015 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.*;
|
||||
|
||||
import org.jboss.arquillian.container.test.api.Deployment;
|
||||
import org.jboss.arquillian.junit.Arquillian;
|
||||
import org.jboss.arquillian.persistence.PersistenceTest;
|
||||
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.core.CcmCore;
|
||||
import org.libreccm.tests.categories.IntegrationTest;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
import javax.sql.DataSource;
|
||||
import org.jboss.arquillian.persistence.CreateSchema;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
//@Category(IntegrationTest.class)
|
||||
@RunWith(Arquillian.class)
|
||||
@PersistenceTest
|
||||
@Transactional(TransactionMode.COMMIT)
|
||||
@CreateSchema({"clearup_schema.sql"})
|
||||
public class CcmModulesTest {
|
||||
|
||||
@PersistenceContext(name = "LibreCCM")
|
||||
private transient EntityManager entityManager;
|
||||
|
||||
public CcmModulesTest() {
|
||||
}
|
||||
|
||||
@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.core.modules.CcmModulesTest.war")
|
||||
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage()).
|
||||
addPackage(org.libreccm.categorization.Category.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||
.addPackage(org.libreccm.core.CcmCore.class.getPackage())
|
||||
.addPackage(org.libreccm.core.authentication.LoginManager.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.core.modules.CcmModule.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.formbuilder.Component.class.
|
||||
getPackage())
|
||||
.addPackage(
|
||||
org.libreccm.formbuilder.actions.ConfirmEmailListener.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.jpa.EntityManagerProducer.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.jpa.utils.MimeTypeConverter.class
|
||||
.getPackage())
|
||||
.addPackage(org.libreccm.l10n.LocalizedString.class.getPackage()).
|
||||
addPackage(org.libreccm.messaging.Message.class.getPackage())
|
||||
.addPackage(org.libreccm.notification.Notification.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.portal.Portal.class.getPackage())
|
||||
.addPackage(org.libreccm.runtime.Initalizer.class.getPackage())
|
||||
.addPackage(org.libreccm.search.lucene.Document.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.web.Application.class.getPackage())
|
||||
.addPackage(org.libreccm.workflow.Workflow.class.getPackage())
|
||||
.addPackage(org.libreccm.testutils.EqualsVerifier.class.
|
||||
getPackage())
|
||||
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
||||
.getPackage())
|
||||
.addAsLibraries(libs)
|
||||
.addAsResource("test-persistence.xml",
|
||||
"META-INF/persistence.xml")
|
||||
.addAsWebInfResource("test-web.xml", "web.xml")
|
||||
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
|
||||
.addAsResource(
|
||||
"META-INF/services/org.hibernate.integrator.spi.Integrator").
|
||||
addAsResource(
|
||||
"META-INF/services/org.libreccm.core.modules.CcmModule")
|
||||
.addAsResource(
|
||||
"module-info/org.libreccm.core.CcmCore.properties")
|
||||
.addAsResource("db")
|
||||
.addAsResource("ccm-core.config");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void verifyModules() throws SQLException {
|
||||
final Object dataSourceObj = entityManager.getEntityManagerFactory()
|
||||
.getProperties().get("javax.persistence.jtaDataSource");
|
||||
|
||||
assertThat(dataSourceObj, is(instanceOf(DataSource.class)));
|
||||
|
||||
final DataSource dataSource = (DataSource) dataSourceObj;
|
||||
final Connection connection = dataSource.getConnection();
|
||||
|
||||
assertThat(connection, is(instanceOf(Connection.class)));
|
||||
|
||||
final ResultSet ccmObjectTable = connection.getMetaData()
|
||||
.getTables(null, "ccm_core", "ccm_objects", null);
|
||||
if (!ccmObjectTable.next()) {
|
||||
fail("No metadata for table ccm_core.ccm_objects returned. "
|
||||
+ "Table does not exist?");
|
||||
}
|
||||
|
||||
final ResultSet installedModulesTable = connection.getMetaData()
|
||||
.getTables(null, "ccm_core", "installed_modules", null);
|
||||
if (!installedModulesTable.next()) {
|
||||
fail("No metadata for table ccm_core.installed_modules returned. "
|
||||
+ "Table does not exist?");
|
||||
}
|
||||
|
||||
final Statement statement = connection.createStatement();
|
||||
final ResultSet installedModules = statement.executeQuery(
|
||||
"SELECT module_id, module_class_name, status "
|
||||
+ "FROM ccm_core.installed_modules"
|
||||
+ " ORDER BY module_class_name");
|
||||
final List<String[]> modulesList = new ArrayList<>();
|
||||
while (installedModules.next()) {
|
||||
createInstalledModuleListEntry(installedModules, modulesList);
|
||||
}
|
||||
|
||||
assertThat(modulesList.size(), is(1));
|
||||
|
||||
assertThat(modulesList.get(0)[0],
|
||||
is(equalTo(Integer.toString(CcmCore.class.getName().
|
||||
hashCode()))));
|
||||
assertThat(modulesList.get(0)[1],
|
||||
is(equalTo(CcmCore.class.getName())));
|
||||
assertThat(modulesList.get(0)[2],
|
||||
is(equalTo(ModuleStatus.INSTALLED.toString())));
|
||||
|
||||
}
|
||||
|
||||
private void createInstalledModuleListEntry(
|
||||
final ResultSet resultSet, final List<String[]> modulesList)
|
||||
throws SQLException {
|
||||
|
||||
final String[] moduleData = new String[3];
|
||||
moduleData[0] = Integer.toString(resultSet.getInt("module_id"));
|
||||
moduleData[1] = resultSet.getString("module_class_name");
|
||||
moduleData[2] = resultSet.getString("status");
|
||||
|
||||
modulesList.add(moduleData);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.cycle;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.cycle;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.cycle;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.cycle;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.valid;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.valid;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.valid;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.RequiredModule;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
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;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -18,12 +18,12 @@
|
|||
*/
|
||||
package org.libreccm.core.modules.dependencytree.test.valid;
|
||||
|
||||
import org.libreccm.core.modules.CcmModule;
|
||||
import org.libreccm.core.modules.InitEvent;
|
||||
import org.libreccm.core.modules.InstallEvent;
|
||||
import org.libreccm.core.modules.Module;
|
||||
import org.libreccm.core.modules.ShutdownEvent;
|
||||
import org.libreccm.core.modules.UnInstallEvent;
|
||||
import org.libreccm.modules.CcmModule;
|
||||
import org.libreccm.modules.InitEvent;
|
||||
import org.libreccm.modules.InstallEvent;
|
||||
import org.libreccm.modules.Module;
|
||||
import org.libreccm.modules.ShutdownEvent;
|
||||
import org.libreccm.modules.UnInstallEvent;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import org.apache.maven.artifact.versioning.ComparableVersion;
|
||||
|
||||
|
|
@ -16,7 +16,21 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import org.libreccm.modules.CcmModule;
|
||||
import org.libreccm.modules.Module;
|
||||
import org.libreccm.modules.ModuleStatus;
|
||||
import org.libreccm.modules.TreeNode;
|
||||
import org.libreccm.modules.DependencyException;
|
||||
import org.libreccm.modules.UnInstallEvent;
|
||||
import org.libreccm.modules.InitEvent;
|
||||
import org.libreccm.modules.ShutdownEvent;
|
||||
import org.libreccm.modules.ModuleInfo;
|
||||
import org.libreccm.modules.IntegrationException;
|
||||
import org.libreccm.modules.InstallEvent;
|
||||
import org.libreccm.modules.RequiredModule;
|
||||
import org.libreccm.modules.DependencyTreeManager;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
|
|
@ -16,8 +16,21 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import org.libreccm.modules.CcmModule;
|
||||
import org.libreccm.modules.Module;
|
||||
import org.libreccm.modules.ModuleStatus;
|
||||
import org.libreccm.modules.TreeNode;
|
||||
import org.libreccm.modules.DependencyException;
|
||||
import org.libreccm.modules.UnInstallEvent;
|
||||
import org.libreccm.modules.InitEvent;
|
||||
import org.libreccm.modules.ShutdownEvent;
|
||||
import org.libreccm.modules.ModuleInfo;
|
||||
import org.libreccm.modules.IntegrationException;
|
||||
import org.libreccm.modules.InstallEvent;
|
||||
import org.libreccm.modules.RequiredModule;
|
||||
import org.libreccm.modules.DependencyTreeManager;
|
||||
import org.libreccm.core.modules.dependencytree.test.valid.TestModuleB;
|
||||
import org.libreccm.core.modules.dependencytree.test.valid.TestModuleC;
|
||||
import org.libreccm.core.modules.dependencytree.test.valid.TestModuleA;
|
||||
|
|
@ -16,7 +16,9 @@
|
|||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package org.libreccm.core.modules;
|
||||
package org.libreccm.modules;
|
||||
|
||||
import org.libreccm.modules.DependencyTreeManager;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
|
|
@ -192,6 +192,7 @@
|
|||
<packages>
|
||||
<param>org.libreccm</param>
|
||||
</packages>
|
||||
<persistenceXml>src/main/resources/persistence-build.xml</persistenceXml>
|
||||
<useEnvers>true</useEnvers>
|
||||
</configuration>
|
||||
<executions>
|
||||
|
|
|
|||
|
|
@ -21,12 +21,14 @@ package org.libreccm.docrepo;
|
|||
import org.hibernate.validator.constraints.NotBlank;
|
||||
import org.libreccm.core.CcmObject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import java.sql.Date;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
author: Jens Pelzetter
|
||||
-->
|
||||
|
||||
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
|
||||
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
|
||||
version="2.1">
|
||||
|
||||
<persistence-unit name="LibreCCM" transaction-type="JTA">
|
||||
|
||||
<!--
|
||||
Enforce JPA provider
|
||||
Not really necessary here because we don't use any Hibernate
|
||||
specific features, but makes it easier to manage to database
|
||||
creation scripts.
|
||||
-->
|
||||
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
|
||||
|
||||
<jta-data-source>java:/comp/env/jdbc/ccm-core/db</jta-data-source>
|
||||
|
||||
<properties>
|
||||
<!-- Properties for Hibernate -->
|
||||
<property name="hibernate.hbm2ddl.auto" value="verify"/>
|
||||
<property name="hibernate.connection.autocommit" value="false" />
|
||||
<property name="hibernate.id.new_generator_mappings" value="true"/>
|
||||
|
||||
<!--
|
||||
Properties for Hibernate Envers
|
||||
We are using the ValidityAuditStrategy here because it is faster
|
||||
when querying data than the DefaultStrategy
|
||||
-->
|
||||
<property name="org.hibernate.envers.audit_strategy"
|
||||
value="org.hibernate.envers.strategy.ValidityAuditStrategy"/>
|
||||
</properties>
|
||||
|
||||
</persistence-unit>
|
||||
|
||||
</persistence>
|
||||
|
|
@ -45,8 +45,6 @@ import org.jboss.shrinkwrap.api.spec.WebArchive;
|
|||
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
|
||||
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolvedArtifact;
|
||||
import org.jboss.shrinkwrap.resolver.api.maven.PomEquippedResolveStage;
|
||||
import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenCoordinates;
|
||||
import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependencyExclusion;
|
||||
import org.junit.After;
|
||||
import org.junit.AfterClass;
|
||||
|
||||
|
|
@ -59,7 +57,7 @@ import org.junit.experimental.categories.Category;
|
|||
import org.junit.runner.RunWith;
|
||||
import org.libreccm.core.CcmCore;
|
||||
import org.libreccm.core.User;
|
||||
import org.libreccm.core.modules.ModuleStatus;
|
||||
import org.libreccm.modules.ModuleStatus;
|
||||
import org.libreccm.tests.categories.IntegrationTest;
|
||||
|
||||
import javax.persistence.TypedQuery;
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ How JPA is used in LibreCCM
|
|||
Usually we customise the table name to use underscores instead of camel case
|
||||
in the database. Also we usually customise the names of columns the use
|
||||
underscores.
|
||||
|
||||
|
||||
<<Important: To ensure compatibility with the supported
|
||||
databases (H2, PostgresSQL and Oracle for now) use only uppercase letters
|
||||
for database objects like schemas, tables and columns.>>
|
||||
|
||||
|
||||
For examples look at the various examples in the code.
|
||||
|
||||
Each entity may be accompanied by one or two helper classes. There should
|
||||
|
|
|
|||
|
|
@ -8,4 +8,9 @@
|
|||
|
||||
The module system of LibreCCM
|
||||
|
||||
Lorem ipsum
|
||||
The functionality of LibreCCM is organised in modules which can bundled to
|
||||
serve specific needs. The bundling is done by special modules which packaged
|
||||
as WAR files. A module itself is packaged as JAR file.
|
||||
|
||||
The module system provides several features like automatic database
|
||||
migrations.
|
||||
Loading…
Reference in New Issue