DB migrations and other utility classes for sci-types-department

pull/1/head
Jens Pelzetter 2022-09-29 20:05:34 +02:00
parent 5b91703cc9
commit 82ef06c897
14 changed files with 936 additions and 7 deletions

1
.gitignore vendored
View File

@ -2,6 +2,7 @@
.settings .settings
node node
node_modules node_modules
/sci-types-department/target/
/sci-types-project/target/ /sci-types-project/target/
/scientificcms/target/ /scientificcms/target/
/sci-publications/nbproject/ /sci-publications/nbproject/

View File

@ -0,0 +1,6 @@
{
"name": "sci-types-department",
"lockfileVersion": 2,
"requires": true,
"packages": {}
}

View File

@ -166,7 +166,7 @@
</configuration> </configuration>
</plugin> </plugin>
<plugin> <!-- <plugin>
<groupId>com.github.eirslett</groupId> <groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId> <artifactId>frontend-maven-plugin</artifactId>
<configuration> <configuration>
@ -188,7 +188,7 @@
<goal>npm</goal> <goal>npm</goal>
</goals> </goals>
<configuration> <configuration>
<arguments> --userconfig ../libreccm.npmrc install</arguments> <arguments> - -userconfig ../libreccm.npmrc install</arguments>
</configuration> </configuration>
</execution> </execution>
<execution> <execution>
@ -201,7 +201,7 @@
</configuration> </configuration>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>-->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>

View File

@ -89,7 +89,7 @@ public class Membership implements Serializable {
return department; return department;
} }
protected void setProject(final SciDepartment department) { protected void setDepartment(final SciDepartment department) {
this.department = department; this.department = department;
} }

View File

@ -110,12 +110,12 @@ public class SciDepartment extends ContentItem implements Serializable {
@JsonIgnore @JsonIgnore
private List<Contact> contacts; private List<Contact> contacts;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "project") @OneToMany(cascade = CascadeType.ALL, mappedBy = "department")
@OrderBy("member ASC") @OrderBy("member ASC")
@JsonIgnore @JsonIgnore
private List<Membership> members; private List<Membership> members;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "project") @OneToMany(cascade = CascadeType.ALL, mappedBy = "department")
@OrderBy("project ASC") @OrderBy("project ASC")
@JsonIgnore @JsonIgnore
private List<DepartmentProject> projects; private List<DepartmentProject> projects;

View File

@ -0,0 +1,52 @@
package org.scientificcms.contenttypes.scidepartment;
import org.libreccm.cdi.utils.CdiUtil;
import org.libreccm.configuration.Configuration;
import org.libreccm.configuration.ConfigurationManager;
import org.libreccm.configuration.Setting;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@Configuration
public class SciDepartmentConfig {
@Setting
private String contactTypesBundleName
= "org.scientificcms.contenttypes.scidepartment.DefaultContactTypes";
@Setting
private String memberRolesBundleName
= "org.scientificcms.contenttypes.scidepartment.MemberRoles";
public static SciDepartmentConfig getConfig() {
final ConfigurationManager confManager = CdiUtil
.createCdiUtil()
.findBean(ConfigurationManager.class);
return confManager.findConfiguration(SciDepartmentConfig.class);
}
public SciDepartmentConfig() {
super();
}
public String getContactTypesBundleName() {
return contactTypesBundleName;
}
public void setContactTypesBundleName(final String contactTypesBundleName) {
this.contactTypesBundleName = contactTypesBundleName;
}
public String getMemberRolesBundleName() {
return memberRolesBundleName;
}
public void setMemberRolesBundleName(final String memberRolesBundleName) {
this.memberRolesBundleName = memberRolesBundleName;
}
}

View File

@ -0,0 +1,22 @@
package org.scientificcms.contenttypes.scidepartment;
import org.libreccm.imexport.Processes;
import org.librecms.contentsection.AbstractContentItemImExporter;
import javax.enterprise.context.RequestScoped;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
@Processes(SciDepartment.class)
public class SciDepartmentImExporter
extends AbstractContentItemImExporter<SciDepartment>{
@Override
public Class<SciDepartment> getEntityClass() {
return SciDepartment.class;
}
}

