diff --git a/ccm-bundle-devel-wildfly-web/pom.xml b/ccm-bundle-devel-wildfly-web/pom.xml index cc09e810d..b69b105b9 100644 --- a/ccm-bundle-devel-wildfly-web/pom.xml +++ b/ccm-bundle-devel-wildfly-web/pom.xml @@ -41,8 +41,18 @@ net.sf.saxon Saxon-HE + + + + org.libreccm + ccm-shortcuts + ${project.parent.version} + + + + false @@ -1150,8 +1150,8 @@ true org.jboss.logmanager.LogManager - ${project.basedir}/target/wildfly-8.2.0.Final - ${project.basedir}/target/wildfly-8.2.0.Final/modules + false diff --git a/ccm-core/src/main/java/org/libreccm/modules/ModuleManager.java b/ccm-core/src/main/java/org/libreccm/modules/ModuleManager.java index 9d697b734..045a54f71 100644 --- a/ccm-core/src/main/java/org/libreccm/modules/ModuleManager.java +++ b/ccm-core/src/main/java/org/libreccm/modules/ModuleManager.java @@ -187,8 +187,8 @@ public class ModuleManager { System.out.printf("Checking status of module %s%n", node.getModule().getClass().getName()); final InstalledModule installedModule = entityManager.find( - InstalledModule.class, node. - getModule().getClass().getName().hashCode()); + InstalledModule.class, + node.getModule().getClass().getName().hashCode()); LOGGER.info("Status of module {} ({}): {}", node.getModuleInfo().getModuleName(), node.getModule().getClass().getName(), diff --git a/ccm-core/src/test/java/org/libreccm/core/CcmObjectRepositoryTest.java b/ccm-core/src/test/java/org/libreccm/core/CcmObjectRepositoryTest.java index b92d8a8b1..ac16a83ea 100644 --- a/ccm-core/src/test/java/org/libreccm/core/CcmObjectRepositoryTest.java +++ b/ccm-core/src/test/java/org/libreccm/core/CcmObjectRepositoryTest.java @@ -42,15 +42,7 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; import org.junit.runner.RunWith; -import org.libreccm.categorization.Categorization; -import org.libreccm.jpa.EntityManagerProducer; -import org.libreccm.jpa.utils.MimeTypeConverter; -import org.libreccm.l10n.LocalizedString; -import org.libreccm.security.Permission; import org.libreccm.tests.categories.IntegrationTest; -import org.libreccm.testutils.EqualsVerifier; -import org.libreccm.web.CcmApplication; -import org.libreccm.workflow.Workflow; import java.io.File; import java.util.List; diff --git a/ccm-core/src/test/resources-wildfly8-remote-pgsql/scripts/create_ccm_core_schema.sql b/ccm-core/src/test/resources-wildfly8-remote-pgsql/scripts/create_ccm_core_schema.sql index 6de70463d..141cce8fa 100644 --- a/ccm-core/src/test/resources-wildfly8-remote-pgsql/scripts/create_ccm_core_schema.sql +++ b/ccm-core/src/test/resources-wildfly8-remote-pgsql/scripts/create_ccm_core_schema.sql @@ -4,7 +4,6 @@ DROP SEQUENCE IF EXISTS hibernate_sequence; CREATE SCHEMA ccm_core; - create table CCM_CORE.APPLICATIONS ( APPLICATION_TYPE varchar(1024) not null, PRIMARY_URL varchar(1024) not null, diff --git a/ccm-shortcuts/pom.xml b/ccm-shortcuts/pom.xml index 5a7eb76f7..692cd0629 100644 --- a/ccm-shortcuts/pom.xml +++ b/ccm-shortcuts/pom.xml @@ -50,11 +50,22 @@ org.hibernate hibernate-entitymanager + provided org.hibernate hibernate-validator + provided + + + + org.apache.logging.log4j + log4j-core + + + org.apache.logging.log4j + log4j-api @@ -136,7 +147,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.18.1 + 2.19.1 org.libreccm.tests.categories.UnitTest @@ -332,4 +343,184 @@ + + + wildfly-remote-h2-mem + + + + + org.wildfly + wildfly-arquillian-container-remote + + test + + + org.jacoco + org.jacoco.core + + test + + + org.jboss.arquillian.extension + arquillian-jacoco + 1.0.0.Alpha8 + + + net.sf.saxon + Saxon-HE + + + + + + + src/test/resources + + + src/test/resources-wildfly-remote-h2-mem + + + ${project.build.directory}/generated-resources + + + + + + de.jpdigital + hibernate5-ddl-maven-plugin + + + h2 + postgresql9 + + + org.libreccm + + true + + + + + gen-ddl + + process-classes + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + always + 999 + true + + org.jboss.logmanager.LogManager + + + false + + org.libreccm.tests.categories.UnitTest, + org.libreccm.tests.categories.IntegrationTest + + + + + + + + + wildfly-remote-pgsql + + + org.wildfly + wildfly-arquillian-container-remote + + test + + + org.jacoco + org.jacoco.core + + test + + + + net.sf.saxon + Saxon-HE + + + + + + + src/test/resources + + + src/test/resources-wildfly-remote-pgsql + + + ${project.build.directory}/generated-resources + + + + + + de.jpdigital + hibernate5-ddl-maven-plugin + + + h2 + postgresql9 + + + org.libreccm + + true + + + + + gen-ddl + + process-classes + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + always + 999 + true + + org.jboss.logmanager.LogManager + + + false + + org.libreccm.tests.categories.UnitTest, + org.libreccm.tests.categories.IntegrationTest + + + + + + + + diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java index 546a90226..9d19ae56a 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcut.java @@ -28,25 +28,34 @@ import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; import javax.persistence.Table; -import org.libreccm.core.CcmObject; /** * * @author Jens Pelzetter */ @Entity -@Table(schema ="CCM_SHORTCUTS", name = "SHORTCUTS") +@Table(schema = "CCM_SHORTCUTS", name = "SHORTCUTS") +@NamedQueries({ + @NamedQuery( + name = "Shortcut.findByUrlKey", + query = "SELECT s FROM Shortcut s WHERE s.urlKey = :urlKey"), + @NamedQuery( + name = "Shortcut.findByRedirect", + query = "SELECT s FROM Shortcut s WHERE s.redirect = :redirect") +}) public class Shortcut implements Serializable { private static final long serialVersionUID = -5674633339633714327L; - + @Id @Column(name = "SHORTCUTS_ID") @GeneratedValue(strategy = GenerationType.AUTO) private long shortcutId; - @Column(name = "URL_KEY", length = 1024) + @Column(name = "URL_KEY", length = 1024, unique = true) @NotEmpty private String urlKey; diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutManager.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutManager.java index 632a56aab..ddee0beab 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutManager.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutManager.java @@ -20,8 +20,7 @@ package org.libreccm.shortcuts; import java.net.URI; import java.net.URL; -import java.util.Iterator; -import java.util.List; + import javax.enterprise.context.RequestScoped; import javax.inject.Inject; @@ -33,7 +32,7 @@ import javax.inject.Inject; */ @RequestScoped public class ShortcutManager { - + /** * {@link ShortcutRepository} for interacting with the database. */ @@ -94,8 +93,8 @@ public class ShortcutManager { /** * checks if the given URL is valid * - * @param url the Url you want to validate - * @return true if you can succesfully connect to the url, therefore is + * @param url the URL you want to validate + * @return true if you can successfully connect to the url, therefore is * valid. */ private boolean validateURL(final String url) { @@ -104,44 +103,5 @@ public class ShortcutManager { } - /** - * Finds the first shortcut with the specified urlKey. - * - * @param urlKey the wanted urlKey - * @return Shortcut a shortcut with the specified urlKey - */ - public Shortcut findByUrlKey(final String urlKey) { - //get all Shortcuts: - List shortcutlist = shortcutRepository.findAll(); - //search for the right one: - Iterator iterator = shortcutlist.iterator(); - while (iterator.hasNext()) { - Shortcut shortcut = iterator.next(); - if (shortcut.getUrlKey().equals(urlKey)) { - return shortcut; - } - } - - return null; - } - - /** - * Finds all shortcuts with the specified redirect. - * - * @param redirect the wanted redirect - * @return List a List of Shortcuts with the specified redirect - */ - public List findByRedirect(final String redirect) { - //get all Shortcuts: - List shortcutlist = shortcutRepository.findAll(); - //removes all shortcuts that don't fit - Iterator iterator = shortcutlist.iterator(); - while (iterator.hasNext()) { - Shortcut shortcut = iterator.next(); - if (!shortcut.getRedirect().equals(redirect)) { - shortcutlist.remove(shortcut); - } - } - return shortcutlist; - } + } diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java index 2699877eb..778efe123 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutRepository.java @@ -20,10 +20,18 @@ package org.libreccm.shortcuts; import org.libreccm.core.AbstractEntityRepository; +import java.util.List; +import java.util.Optional; + +import javax.enterprise.context.RequestScoped; +import javax.persistence.NoResultException; +import javax.persistence.TypedQuery; + /** * * @author Alexander Konermann */ +@RequestScoped public class ShortcutRepository extends AbstractEntityRepository { @Override @@ -33,7 +41,41 @@ public class ShortcutRepository extends AbstractEntityRepository @Override public boolean isNew(final Shortcut entity) { - return entity.getShortcutId() == 0; + return entity.getShortcutId() == 0; + } + + /** + * Finds the first shortcut with the specified urlKey. + * + * @param urlKey the wanted urlKey + * + * @return The shortcut with the specified urlKey if there is any. + */ + public Optional findByUrlKey(final String urlKey) { + final TypedQuery query = getEntityManager().createNamedQuery( + "Shortcut.findByUrlKey", Shortcut.class); + query.setParameter("urlKey", urlKey); + + try { + final Shortcut result = query.getSingleResult(); + return Optional.of(result); + } catch (NoResultException ex) { + return Optional.empty(); + } } + /** + * Finds all shortcuts which redirect to the provided target. + * + * @param redirect the wanted redirect + * @return List a List of Shortcuts with the specified redirect + */ + public List findByRedirect(final String redirect) { + final TypedQuery query = getEntityManager().createNamedQuery( + "Shortcut.findByRedirect", Shortcut.class); + query.setParameter("redirect", redirect); + + return query.getResultList(); + } + } diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java index d1dd09684..2f50e93ec 100644 --- a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/Shortcuts.java @@ -18,34 +18,45 @@ */ package org.libreccm.shortcuts; -import javax.persistence.Entity; -import javax.persistence.Table; - -import org.libreccm.web.CcmApplication; +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 org.libreccm.web.ApplicationType; /** * * @author Jens Pelzetter */ -@Entity -@Table(schema ="CCM_SHORTCUTS", name = "SHORTCUTS_APP") -public class Shortcuts extends CcmApplication { - private static final long serialVersionUID = -6793265996161649637L; - -// private String shortcutAppName; - - public Shortcuts() { - super(); +@Module(applicationTypes = { + @ApplicationType(name = ShortcutsConstants.SHORTCUTS_APP_TYPE, + descBundle = "org.libreccm.shortcuts.ShortcutsResources", + singleton = true, + creator = ShortcutsApplicationCreator.class)} +) +public class Shortcuts implements CcmModule { + + @Override + public void install(final InstallEvent event) { + final ShortcutsSetup setup = new ShortcutsSetup(event); + setup.setup(); + } + + @Override + public void init(final InitEvent event) { + //Nothing + } + + @Override + public void shutdown(final ShutdownEvent event) { + //Nothing + } + + @Override + public void uninstall(final UnInstallEvent event) { + //Nothing } -// public String getShortcutAppName() { -// return shortcutAppName; -// } -// -// public void setShortcutAppName(final String shortcutAppName) { -// this.shortcutAppName = shortcutAppName; -// } -// - - } diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java.nolongerinuse similarity index 100% rename from ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java rename to ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsAppManager.java.nolongerinuse diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java new file mode 100644 index 000000000..c5e2a7bea --- /dev/null +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsApplicationCreator.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2016 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.shortcuts; + +import org.libreccm.web.ApplicationCreator; +import org.libreccm.web.ApplicationRepository; +import org.libreccm.web.ApplicationType; +import org.libreccm.web.CcmApplication; + +import javax.enterprise.context.RequestScoped; +import javax.inject.Inject; + +/** + * + * @author Jens Pelzetter + */ +@RequestScoped +public class ShortcutsApplicationCreator + implements ApplicationCreator{ + + @Inject + private ApplicationRepository appRepository; + + @Override + public CcmApplication createInstance(final String primaryUrl, + final ApplicationType type) { + if (!ShortcutsConstants.SHORTCUTS_PRIMARY_URL.equals(primaryUrl)) { + throw new IllegalArgumentException( + "Shortcuts is a singleton application which is mounted at " + + "/shortcuts"); + } + + return appRepository.retrieveApplicationForPath(primaryUrl); + } + + + +} diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java new file mode 100644 index 000000000..3b52e1641 --- /dev/null +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsConstants.java @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2016 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.shortcuts; + +/** + * + * @author Jens Pelzetter + */ +public final class ShortcutsConstants { + + /** + * Name of the shortcuts application type + */ + public static final String SHORTCUTS_APP_TYPE + = "org.libreccm.shortcuts.Shortcuts"; + + /** + * Primary URL of the singleton Shortcuts application instance. + */ + public static final String SHORTCUTS_PRIMARY_URL = "/shortcuts/"; + +} diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java new file mode 100644 index 000000000..21c24dbb1 --- /dev/null +++ b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ShortcutsSetup.java @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2016 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.shortcuts; + +import org.libreccm.cdi.utils.CdiUtil; +import org.libreccm.modules.InstallEvent; +import org.libreccm.security.PermissionManager; +import org.libreccm.security.Role; +import org.libreccm.security.RoleManager; +import org.libreccm.security.RoleRepository; +import org.libreccm.web.AbstractCcmApplicationSetup; +import org.libreccm.web.CcmApplication; + +import java.util.UUID; + +/** + * + * @author Jens Pelzetter + */ +public class ShortcutsSetup extends AbstractCcmApplicationSetup { + + public ShortcutsSetup(final InstallEvent event) { + super(event); + } + + @Override + public void setup() { + final CcmApplication shortcuts = new CcmApplication(); + shortcuts.setUuid(UUID.randomUUID().toString()); + shortcuts.setApplicationType(ShortcutsConstants.SHORTCUTS_APP_TYPE); + shortcuts.setPrimaryUrl(ShortcutsConstants.SHORTCUTS_PRIMARY_URL); + getEntityManager().persist(shortcuts); + + final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); + final RoleRepository roleRepository = cdiUtil.findBean( + RoleRepository.class); + final Role shortcutsManager = new Role(); + shortcutsManager.setName("shortcuts-manager"); + roleRepository.save(shortcutsManager); + + final PermissionManager permissionManager = cdiUtil.findBean( + PermissionManager.class); + permissionManager.grantPrivilege("manage_shortcuts", shortcutsManager); + } + +} diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/AdminPanel.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/AdminPanel.java.tmpOff similarity index 100% rename from ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/AdminPanel.java rename to ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/AdminPanel.java.tmpOff diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java.tmpOff similarity index 100% rename from ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java rename to ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutForm.java.tmpOff diff --git a/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java b/ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java.tmpOff similarity index 100% rename from ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java rename to ccm-shortcuts/src/main/java/org/libreccm/shortcuts/ui/ShortcutsTable.java.tmpOff diff --git a/ccm-shortcuts/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule b/ccm-shortcuts/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule new file mode 100644 index 000000000..b304c8ef0 --- /dev/null +++ b/ccm-shortcuts/src/main/resources/META-INF/services/org.libreccm.modules.CcmModule @@ -0,0 +1 @@ +org.libreccm.shortcuts.Shortcuts diff --git a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V1_0_0_0__create_tables.sql b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V1_0_0_0__create_tables.sql deleted file mode 100644 index ce8e5dbc2..000000000 --- a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V1_0_0_0__create_tables.sql +++ /dev/null @@ -1,12 +0,0 @@ - - create table SHORTCUTS ( - shortcut_id bigint generated by default as identity, - redirect varchar(1024), - url_key varchar(1024), - primary key (shortcut_id) - ); - - create table SHORTCUTS_APP ( - object_id bigint not null, - primary key (object_id) - ); diff --git a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V7_0_0_0__create_tables.sql b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V7_0_0_0__create_tables.sql new file mode 100644 index 000000000..e24a0df37 --- /dev/null +++ b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/h2/V7_0_0_0__create_tables.sql @@ -0,0 +1,9 @@ +create table SHORTCUTS ( + shortcut_id bigint generated by default as identity, + redirect varchar(1024), + url_key varchar(1024), + primary key (shortcut_id) +); + +alter table CCM_SHORTCUTS.SHORTCUTS + add constraint UK_4otuwtog6qqdbg4e6p8xdpw8h unique (URL_KEY); diff --git a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V1_0_0_0__create_tables.sql b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V1_0_0_0__create_tables.sql deleted file mode 100644 index ae5f7b413..000000000 --- a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V1_0_0_0__create_tables.sql +++ /dev/null @@ -1,12 +0,0 @@ - - create table SHORTCUTS ( - shortcut_id int8 not null, - redirect varchar(1024), - url_key varchar(1024), - primary key (shortcut_id) - ); - - create table SHORTCUTS_APP ( - object_id int8 not null, - primary key (object_id) - ); \ No newline at end of file diff --git a/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V7_0_0_0__create_tables.sql b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V7_0_0_0__create_tables.sql new file mode 100644 index 000000000..51d267114 --- /dev/null +++ b/ccm-shortcuts/src/main/resources/db/migrations/org.libreccm.ccm-shortcuts/pqsql/V7_0_0_0__create_tables.sql @@ -0,0 +1,9 @@ +create table SHORTCUTS ( + shortcut_id int8 not null, + redirect varchar(1024), + url_key varchar(1024), + primary key (shortcut_id) +); + +alter table CCM_SHORTCUTS.SHORTCUTS + add constraint UK_4otuwtog6qqdbg4e6p8xdpw8h unique (URL_KEY); diff --git a/ccm-shortcuts/src/test/java/org/libreccm/shortcuts/ShortcutRepositoryTest.java b/ccm-shortcuts/src/test/java/org/libreccm/shortcuts/ShortcutRepositoryTest.java new file mode 100644 index 000000000..b81397183 --- /dev/null +++ b/ccm-shortcuts/src/test/java/org/libreccm/shortcuts/ShortcutRepositoryTest.java @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2016 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.shortcuts; + +import org.jboss.arquillian.container.test.api.Deployment; +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.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.EnterpriseArchive; +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.jboss.shrinkwrap.resolver.api.maven.ScopeType; +import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependencies; +import org.jboss.shrinkwrap.resolver.api.maven.coordinate.MavenDependency; +import org.jboss.shrinkwrap.resolver.impl.maven.coordinate.MavenDependencyImpl; +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 javax.inject.Inject; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +import static org.hamcrest.CoreMatchers.*; +import static org.junit.Assert.*; + +/** + * + * @author Jens Pelzetter + */ +@Category(IntegrationTest.class) +@RunWith(Arquillian.class) +@PersistenceTest +@Transactional(TransactionMode.COMMIT) +@CreateSchema({"create_ccm_shortcuts_schema.sql"}) +public class ShortcutRepositoryTest { + + @Inject + private ShortcutRepository shortcutRepository; + + @PersistenceContext + private EntityManager entityManager; + + public ShortcutRepositoryTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + @Deployment + public static EnterpriseArchive createDeployment() { + final PomEquippedResolveStage pom = Maven + .resolver() + .loadPomFromFile("pom.xml"); + final PomEquippedResolveStage dependencies = pom + .importCompileAndRuntimeDependencies(); + dependencies.addDependency(MavenDependencies.createDependency( + "org.libreccm:ccm-core", ScopeType.RUNTIME, false)); + dependencies.addDependency(MavenDependencies.createDependency( + "org.libreccm:ccm-testutils", ScopeType.RUNTIME, false)); + dependencies.addDependency(MavenDependencies.createDependency( + "net.sf.saxon:Saxon-HE", ScopeType.RUNTIME, false)); + final File[] libs = dependencies.resolve().withTransitivity().asFile(); + + for (File lib : libs) { + System.err.printf("Adding file '%s' to test archive...%n", + lib.getName()); + } + + final WebArchive webArchive = ShrinkWrap.create( + WebArchive.class, + "LibreCCM-org.libreccm.shortcuts.ShortcutTest-web.war") + // .addPackage(org.libreccm.categorization.Categorization.class + // .getPackage()) + // .addPackage(org.libreccm.configuration.Configuration.class + // .getPackage()) + // .addPackage(org.libreccm.core.CcmCore.class.getPackage()) + // .addPackage(org.libreccm.jpa.EntityManagerProducer.class + // .getPackage()) + // .addPackage(org.libreccm.l10n.LocalizedString.class.getPackage()) + // .addPackage(org.libreccm.security.Permission.class.getPackage()) + .addPackage(org.libreccm.shortcuts.Shortcuts.class.getPackage()) + // .addPackage(org.libreccm.web.CcmApplication.class.getPackage()) + // .addPackage(org.libreccm.workflow.Workflow.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"); + + return ShrinkWrap.create( + EnterpriseArchive.class, + "LibreCCM-org.libreccm.shortcuts.ShortcutRepositoryTest.ear") + .addAsModule(webArchive) + .addAsResource("application.xml", "application.xml"); + } + + @Test + @InSequence(1) + public void repoIsInjected() { + assertThat(shortcutRepository, is(not(nullValue()))); + } + + @Test + @InSequence(2) + public void entityManagerIsInjected() { + assertThat(entityManager, is(not((nullValue())))); + } + +} diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/arquillian.xml b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/arquillian.xml new file mode 100644 index 000000000..0a0f22043 --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/arquillian.xml @@ -0,0 +1,40 @@ + + + + + target/deployments + + + + + + java:/comp/env/jdbc/org/libreccm/ccm-shortcuts/h2-mem + + + NONE + + true + target + + + + json + org.dbunit.ext.h2.H2DataTypeFactory + true + true + + + + scripts/h2-cleanup.sql + + + + diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/scripts/create_ccm_shortcuts_schema.sql b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/scripts/create_ccm_shortcuts_schema.sql new file mode 100644 index 000000000..ffd4970f0 --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/scripts/create_ccm_shortcuts_schema.sql @@ -0,0 +1,1085 @@ +DROP SCHEMA IF EXISTS ccm_shortcuts; +DROP SCHEMA IF EXISTS ccm_core; + +DROP SEQUENCE IF EXISTS hibernate_sequence; + +CREATE SCHEMA ccm_core; +CREATE SCHEMA ccm_shortcuts; + + create table CCM_CORE.APPLICATIONS ( + APPLICATION_TYPE varchar(1024) not null, + PRIMARY_URL varchar(1024) not null, + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ATTACHMENTS ( + ATTACHMENT_ID bigint not null, + ATTACHMENT_DATA blob, + DESCRIPTION varchar(255), + MIME_TYPE varchar(255), + TITLE varchar(255), + MESSAGE_ID bigint, + primary key (ATTACHMENT_ID) + ); + + create table CCM_CORE.CATEGORIES ( + ABSTRACT_CATEGORY boolean, + CATEGORY_ORDER bigint, + ENABLED boolean, + NAME varchar(255) not null, + UNIQUE_ID varchar(255), + VISIBLE boolean, + OBJECT_ID bigint not null, + PARENT_CATEGORY_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CATEGORIZATIONS ( + CATEGORIZATION_ID bigint not null, + CATEGORY_ORDER bigint, + CATEGORY_INDEX boolean, + OBJECT_ORDER bigint, + OBJECT_ID bigint, + CATEGORY_ID bigint, + primary key (CATEGORIZATION_ID) + ); + + create table CCM_CORE.CATEGORY_DESCRIPTIONS ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.CATEGORY_DOMAINS ( + DOMAIN_KEY varchar(255) not null, + RELEASED timestamp, + URI varchar(1024), + VERSION varchar(255), + OBJECT_ID bigint not null, + ROOT_CATEGORY_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CATEGORY_TITLES ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.CCM_OBJECTS ( + OBJECT_ID bigint not null, + DISPLAY_NAME varchar(255), + UUID varchar(255), + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CCM_REVISIONS ( + id integer not null, + timestamp bigint not null, + USER_NAME varchar(255), + primary key (id) + ); + + create table CCM_CORE.CCM_ROLES ( + ROLE_ID bigint not null, + NAME varchar(512) not null, + primary key (ROLE_ID) + ); + + create table CCM_CORE.DIGESTS ( + FREQUENCY integer, + HEADER varchar(4096) not null, + NEXT_RUN timestamp, + DIGEST_SEPARATOR varchar(128) not null, + SIGNATURE varchar(4096) not null, + SUBJECT varchar(255) not null, + OBJECT_ID bigint not null, + FROM_PARTY_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.DOMAIN_DESCRIPTIONS ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.DOMAIN_OWNERSHIPS ( + OWNERSHIP_ID bigint not null, + CONTEXT varchar(255), + DOMAIN_ORDER bigint, + OWNER_ORDER bigint, + domain_OBJECT_ID bigint not null, + owner_OBJECT_ID bigint not null, + primary key (OWNERSHIP_ID) + ); + + create table CCM_CORE.DOMAIN_TITLES ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS ( + COMPONENT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (COMPONENT_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_COMPONENTS ( + ACTIVE boolean, + ADMIN_NAME varchar(255), + ATTRIBUTE_STRING varchar(255), + COMPONENT_ORDER bigint, + SELECTED boolean, + OBJECT_ID bigint not null, + parentComponent_OBJECT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_CONFIRM_EMAIL_LISTENER ( + BODY clob, + FROM_EMAIL varchar(255), + SUBJECT varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_CONFIRM_REDIRECT_LISTENERS ( + URL varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_DRIVEN_SELECTS ( + MULTIPLE boolean, + QUERY varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERIES ( + QUERY_ID varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERY_DESCRIPTIONS ( + DATA_QUERY_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (DATA_QUERY_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERY_NAMES ( + DATA_QUERY_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (DATA_QUERY_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_FORMSECTIONS ( + FORMSECTION_ACTION varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_LISTENERS ( + ATTRIBUTE_STRING varchar(255), + CLASS_NAME varchar(255), + OBJECT_ID bigint not null, + widget_OBJECT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_METAOBJECTS ( + CLASS_NAME varchar(255), + PRETTY_NAME varchar(255), + PRETTY_PLURAL varchar(255), + PROPERTIES_FORM varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_OBJECT_TYPES ( + APP_NAME varchar(255), + CLASS_NAME varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_OPTION_LABELS ( + OPTION_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OPTION_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_OPTIONS ( + PARAMETER_VALUE varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS ( + PROCESS_LISTENER_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (PROCESS_LISTENER_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_NAMES ( + PROCESS_LISTENER_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (PROCESS_LISTENER_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS ( + LISTENER_CLASS varchar(255), + PROCESS_LISTENER_ORDER bigint, + OBJECT_ID bigint not null, + formSection_OBJECT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_REMOTE_SERVER_POST_LISTENER ( + REMOTE_URL varchar(2048), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_SIMPLE_EMAIL_LISTENERS ( + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_TEMPLATE_EMAIL_LISTENERS ( + BODY clob, + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_WIDGET_LABELS ( + OBJECT_ID bigint not null, + widget_OBJECT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_WIDGETS ( + DEFAULT_VALUE varchar(255), + PARAMETER_MODEL varchar(255), + PARAMETER_NAME varchar(255), + OBJECT_ID bigint not null, + label_OBJECT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_XML_EMAIL_LISTENERS ( + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.GROUP_MEMBERSHIPS ( + MEMBERSHIP_ID bigint not null, + GROUP_ID bigint, + MEMBER_ID bigint, + primary key (MEMBERSHIP_ID) + ); + + create table CCM_CORE.GROUPS ( + PARTY_ID bigint not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.HOSTS ( + HOST_ID bigint not null, + SERVER_NAME varchar(512), + SERVER_PORT bigint, + primary key (HOST_ID) + ); + + create table CCM_CORE.INITS ( + INITIALIZER_ID bigint not null, + CLASS_NAME varchar(255), + REQUIRED_BY_ID bigint, + primary key (INITIALIZER_ID) + ); + + create table CCM_CORE.INSTALLED_MODULES ( + MODULE_ID integer not null, + MODULE_CLASS_NAME varchar(2048), + STATUS varchar(255), + primary key (MODULE_ID) + ); + + create table CCM_CORE.LUCENE_DOCUMENTS ( + DOCUMENT_ID bigint not null, + CONTENT clob, + CONTENT_SECTION varchar(512), + COUNTRY varchar(8), + CREATED timestamp, + DIRTY bigint, + DOCUMENT_LANGUAGE varchar(8), + LAST_MODIFIED timestamp, + SUMMARY varchar(4096), + DOCUMENT_TIMESTAMP timestamp, + TITLE varchar(4096), + TYPE varchar(255), + TYPE_SPECIFIC_INFO varchar(512), + CREATED_BY_PARTY_ID bigint, + LAST_MODIFIED_BY bigint, + primary key (DOCUMENT_ID) + ); + + create table CCM_CORE.LUCENE_INDEXES ( + INDEX_ID bigint not null, + LUCENE_INDEX_ID bigint, + HOST_ID bigint, + primary key (INDEX_ID) + ); + + create table CCM_CORE.MESSAGES ( + BODY varchar(255), + BODY_MIME_TYPE varchar(255), + SENT timestamp, + SUBJECT varchar(255), + OBJECT_ID bigint not null, + IN_REPLY_TO_ID bigint, + SENDER_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.NOTIFICATIONS ( + EXPAND_GROUP boolean, + EXPUNGE boolean, + EXPUNGE_MESSAGE boolean, + FULFILL_DATE timestamp, + HEADER varchar(4096), + MAX_RETRIES bigint, + REQUEST_DATE timestamp, + SIGNATURE varchar(4096), + STATUS varchar(32), + OBJECT_ID bigint not null, + DIGEST_ID bigint, + MESSAGE_ID bigint, + RECEIVER_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ONE_TIME_AUTH_TOKENS ( + TOKEN_ID bigint not null, + PURPOSE varchar(255), + TOKEN varchar(255), + VALID_UNTIL timestamp, + USER_ID bigint, + primary key (TOKEN_ID) + ); + + create table CCM_CORE.PARTIES ( + PARTY_ID bigint not null, + NAME varchar(256) not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.PERMISSIONS ( + PERMISSION_ID bigint not null, + CREATION_DATE timestamp, + CREATION_IP varchar(255), + granted_privilege varchar(255), + CREATION_USER_ID bigint, + GRANTEE_ID bigint, + OBJECT_ID bigint, + primary key (PERMISSION_ID) + ); + + create table CCM_CORE.PORTALS ( + TEMPLATE boolean, + OBJECT_ID bigint not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.PORTLETS ( + CELL_NUMBER bigint, + SORT_KEY bigint, + OBJECT_ID bigint not null, + PORTAL_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.QUEUE_ITEMS ( + QUEUE_ITEM_ID bigint not null, + HEADER varchar(4096), + RECEIVER_ADDRESS varchar(512), + RETRY_COUNT bigint, + SIGNATURE varchar(4096), + SUCCESSFUL_SENDED boolean, + MESSAGE_ID bigint, + RECEIVER_ID bigint, + primary key (QUEUE_ITEM_ID) + ); + + create table CCM_CORE.RESOURCE_DESCRIPTIONS ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TITLES ( + OBJECT_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS ( + RESOURCE_TYPE_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (RESOURCE_TYPE_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TYPES ( + RESOURCE_TYPE_ID bigint not null, + SINGLETON boolean, + TITLE varchar(254) not null, + EMBEDDED_VIEW boolean, + FULL_PAGE_VIEW boolean, + WORKSPACE_APP boolean, + primary key (RESOURCE_TYPE_ID) + ); + + create table CCM_CORE.RESOURCES ( + CREATED timestamp, + OBJECT_ID bigint not null, + parent_OBJECT_ID bigint, + resourceType_RESOURCE_TYPE_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ROLE_MEMBERSHIPS ( + MEMBERSHIP_ID bigint not null, + MEMBER_ID bigint, + ROLE_ID bigint, + primary key (MEMBERSHIP_ID) + ); + + create table CCM_CORE.SETTINGS ( + DTYPE varchar(31) not null, + SETTING_ID bigint not null, + CONFIGURATION_CLASS varchar(512) not null, + NAME varchar(512) not null, + SETTING_VALUE_BOOLEAN boolean, + SETTING_VALUE_LONG bigint, + SETTING_VALUE_STRING varchar(1024), + SETTING_VALUE_DOUBLE double, + SETTING_VALUE_BIG_DECIMAL decimal(19,2), + primary key (SETTING_ID) + ); + + create table CCM_CORE.SETTINGS_ENUM_VALUES ( + ENUM_ID bigint not null, + value varchar(255) + ); + + create table CCM_CORE.SETTINGS_L10N_STR_VALUES ( + ENTRY_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (ENTRY_ID, LOCALE) + ); + + create table CCM_CORE.SETTINGS_STRING_LIST ( + LIST_ID bigint not null, + value varchar(255) + ); + + create table CCM_CORE.TASK_ASSIGNMENTS ( + TASK_ASSIGNMENT_ID bigint not null, + ROLE_ID bigint, + TASK_ID bigint, + primary key (TASK_ASSIGNMENT_ID) + ); + + create table CCM_CORE.THREADS ( + OBJECT_ID bigint not null, + ROOT_ID bigint, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.USER_EMAIL_ADDRESSES ( + USER_ID bigint not null, + EMAIL_ADDRESS varchar(512) not null, + BOUNCING boolean, + VERIFIED boolean + ); + + create table CCM_CORE.USERS ( + BANNED boolean, + FAMILY_NAME varchar(512), + GIVEN_NAME varchar(512), + PASSWORD varchar(2048), + PASSWORD_RESET_REQUIRED boolean, + EMAIL_ADDRESS varchar(512) not null, + BOUNCING boolean, + VERIFIED boolean, + PARTY_ID bigint not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.WORKFLOW_DESCRIPTIONS ( + WORKFLOW_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (WORKFLOW_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_NAMES ( + WORKFLOW_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (WORKFLOW_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_TASK_COMMENTS ( + TASK_ID bigint not null, + COMMENT clob + ); + + create table CCM_CORE.WORKFLOW_TASK_DEPENDENCIES ( + DEPENDS_ON_TASK_ID bigint not null, + DEPENDENT_TASK_ID bigint not null + ); + + create table CCM_CORE.WORKFLOW_TASK_LABELS ( + TASK_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (TASK_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_TASKS ( + TASK_ID bigint not null, + ACTIVE boolean, + TASK_STATE varchar(512), + WORKFLOW_ID bigint, + primary key (TASK_ID) + ); + + create table CCM_CORE.WORKFLOW_TASKS_DESCRIPTIONS ( + TASK_ID bigint not null, + LOCALIZED_VALUE clob, + LOCALE varchar(255) not null, + primary key (TASK_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_USER_TASKS ( + TASK_ID bigint not null, + ACTIVE boolean, + TASK_STATE varchar(512), + WORKFLOW_ID bigint, + DUE_DATE timestamp, + DURATION_MINUTES bigint, + LOCKED boolean, + START_DATE timestamp, + LOCKING_USER_ID bigint, + NOTIFICATION_SENDER bigint, + primary key (TASK_ID) + ); + + create table CCM_CORE.WORKFLOWS ( + WORKFLOW_ID bigint not null, + primary key (WORKFLOW_ID) + ); + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint UK_mb1riernf8a88u3mwl0bgfj8y unique (DOMAIN_KEY); + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint UK_i1xqotjvml7i6ro2jq22fxf5g unique (URI); + + alter table CCM_CORE.CCM_OBJECTS + add constraint UK_1cm71jlagvyvcnkqvxqyit3wx unique (UUID); + + alter table CCM_CORE.HOSTS + add constraint UK9ramlv6uxwt13v0wj7q0tucsx unique (SERVER_NAME, SERVER_PORT); + + alter table CCM_CORE.INSTALLED_MODULES + add constraint UK_11imwgfojyi4hpr18uw9g3jvx unique (MODULE_CLASS_NAME); + + alter table CCM_CORE.SETTINGS + add constraint UK5whinfxdaepqs09e5ia9y71uk unique (CONFIGURATION_CLASS, NAME); + + create table CCM_SHORTCUTS.SHORTCUTS ( + SHORTCUTS_ID bigint not null, + REDIRECT varchar(1024), + URL_KEY varchar(1024), + primary key (SHORTCUTS_ID) + ); + + alter table CCM_SHORTCUTS.SHORTCUTS + add constraint UK_4otuwtog6qqdbg4e6p8xdpw8h unique (URL_KEY); +create sequence hibernate_sequence start with 1 increment by 1; + + alter table CCM_CORE.APPLICATIONS + add constraint FKatcp9ij6mbkx0nfeig1o6n3lm + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.ATTACHMENTS + add constraint FK8ju9hm9baceridp803nislkwb + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.CATEGORIES + add constraint FKrj3marx99nheur4fqanm0ylur + foreign key (PARENT_CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORIES + add constraint FKpm291swli2musd0204phta652 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORIZATIONS + add constraint FKejp0ubk034nfq60v1po6srkke + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORIZATIONS + add constraint FKoyeipswl876wa6mqwbx0uy83h + foreign key (CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DESCRIPTIONS + add constraint FKhiwjlmh5vkbu3v3vng1la1qum + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint FKf25vi73cji01w8fgo6ow1dgg + foreign key (ROOT_CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint FK58xpmnvciohkom1c16oua4xha + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORY_TITLES + add constraint FKka9bt9f5br0kji5bcjxcmf6ch + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.DIGESTS + add constraint FKc53g09agnye3w1v4euy3e0gsi + foreign key (FROM_PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.DIGESTS + add constraint FK845r9ep6xu6nbt1mvxulwybym + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.DOMAIN_DESCRIPTIONS + add constraint FKn4i2dxgn8cqysa62dds6eih6a + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.DOMAIN_OWNERSHIPS + add constraint FK47nsasr7jrdwlky5gx0u6e9py + foreign key (domain_OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.DOMAIN_OWNERSHIPS + add constraint FK3u4hq6yqau4m419b1xva3xpwq + foreign key (owner_OBJECT_ID) + references CCM_CORE.APPLICATIONS; + + alter table CCM_CORE.DOMAIN_TITLES + add constraint FK5p526dsdwn94els6lp5w0hdn4 + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS + add constraint FKfh0k9lj3pf4amfc9bbbss0tr1 + foreign key (COMPONENT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_COMPONENTS + add constraint FKpcpmvyiix023b4g5n4q8nkfca + foreign key (parentComponent_OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_COMPONENTS + add constraint FKt0e0uv00pp1rwhyaltrytghnm + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_CONFIRM_EMAIL_LISTENER + add constraint FK48khrbud3xhi2gvsvnlttd8tg + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_CONFIRM_REDIRECT_LISTENERS + add constraint FKbyjjt2ufendvje2obtge2l7et + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_DATA_DRIVEN_SELECTS + add constraint FK8oriyta1957u7dvbrqk717944 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERIES + add constraint FKhhaxpeddbtmrnjr5o0fopju3a + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERY_DESCRIPTIONS + add constraint FKsmduu1opoiulkeo2gc8v7lsbn + foreign key (DATA_QUERY_ID) + references CCM_CORE.FORMBUILDER_DATA_QUERIES; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERY_NAMES + add constraint FKju1x82inrw3kguyjuxoetn6gn + foreign key (DATA_QUERY_ID) + references CCM_CORE.FORMBUILDER_DATA_QUERIES; + + alter table CCM_CORE.FORMBUILDER_FORMSECTIONS + add constraint FKnfhsgxp4lvigq2pm33pn4afac + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_LISTENERS + add constraint FK33ilyirwoux28yowafgd5xx0o + foreign key (widget_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_LISTENERS + add constraint FKlqm76746nq5yrt8ganm474uu0 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_METAOBJECTS + add constraint FKf963v6u9mw8pwjmasrw51w8dx + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_OBJECT_TYPES + add constraint FKkv337e83rsecf0h3qy8bu7l9w + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_OPTION_LABELS + add constraint FKatlsylsvln6yse55eof6wwkj6 + foreign key (OPTION_ID) + references CCM_CORE.FORMBUILDER_OPTIONS; + + alter table CCM_CORE.FORMBUILDER_OPTIONS + add constraint FKhe5q71wby9g4i56sotc501h11 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS + add constraint FKcv3iu04gxjk9c0pn6tl8rqqv3 + foreign key (PROCESS_LISTENER_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_NAMES + add constraint FK8rnyb1m6ij3b9hhmhr7klgd4p + foreign key (PROCESS_LISTENER_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS + add constraint FK7uiaeax8qafm82e5k729ms5ku + foreign key (formSection_OBJECT_ID) + references CCM_CORE.FORMBUILDER_FORMSECTIONS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS + add constraint FKbdnloo884qk6gn36jwiqv5rlp + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_REMOTE_SERVER_POST_LISTENER + add constraint FKpajvu9m6fj1enm67a9gcb5ii9 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_SIMPLE_EMAIL_LISTENERS + add constraint FKsn82ktlq0c9ikijyv8k2bfv4f + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_TEMPLATE_EMAIL_LISTENERS + add constraint FK8kjyu72btjsuaaqh4bvd8npns + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_WIDGET_LABELS + add constraint FKb1q9bfshcrkwlj7r8w5jb4y8l + foreign key (widget_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_WIDGET_LABELS + add constraint FKm1huo6ghk9l5o8buku9v8y6q7 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_WIDGETS + add constraint FKs7qq6vxblhmq0rlf87re65jdp + foreign key (label_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGET_LABELS; + + alter table CCM_CORE.FORMBUILDER_WIDGETS + add constraint FK1wosr4ujbfckdc50u5fgmrhrk + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_XML_EMAIL_LISTENERS + add constraint FKjie9co03m7ow4ihig5rk7l8oj + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.GROUP_MEMBERSHIPS + add constraint FKq4qnny8ri3eo7eqh4olxco8nk + foreign key (GROUP_ID) + references CCM_CORE.GROUPS; + + alter table CCM_CORE.GROUP_MEMBERSHIPS + add constraint FKc8u86ivkhvoiw6ju8b2p365he + foreign key (MEMBER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.GROUPS + add constraint FK4f61mlqxw0ct6s7wwpi9m0735 + foreign key (PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.INITS + add constraint FK3nvvxk10nmq9nfuko8yklqdgc + foreign key (REQUIRED_BY_ID) + references CCM_CORE.INITS; + + alter table CCM_CORE.LUCENE_DOCUMENTS + add constraint FK942kl4yff8rdiwr0pjk2a9g8 + foreign key (CREATED_BY_PARTY_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.LUCENE_DOCUMENTS + add constraint FKc5rs6afx4p9fidabfqsxr5ble + foreign key (LAST_MODIFIED_BY) + references CCM_CORE.USERS; + + alter table CCM_CORE.LUCENE_INDEXES + add constraint FK6gu0yrlviqk07dtb3r02iw43f + foreign key (HOST_ID) + references CCM_CORE.HOSTS; + + alter table CCM_CORE.MESSAGES + add constraint FKph10aehmg9f20pn2w4buki97q + foreign key (IN_REPLY_TO_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.MESSAGES + add constraint FKjufsx3c3h538fj35h8hgfnb1p + foreign key (SENDER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.MESSAGES + add constraint FK6w20ao7scwecd9mfwpun2ddqx + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKqk70c1x1dklhty9ju5t4wukd9 + foreign key (DIGEST_ID) + references CCM_CORE.DIGESTS; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKtt4fjr2p75og79jxxgd8q8mr + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FK2vlnma0ox43j0clx8ead08n5s + foreign key (RECEIVER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKf423hhiaw1bexpxeh1pnas7qt + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.ONE_TIME_AUTH_TOKENS + add constraint FKtplfuphkiorfkttaewb4wmfjc + foreign key (USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.PERMISSIONS + add constraint FKj9di7pawxgtouxmu2k44bj5c4 + foreign key (CREATION_USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.PERMISSIONS + add constraint FKikx3x0kn9fito23g50v6xbr9f + foreign key (GRANTEE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.PERMISSIONS + add constraint FKkamckexjnffnt8lay9nqeawhm + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.PORTALS + add constraint FK5a2hdrbw03mmgr74vj5nxlpvk + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.PORTLETS + add constraint FK9gr5xjt3rx4uhtw7vl6adruol + foreign key (PORTAL_ID) + references CCM_CORE.PORTALS; + + alter table CCM_CORE.PORTLETS + add constraint FKjmx9uebt0gwxkw3xv34niy35f + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.QUEUE_ITEMS + add constraint FKtgkwfruv9kjdybf46l02da088 + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.QUEUE_ITEMS + add constraint FKs9aq1hyxstwmvx7fmfifp4x7r + foreign key (RECEIVER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.RESOURCE_DESCRIPTIONS + add constraint FKk9arvj5u21rv23ce3cav4opqx + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCE_TITLES + add constraint FKto4p6n2wklljyf7tmuxtmyfe0 + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS + add constraint FKckpihjtv23iahbg3imnpbsr2 + foreign key (RESOURCE_TYPE_ID) + references CCM_CORE.RESOURCE_TYPES; + + alter table CCM_CORE.RESOURCES + add constraint FKbo7ibfgodicn9flv2gfo11g5a + foreign key (parent_OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCES + add constraint FK262fbwetpjx3k4uuvw24wsiv + foreign key (resourceType_RESOURCE_TYPE_ID) + references CCM_CORE.RESOURCE_TYPES; + + alter table CCM_CORE.RESOURCES + add constraint FKbjdf8pm4frth8r06ev2qjm88f + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.ROLE_MEMBERSHIPS + add constraint FK9m88ywi7rcin7b7jrgh53emrq + foreign key (MEMBER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.ROLE_MEMBERSHIPS + add constraint FKcsyogv5m2rgsrmtgnhgkjhfw7 + foreign key (ROLE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.SETTINGS_ENUM_VALUES + add constraint FK8mw4p92s0h3h8bmo8saowu32i + foreign key (ENUM_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.SETTINGS_L10N_STR_VALUES + add constraint FK5knjq7cisej0qfx5dw1y93rou + foreign key (ENTRY_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.SETTINGS_STRING_LIST + add constraint FKqeclqa5sf1g53vxs857tpwrus + foreign key (LIST_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.TASK_ASSIGNMENTS + add constraint FKe29uwmvxdmol1fjob3auej4qv + foreign key (ROLE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.TASK_ASSIGNMENTS + add constraint FKc1vovbjg9mp5yegx2fdoutx7u + foreign key (TASK_ID) + references CCM_CORE.WORKFLOW_USER_TASKS; + + alter table CCM_CORE.THREADS + add constraint FKsx08mpwvwnw97uwdgjs76q39g + foreign key (ROOT_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.THREADS + add constraint FKp97b1sy1kop07rtapeh5l9fb2 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.USER_EMAIL_ADDRESSES + add constraint FKr900l79erul95seyyccf04ufc + foreign key (USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.USERS + add constraint FKosh928q71aonu6l1kurb417r + foreign key (PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.WORKFLOW_DESCRIPTIONS + add constraint FKgx7upkqky82dpxvbs95imfl9l + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_NAMES + add constraint FKkxedy9p48avfk45r0bn4uc09i + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_TASKS + add constraint FK1693cbc36e4d8gucg8q7sc57e + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FKf09depwj5rgso2dair07vnu33 + foreign key (LOCKING_USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FK6evo9y34awhdfcyl8gv78qb7f + foreign key (NOTIFICATION_SENDER) + references CCM_CORE.USERS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FK_bg60xxg9kerqsxyphbfxulg8y + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; \ No newline at end of file diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/test-persistence.xml b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/test-persistence.xml new file mode 100644 index 000000000..310a9ef12 --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-h2-mem/test-persistence.xml @@ -0,0 +1,40 @@ + + + + + + + + + org.hibernate.jpa.HibernatePersistenceProvider + + java:/comp/env/jdbc/org/libreccm/ccm-shortcuts/h2-mem + + + + + + + + + + + + diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/arquillian.xml b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/arquillian.xml new file mode 100644 index 000000000..3e2edace9 --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/arquillian.xml @@ -0,0 +1,40 @@ + + + + + target/deployments + + + + java:/comp/env/jdbc/org/libreccm/ccm-shortcuts/pgsql + + + + NONE + + true + target + + + + json + + true + true + + + + scripts/pgsql-cleanup.sql + + + + + diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/scripts/create_ccm_shortcuts_schema.sql b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/scripts/create_ccm_shortcuts_schema.sql new file mode 100644 index 000000000..a39e1f8b3 --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/scripts/create_ccm_shortcuts_schema.sql @@ -0,0 +1,1085 @@ +DROP SCHEMA IF EXISTS ccm_shortcuts CASCADE; +DROP SCHEMA IF EXISTS ccm_core CASCADE; + +DROP SEQUENCE IF EXISTS hibernate_sequence; + +CREATE SCHEMA ccm_core; +CREATE SCHEMA ccm_shortcuts; + + create table CCM_CORE.APPLICATIONS ( + APPLICATION_TYPE varchar(1024) not null, + PRIMARY_URL varchar(1024) not null, + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ATTACHMENTS ( + ATTACHMENT_ID int8 not null, + ATTACHMENT_DATA oid, + DESCRIPTION varchar(255), + MIME_TYPE varchar(255), + TITLE varchar(255), + MESSAGE_ID int8, + primary key (ATTACHMENT_ID) + ); + + create table CCM_CORE.CATEGORIES ( + ABSTRACT_CATEGORY boolean, + CATEGORY_ORDER int8, + ENABLED boolean, + NAME varchar(255) not null, + UNIQUE_ID varchar(255), + VISIBLE boolean, + OBJECT_ID int8 not null, + PARENT_CATEGORY_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CATEGORIZATIONS ( + CATEGORIZATION_ID int8 not null, + CATEGORY_ORDER int8, + CATEGORY_INDEX boolean, + OBJECT_ORDER int8, + OBJECT_ID int8, + CATEGORY_ID int8, + primary key (CATEGORIZATION_ID) + ); + + create table CCM_CORE.CATEGORY_DESCRIPTIONS ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.CATEGORY_DOMAINS ( + DOMAIN_KEY varchar(255) not null, + RELEASED timestamp, + URI varchar(1024), + VERSION varchar(255), + OBJECT_ID int8 not null, + ROOT_CATEGORY_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CATEGORY_TITLES ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.CCM_OBJECTS ( + OBJECT_ID int8 not null, + DISPLAY_NAME varchar(255), + UUID varchar(255), + primary key (OBJECT_ID) + ); + + create table CCM_CORE.CCM_REVISIONS ( + id int4 not null, + timestamp int8 not null, + USER_NAME varchar(255), + primary key (id) + ); + + create table CCM_CORE.CCM_ROLES ( + ROLE_ID int8 not null, + NAME varchar(512) not null, + primary key (ROLE_ID) + ); + + create table CCM_CORE.DIGESTS ( + FREQUENCY int4, + HEADER varchar(4096) not null, + NEXT_RUN timestamp, + DIGEST_SEPARATOR varchar(128) not null, + SIGNATURE varchar(4096) not null, + SUBJECT varchar(255) not null, + OBJECT_ID int8 not null, + FROM_PARTY_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.DOMAIN_DESCRIPTIONS ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.DOMAIN_OWNERSHIPS ( + OWNERSHIP_ID int8 not null, + CONTEXT varchar(255), + DOMAIN_ORDER int8, + OWNER_ORDER int8, + domain_OBJECT_ID int8 not null, + owner_OBJECT_ID int8 not null, + primary key (OWNERSHIP_ID) + ); + + create table CCM_CORE.DOMAIN_TITLES ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS ( + COMPONENT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (COMPONENT_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_COMPONENTS ( + ACTIVE boolean, + ADMIN_NAME varchar(255), + ATTRIBUTE_STRING varchar(255), + COMPONENT_ORDER int8, + SELECTED boolean, + OBJECT_ID int8 not null, + parentComponent_OBJECT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_CONFIRM_EMAIL_LISTENER ( + BODY text, + FROM_EMAIL varchar(255), + SUBJECT varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_CONFIRM_REDIRECT_LISTENERS ( + URL varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_DRIVEN_SELECTS ( + MULTIPLE boolean, + QUERY varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERIES ( + QUERY_ID varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERY_DESCRIPTIONS ( + DATA_QUERY_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (DATA_QUERY_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_DATA_QUERY_NAMES ( + DATA_QUERY_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (DATA_QUERY_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_FORMSECTIONS ( + FORMSECTION_ACTION varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_LISTENERS ( + ATTRIBUTE_STRING varchar(255), + CLASS_NAME varchar(255), + OBJECT_ID int8 not null, + widget_OBJECT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_METAOBJECTS ( + CLASS_NAME varchar(255), + PRETTY_NAME varchar(255), + PRETTY_PLURAL varchar(255), + PROPERTIES_FORM varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_OBJECT_TYPES ( + APP_NAME varchar(255), + CLASS_NAME varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_OPTION_LABELS ( + OPTION_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OPTION_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_OPTIONS ( + PARAMETER_VALUE varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS ( + PROCESS_LISTENER_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (PROCESS_LISTENER_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_NAMES ( + PROCESS_LISTENER_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (PROCESS_LISTENER_ID, LOCALE) + ); + + create table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS ( + LISTENER_CLASS varchar(255), + PROCESS_LISTENER_ORDER int8, + OBJECT_ID int8 not null, + formSection_OBJECT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_REMOTE_SERVER_POST_LISTENER ( + REMOTE_URL varchar(2048), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_SIMPLE_EMAIL_LISTENERS ( + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_TEMPLATE_EMAIL_LISTENERS ( + BODY text, + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_WIDGET_LABELS ( + OBJECT_ID int8 not null, + widget_OBJECT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_WIDGETS ( + DEFAULT_VALUE varchar(255), + PARAMETER_MODEL varchar(255), + PARAMETER_NAME varchar(255), + OBJECT_ID int8 not null, + label_OBJECT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.FORMBUILDER_XML_EMAIL_LISTENERS ( + RECIPIENT varchar(255), + SUBJECT varchar(255), + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.GROUP_MEMBERSHIPS ( + MEMBERSHIP_ID int8 not null, + GROUP_ID int8, + MEMBER_ID int8, + primary key (MEMBERSHIP_ID) + ); + + create table CCM_CORE.GROUPS ( + PARTY_ID int8 not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.HOSTS ( + HOST_ID int8 not null, + SERVER_NAME varchar(512), + SERVER_PORT int8, + primary key (HOST_ID) + ); + + create table CCM_CORE.INITS ( + INITIALIZER_ID int8 not null, + CLASS_NAME varchar(255), + REQUIRED_BY_ID int8, + primary key (INITIALIZER_ID) + ); + + create table CCM_CORE.INSTALLED_MODULES ( + MODULE_ID int4 not null, + MODULE_CLASS_NAME varchar(2048), + STATUS varchar(255), + primary key (MODULE_ID) + ); + + create table CCM_CORE.LUCENE_DOCUMENTS ( + DOCUMENT_ID int8 not null, + CONTENT text, + CONTENT_SECTION varchar(512), + COUNTRY varchar(8), + CREATED timestamp, + DIRTY int8, + DOCUMENT_LANGUAGE varchar(8), + LAST_MODIFIED timestamp, + SUMMARY varchar(4096), + DOCUMENT_TIMESTAMP timestamp, + TITLE varchar(4096), + TYPE varchar(255), + TYPE_SPECIFIC_INFO varchar(512), + CREATED_BY_PARTY_ID int8, + LAST_MODIFIED_BY int8, + primary key (DOCUMENT_ID) + ); + + create table CCM_CORE.LUCENE_INDEXES ( + INDEX_ID int8 not null, + LUCENE_INDEX_ID int8, + HOST_ID int8, + primary key (INDEX_ID) + ); + + create table CCM_CORE.MESSAGES ( + BODY varchar(255), + BODY_MIME_TYPE varchar(255), + SENT timestamp, + SUBJECT varchar(255), + OBJECT_ID int8 not null, + IN_REPLY_TO_ID int8, + SENDER_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.NOTIFICATIONS ( + EXPAND_GROUP boolean, + EXPUNGE boolean, + EXPUNGE_MESSAGE boolean, + FULFILL_DATE timestamp, + HEADER varchar(4096), + MAX_RETRIES int8, + REQUEST_DATE timestamp, + SIGNATURE varchar(4096), + STATUS varchar(32), + OBJECT_ID int8 not null, + DIGEST_ID int8, + MESSAGE_ID int8, + RECEIVER_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ONE_TIME_AUTH_TOKENS ( + TOKEN_ID int8 not null, + PURPOSE varchar(255), + TOKEN varchar(255), + VALID_UNTIL timestamp, + USER_ID int8, + primary key (TOKEN_ID) + ); + + create table CCM_CORE.PARTIES ( + PARTY_ID int8 not null, + NAME varchar(256) not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.PERMISSIONS ( + PERMISSION_ID int8 not null, + CREATION_DATE timestamp, + CREATION_IP varchar(255), + granted_privilege varchar(255), + CREATION_USER_ID int8, + GRANTEE_ID int8, + OBJECT_ID int8, + primary key (PERMISSION_ID) + ); + + create table CCM_CORE.PORTALS ( + TEMPLATE boolean, + OBJECT_ID int8 not null, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.PORTLETS ( + CELL_NUMBER int8, + SORT_KEY int8, + OBJECT_ID int8 not null, + PORTAL_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.QUEUE_ITEMS ( + QUEUE_ITEM_ID int8 not null, + HEADER varchar(4096), + RECEIVER_ADDRESS varchar(512), + RETRY_COUNT int8, + SIGNATURE varchar(4096), + SUCCESSFUL_SENDED boolean, + MESSAGE_ID int8, + RECEIVER_ID int8, + primary key (QUEUE_ITEM_ID) + ); + + create table CCM_CORE.RESOURCE_DESCRIPTIONS ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TITLES ( + OBJECT_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (OBJECT_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS ( + RESOURCE_TYPE_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (RESOURCE_TYPE_ID, LOCALE) + ); + + create table CCM_CORE.RESOURCE_TYPES ( + RESOURCE_TYPE_ID int8 not null, + SINGLETON boolean, + TITLE varchar(254) not null, + EMBEDDED_VIEW boolean, + FULL_PAGE_VIEW boolean, + WORKSPACE_APP boolean, + primary key (RESOURCE_TYPE_ID) + ); + + create table CCM_CORE.RESOURCES ( + CREATED timestamp, + OBJECT_ID int8 not null, + parent_OBJECT_ID int8, + resourceType_RESOURCE_TYPE_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.ROLE_MEMBERSHIPS ( + MEMBERSHIP_ID int8 not null, + MEMBER_ID int8, + ROLE_ID int8, + primary key (MEMBERSHIP_ID) + ); + + create table CCM_CORE.SETTINGS ( + DTYPE varchar(31) not null, + SETTING_ID int8 not null, + CONFIGURATION_CLASS varchar(512) not null, + NAME varchar(512) not null, + SETTING_VALUE_BOOLEAN boolean, + SETTING_VALUE_LONG int8, + SETTING_VALUE_STRING varchar(1024), + SETTING_VALUE_DOUBLE float8, + SETTING_VALUE_BIG_DECIMAL numeric(19, 2), + primary key (SETTING_ID) + ); + + create table CCM_CORE.SETTINGS_ENUM_VALUES ( + ENUM_ID int8 not null, + value varchar(255) + ); + + create table CCM_CORE.SETTINGS_L10N_STR_VALUES ( + ENTRY_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (ENTRY_ID, LOCALE) + ); + + create table CCM_CORE.SETTINGS_STRING_LIST ( + LIST_ID int8 not null, + value varchar(255) + ); + + create table CCM_CORE.TASK_ASSIGNMENTS ( + TASK_ASSIGNMENT_ID int8 not null, + ROLE_ID int8, + TASK_ID int8, + primary key (TASK_ASSIGNMENT_ID) + ); + + create table CCM_CORE.THREADS ( + OBJECT_ID int8 not null, + ROOT_ID int8, + primary key (OBJECT_ID) + ); + + create table CCM_CORE.USER_EMAIL_ADDRESSES ( + USER_ID int8 not null, + EMAIL_ADDRESS varchar(512) not null, + BOUNCING boolean, + VERIFIED boolean + ); + + create table CCM_CORE.USERS ( + BANNED boolean, + FAMILY_NAME varchar(512), + GIVEN_NAME varchar(512), + PASSWORD varchar(2048), + PASSWORD_RESET_REQUIRED boolean, + EMAIL_ADDRESS varchar(512) not null, + BOUNCING boolean, + VERIFIED boolean, + PARTY_ID int8 not null, + primary key (PARTY_ID) + ); + + create table CCM_CORE.WORKFLOW_DESCRIPTIONS ( + WORKFLOW_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (WORKFLOW_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_NAMES ( + WORKFLOW_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (WORKFLOW_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_TASK_COMMENTS ( + TASK_ID int8 not null, + COMMENT text + ); + + create table CCM_CORE.WORKFLOW_TASK_DEPENDENCIES ( + DEPENDS_ON_TASK_ID int8 not null, + DEPENDENT_TASK_ID int8 not null + ); + + create table CCM_CORE.WORKFLOW_TASK_LABELS ( + TASK_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (TASK_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_TASKS ( + TASK_ID int8 not null, + ACTIVE boolean, + TASK_STATE varchar(512), + WORKFLOW_ID int8, + primary key (TASK_ID) + ); + + create table CCM_CORE.WORKFLOW_TASKS_DESCRIPTIONS ( + TASK_ID int8 not null, + LOCALIZED_VALUE text, + LOCALE varchar(255) not null, + primary key (TASK_ID, LOCALE) + ); + + create table CCM_CORE.WORKFLOW_USER_TASKS ( + TASK_ID int8 not null, + ACTIVE boolean, + TASK_STATE varchar(512), + WORKFLOW_ID int8, + DUE_DATE timestamp, + DURATION_MINUTES int8, + LOCKED boolean, + START_DATE timestamp, + LOCKING_USER_ID int8, + NOTIFICATION_SENDER int8, + primary key (TASK_ID) + ); + + create table CCM_CORE.WORKFLOWS ( + WORKFLOW_ID int8 not null, + primary key (WORKFLOW_ID) + ); + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint UK_mb1riernf8a88u3mwl0bgfj8y unique (DOMAIN_KEY); + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint UK_i1xqotjvml7i6ro2jq22fxf5g unique (URI); + + alter table CCM_CORE.CCM_OBJECTS + add constraint UK_1cm71jlagvyvcnkqvxqyit3wx unique (UUID); + + alter table CCM_CORE.HOSTS + add constraint UK9ramlv6uxwt13v0wj7q0tucsx unique (SERVER_NAME, SERVER_PORT); + + alter table CCM_CORE.INSTALLED_MODULES + add constraint UK_11imwgfojyi4hpr18uw9g3jvx unique (MODULE_CLASS_NAME); + + alter table CCM_CORE.SETTINGS + add constraint UK5whinfxdaepqs09e5ia9y71uk unique (CONFIGURATION_CLASS, NAME); + + create table CCM_SHORTCUTS.SHORTCUTS ( + SHORTCUTS_ID int8 not null, + REDIRECT varchar(1024), + URL_KEY varchar(1024), + primary key (SHORTCUTS_ID) + ); + + alter table CCM_SHORTCUTS.SHORTCUTS + add constraint UK_4otuwtog6qqdbg4e6p8xdpw8h unique (URL_KEY); +create sequence hibernate_sequence start 1 increment 1; + + alter table CCM_CORE.APPLICATIONS + add constraint FKatcp9ij6mbkx0nfeig1o6n3lm + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.ATTACHMENTS + add constraint FK8ju9hm9baceridp803nislkwb + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.CATEGORIES + add constraint FKrj3marx99nheur4fqanm0ylur + foreign key (PARENT_CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORIES + add constraint FKpm291swli2musd0204phta652 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORIZATIONS + add constraint FKejp0ubk034nfq60v1po6srkke + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORIZATIONS + add constraint FKoyeipswl876wa6mqwbx0uy83h + foreign key (CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DESCRIPTIONS + add constraint FKhiwjlmh5vkbu3v3vng1la1qum + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint FKf25vi73cji01w8fgo6ow1dgg + foreign key (ROOT_CATEGORY_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.CATEGORY_DOMAINS + add constraint FK58xpmnvciohkom1c16oua4xha + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.CATEGORY_TITLES + add constraint FKka9bt9f5br0kji5bcjxcmf6ch + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORIES; + + alter table CCM_CORE.DIGESTS + add constraint FKc53g09agnye3w1v4euy3e0gsi + foreign key (FROM_PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.DIGESTS + add constraint FK845r9ep6xu6nbt1mvxulwybym + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.DOMAIN_DESCRIPTIONS + add constraint FKn4i2dxgn8cqysa62dds6eih6a + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.DOMAIN_OWNERSHIPS + add constraint FK47nsasr7jrdwlky5gx0u6e9py + foreign key (domain_OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.DOMAIN_OWNERSHIPS + add constraint FK3u4hq6yqau4m419b1xva3xpwq + foreign key (owner_OBJECT_ID) + references CCM_CORE.APPLICATIONS; + + alter table CCM_CORE.DOMAIN_TITLES + add constraint FK5p526dsdwn94els6lp5w0hdn4 + foreign key (OBJECT_ID) + references CCM_CORE.CATEGORY_DOMAINS; + + alter table CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS + add constraint FKfh0k9lj3pf4amfc9bbbss0tr1 + foreign key (COMPONENT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_COMPONENTS + add constraint FKpcpmvyiix023b4g5n4q8nkfca + foreign key (parentComponent_OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_COMPONENTS + add constraint FKt0e0uv00pp1rwhyaltrytghnm + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_CONFIRM_EMAIL_LISTENER + add constraint FK48khrbud3xhi2gvsvnlttd8tg + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_CONFIRM_REDIRECT_LISTENERS + add constraint FKbyjjt2ufendvje2obtge2l7et + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_DATA_DRIVEN_SELECTS + add constraint FK8oriyta1957u7dvbrqk717944 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERIES + add constraint FKhhaxpeddbtmrnjr5o0fopju3a + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERY_DESCRIPTIONS + add constraint FKsmduu1opoiulkeo2gc8v7lsbn + foreign key (DATA_QUERY_ID) + references CCM_CORE.FORMBUILDER_DATA_QUERIES; + + alter table CCM_CORE.FORMBUILDER_DATA_QUERY_NAMES + add constraint FKju1x82inrw3kguyjuxoetn6gn + foreign key (DATA_QUERY_ID) + references CCM_CORE.FORMBUILDER_DATA_QUERIES; + + alter table CCM_CORE.FORMBUILDER_FORMSECTIONS + add constraint FKnfhsgxp4lvigq2pm33pn4afac + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_LISTENERS + add constraint FK33ilyirwoux28yowafgd5xx0o + foreign key (widget_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_LISTENERS + add constraint FKlqm76746nq5yrt8ganm474uu0 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_METAOBJECTS + add constraint FKf963v6u9mw8pwjmasrw51w8dx + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_OBJECT_TYPES + add constraint FKkv337e83rsecf0h3qy8bu7l9w + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_OPTION_LABELS + add constraint FKatlsylsvln6yse55eof6wwkj6 + foreign key (OPTION_ID) + references CCM_CORE.FORMBUILDER_OPTIONS; + + alter table CCM_CORE.FORMBUILDER_OPTIONS + add constraint FKhe5q71wby9g4i56sotc501h11 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS + add constraint FKcv3iu04gxjk9c0pn6tl8rqqv3 + foreign key (PROCESS_LISTENER_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_NAMES + add constraint FK8rnyb1m6ij3b9hhmhr7klgd4p + foreign key (PROCESS_LISTENER_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS + add constraint FK7uiaeax8qafm82e5k729ms5ku + foreign key (formSection_OBJECT_ID) + references CCM_CORE.FORMBUILDER_FORMSECTIONS; + + alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS + add constraint FKbdnloo884qk6gn36jwiqv5rlp + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.FORMBUILDER_REMOTE_SERVER_POST_LISTENER + add constraint FKpajvu9m6fj1enm67a9gcb5ii9 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_SIMPLE_EMAIL_LISTENERS + add constraint FKsn82ktlq0c9ikijyv8k2bfv4f + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_TEMPLATE_EMAIL_LISTENERS + add constraint FK8kjyu72btjsuaaqh4bvd8npns + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.FORMBUILDER_WIDGET_LABELS + add constraint FKb1q9bfshcrkwlj7r8w5jb4y8l + foreign key (widget_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGETS; + + alter table CCM_CORE.FORMBUILDER_WIDGET_LABELS + add constraint FKm1huo6ghk9l5o8buku9v8y6q7 + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_WIDGETS + add constraint FKs7qq6vxblhmq0rlf87re65jdp + foreign key (label_OBJECT_ID) + references CCM_CORE.FORMBUILDER_WIDGET_LABELS; + + alter table CCM_CORE.FORMBUILDER_WIDGETS + add constraint FK1wosr4ujbfckdc50u5fgmrhrk + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_COMPONENTS; + + alter table CCM_CORE.FORMBUILDER_XML_EMAIL_LISTENERS + add constraint FKjie9co03m7ow4ihig5rk7l8oj + foreign key (OBJECT_ID) + references CCM_CORE.FORMBUILDER_PROCESS_LISTENERS; + + alter table CCM_CORE.GROUP_MEMBERSHIPS + add constraint FKq4qnny8ri3eo7eqh4olxco8nk + foreign key (GROUP_ID) + references CCM_CORE.GROUPS; + + alter table CCM_CORE.GROUP_MEMBERSHIPS + add constraint FKc8u86ivkhvoiw6ju8b2p365he + foreign key (MEMBER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.GROUPS + add constraint FK4f61mlqxw0ct6s7wwpi9m0735 + foreign key (PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.INITS + add constraint FK3nvvxk10nmq9nfuko8yklqdgc + foreign key (REQUIRED_BY_ID) + references CCM_CORE.INITS; + + alter table CCM_CORE.LUCENE_DOCUMENTS + add constraint FK942kl4yff8rdiwr0pjk2a9g8 + foreign key (CREATED_BY_PARTY_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.LUCENE_DOCUMENTS + add constraint FKc5rs6afx4p9fidabfqsxr5ble + foreign key (LAST_MODIFIED_BY) + references CCM_CORE.USERS; + + alter table CCM_CORE.LUCENE_INDEXES + add constraint FK6gu0yrlviqk07dtb3r02iw43f + foreign key (HOST_ID) + references CCM_CORE.HOSTS; + + alter table CCM_CORE.MESSAGES + add constraint FKph10aehmg9f20pn2w4buki97q + foreign key (IN_REPLY_TO_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.MESSAGES + add constraint FKjufsx3c3h538fj35h8hgfnb1p + foreign key (SENDER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.MESSAGES + add constraint FK6w20ao7scwecd9mfwpun2ddqx + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKqk70c1x1dklhty9ju5t4wukd9 + foreign key (DIGEST_ID) + references CCM_CORE.DIGESTS; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKtt4fjr2p75og79jxxgd8q8mr + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FK2vlnma0ox43j0clx8ead08n5s + foreign key (RECEIVER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.NOTIFICATIONS + add constraint FKf423hhiaw1bexpxeh1pnas7qt + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.ONE_TIME_AUTH_TOKENS + add constraint FKtplfuphkiorfkttaewb4wmfjc + foreign key (USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.PERMISSIONS + add constraint FKj9di7pawxgtouxmu2k44bj5c4 + foreign key (CREATION_USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.PERMISSIONS + add constraint FKikx3x0kn9fito23g50v6xbr9f + foreign key (GRANTEE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.PERMISSIONS + add constraint FKkamckexjnffnt8lay9nqeawhm + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.PORTALS + add constraint FK5a2hdrbw03mmgr74vj5nxlpvk + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.PORTLETS + add constraint FK9gr5xjt3rx4uhtw7vl6adruol + foreign key (PORTAL_ID) + references CCM_CORE.PORTALS; + + alter table CCM_CORE.PORTLETS + add constraint FKjmx9uebt0gwxkw3xv34niy35f + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.QUEUE_ITEMS + add constraint FKtgkwfruv9kjdybf46l02da088 + foreign key (MESSAGE_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.QUEUE_ITEMS + add constraint FKs9aq1hyxstwmvx7fmfifp4x7r + foreign key (RECEIVER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.RESOURCE_DESCRIPTIONS + add constraint FKk9arvj5u21rv23ce3cav4opqx + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCE_TITLES + add constraint FKto4p6n2wklljyf7tmuxtmyfe0 + foreign key (OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS + add constraint FKckpihjtv23iahbg3imnpbsr2 + foreign key (RESOURCE_TYPE_ID) + references CCM_CORE.RESOURCE_TYPES; + + alter table CCM_CORE.RESOURCES + add constraint FKbo7ibfgodicn9flv2gfo11g5a + foreign key (parent_OBJECT_ID) + references CCM_CORE.RESOURCES; + + alter table CCM_CORE.RESOURCES + add constraint FK262fbwetpjx3k4uuvw24wsiv + foreign key (resourceType_RESOURCE_TYPE_ID) + references CCM_CORE.RESOURCE_TYPES; + + alter table CCM_CORE.RESOURCES + add constraint FKbjdf8pm4frth8r06ev2qjm88f + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.ROLE_MEMBERSHIPS + add constraint FK9m88ywi7rcin7b7jrgh53emrq + foreign key (MEMBER_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.ROLE_MEMBERSHIPS + add constraint FKcsyogv5m2rgsrmtgnhgkjhfw7 + foreign key (ROLE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.SETTINGS_ENUM_VALUES + add constraint FK8mw4p92s0h3h8bmo8saowu32i + foreign key (ENUM_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.SETTINGS_L10N_STR_VALUES + add constraint FK5knjq7cisej0qfx5dw1y93rou + foreign key (ENTRY_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.SETTINGS_STRING_LIST + add constraint FKqeclqa5sf1g53vxs857tpwrus + foreign key (LIST_ID) + references CCM_CORE.SETTINGS; + + alter table CCM_CORE.TASK_ASSIGNMENTS + add constraint FKe29uwmvxdmol1fjob3auej4qv + foreign key (ROLE_ID) + references CCM_CORE.CCM_ROLES; + + alter table CCM_CORE.TASK_ASSIGNMENTS + add constraint FKc1vovbjg9mp5yegx2fdoutx7u + foreign key (TASK_ID) + references CCM_CORE.WORKFLOW_USER_TASKS; + + alter table CCM_CORE.THREADS + add constraint FKsx08mpwvwnw97uwdgjs76q39g + foreign key (ROOT_ID) + references CCM_CORE.MESSAGES; + + alter table CCM_CORE.THREADS + add constraint FKp97b1sy1kop07rtapeh5l9fb2 + foreign key (OBJECT_ID) + references CCM_CORE.CCM_OBJECTS; + + alter table CCM_CORE.USER_EMAIL_ADDRESSES + add constraint FKr900l79erul95seyyccf04ufc + foreign key (USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.USERS + add constraint FKosh928q71aonu6l1kurb417r + foreign key (PARTY_ID) + references CCM_CORE.PARTIES; + + alter table CCM_CORE.WORKFLOW_DESCRIPTIONS + add constraint FKgx7upkqky82dpxvbs95imfl9l + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_NAMES + add constraint FKkxedy9p48avfk45r0bn4uc09i + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_TASKS + add constraint FK1693cbc36e4d8gucg8q7sc57e + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FKf09depwj5rgso2dair07vnu33 + foreign key (LOCKING_USER_ID) + references CCM_CORE.USERS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FK6evo9y34awhdfcyl8gv78qb7f + foreign key (NOTIFICATION_SENDER) + references CCM_CORE.USERS; + + alter table CCM_CORE.WORKFLOW_USER_TASKS + add constraint FK_bg60xxg9kerqsxyphbfxulg8y + foreign key (WORKFLOW_ID) + references CCM_CORE.WORKFLOWS; diff --git a/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/test-persistence.xml b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/test-persistence.xml new file mode 100644 index 000000000..e1804efcc --- /dev/null +++ b/ccm-shortcuts/src/test/resources-wildfly-remote-pgsql/test-persistence.xml @@ -0,0 +1,40 @@ + + + + + + + + + org.hibernate.jpa.HibernatePersistenceProvider + + java:/comp/env/jdbc/org/libreccm/ccm-shortcuts/pgsql + + + + + + + + + + + + diff --git a/ccm-shortcuts/src/test/resources/application.xml b/ccm-shortcuts/src/test/resources/application.xml new file mode 100644 index 000000000..10dae5667 --- /dev/null +++ b/ccm-shortcuts/src/test/resources/application.xml @@ -0,0 +1,11 @@ + + + ccm-bundle-shortcuts-test-wildfly + + + LibreCCM-org.libreccm.shortcuts.ShortcutTest-web.war + /libreccm-shortcuts-test + + + lib + diff --git a/ccm-shortcuts/src/test/resources/scripts/h2-cleanup.sql b/ccm-shortcuts/src/test/resources/scripts/h2-cleanup.sql new file mode 100644 index 000000000..5d987d7f9 --- /dev/null +++ b/ccm-shortcuts/src/test/resources/scripts/h2-cleanup.sql @@ -0,0 +1,39 @@ +DELETE FROM ccm_shortcuts.shortcuts; + +DELETE FROM ccm_core.settings_string_list; + +DELETE FROM ccm_core.settings_l10n_str_values; + +DELETE FROM ccm_core.settings_enum_values; + +DELETE FROM ccm_core.settings_enum_values; + +DELETE FROM ccm_core.settings; + +DELETE FROM ccm_core.categorizations; + +DELETE FROM ccm_core.category_domains; + +DELETE FROM ccm_core.categories; + +DELETE FROM ccm_core.permissions; + +DELETE FROM ccm_core.ccm_objects; + +DELETE FROM ccm_core.role_memberships; + +DELETE FROM ccm_core.group_memberships; + +DELETE FROM ccm_core.groups; + +DELETE FROM ccm_core.one_time_auth_tokens; + +DELETE FROM ccm_core.users; + +DELETE FROM ccm_core.user_email_addresses; + +DELETE FROM ccm_core.parties; + +DELETE FROM ccm_core.ccm_roles; + +ALTER SEQUENCE hibernate_sequence RESTART WITH 1; diff --git a/ccm-shortcuts/src/test/resources/scripts/pgsql-cleanup.sql b/ccm-shortcuts/src/test/resources/scripts/pgsql-cleanup.sql new file mode 100644 index 000000000..e000a8b98 --- /dev/null +++ b/ccm-shortcuts/src/test/resources/scripts/pgsql-cleanup.sql @@ -0,0 +1,39 @@ +DELETE FROM ccm_shortcuts.shortcuts; + +DELETE FROM ccm_core.settings_string_list; + +DELETE FROM ccm_core.settings_l10n_str_values; + +DELETE FROM ccm_core.settings_enum_values; + +DELETE FROM ccm_core.settings_enum_values; + +DELETE FROM ccm_core.settings; + +DELETE FROM ccm_core.categorizations; + +DELETE FROM ccm_core.category_domains; + +DELETE FROM ccm_core.categories; + +DELETE FROM ccm_core.permissions; + +DELETE FROM ccm_core.ccm_objects; + +DELETE FROM ccm_core.role_memberships; + +DELETE FROM ccm_core.group_memberships; + +DELETE FROM ccm_core.groups; + +DELETE FROM ccm_core.one_time_auth_tokens; + +DELETE FROM ccm_core.users; + +DELETE FROM ccm_core.user_email_addresses; + +DELETE FROM ccm_core.parties; + +DELETE FROM ccm_core.ccm_roles; + +ALTER SEQUENCE hibernate_sequence RESTART; diff --git a/ccm-shortcuts/src/test/resources/test-web.xml b/ccm-shortcuts/src/test/resources/test-web.xml new file mode 100644 index 000000000..219ae2cfa --- /dev/null +++ b/ccm-shortcuts/src/test/resources/test-web.xml @@ -0,0 +1,9 @@ + + + + LibreCCM Shortcuts Test +