View File

@ -0,0 +1,293 @@
package org.scientificcms.contenttypes.scidepartment;
import org.libreccm.l10n.LocalizedString;
import org.librecms.assets.ContactableEntity;
import org.librecms.assets.Person;
import org.librecms.contentsection.ContentItemRepository;
import org.scientificcms.contenttypes.sciproject.SciProject;
import java.io.Serializable;
import java.util.Objects;
import java.util.Optional;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.transaction.Transactional;
/**
*
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
*/
@RequestScoped
public class SciDepartmentManager implements Serializable {
private static final long serialVersionUID = 1L;
@Inject
private ContactRepository contactRepo;
@Inject
private ContentItemRepository itemRepo;
@Inject
private DepartmentProjectRepository departmentProjectRepo;
@Inject
private DepartmentTextRepository departmentTextRepo;
@Inject
private MembershipRepository membershipRepo;
@Transactional(Transactional.TxType.REQUIRED)
public void addText(
final LocalizedString text,
final SciDepartment toDepartment,
final String withKey
) {
Objects.requireNonNull(
toDepartment,
"Can't add a text to department null"
);
Objects.requireNonNull(text, "Can't add null as text.");
Objects.requireNonNull(
withKey,
"Can't add a text to a department with key null."
);
if (withKey.isBlank()) {
throw new IllegalArgumentException(
"Can't add a text to a department using a blank key."
);
}
final DepartmentText departmentText = new DepartmentText();
departmentText.setDepartment(toDepartment);
departmentText.setKey(withKey);
departmentText.setOrder(toDepartment.getAdditionalTexts().size());
departmentText.setText(text);
toDepartment.putAdditionalText(withKey, departmentText);
departmentTextRepo.save(departmentText);
itemRepo.save(toDepartment);
}
@Transactional(Transactional.TxType.REQUIRED)
public void removeText(
final SciDepartment fromDepartment,
final String withKey
) {
Objects.requireNonNull(
fromDepartment,
"Can't remove a text from department null."
);
if (fromDepartment.getAdditionalTexts().containsKey(withKey)) {
final DepartmentText removed = fromDepartment
.getAdditionalTexts()
.get(withKey);
fromDepartment.removeAdditionalText(withKey);
itemRepo.save(fromDepartment);
departmentTextRepo.delete(removed);
}
}
@Transactional(Transactional.TxType.REQUIRED)
public void addContact(
final ContactableEntity contactable,
final SciDepartment toDepartment,
final String withType
) {
Objects.requireNonNull(
contactable,
"Can't add null as Contact to a SciDepartment."
);
Objects.requireNonNull(
toDepartment,
"Can't add a Contact to a department null."
);
final Contact contact = new Contact();
contact.setContactable(contactable);
contact.setDepartment(toDepartment);
contact.setContactType(withType);
contact.setOrder(toDepartment.getContacts().size());
toDepartment.addContact(contact);
contactRepo.save(contact);
itemRepo.save(toDepartment);
}
@Transactional(Transactional.TxType.REQUIRED)
public void removeContact(
final ContactableEntity contactable,
final SciDepartment fromDepartment
) {
Objects.requireNonNull(
contactable,
"Can't remove null as Contact from a SciDepartment."
);
Objects.requireNonNull(
fromDepartment,
"Can't remove a Contact from department null."
);
final Optional<Contact> result = fromDepartment
.getContacts()
.stream()
.filter(
contact -> filterContact(contact, contactable, fromDepartment)
)
.findFirst();
if (result.isPresent()) {
final Contact removed = result.get();
fromDepartment.removeContact(removed);
itemRepo.save(fromDepartment);
contactRepo.delete(removed);
}
}
@Transactional(Transactional.TxType.REQUIRED)
public void addMember(
final Person person,
final SciDepartment toDepartment,
final String withRole,
final MembershipStatus withStatus
) {
Objects.requireNonNull(
person,
"Can't add null as a member null to a SciDepartment."
);
Objects.requireNonNull(
toDepartment,
"Can't a member to a SciDepartment null."
);
final Membership membership = new Membership();
membership.setDepartment(toDepartment);
membership.setMember(person);
membership.setRole(withRole);
membership.setStatus(withStatus);
toDepartment.addMember(membership);
membershipRepo.save(membership);
itemRepo.save(toDepartment);
}
@Transactional(Transactional.TxType.REQUIRED)
public void removeMember(
final Person person,
final SciDepartment fromDepartment
) {
Objects.requireNonNull(
person,
"Can't remove null as a member from a SciDepartment."
);
Objects.requireNonNull(
fromDepartment,
"Can't remove a member from a SciDepartment null."
);
final Optional<Membership> result = fromDepartment
.getMembers()
.stream()
.filter(
membership -> filterMembership(
membership,
person,
fromDepartment
)
)
.findFirst();
if (result.isPresent()) {
final Membership removed = result.get();
fromDepartment.removeMember(removed);
itemRepo.save(fromDepartment);
membershipRepo.delete(removed);
}
}
@Transactional(Transactional.TxType.REQUIRED)
public void addProject(
final SciProject project,
final SciDepartment toDepartment
) {
Objects.requireNonNull(
project,
"Can't add null as a project null to a SciDepartment."
);
Objects.requireNonNull(
toDepartment,
"Can't a project to a SciDepartment null."
);
final DepartmentProject departmentProject =new DepartmentProject();
departmentProject.setDepartment(toDepartment);
departmentProject.setProject(project);
toDepartment.addProject(departmentProject);
departmentProjectRepo.save(departmentProject);
itemRepo.save(project);
}
@Transactional(Transactional.TxType.REQUIRED)
public void removeProject(
final SciProject project,
final SciDepartment fromDepartment
) {
Objects.requireNonNull(
project,
"Can't remove null as a project from a SciDepartment."
);
Objects.requireNonNull(
fromDepartment,
"Can't remove a project from a SciDepartment null."
);
final Optional<DepartmentProject> result = fromDepartment
.getProjects()
.stream()
.filter(
departmentProject -> filterDepartmentProject(
departmentProject, project, fromDepartment
)
)
.findFirst();
if (result.isPresent()) {
final DepartmentProject removed = result.get();
fromDepartment.removeProject(removed);
itemRepo.save(fromDepartment);
departmentProjectRepo.delete(removed);
}
}
private boolean filterContact(
final Contact contact,
final ContactableEntity byContactable,
final SciDepartment byDepartment
) {
return contact.getContactable().equals(byContactable)
&& contact.getDepartment().equals(byDepartment);
}
private boolean filterMembership(
final Membership membership,
final Person byPerson,
final SciDepartment byDepartment
) {
return membership.getMember().equals(byPerson)
&& membership.getDepartment().equals(byDepartment);
}
private boolean filterDepartmentProject(
final DepartmentProject departmentProject,
final SciProject byProject,
final SciDepartment byDepartment
) {
return departmentProject.getProject().equals(byProject)
&& departmentProject.getDepartment().equals(byDepartment);
}
}

View File

@ -0,0 +1,275 @@
create table SCI_TYPES_PROJECT.PROJECT_CONTACTS (
CONTACT_ID bigint not null,
CONTACT_TYPE varchar(255),
CONTACT_ORDER bigint,
CONTACTABLE_ID bigint,
PROJECT_ID bigint,
primary key (CONTACT_ID)
);
create table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD (
CONTACT_ID bigint not null,
REV integer not null,
REVTYPE tinyint,
REVEND integer,
CONTACT_TYPE varchar(255),
CONTACT_ORDER bigint,
CONTACTABLE_ID bigint,
PROJECT_ID bigint,
primary key (CONTACT_ID, REV)
);
create table SCI_TYPES_PROJECT.PROJECT_DESCS (
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647),
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD (
REV integer not null,
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647) not null,
LOCALE varchar(255) not null,
REVTYPE tinyint,
REVEND integer,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING (
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647),
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD (
REV integer not null,
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647) not null,
LOCALE varchar(255) not null,
REVTYPE tinyint,
REVEND integer,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME (
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647),
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD (
REV integer not null,
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647) not null,
LOCALE varchar(255) not null,
REVTYPE tinyint,
REVEND integer,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS (
MEMBERSHIP_ID bigint not null,
MEMBER_ROLE varchar(255),
STATUS varchar(255),
MEMBER_ID bigint,
PROJECT_ID bigint,
primary key (MEMBERSHIP_ID)
);
create table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD (
MEMBERSHIP_ID bigint not null,
REV integer not null,
REVTYPE tinyint,
REVEND integer,
MEMBER_ROLE varchar(255),
STATUS varchar(255),
MEMBER_ID bigint,
PROJECT_ID bigint,
primary key (MEMBERSHIP_ID, REV)
);
create table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS (
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647),
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD (
REV integer not null,
OBJECT_ID bigint not null,
LOCALIZED_VALUE varchar(2147483647) not null,
LOCALE varchar(255) not null,
REVTYPE tinyint,
REVEND integer,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECTS (
PROJECT_BEGIN date,
PROJECT_END date,
OBJECT_ID bigint not null,
primary key (OBJECT_ID)
);
create table SCI_TYPES_PROJECT.PROJECTS_AUD (
OBJECT_ID bigint not null,
REV integer not null,
PROJECT_BEGIN date,
PROJECT_END date,
primary key (OBJECT_ID, REV)
);
create table SCI_TYPES_PROJECT.SPONSORING (
SPONSORING_ID bigint not null,
FUNDING_CODE varchar(512),
SPONSOR_ORDER bigint,
PROJECT_ID bigint,
SPONSOR_ID bigint,
primary key (SPONSORING_ID)
);
create table SCI_TYPES_PROJECT.SPONSORING_AUD (
SPONSORING_ID bigint not null,
REV integer not null,
REVTYPE tinyint,
REVEND integer,
FUNDING_CODE varchar(512),
SPONSOR_ORDER bigint,
PROJECT_ID bigint,
SPONSOR_ID bigint,
primary key (SPONSORING_ID, REV)
);
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS
add constraint FKgnma88ye77fb0vdmpuepyb2y7
foreign key (CONTACTABLE_ID)
references CCM_CMS.CONTACTABLE_ENTITIES;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS
add constraint FK21fku49mpakv86hra725t3sok
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD
add constraint FK15m4nnwrt964isduiuk8bbeg8
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD
add constraint FKciyhqi7w2dby8e3b4arklmfqp
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS
add constraint FKfh5goal8j4gsjhf65gxm11gxu
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD
add constraint FKfq5fyp71qmrc9y0h6px8vae7l
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD
add constraint FK6615a6cc9tcmovk51a9vqff7x
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING
add constraint FKqmq8depjmuly0lixjljwnwut5
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD
add constraint FK664s3oomoj23e9hvbh97hg5dw
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD
add constraint FKgtsw7ruamw5m1p15p5y261a23
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME
add constraint FKf6lg5n24snpplnvctdknh4mrv
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD
add constraint FKgnnop98oxffgs7bp9bspajhw9
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD
add constraint FKk599wppcylm8yo704ht3w7ibj
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS
add constraint FKdbcet4i6wg7jinmaa0wchqujp
foreign key (MEMBER_ID)
references CCM_CMS.PERSONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS
add constraint FK54cqbnqwnv7e13p7k842nmjvt
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD
add constraint FKjdf8o2a5cuusgee0v43n562y4
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD
add constraint FK7yfj65ojma1coq2eeywpu0fcp
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS
add constraint FKqbbb85ebs497yad3gx07kdt1e
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD
add constraint FK4ijysk1fk31o5kljgpc2p7yq6
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD
add constraint FKkmidmqbpihxhfu1349lcw0rb0
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECTS
add constraint FKqlmls86i354oxprglxg5j9xxy
foreign key (OBJECT_ID)
references CCM_CMS.CONTENT_ITEMS;
alter table SCI_TYPES_PROJECT.PROJECTS_AUD
add constraint FKss0w64wsb71r39npak6tg963b
foreign key (OBJECT_ID, REV)
references CCM_CMS.CONTENT_ITEMS_AUD;
alter table SCI_TYPES_PROJECT.SPONSORING
add constraint FKe8posjrbtsvd7t8q3k8l7ybmy
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.SPONSORING
add constraint FKt63gl8j92rua5risu9cnhd3py
foreign key (SPONSOR_ID)
references CCM_CMS.ORGANIZATIONS;
alter table SCI_TYPES_PROJECT.SPONSORING_AUD
add constraint FK7ci9e1fuqi8vbjcp9x70747se
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.SPONSORING_AUD
add constraint FKfa0ems4hsww6wgoapss1bx38f
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;

View File

@ -0,0 +1,275 @@
create table SCI_TYPES_PROJECT.PROJECT_CONTACTS (
CONTACT_ID int8 not null,
CONTACT_TYPE varchar(255),
CONTACT_ORDER int8,
CONTACTABLE_ID int8,
PROJECT_ID int8,
primary key (CONTACT_ID)
);
create table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD (
CONTACT_ID int8 not null,
REV int4 not null,
REVTYPE int2,
REVEND int4,
CONTACT_TYPE varchar(255),
CONTACT_ORDER int8,
CONTACTABLE_ID int8,
PROJECT_ID int8,
primary key (CONTACT_ID, REV)
);
create table SCI_TYPES_PROJECT.PROJECT_DESCS (
OBJECT_ID int8 not null,
LOCALIZED_VALUE text,
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD (
REV int4 not null,
OBJECT_ID int8 not null,
LOCALIZED_VALUE text not null,
LOCALE varchar(255) not null,
REVTYPE int2,
REVEND int4,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING (
OBJECT_ID int8 not null,
LOCALIZED_VALUE text,
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD (
REV int4 not null,
OBJECT_ID int8 not null,
LOCALIZED_VALUE text not null,
LOCALE varchar(255) not null,
REVTYPE int2,
REVEND int4,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME (
OBJECT_ID int8 not null,
LOCALIZED_VALUE text,
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD (
REV int4 not null,
OBJECT_ID int8 not null,
LOCALIZED_VALUE text not null,
LOCALE varchar(255) not null,
REVTYPE int2,
REVEND int4,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS (
MEMBERSHIP_ID int8 not null,
MEMBER_ROLE varchar(255),
STATUS varchar(255),
MEMBER_ID int8,
PROJECT_ID int8,
primary key (MEMBERSHIP_ID)
);
create table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD (
MEMBERSHIP_ID int8 not null,
REV int4 not null,
REVTYPE int2,
REVEND int4,
MEMBER_ROLE varchar(255),
STATUS varchar(255),
MEMBER_ID int8,
PROJECT_ID int8,
primary key (MEMBERSHIP_ID, REV)
);
create table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS (
OBJECT_ID int8 not null,
LOCALIZED_VALUE text,
LOCALE varchar(255) not null,
primary key (OBJECT_ID, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD (
REV int4 not null,
OBJECT_ID int8 not null,
LOCALIZED_VALUE text not null,
LOCALE varchar(255) not null,
REVTYPE int2,
REVEND int4,
primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
);
create table SCI_TYPES_PROJECT.PROJECTS (
PROJECT_BEGIN date,
PROJECT_END date,
OBJECT_ID int8 not null,
primary key (OBJECT_ID)
);
create table SCI_TYPES_PROJECT.PROJECTS_AUD (
OBJECT_ID int8 not null,
REV int4 not null,
PROJECT_BEGIN date,
PROJECT_END date,
primary key (OBJECT_ID, REV)
);
create table SCI_TYPES_PROJECT.SPONSORING (
SPONSORING_ID int8 not null,
FUNDING_CODE varchar(512),
SPONSOR_ORDER int8,
PROJECT_ID int8,
SPONSOR_ID int8,
primary key (SPONSORING_ID)
);
create table SCI_TYPES_PROJECT.SPONSORING_AUD (
SPONSORING_ID int8 not null,
REV int4 not null,
REVTYPE int2,
REVEND int4,
FUNDING_CODE varchar(512),
SPONSOR_ORDER int8,
PROJECT_ID int8,
SPONSOR_ID int8,
primary key (SPONSORING_ID, REV)
);
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS
add constraint FKgnma88ye77fb0vdmpuepyb2y7
foreign key (CONTACTABLE_ID)
references CCM_CMS.CONTACTABLE_ENTITIES;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS
add constraint FK21fku49mpakv86hra725t3sok
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD
add constraint FK15m4nnwrt964isduiuk8bbeg8
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_CONTACTS_AUD
add constraint FKciyhqi7w2dby8e3b4arklmfqp
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS
add constraint FKfh5goal8j4gsjhf65gxm11gxu
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD
add constraint FKfq5fyp71qmrc9y0h6px8vae7l
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_DESCS_AUD
add constraint FK6615a6cc9tcmovk51a9vqff7x
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING
add constraint FKqmq8depjmuly0lixjljwnwut5
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD
add constraint FK664s3oomoj23e9hvbh97hg5dw
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_AUD
add constraint FKgtsw7ruamw5m1p15p5y261a23
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME
add constraint FKf6lg5n24snpplnvctdknh4mrv
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD
add constraint FKgnnop98oxffgs7bp9bspajhw9
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_FUNDING_VOLUME_AUD
add constraint FKk599wppcylm8yo704ht3w7ibj
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS
add constraint FKdbcet4i6wg7jinmaa0wchqujp
foreign key (MEMBER_ID)
references CCM_CMS.PERSONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS
add constraint FK54cqbnqwnv7e13p7k842nmjvt
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD
add constraint FKjdf8o2a5cuusgee0v43n562y4
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_MEMBERSHIPS_AUD
add constraint FK7yfj65ojma1coq2eeywpu0fcp
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS
add constraint FKqbbb85ebs497yad3gx07kdt1e
foreign key (OBJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD
add constraint FK4ijysk1fk31o5kljgpc2p7yq6
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECT_SHORT_DESCS_AUD
add constraint FKkmidmqbpihxhfu1349lcw0rb0
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.PROJECTS
add constraint FKqlmls86i354oxprglxg5j9xxy
foreign key (OBJECT_ID)
references CCM_CMS.CONTENT_ITEMS;
alter table SCI_TYPES_PROJECT.PROJECTS_AUD
add constraint FKss0w64wsb71r39npak6tg963b
foreign key (OBJECT_ID, REV)
references CCM_CMS.CONTENT_ITEMS_AUD;
alter table SCI_TYPES_PROJECT.SPONSORING
add constraint FKe8posjrbtsvd7t8q3k8l7ybmy
foreign key (PROJECT_ID)
references SCI_TYPES_PROJECT.PROJECTS;
alter table SCI_TYPES_PROJECT.SPONSORING
add constraint FKt63gl8j92rua5risu9cnhd3py
foreign key (SPONSOR_ID)
references CCM_CMS.ORGANIZATIONS;
alter table SCI_TYPES_PROJECT.SPONSORING_AUD
add constraint FK7ci9e1fuqi8vbjcp9x70747se
foreign key (REV)
references CCM_CORE.CCM_REVISIONS;
alter table SCI_TYPES_PROJECT.SPONSORING_AUD
add constraint FKfa0ems4hsww6wgoapss1bx38f
foreign key (REVEND)
references CCM_CORE.CCM_REVISIONS;

View File

@ -0,0 +1,4 @@
groupId=${project.groupId}
artifactId=${project.artifactId}
version=${project.version}
build.date=${timestamp}

View File

@ -9,7 +9,6 @@ import org.librecms.assets.ContactableEntity;
import org.librecms.assets.Organization; import org.librecms.assets.Organization;
import org.librecms.assets.Person; import org.librecms.assets.Person;
import org.librecms.contentsection.ContentItemRepository; import org.librecms.contentsection.ContentItemRepository;
import org.librecms.ui.contentsections.ContentSectionsUi;
import java.io.Serializable; import java.io.Serializable;
import java.util.Objects; import java.util.Objects;