Compare commits
19 Commits
master
...
embedded-t
| Author | SHA1 | Date |
|---|---|---|
|
|
2f31c5b3a8 | |
|
|
179ca1fc5e | |
|
|
1fc48eb39c | |
|
|
8956a5d9f5 | |
|
|
ede3d639f5 | |
|
|
132df428ed | |
|
|
c49dc8e31a | |
|
|
12cc5f5ea7 | |
|
|
87172c1f27 | |
|
|
047aaf0645 | |
|
|
85fabbf29e | |
|
|
bbe69cbd2f | |
|
|
05b722e61c | |
|
|
f03e63a443 | |
|
|
0eea72225e | |
|
|
7d3475a480 | |
|
|
04789fd327 | |
|
|
a50e1fb99b | |
|
|
a369979f79 |
|
|
@ -11,6 +11,7 @@ import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemMiscStep;
|
||||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPositionStep;
|
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPositionStep;
|
||||||
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPropertiesStep;
|
import com.arsdigita.cms.contenttypes.ui.ProfileSiteItemPropertiesStep;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
import org.librecms.assets.Person;
|
import org.librecms.assets.Person;
|
||||||
import org.librecms.contentsection.ContentItem;
|
import org.librecms.contentsection.ContentItem;
|
||||||
|
|
@ -21,6 +22,7 @@ import org.librecms.contenttypes.ContentTypeDescription;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
import javax.persistence.AssociationOverride;
|
||||||
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
import javax.persistence.Embedded;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
|
|
@ -85,43 +87,49 @@ public class ProfileSiteItem extends ContentItem {
|
||||||
@JoinColumn(name = "OWNER_ID")
|
@JoinColumn(name = "OWNER_ID")
|
||||||
private Person owner;
|
private Person owner;
|
||||||
|
|
||||||
@Embedded
|
// @Embedded
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "PROFILE_SITE_ITEMS_POSITION",
|
// name = "PROFILE_SITE_ITEMS_POSITION",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
// @JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
)
|
// )
|
||||||
|
@Column(name = "POSITION")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString position;
|
private LocalizedString position;
|
||||||
|
|
||||||
@Embedded
|
// @Embedded
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "PROFILE_SITE_ITEMS_INTERESTS",
|
// name = "PROFILE_SITE_ITEMS_INTERESTS",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
// @JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
)
|
// )
|
||||||
|
@Column(name = "INTERESTS")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString interests;
|
private LocalizedString interests;
|
||||||
|
|
||||||
@Embedded
|
// @Embedded
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "PROFILE_SITE_ITEMS_MISC",
|
// name = "PROFILE_SITE_ITEMS_MISC",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
// @JoinColumn(name = "PROFILE_SITE_ITEM_ID")
|
||||||
}
|
// }
|
||||||
)
|
// )
|
||||||
)
|
// )
|
||||||
|
@Column(name = "MISC")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString misc;
|
private LocalizedString misc;
|
||||||
|
|
||||||
public ProfileSiteItem() {
|
public ProfileSiteItem() {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,104 @@
|
||||||
|
/*
|
||||||
|
* To change this license header, choose License Headers in Project Properties.
|
||||||
|
* To change this template file, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package org.librecms.contentsection.rs;
|
||||||
|
|
||||||
|
import org.librecms.contentsection.ContentItem;
|
||||||
|
import org.librecms.contentsection.ContentItemRepository;
|
||||||
|
import org.librecms.contentsection.ContentSection;
|
||||||
|
import org.librecms.contentsection.ContentSectionRepository;
|
||||||
|
import org.librecms.contentsection.Folder;
|
||||||
|
import org.librecms.contentsection.FolderRepository;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.PathParam;
|
||||||
|
import javax.ws.rs.Produces;
|
||||||
|
import javax.ws.rs.WebApplicationException;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
|
||||||
|
import static javax.ws.rs.core.MediaType.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
@Path("/{content-section}/items/{path: .*}")
|
||||||
|
public class ContentItemController {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private FolderRepository folderRepo;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ContentItemRepository itemRepo;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ContentSectionRepository sectionRepo;
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/")
|
||||||
|
@Produces(APPLICATION_JSON)
|
||||||
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
public ContentItem getContentItem(
|
||||||
|
@PathParam("content-section") final String sectionName,
|
||||||
|
@PathParam("path") final String path
|
||||||
|
) {
|
||||||
|
final String[] pathTokens = path.split("/");
|
||||||
|
|
||||||
|
final ContentSection section = sectionRepo
|
||||||
|
.findByLabel(sectionName)
|
||||||
|
.orElseThrow(
|
||||||
|
() -> new WebApplicationException(
|
||||||
|
String.format(
|
||||||
|
"ContentSection \"%s\" does not exist.",
|
||||||
|
sectionName),
|
||||||
|
Response.Status.NOT_FOUND
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
final Folder rootFolder = section.getRootDocumentsFolder();
|
||||||
|
final StringBuilder folderPathBuilder = new StringBuilder("/");
|
||||||
|
Folder folder = rootFolder;
|
||||||
|
for (int i = 0; i < pathTokens.length - 1; i++) {
|
||||||
|
final String pathToken = pathTokens[i];
|
||||||
|
folderPathBuilder.append(pathToken);
|
||||||
|
final Optional<Folder> result = folder
|
||||||
|
.getSubFolders()
|
||||||
|
.stream()
|
||||||
|
.filter(subFolder -> subFolder.getName().equals(pathToken))
|
||||||
|
.findAny();
|
||||||
|
if (result.isPresent()) {
|
||||||
|
folder = result.get();
|
||||||
|
} else {
|
||||||
|
throw new WebApplicationException(
|
||||||
|
String.format(
|
||||||
|
"Folder %s not found in ContentSection %s.",
|
||||||
|
folderPathBuilder.toString(),
|
||||||
|
sectionName
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final String itemName = pathTokens[pathTokens.length - 1];
|
||||||
|
final ContentItem item = itemRepo
|
||||||
|
.findByNameInFolder(folder, itemName)
|
||||||
|
.orElseThrow(
|
||||||
|
() -> new WebApplicationException(
|
||||||
|
String.format(
|
||||||
|
"No ContentItem %s in folder %s of ContentSection %s.",
|
||||||
|
itemName,
|
||||||
|
folderPathBuilder.toString()
|
||||||
|
),
|
||||||
|
Response.Status.NOT_FOUND
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -38,6 +38,7 @@ public class ContentSectionsApplication extends Application{
|
||||||
|
|
||||||
classes.add(Assets.class);
|
classes.add(Assets.class);
|
||||||
classes.add(ContentItems.class);
|
classes.add(ContentItems.class);
|
||||||
|
classes.add(ContentItemController.class);
|
||||||
classes.add(ContentSections.class);
|
classes.add(ContentSections.class);
|
||||||
classes.add(Images.class);
|
classes.add(Images.class);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -333,11 +333,15 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>oracle12c</param>
|
<param>oracle12c</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm.categorization</param>
|
<param>org.libreccm.categorization</param>
|
||||||
<param>org.libreccm.core</param>
|
<param>org.libreccm.core</param>
|
||||||
|
|
@ -656,11 +660,15 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
<param>oracle12c</param>
|
<param>oracle12c</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
@ -738,10 +746,14 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
@ -820,10 +832,14 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
@ -897,10 +913,14 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
@ -978,10 +998,14 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
@ -1055,10 +1079,14 @@
|
||||||
<groupId>de.jpdigital</groupId>
|
<groupId>de.jpdigital</groupId>
|
||||||
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
<artifactId>hibernate53-ddl-maven-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
<dialects>
|
<!-- <dialects>
|
||||||
<param>h2</param>
|
<param>h2</param>
|
||||||
<param>postgresql9</param>
|
<param>postgresql9</param>
|
||||||
</dialects>
|
</dialects>-->
|
||||||
|
<customDialects>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmH2Dialect</param>
|
||||||
|
<param>org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect</param>
|
||||||
|
</customDialects>
|
||||||
<packages>
|
<packages>
|
||||||
<param>org.libreccm</param>
|
<param>org.libreccm</param>
|
||||||
</packages>
|
</packages>
|
||||||
|
|
|
||||||
|
|
@ -80,8 +80,7 @@ public class UserBanner extends SimpleComponent {
|
||||||
contentElem.addAttribute("screenName",
|
contentElem.addAttribute("screenName",
|
||||||
user.get().getName());
|
user.get().getName());
|
||||||
contentElem.addAttribute("primaryEmail",
|
contentElem.addAttribute("primaryEmail",
|
||||||
user.get().getPrimaryEmailAddress()
|
user.get().getPrimaryEmailAddress());
|
||||||
.getAddress());
|
|
||||||
contentElem.addAttribute("userID",
|
contentElem.addAttribute("userID",
|
||||||
Long.toString(user.get().getPartyId()));
|
Long.toString(user.get().getPartyId()));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -267,7 +267,7 @@ class GroupAddMemberForm extends Form {
|
||||||
case COL_MEMBER_GIVEN_NAME:
|
case COL_MEMBER_GIVEN_NAME:
|
||||||
return user.getGivenName();
|
return user.getGivenName();
|
||||||
case COL_MEMBER_EMAIL:
|
case COL_MEMBER_EMAIL:
|
||||||
return user.getPrimaryEmailAddress().getAddress();
|
return user.getPrimaryEmailAddress();
|
||||||
case COL_MEMBER_ADD:
|
case COL_MEMBER_ADD:
|
||||||
return new Label(new GlobalizedMessage(
|
return new Label(new GlobalizedMessage(
|
||||||
"ui.admin.group_details.add_member.table.add",
|
"ui.admin.group_details.add_member.table.add",
|
||||||
|
|
|
||||||
|
|
@ -221,7 +221,7 @@ class GroupMembersTable extends Table {
|
||||||
case COL_MEMBER_GIVEN_NAME:
|
case COL_MEMBER_GIVEN_NAME:
|
||||||
return member.getGivenName();
|
return member.getGivenName();
|
||||||
case COL_MEMBER_EMAIL:
|
case COL_MEMBER_EMAIL:
|
||||||
return member.getPrimaryEmailAddress().getAddress();
|
return member.getPrimaryEmailAddress();
|
||||||
case COL_MEMBER_REMOVE:
|
case COL_MEMBER_REMOVE:
|
||||||
return new Label(new GlobalizedMessage(
|
return new Label(new GlobalizedMessage(
|
||||||
"ui.admin.group_details.members_table.remove",
|
"ui.admin.group_details.members_table.remove",
|
||||||
|
|
|
||||||
|
|
@ -95,8 +95,11 @@ class EmailForm extends Form {
|
||||||
final User user = userRepository.findById(Long.parseLong(
|
final User user = userRepository.findById(Long.parseLong(
|
||||||
userIdStr)).get();
|
userIdStr)).get();
|
||||||
EmailAddress email = null;
|
EmailAddress email = null;
|
||||||
if (user.getPrimaryEmailAddress().getAddress().equals(selected)) {
|
if (user.getPrimaryEmailAddress().equals(selected)) {
|
||||||
email = user.getPrimaryEmailAddress();
|
email = new EmailAddress();
|
||||||
|
email.setAddress(user.getPrimaryEmailAddress());
|
||||||
|
email.setBouncing(user.isPrimaryEmailAddressBouncing());
|
||||||
|
email.setVerified(user.isPrimaryEmailAddressVerified());
|
||||||
} else {
|
} else {
|
||||||
for (EmailAddress current : user.getEmailAddresses()) {
|
for (EmailAddress current : user.getEmailAddresses()) {
|
||||||
if (current.getAddress().equals(selected)) {
|
if (current.getAddress().equals(selected)) {
|
||||||
|
|
@ -152,9 +155,12 @@ class EmailForm extends Form {
|
||||||
if (selected == null) {
|
if (selected == null) {
|
||||||
email = new EmailAddress();
|
email = new EmailAddress();
|
||||||
user.addEmailAddress(email);
|
user.addEmailAddress(email);
|
||||||
} else if (user.getPrimaryEmailAddress().getAddress().equals(
|
} else if (user.getPrimaryEmailAddress().equals(
|
||||||
selected)) {
|
selected)) {
|
||||||
email = user.getPrimaryEmailAddress();
|
email = new EmailAddress();
|
||||||
|
email.setAddress(user.getPrimaryEmailAddress());
|
||||||
|
email.setBouncing(user.isPrimaryEmailAddressBouncing());
|
||||||
|
email.setVerified(user.isPrimaryEmailAddressVerified());
|
||||||
} else {
|
} else {
|
||||||
for (EmailAddress current : user.getEmailAddresses()) {
|
for (EmailAddress current : user.getEmailAddresses()) {
|
||||||
if (current.getAddress().equals(selected)) {
|
if (current.getAddress().equals(selected)) {
|
||||||
|
|
|
||||||
|
|
@ -64,11 +64,11 @@ class PrimaryEmailTableModel implements TableModel {
|
||||||
public Object getElementAt(final int columnIndex) {
|
public Object getElementAt(final int columnIndex) {
|
||||||
switch(columnIndex) {
|
switch(columnIndex) {
|
||||||
case COL_ADDRESS:
|
case COL_ADDRESS:
|
||||||
return user.getPrimaryEmailAddress().getAddress();
|
return user.getPrimaryEmailAddress();
|
||||||
case COL_VERIFIED:
|
case COL_VERIFIED:
|
||||||
return Boolean.toString(user.getPrimaryEmailAddress().isVerified());
|
return Boolean.toString(user.isPrimaryEmailAddressVerified());
|
||||||
case COL_BOUNCING:
|
case COL_BOUNCING:
|
||||||
return Boolean.toString(user.getPrimaryEmailAddress().isBouncing());
|
return Boolean.toString(user.isPrimaryEmailAddressBouncing());
|
||||||
case COL_ACTION:
|
case COL_ACTION:
|
||||||
return new Label(new GlobalizedMessage(
|
return new Label(new GlobalizedMessage(
|
||||||
"ui.admin.user.primary_email_address.edit", ADMIN_BUNDLE));
|
"ui.admin.user.primary_email_address.edit", ADMIN_BUNDLE));
|
||||||
|
|
@ -79,7 +79,7 @@ class PrimaryEmailTableModel implements TableModel {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getKeyAt(final int columnIndex) {
|
public Object getKeyAt(final int columnIndex) {
|
||||||
return user.getPrimaryEmailAddress().getAddress();
|
return user.getPrimaryEmailAddress();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -201,7 +201,7 @@ class UsersTable extends Table {
|
||||||
case COL_GIVEN_NAME:
|
case COL_GIVEN_NAME:
|
||||||
return user.getGivenName();
|
return user.getGivenName();
|
||||||
case COL_PRIMARY_EMAIL:
|
case COL_PRIMARY_EMAIL:
|
||||||
return user.getPrimaryEmailAddress().getAddress();
|
return user.getPrimaryEmailAddress();
|
||||||
case COL_SCREEN_NAME:
|
case COL_SCREEN_NAME:
|
||||||
return user.getName();
|
return user.getName();
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ public class EmailInitListener implements FormInitListener {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
data.put(m_param.getName(), user.getPrimaryEmailAddress().getAddress());
|
data.put(m_param.getName(), user.getPrimaryEmailAddress());
|
||||||
|
|
||||||
LOGGER.debug("SUCCESS");
|
LOGGER.debug("SUCCESS");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,11 +116,9 @@ public class UserEditForm extends UserForm
|
||||||
user.setFamilyName((String) m_lastName.getValue(state));
|
user.setFamilyName((String) m_lastName.getValue(state));
|
||||||
user.setName((String) m_screenName.getValue(state));
|
user.setName((String) m_screenName.getValue(state));
|
||||||
final String emailValue = (String) data.get(FORM_EMAIL);
|
final String emailValue = (String) data.get(FORM_EMAIL);
|
||||||
if (!emailValue.equals(user.getPrimaryEmailAddress().getAddress())) {
|
if (!emailValue.equals(user.getPrimaryEmailAddress())) {
|
||||||
final EmailAddress newAddress = new EmailAddress();
|
user.setPrimaryEmailAddress(data.get(FORM_EMAIL).toString());
|
||||||
newAddress.setAddress(data.get(FORM_EMAIL).toString());
|
user.setPrimaryEmailAddressVerified(false);
|
||||||
newAddress.setVerified(false);
|
|
||||||
user.setPrimaryEmailAddress(newAddress);
|
|
||||||
|
|
||||||
final ChallengeManager challengeManager = CdiUtil.createCdiUtil()
|
final ChallengeManager challengeManager = CdiUtil.createCdiUtil()
|
||||||
.findBean(ChallengeManager.class);
|
.findBean(ChallengeManager.class);
|
||||||
|
|
|
||||||
|
|
@ -223,7 +223,7 @@ public abstract class UserForm extends Form
|
||||||
}
|
}
|
||||||
m_firstName.setValue(state, user.getGivenName());
|
m_firstName.setValue(state, user.getGivenName());
|
||||||
m_lastName.setValue(state, user.getFamilyName());
|
m_lastName.setValue(state, user.getFamilyName());
|
||||||
m_email.setValue(state, user.getPrimaryEmailAddress().getAddress());
|
m_email.setValue(state, user.getPrimaryEmailAddress());
|
||||||
m_screenName.setValue(state, user.getName());
|
m_screenName.setValue(state, user.getName());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -283,7 +283,7 @@ public abstract class UserForm extends Form
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
final String oldEmail = user.getPrimaryEmailAddress().getAddress();
|
final String oldEmail = user.getPrimaryEmailAddress();
|
||||||
final String email = (String) m_email.getValue(state);
|
final String email = (String) m_email.getValue(state);
|
||||||
if (KernelConfig.getConfig().emailIsPrimaryIdentifier()
|
if (KernelConfig.getConfig().emailIsPrimaryIdentifier()
|
||||||
&& email != null && !email.equals(oldEmail)) {
|
&& email != null && !email.equals(oldEmail)) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,354 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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 db.migrations.org.libreccm.ccm_core.pgsql;
|
||||||
|
|
||||||
|
import org.flywaydb.core.api.migration.BaseJavaMigration;
|
||||||
|
import org.flywaydb.core.api.migration.Context;
|
||||||
|
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.json.Json;
|
||||||
|
import javax.json.JsonObjectBuilder;
|
||||||
|
import javax.json.JsonWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class V7_0_0_37__localized_string_embedded_to_json extends BaseJavaMigration {
|
||||||
|
|
||||||
|
private static final String[] ADD_COLUMN_STATEMENTS = new String[]{
|
||||||
|
"alter table CCM_CORE.CATEGORIES add column TITLE jsonb",
|
||||||
|
"alter table CCM_CORE.CATEGORIES add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.CATEGORY_DOMAINS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.CATEGORY_DOMAINS add column TITLE jsonb",
|
||||||
|
"alter table CCM_ROLES add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_COMPONENTS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_DATA_QUERIES add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_DATA_QUERIES add column QUERY_NAME jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_OPTIONS add column LABEL jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS add column LISTENER_NAME jsonb",
|
||||||
|
"alter table CCM_CORE.PAGE_MODELS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.PAGE_MODELS add column TITLE jsonb",
|
||||||
|
"alter table CCM_CORE.RESOURCE_TYPES add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.RESOURCES add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.RESOURCES add column TITLE jsonb",
|
||||||
|
"alter table CCM_CORE.SETTINGS add column SETTING_VALUE_LOCALIZED_STRING jsonb",
|
||||||
|
"alter table CCM_CORE.WORKFLOW_TASKS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.WORKFLOW_TASKS add column LABEL jsonb",
|
||||||
|
"alter table CCM_CORE.WORKFLOWS add column DESCRIPTION jsonb",
|
||||||
|
"alter table CCM_CORE.WORKFLOWS add column NAME jsonb"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final int OBJECT_TABLE = 0;
|
||||||
|
|
||||||
|
private static final int LOCALIZED_STR_TABLE = 1;
|
||||||
|
|
||||||
|
private static final int OBJECT_ID_COL = 2;
|
||||||
|
|
||||||
|
private static final int VALUE_ID_COL = 3;
|
||||||
|
|
||||||
|
private static final int TARGET_COL = 4;
|
||||||
|
|
||||||
|
private static final String[][] MIGRATE = new String[][]{
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.CATEGORIES",
|
||||||
|
"CCM_CORE.CATEGORY_TITLES",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"TITLE"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.CATEGORIES",
|
||||||
|
"CCM_CORE.CATEGORY_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.CATEGORY_DOMAINS",
|
||||||
|
"CCM_CORE.DOMAIN_TITLES",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"TITLE"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.CATEGORY_DOMAINS",
|
||||||
|
"CCM_CORE.DOMAIN_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"DESCRIPTIONS"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.CCM_ROLES",
|
||||||
|
"CCM_CORE.ROLE_DESCRIPTIONS",
|
||||||
|
"ROLE_ID",
|
||||||
|
"ROLE_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_COMPONENTS",
|
||||||
|
"CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_DATA_QUERIES",
|
||||||
|
"FORMBUILDER_DATA_QUERY_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_DATA_QUERIES",
|
||||||
|
"FORMBUILDER_DATA_QUERY_NAMES",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"QUERY_NAME"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_OPTIONS",
|
||||||
|
"FORMBUILDER_OPTION_LABELS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"LABEL"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_PROCESS_LISTENERS",
|
||||||
|
"FORMBUILDER_LISTENER_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.FORMBUILDER_PROCESS_LISTENERS",
|
||||||
|
"FORMBUILDER_LISTENER_NAMES",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"LISTENER_NAME"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.PAGE_MODELS",
|
||||||
|
"CCM_CORE.PAGE_MODEL_DESCRIPTIONS",
|
||||||
|
"PAGE_MODEL_ID",
|
||||||
|
"PAGE_MODEL_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.PAGE_MODELS",
|
||||||
|
"CCM_CORE.PAGE_MODEL_TITLES",
|
||||||
|
"PAGE_MODEL_ID",
|
||||||
|
"PAGE_MODEL_ID",
|
||||||
|
"TITLE"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.RESOURCE_TYPES",
|
||||||
|
"CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS",
|
||||||
|
"RESOURCE_TYPE_ID",
|
||||||
|
"RESOURCE_TYPE_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.RESOURCES",
|
||||||
|
"CCM_CORE.RESOURCE_DESCRIPTIONS",
|
||||||
|
"OBJECT_ID", "OBJECT_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.RESOURCES",
|
||||||
|
"CCM_CORE.RESOURCE_TITLES",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"OBJECT_ID",
|
||||||
|
"TITLE"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.SETTINGS",
|
||||||
|
"CCM_CORE.SETTINGS_L10N_STR_VALUES",
|
||||||
|
"SETTING_ID",
|
||||||
|
"ENTRY_ID",
|
||||||
|
"SETTING_VALUE_LOCALIZED_STRING"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.WORKFLOW_TASKS",
|
||||||
|
"CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS",
|
||||||
|
"TASK_ID",
|
||||||
|
"TASK_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.WORKFLOW_TASKS",
|
||||||
|
"CCM_CORE.WORKFLOW_TASK_LABELS",
|
||||||
|
"TASK_ID",
|
||||||
|
"TASK_ID",
|
||||||
|
"LABEL"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.WORKFLOWS",
|
||||||
|
"CCM_CORE.WORKFLOW_DESCRIPTIONS",
|
||||||
|
"WORKFLOW_ID",
|
||||||
|
"WORKFLOW_ID",
|
||||||
|
"DESCRIPTION"
|
||||||
|
},
|
||||||
|
new String[]{
|
||||||
|
"CCM_CORE.WORKFLOWS",
|
||||||
|
"CCM_CORE.WORKFLOW_NAMES",
|
||||||
|
"WORKFLOW_ID",
|
||||||
|
"WORKFLOW_ID",
|
||||||
|
"NAME"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final String SELECT_IDS_QUERY_TEMPLATE = "select %s from %s";
|
||||||
|
|
||||||
|
private static final String SELECT_VALUES_QUERY_TEMPLATE
|
||||||
|
= "select locale, localized_value from %s where %s = ?";
|
||||||
|
|
||||||
|
private static final String SET_VALUES_QUERY_TEMPLATE
|
||||||
|
= "update %s set %s = ? where %s = ?";
|
||||||
|
|
||||||
|
private static final String[] DROP_TABLES = new String[]{
|
||||||
|
"CCM_CORE.CATEGORY_TITLES",
|
||||||
|
"CCM_CORE.CATEGORY_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.DOMAIN_TITLES",
|
||||||
|
"CCM_CORE.DOMAIN_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.ROLE_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS",
|
||||||
|
"FORMBUILDER_DATA_QUERY_DESCRIPTIONS",
|
||||||
|
"FORMBUILDER_DATA_QUERY_NAMES",
|
||||||
|
"FORMBUILDER_OPTION_LABELS",
|
||||||
|
"FORMBUILDER_LISTENER_DESCRIPTIONS",
|
||||||
|
"FORMBUILDER_LISTENER_NAMES",
|
||||||
|
"CCM_CORE.PAGE_MODEL_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.PAGE_MODEL_TITLES",
|
||||||
|
"CCM_CORE.RESOURCE_TYPE_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.RESOURCE_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.RESOURCE_TITLES",
|
||||||
|
"CCM_CORE.SETTINGS_L10N_STR_VALUES",
|
||||||
|
"CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.WORKFLOW_TASK_LABELS",
|
||||||
|
"CCM_CORE.WORKFLOW_DESCRIPTIONS",
|
||||||
|
"CCM_CORE.WORKFLOW_NAMES",};
|
||||||
|
|
||||||
|
private static final String DROP_TABLES_QUERY_TEMPLATE = "drop table %s";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void migrate(final Context context) throws Exception {
|
||||||
|
final Connection connection = context.getConnection();
|
||||||
|
|
||||||
|
// Add columns for localized strings
|
||||||
|
for (final String addColStatement : ADD_COLUMN_STATEMENTS) {
|
||||||
|
try (PreparedStatement statement = connection.prepareStatement(
|
||||||
|
addColStatement
|
||||||
|
)) {
|
||||||
|
statement.execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (final String[] migrate : MIGRATE) {
|
||||||
|
final String objectTable = migrate[OBJECT_TABLE];
|
||||||
|
final String localizedStringTable = migrate[LOCALIZED_STR_TABLE];
|
||||||
|
final String objectIdCol = migrate[OBJECT_ID_COL];
|
||||||
|
final String valueIdCol = migrate[VALUE_ID_COL];
|
||||||
|
final String targetCol = migrate[TARGET_COL];
|
||||||
|
|
||||||
|
final List<Long> objectIds = new ArrayList<>();
|
||||||
|
final String selectIdsQuerySql = String.format(
|
||||||
|
SELECT_IDS_QUERY_TEMPLATE,
|
||||||
|
objectIdCol,
|
||||||
|
objectTable
|
||||||
|
);
|
||||||
|
try (PreparedStatement stmt = connection.prepareStatement(
|
||||||
|
selectIdsQuerySql
|
||||||
|
);
|
||||||
|
ResultSet resultSet = stmt.executeQuery()) {
|
||||||
|
while (resultSet.next()) {
|
||||||
|
objectIds.add(resultSet.getLong(objectIdCol));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final String valuesQuerySql = String.format(
|
||||||
|
SELECT_VALUES_QUERY_TEMPLATE,
|
||||||
|
localizedStringTable,
|
||||||
|
valueIdCol
|
||||||
|
);
|
||||||
|
final String setValuesQuerySql = String.format(
|
||||||
|
SET_VALUES_QUERY_TEMPLATE,
|
||||||
|
objectTable,
|
||||||
|
targetCol,
|
||||||
|
objectIdCol
|
||||||
|
);
|
||||||
|
try (PreparedStatement selectValuesStmt = connection
|
||||||
|
.prepareStatement(valuesQuerySql);
|
||||||
|
PreparedStatement setValuesStmt = connection.prepareStatement(
|
||||||
|
setValuesQuerySql
|
||||||
|
)) {
|
||||||
|
for (final Long objectId : objectIds) {
|
||||||
|
selectValuesStmt.setLong(1, objectId);
|
||||||
|
final JsonObjectBuilder jsonObjBuilder = Json
|
||||||
|
.createObjectBuilder();
|
||||||
|
try (ResultSet resultSet = selectValuesStmt.executeQuery()) {
|
||||||
|
while (resultSet.next()) {
|
||||||
|
final String locale = resultSet.getString(
|
||||||
|
"locale"
|
||||||
|
);
|
||||||
|
final String localizedValue = resultSet.getString(
|
||||||
|
"localizedValue"
|
||||||
|
);
|
||||||
|
jsonObjBuilder.add(locale, localizedValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try (StringWriter strWriter = new StringWriter();
|
||||||
|
JsonWriter jsonWriter = Json.createWriter(strWriter)) {
|
||||||
|
jsonWriter.writeObject(jsonObjBuilder.build());
|
||||||
|
setValuesStmt.setString(1, strWriter.toString());
|
||||||
|
}
|
||||||
|
setValuesStmt.setLong(2, objectId);
|
||||||
|
setValuesStmt.execute();
|
||||||
|
|
||||||
|
setValuesStmt.clearParameters();
|
||||||
|
selectValuesStmt.clearParameters();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
for (final String dropTable : DROP_TABLES) {
|
||||||
|
try(PreparedStatement stmt = connection.prepareStatement(
|
||||||
|
String.format(DROP_TABLES_QUERY_TEMPLATE, dropTable)
|
||||||
|
)) {
|
||||||
|
stmt.execute();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// SELECT object_id FROM ... order by object_id;
|
||||||
|
// for all object_id SELECT locale, localized_value FROM ... WHERE object_id = :object_id
|
||||||
|
// build json
|
||||||
|
// INSERT INTO ... WHERE object_id = :object_id
|
||||||
|
// Drop tables
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -40,15 +40,13 @@ import java.util.Objects;
|
||||||
import static org.libreccm.categorization.CategorizationConstants.CAT_XML_NS;
|
import static org.libreccm.categorization.CategorizationConstants.CAT_XML_NS;
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedAttributeNode;
|
import javax.persistence.NamedAttributeNode;
|
||||||
import javax.persistence.NamedEntityGraph;
|
import javax.persistence.NamedEntityGraph;
|
||||||
|
|
@ -77,59 +75,48 @@ import javax.persistence.Table;
|
||||||
@NamedQueries({
|
@NamedQueries({
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.topLevelCategories",
|
name = "Category.topLevelCategories",
|
||||||
query = "SELECT c FROM Category c WHERE c.parentCategory IS NULL")
|
query = "SELECT c FROM Category c WHERE c.parentCategory IS NULL"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.findByName",
|
name = "Category.findByName",
|
||||||
query = "SELECT c FROM Category c WHERE c.name = :name")
|
query = "SELECT c FROM Category c WHERE c.name = :name"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.findByUuid",
|
name = "Category.findByUuid",
|
||||||
query = "SELECT c FROM Category c WHERE c.uuid = :uuid")
|
query = "SELECT c FROM Category c WHERE c.uuid = :uuid"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.findParentCategory",
|
name = "Category.findParentCategory",
|
||||||
query = "SELECT c.parentCategory FROM Category c WHERE c = :category")
|
query = "SELECT c.parentCategory FROM Category c WHERE c = :category"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.countAssignedCategories",
|
name = "Category.countAssignedCategories",
|
||||||
query = "SELECT COUNT(c) FROM Categorization c "
|
query = "SELECT COUNT(c) FROM Categorization c "
|
||||||
+ "WHERE c.categorizedObject = :object"
|
+ "WHERE c.categorizedObject = :object"
|
||||||
)
|
),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.isCategorized",
|
name = "Category.isCategorized",
|
||||||
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
||||||
+ "FROM Categorization c "
|
+ "FROM Categorization c "
|
||||||
+ "WHERE c.categorizedObject = :object")
|
+ "WHERE c.categorizedObject = :object"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.countObjects",
|
name = "Category.countObjects",
|
||||||
query = "SELECT COUNT(c) FROM Categorization c "
|
query = "SELECT COUNT(c) FROM Categorization c "
|
||||||
+ "WHERE c.category = :category")
|
+ "WHERE c.category = :category"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.hasObjects",
|
name = "Category.hasObjects",
|
||||||
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
||||||
+ "FROM Categorization c "
|
+ "FROM Categorization c "
|
||||||
+ "WHERE c.category = :category")
|
+ "WHERE c.category = :category"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.countSubCategories",
|
name = "Category.countSubCategories",
|
||||||
query = "SELECT COUNT(c) FROM Category c "
|
query = "SELECT COUNT(c) FROM Category c "
|
||||||
+ "WHERE c.parentCategory =:category")
|
+ "WHERE c.parentCategory =:category"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.hasSubCategories",
|
name = "Category.hasSubCategories",
|
||||||
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE false END) "
|
||||||
+ "FROM Category c "
|
+ "FROM Category c "
|
||||||
+ "WHERE c.parentCategory = :category")
|
+ "WHERE c.parentCategory = :category"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.findByNameAndParent",
|
name = "Category.findByNameAndParent",
|
||||||
query = "SELECT c FROM Category c "
|
query = "SELECT c FROM Category c "
|
||||||
+ "WHERE c.name = :name AND c.parentCategory = :parent")
|
+ "WHERE c.name = :name AND c.parentCategory = :parent"),
|
||||||
,
|
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "Category.hasSubCategoryWithName",
|
name = "Category.hasSubCategoryWithName",
|
||||||
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE False END) "
|
query = "SELECT (CASE WHEN COUNT(c) > 0 THEN true ELSE False END) "
|
||||||
|
|
@ -174,28 +161,16 @@ public class Category extends CcmObject implements Serializable, Exportable {
|
||||||
/**
|
/**
|
||||||
* The human readable and localisable title of the category.
|
* The human readable and localisable title of the category.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "TITLE")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "CATEGORY_TITLES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}
|
|
||||||
))
|
|
||||||
@XmlElement(name = "title", namespace = CAT_XML_NS)
|
@XmlElement(name = "title", namespace = CAT_XML_NS)
|
||||||
private LocalizedString title;
|
private LocalizedString title;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A localisable description of the category.
|
* A localisable description of the category.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "CATEGORY_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}
|
|
||||||
))
|
|
||||||
@XmlElement(name = "description", namespace = CAT_XML_NS)
|
@XmlElement(name = "description", namespace = CAT_XML_NS)
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,9 +142,10 @@ public class CategoryTreeModelLite implements TreeModel {
|
||||||
return category.getName();
|
return category.getName();
|
||||||
} else {
|
} else {
|
||||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||||
final CategoryTreeModelLiteController controller = cdiUtil
|
final GlobalizationHelper globalizationHelper = cdiUtil
|
||||||
.findBean(CategoryTreeModelLiteController.class);
|
.findBean(GlobalizationHelper.class);
|
||||||
return controller.getTitle(category);
|
return globalizationHelper
|
||||||
|
.getValueFromLocalizedString(category.getTitle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ import java.io.Serializable;
|
||||||
import static org.libreccm.categorization.CategorizationConstants.CAT_XML_NS;
|
import static org.libreccm.categorization.CategorizationConstants.CAT_XML_NS;
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -48,12 +49,9 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedAttributeNode;
|
import javax.persistence.NamedAttributeNode;
|
||||||
import javax.persistence.NamedEntityGraph;
|
import javax.persistence.NamedEntityGraph;
|
||||||
|
|
@ -160,26 +158,16 @@ public class Domain extends CcmObject implements Serializable, Exportable {
|
||||||
* A human readable title for the {@code Domain}. The title can be
|
* A human readable title for the {@code Domain}. The title can be
|
||||||
* localised.
|
* localised.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "TITLE")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "DOMAIN_TITLES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}))
|
|
||||||
@XmlElement(name = "title", namespace = CAT_XML_NS)
|
@XmlElement(name = "title", namespace = CAT_XML_NS)
|
||||||
private LocalizedString title;
|
private LocalizedString title;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A description of the domain. The description can be localised.
|
* A description of the domain. The description can be localised.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "DOMAIN_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}))
|
|
||||||
@XmlElement(name = "description", namespace = CAT_XML_NS)
|
@XmlElement(name = "description", namespace = CAT_XML_NS)
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,13 +23,10 @@ import org.libreccm.l10n.LocalizedString;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A setting which stores a {@link LocalizedString} . This can be used for
|
* A setting which stores a {@link LocalizedString} . This can be used for
|
||||||
|
|
@ -44,13 +41,8 @@ public class LocalizedStringSetting
|
||||||
|
|
||||||
private static final long serialVersionUID = 667750736151545279L;
|
private static final long serialVersionUID = 667750736151545279L;
|
||||||
|
|
||||||
@Embedded
|
@Column(name = "SETTING_VALUE_LOCALIZED_STRING")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "SETTINGS_L10N_STR_VALUES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "ENTRY_ID")}))
|
|
||||||
private LocalizedString value;
|
private LocalizedString value;
|
||||||
|
|
||||||
public LocalizedStringSetting() {
|
public LocalizedStringSetting() {
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,6 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.core;
|
package org.libreccm.core;
|
||||||
|
|
||||||
import org.hibernate.validator.constraints.Email;
|
|
||||||
import org.hibernate.validator.constraints.NotBlank;
|
|
||||||
|
|
||||||
import javax.persistence.Column;
|
|
||||||
import javax.persistence.Embeddable;
|
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
|
|
@ -32,38 +27,39 @@ import java.util.Objects;
|
||||||
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
|
|
||||||
import javax.json.Json;
|
import javax.json.Json;
|
||||||
|
import javax.json.JsonObject;
|
||||||
import javax.json.JsonObjectBuilder;
|
import javax.json.JsonObjectBuilder;
|
||||||
|
import javax.validation.constraints.Email;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An embeddable entity for storing email addresses.
|
* An embeddable entity for storing email addresses.
|
||||||
*
|
*
|
||||||
* In contrast to its predecessor {@code com.arsdigita.kernel.EmailAddress}
|
* In contrast to its predecessor {@code com.arsdigita.kernel.EmailAddress} this
|
||||||
* this class does not provide verification methods. Verification is done using
|
* class does not provide verification methods. Verification is done using the
|
||||||
* the <em>Bean Validiation API</em> (Hibernate Validator is used as
|
* <em>Bean Validiation API</em> (Hibernate Validator is used as
|
||||||
* implementation).
|
* implementation).
|
||||||
*
|
*
|
||||||
* Because this class is an embeddable JPA entity it can be used in other
|
* This class is inteded to maps a JSONB column using the
|
||||||
* entities to store eMail addresses.
|
* {@link EmailAddressType}, or if a list of email addresses should be stored,
|
||||||
|
* the {@link EmailAddressListType}.
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@Embeddable
|
@Deprecated
|
||||||
@XmlRootElement(name = "email-address", namespace = CORE_XML_NS)
|
@XmlRootElement(name = "email-address", namespace = CORE_XML_NS)
|
||||||
public class EmailAddress implements Serializable {
|
public class EmailAddress implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = -4076089589412432766L;
|
private static final long serialVersionUID = -4076089589412432766L;
|
||||||
|
|
||||||
@Column(name = "EMAIL_ADDRESS", length = 512, nullable = false)
|
|
||||||
@XmlElement(name = "address", namespace = CORE_XML_NS, required = true)
|
@XmlElement(name = "address", namespace = CORE_XML_NS, required = true)
|
||||||
@NotBlank
|
@NotBlank
|
||||||
@Email
|
@Email
|
||||||
private String address;
|
private String address;
|
||||||
|
|
||||||
@Column(name = "BOUNCING")
|
|
||||||
@XmlElement(name = "bouncing", namespace = CORE_XML_NS)
|
@XmlElement(name = "bouncing", namespace = CORE_XML_NS)
|
||||||
private boolean bouncing;
|
private boolean bouncing;
|
||||||
|
|
||||||
@Column(name = "VERIFIED")
|
|
||||||
@XmlElement(name = "verified", namespace = CORE_XML_NS)
|
@XmlElement(name = "verified", namespace = CORE_XML_NS)
|
||||||
private boolean verified;
|
private boolean verified;
|
||||||
|
|
||||||
|
|
@ -126,6 +122,14 @@ public class EmailAddress implements Serializable {
|
||||||
return obj instanceof EmailAddress;
|
return obj instanceof EmailAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static EmailAddress fromJson(final JsonObject jsonObject) {
|
||||||
|
final EmailAddress address = new EmailAddress();
|
||||||
|
address.setAddress(jsonObject.getString("address"));
|
||||||
|
address.setBouncing(jsonObject.getBoolean("bouncing"));
|
||||||
|
address.setVerified(jsonObject.getBoolean("verified"));
|
||||||
|
return address;
|
||||||
|
}
|
||||||
|
|
||||||
public JsonObjectBuilder buildJson() {
|
public JsonObjectBuilder buildJson() {
|
||||||
return Json
|
return Json
|
||||||
.createObjectBuilder()
|
.createObjectBuilder()
|
||||||
|
|
@ -134,6 +138,10 @@ public class EmailAddress implements Serializable {
|
||||||
.add("verified", verified);
|
.add("verified", verified);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public JsonObject toJson() {
|
||||||
|
return buildJson().build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.format("%s{ "
|
return String.format("%s{ "
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 LibreCCM Foundation.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
package org.libreccm.core;
|
||||||
|
|
||||||
|
import org.libreccm.hibernate.AbstractCcmJsonUserType;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import javax.json.Json;
|
||||||
|
import javax.json.JsonArrayBuilder;
|
||||||
|
import javax.json.JsonReader;
|
||||||
|
import javax.json.JsonValue;
|
||||||
|
import javax.json.JsonWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class EmailAddressListType extends AbstractCcmJsonUserType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Object nullSafeGet(final JsonReader jsonReader) {
|
||||||
|
return jsonReader
|
||||||
|
.readArray()
|
||||||
|
.stream()
|
||||||
|
.map(JsonValue::asJsonObject)
|
||||||
|
.map(EmailAddress::fromJson)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void nullSafeSet(
|
||||||
|
final Object value, final JsonWriter jsonWriter
|
||||||
|
) {
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
final List<EmailAddress> addresses = (List<EmailAddress>) value;
|
||||||
|
final JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
|
||||||
|
addresses
|
||||||
|
.stream()
|
||||||
|
.map(EmailAddress::buildJson)
|
||||||
|
.forEach(jsonArrayBuilder::add);
|
||||||
|
jsonWriter.writeArray(jsonArrayBuilder.build());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 LibreCCM Foundation.
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301 USA
|
||||||
|
*/
|
||||||
|
package org.libreccm.core;
|
||||||
|
|
||||||
|
import org.libreccm.hibernate.AbstractCcmJsonUserType;
|
||||||
|
|
||||||
|
import javax.json.JsonReader;
|
||||||
|
import javax.json.JsonWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hibernate User type mapping instances of {@link EmailAddress} to a JSON.
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class EmailAddressType extends AbstractCcmJsonUserType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Object nullSafeGet(final JsonReader jsonReader) {
|
||||||
|
return EmailAddress.fromJson(jsonReader.readObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void nullSafeSet(
|
||||||
|
final Object value, final JsonWriter jsonWriter
|
||||||
|
) {
|
||||||
|
jsonWriter.writeObject(((EmailAddress) value).toJson());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -29,6 +29,7 @@ import java.io.Serializable;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
@ -37,13 +38,9 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
|
|
@ -82,25 +79,15 @@ public class Resource extends CcmObject implements Serializable, Exportable {
|
||||||
/**
|
/**
|
||||||
* A localisable title for the {@code Resource}.
|
* A localisable title for the {@code Resource}.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "TITLE")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "RESOURCE_TITLES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}))
|
|
||||||
private LocalizedString title;
|
private LocalizedString title;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A localisable description for the {@code Resource}.
|
* A localisable description for the {@code Resource}.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "RESOURCE_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "OBJECT_ID")}))
|
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
|
|
||||||
|
|
@ -27,17 +27,14 @@ import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.Inheritance;
|
import javax.persistence.Inheritance;
|
||||||
import javax.persistence.InheritanceType;
|
import javax.persistence.InheritanceType;
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
@ -87,13 +84,8 @@ public class ResourceType implements Serializable, Exportable {
|
||||||
@Column(name = "TITLE", length = 254, nullable = false)
|
@Column(name = "TITLE", length = 254, nullable = false)
|
||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "RESOURCE_TYPE_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "RESOURCE_TYPE_ID")}))
|
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
@Column(name = "WORKSPACE_APP")
|
@Column(name = "WORKSPACE_APP")
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ package org.libreccm.formbuilder;
|
||||||
import org.libreccm.core.CcmObject;
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -29,6 +28,14 @@ import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.ManyToOne;
|
||||||
|
import javax.persistence.OneToMany;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
|
@ -46,13 +53,8 @@ public class Component extends CcmObject implements Serializable {
|
||||||
@Column(name = "ADMIN_NAME")
|
@Column(name = "ADMIN_NAME")
|
||||||
private String adminName;
|
private String adminName;
|
||||||
|
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "FORMBUILDER_COMPONENT_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "COMPONENT_ID")}))
|
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
@Column(name = "ATTRIBUTE_STRING")
|
@Column(name = "ATTRIBUTE_STRING")
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,17 @@ package org.libreccm.formbuilder;
|
||||||
|
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
|
@ -39,12 +44,14 @@ public class Option extends Component implements Serializable {
|
||||||
@Column(name = "PARAMETER_VALUE")
|
@Column(name = "PARAMETER_VALUE")
|
||||||
private String parameterValue;
|
private String parameterValue;
|
||||||
|
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(name = "FORMBUILDER_OPTION_LABELS",
|
// joinTable = @JoinTable(name = "FORMBUILDER_OPTION_LABELS",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "OPTION_ID")}))
|
// @JoinColumn(name = "OPTION_ID")}))
|
||||||
|
@Column(name = "LABEL")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString label;
|
private LocalizedString label;
|
||||||
|
|
||||||
public String getParameterValue() {
|
public String getParameterValue() {
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,20 @@ package org.libreccm.formbuilder;
|
||||||
import org.libreccm.core.CcmObject;
|
import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
|
import javax.persistence.AssociationOverride;
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.JoinColumn;
|
||||||
|
import javax.persistence.JoinTable;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
|
@ -40,22 +48,26 @@ public class PersistentDataQuery extends CcmObject implements Serializable {
|
||||||
@Column(name = "QUERY_ID")
|
@Column(name = "QUERY_ID")
|
||||||
private String queryId;
|
private String queryId;
|
||||||
|
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "FORMBUILDER_DATA_QUERY_NAMES",
|
// name = "FORMBUILDER_DATA_QUERY_NAMES",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "DATA_QUERY_ID")}))
|
// @JoinColumn(name = "DATA_QUERY_ID")}))
|
||||||
|
@Column(name = "QUERY_NAME")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString name;
|
private LocalizedString name;
|
||||||
|
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "FORMBUILDER_DATA_QUERY_DESCRIPTIONS",
|
// name = "FORMBUILDER_DATA_QUERY_DESCRIPTIONS",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "DATA_QUERY_ID")}))
|
// @JoinColumn(name = "DATA_QUERY_ID")}))
|
||||||
|
@Column(name = "DESCRIPTION")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
public PersistentDataQuery() {
|
public PersistentDataQuery() {
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,10 @@ import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
|
|
@ -44,23 +43,26 @@ public class ProcessListener extends CcmObject implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = -3029184333026605708L;
|
private static final long serialVersionUID = -3029184333026605708L;
|
||||||
|
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "FORMBUILDER_PROCESS_LISTENER_NAMES",
|
// name = "FORMBUILDER_PROCESS_LISTENER_NAMES",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "PROCESS_LISTENER_ID")}))
|
// @JoinColumn(name = "PROCESS_LISTENER_ID")}))
|
||||||
|
@Column(name = "LISTENER_NAME")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString name;
|
private LocalizedString name;
|
||||||
|
|
||||||
@AssociationOverride(
|
// @AssociationOverride(
|
||||||
name = "values",
|
// name = "values",
|
||||||
joinTable = @JoinTable(
|
// joinTable = @JoinTable(
|
||||||
name = "FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS",
|
// name = "FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS",
|
||||||
schema = DB_SCHEMA,
|
// schema = DB_SCHEMA,
|
||||||
joinColumns = {
|
// joinColumns = {
|
||||||
@JoinColumn(name = "PROCESS_LISTENER_ID")}))
|
// @JoinColumn(name = "PROCESS_LISTENER_ID")}))
|
||||||
|
@Column(name = "DESCRIPTION")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
@Column(name = "LISTENER_CLASS")
|
@Column(name = "LISTENER_CLASS")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,163 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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.hibernate;
|
||||||
|
|
||||||
|
import org.hibernate.HibernateException;
|
||||||
|
import org.hibernate.engine.spi.SharedSessionContractImplementor;
|
||||||
|
import org.hibernate.usertype.UserType;
|
||||||
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.StringReader;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Types;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import javax.json.Json;
|
||||||
|
import javax.json.JsonReader;
|
||||||
|
import javax.json.JsonWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public abstract class AbstractCcmJsonUserType implements UserType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int[] sqlTypes() {
|
||||||
|
return new int[]{Types.JAVA_OBJECT};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<LocalizedString> returnedClass() {
|
||||||
|
return LocalizedString.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(final Object obj1, final Object obj2)
|
||||||
|
throws HibernateException {
|
||||||
|
return Objects.equals(obj1, obj2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode(final Object obj) throws HibernateException {
|
||||||
|
return Objects.hashCode(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object nullSafeGet(
|
||||||
|
final ResultSet resultSet,
|
||||||
|
final String[] names,
|
||||||
|
final SharedSessionContractImplementor session,
|
||||||
|
final Object owner
|
||||||
|
) throws HibernateException, SQLException {
|
||||||
|
final String cellContent = resultSet.getString(names[0]);
|
||||||
|
if (cellContent == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
try (StringReader strReader = new StringReader(cellContent);
|
||||||
|
JsonReader jsonReader = Json.createReader(strReader)) {
|
||||||
|
return nullSafeGet(jsonReader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract Object nullSafeGet(final JsonReader jsonReader);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void nullSafeSet(
|
||||||
|
final PreparedStatement statement,
|
||||||
|
final Object value,
|
||||||
|
final int index,
|
||||||
|
final SharedSessionContractImplementor session
|
||||||
|
) throws HibernateException, SQLException {
|
||||||
|
if (value == null) {
|
||||||
|
statement.setObject(index, null, Types.OTHER);
|
||||||
|
} else {
|
||||||
|
try (StringWriter strWriter = new StringWriter();
|
||||||
|
JsonWriter jsonWriter = Json.createWriter(strWriter)) {
|
||||||
|
nullSafeSet(value, jsonWriter);
|
||||||
|
statement.setObject(index, strWriter.toString(), Types.OTHER);
|
||||||
|
}catch (IOException ex) {
|
||||||
|
throw new HibernateException(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract void nullSafeSet(
|
||||||
|
final Object value, final JsonWriter jsonWriter
|
||||||
|
);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object deepCopy(final Object value) throws HibernateException {
|
||||||
|
final byte[] serialized;
|
||||||
|
try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||||
|
ObjectOutputStream oos = new ObjectOutputStream(bos)) {
|
||||||
|
oos.writeObject(value);
|
||||||
|
oos.flush();
|
||||||
|
serialized = bos.toByteArray();
|
||||||
|
} catch (IOException ex) {
|
||||||
|
throw new HibernateException(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
final Object obj;
|
||||||
|
try (ByteArrayInputStream bais = new ByteArrayInputStream(serialized);
|
||||||
|
ObjectInputStream ois = new ObjectInputStream(bais)) {
|
||||||
|
obj = ois.readObject();
|
||||||
|
} catch (IOException | ClassNotFoundException ex) {
|
||||||
|
throw new HibernateException(ex);
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isMutable() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Serializable disassemble(final Object value)
|
||||||
|
throws HibernateException {
|
||||||
|
return (Serializable) deepCopy(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object assemble(final Serializable cached, final Object owner) throws
|
||||||
|
HibernateException {
|
||||||
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Object replace(
|
||||||
|
final Object original,
|
||||||
|
final Object target,
|
||||||
|
final Object owner
|
||||||
|
) throws HibernateException {
|
||||||
|
return deepCopy(original);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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.hibernate.dialects;
|
||||||
|
|
||||||
|
import org.hibernate.dialect.H2Dialect;
|
||||||
|
|
||||||
|
import java.sql.Types;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class LibreCcmH2Dialect extends H2Dialect {
|
||||||
|
|
||||||
|
public LibreCcmH2Dialect() {
|
||||||
|
super();
|
||||||
|
super.registerColumnType(Types.JAVA_OBJECT, "json");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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.hibernate.dialects;
|
||||||
|
|
||||||
|
import org.hibernate.dialect.PostgreSQL9Dialect;
|
||||||
|
|
||||||
|
import java.sql.Types;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class LibreCcmPgSql9Dialect extends PostgreSQL9Dialect {
|
||||||
|
|
||||||
|
public LibreCcmPgSql9Dialect() {
|
||||||
|
super();
|
||||||
|
super.registerColumnType(Types.JAVA_OBJECT, "jsonb");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -19,22 +19,14 @@
|
||||||
package org.libreccm.l10n;
|
package org.libreccm.l10n;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import org.hibernate.annotations.Type;
|
|
||||||
import org.hibernate.search.annotations.Field;
|
|
||||||
import org.libreccm.l10n.jaxb.LocalizedStringValuesAdapter;
|
import org.libreccm.l10n.jaxb.LocalizedStringValuesAdapter;
|
||||||
|
|
||||||
import javax.persistence.Basic;
|
|
||||||
import javax.persistence.Column;
|
|
||||||
import javax.persistence.ElementCollection;
|
|
||||||
import javax.persistence.Embeddable;
|
|
||||||
import javax.persistence.FetchType;
|
|
||||||
import javax.persistence.Lob;
|
|
||||||
import javax.persistence.MapKeyColumn;
|
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
import javax.xml.bind.annotation.XmlElement;
|
import javax.xml.bind.annotation.XmlElement;
|
||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -45,31 +37,38 @@ import java.util.Set;
|
||||||
|
|
||||||
import static org.libreccm.l10n.L10NConstants.L10N_XML_NS;
|
import static org.libreccm.l10n.L10NConstants.L10N_XML_NS;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
|
import javax.json.Json;
|
||||||
|
import javax.json.JsonObject;
|
||||||
|
import javax.json.JsonObjectBuilder;
|
||||||
|
import javax.persistence.Column;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A helper class for localisable string properties. This class is declared as
|
* A helper class for localisable string properties. For using this class a
|
||||||
* embeddable, so that it can be used in every other entity. The localised
|
* Hibernate User type is provided ({@link LocalizedStringType} which maps
|
||||||
|
* instances of this class to a JSONB column in the database. The localised
|
||||||
* values are stored in a {@link Map}. This class is <em>not</em> designed to be
|
* values are stored in a {@link Map}. This class is <em>not</em> designed to be
|
||||||
* overwritten. But because it is an entity class we can't make the class final.
|
* overwritten. But because it is an entity class we can't make the class final.
|
||||||
*
|
*
|
||||||
|
* To use this class you must annoate this property with the {@link Type}
|
||||||
|
* annotation provided by hibernate. The {@link Column} annotation can used
|
||||||
|
* a usual to set the name of the database column. Example
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* @Column(name = "DESCRIPTION")
|
||||||
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
|
private LocalizedString description;
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
*/
|
*/
|
||||||
@Embeddable
|
|
||||||
@XmlRootElement(name = "localized-string", namespace = L10N_XML_NS)
|
@XmlRootElement(name = "localized-string", namespace = L10N_XML_NS)
|
||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class LocalizedString implements Serializable {
|
public class LocalizedString implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 7378282657084330425L;
|
private static final long serialVersionUID = 7378282657084330425L;
|
||||||
|
|
||||||
/**
|
|
||||||
* The localised values of the string.
|
|
||||||
*/
|
|
||||||
@ElementCollection(fetch = FetchType.LAZY)
|
|
||||||
@MapKeyColumn(name = "LOCALE")
|
|
||||||
@Column(name = "LOCALIZED_VALUE")
|
|
||||||
@Basic
|
|
||||||
@Lob
|
|
||||||
@Type(type = "org.hibernate.type.TextType")
|
|
||||||
@Field
|
|
||||||
@XmlElement(name = "values", namespace = L10N_XML_NS)
|
@XmlElement(name = "values", namespace = L10N_XML_NS)
|
||||||
@XmlJavaTypeAdapter(LocalizedStringValuesAdapter.class)
|
@XmlJavaTypeAdapter(LocalizedStringValuesAdapter.class)
|
||||||
private Map<Locale, String> values;
|
private Map<Locale, String> values;
|
||||||
|
|
@ -202,6 +201,41 @@ public class LocalizedString implements Serializable {
|
||||||
return obj instanceof LocalizedString;
|
return obj instanceof LocalizedString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static LocalizedString fromJson(final JsonObject jsonObject) {
|
||||||
|
final LocalizedString localizedString = new LocalizedString();
|
||||||
|
|
||||||
|
jsonObject
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.forEach(
|
||||||
|
entry -> localizedString.addValue(
|
||||||
|
new Locale(entry.getKey()),
|
||||||
|
jsonObject.getString(entry.getKey())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return localizedString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JsonObjectBuilder buildJson() {
|
||||||
|
final JsonObjectBuilder builder = Json.createObjectBuilder();
|
||||||
|
|
||||||
|
values
|
||||||
|
.entrySet()
|
||||||
|
.stream()
|
||||||
|
.forEach(
|
||||||
|
entry -> builder.add(
|
||||||
|
entry.getKey().toString(), entry.getValue()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JsonObject toJson() {
|
||||||
|
return buildJson().build();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.format(
|
return String.format(
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2020 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.l10n;
|
||||||
|
|
||||||
|
import org.libreccm.hibernate.AbstractCcmJsonUserType;
|
||||||
|
|
||||||
|
import javax.json.JsonReader;
|
||||||
|
import javax.json.JsonWriter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hibernate User type mapping instances of {@link LocalizedString} to a JSON.
|
||||||
|
*
|
||||||
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
*/
|
||||||
|
public class LocalizedStringType extends AbstractCcmJsonUserType {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Object nullSafeGet(final JsonReader jsonReader) {
|
||||||
|
return LocalizedString.fromJson(jsonReader.readObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void nullSafeSet(
|
||||||
|
final Object value, final JsonWriter jsonWriter
|
||||||
|
) {
|
||||||
|
jsonWriter.writeObject(((LocalizedString) value).toJson());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.pagemodel;
|
package org.libreccm.pagemodel;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.core.CoreConstants;
|
import org.libreccm.core.CoreConstants;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
import org.libreccm.web.CcmApplication;
|
import org.libreccm.web.CcmApplication;
|
||||||
|
|
@ -33,9 +34,7 @@ import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
|
|
@ -45,7 +44,6 @@ import javax.persistence.Id;
|
||||||
import javax.persistence.Inheritance;
|
import javax.persistence.Inheritance;
|
||||||
import javax.persistence.InheritanceType;
|
import javax.persistence.InheritanceType;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
|
|
@ -225,27 +223,15 @@ public class PageModel implements Serializable {
|
||||||
* The localised title of this {@code PageModel} (shown in the
|
* The localised title of this {@code PageModel} (shown in the
|
||||||
* administration UI),
|
* administration UI),
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "TITLE")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "PAGE_MODEL_TITLES",
|
|
||||||
schema = CoreConstants.DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "PAGE_MODEL_ID")
|
|
||||||
}))
|
|
||||||
private LocalizedString title;
|
private LocalizedString title;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A description of this {@code PageModel} describing its purpose.
|
* A description of this {@code PageModel} describing its purpose.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "PAGE_MODEL_DESCRIPTIONS",
|
|
||||||
schema = CoreConstants.DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "PAGE_MODEL_ID")
|
|
||||||
}))
|
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,7 @@ public class ChallengeManager {
|
||||||
submittedToken,
|
submittedToken,
|
||||||
OneTimeAuthTokenPurpose.EMAIL_VERIFICATION)) {
|
OneTimeAuthTokenPurpose.EMAIL_VERIFICATION)) {
|
||||||
|
|
||||||
user.getPrimaryEmailAddress().setVerified(true);
|
user.setPrimaryEmailAddressVerified(true);
|
||||||
userRepository.save(user);
|
userRepository.save(user);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -344,7 +344,7 @@ public class ChallengeManager {
|
||||||
.getURL());
|
.getURL());
|
||||||
|
|
||||||
final ParameterMap params = new ParameterMap();
|
final ParameterMap params = new ParameterMap();
|
||||||
params.setParameter("email", user.getPrimaryEmailAddress().getAddress());
|
params.setParameter("email", user.getPrimaryEmailAddress());
|
||||||
params.setParameter("token", token.getToken());
|
params.setParameter("token", token.getToken());
|
||||||
values.put("full_link",
|
values.put("full_link",
|
||||||
URL.there(request,
|
URL.there(request,
|
||||||
|
|
@ -505,7 +505,7 @@ public class ChallengeManager {
|
||||||
final KernelConfig kernelConfig = configurationManager
|
final KernelConfig kernelConfig = configurationManager
|
||||||
.findConfiguration(KernelConfig.class);
|
.findConfiguration(KernelConfig.class);
|
||||||
|
|
||||||
final Mail mail = new Mail(user.getPrimaryEmailAddress().getAddress(),
|
final Mail mail = new Mail(user.getPrimaryEmailAddress(),
|
||||||
kernelConfig.getSystemEmailAddress(),
|
kernelConfig.getSystemEmailAddress(),
|
||||||
subject);
|
subject);
|
||||||
mail.setBody(text);
|
mail.setBody(text);
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import org.libreccm.workflow.TaskAssignment;
|
||||||
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -39,16 +40,12 @@ import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.GeneratedValue;
|
import javax.persistence.GeneratedValue;
|
||||||
import javax.persistence.GenerationType;
|
import javax.persistence.GenerationType;
|
||||||
import javax.persistence.Id;
|
import javax.persistence.Id;
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.NamedAttributeNode;
|
import javax.persistence.NamedAttributeNode;
|
||||||
import javax.persistence.NamedEntityGraph;
|
import javax.persistence.NamedEntityGraph;
|
||||||
import javax.persistence.NamedEntityGraphs;
|
import javax.persistence.NamedEntityGraphs;
|
||||||
|
|
@ -182,16 +179,10 @@ public class Role implements Serializable, Exportable {
|
||||||
/**
|
/**
|
||||||
* An optional description for a role.
|
* An optional description for a role.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "ROLE_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "ROLE_ID")
|
|
||||||
}))
|
|
||||||
@XmlElement(name = "description", namespace = CORE_XML_NS)
|
@XmlElement(name = "description", namespace = CORE_XML_NS)
|
||||||
private LocalizedString description = new LocalizedString();
|
private LocalizedString description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All memberships of the roles.
|
* All memberships of the roles.
|
||||||
|
|
@ -200,7 +191,7 @@ public class Role implements Serializable, Exportable {
|
||||||
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "role-memberships", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
@XmlElement(name = "role-membership", namespace = CORE_XML_NS)
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private Set<RoleMembership> memberships = new HashSet<>();
|
private Set<RoleMembership> memberships;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Permissions granted to the role.
|
* Permissions granted to the role.
|
||||||
|
|
@ -210,14 +201,18 @@ public class Role implements Serializable, Exportable {
|
||||||
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "permissions", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
@XmlElement(name = "permission", namespace = CORE_XML_NS)
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private List<Permission> permissions = new ArrayList<>();
|
private List<Permission> permissions;
|
||||||
|
|
||||||
@OneToMany(mappedBy = "role", fetch = FetchType.LAZY)
|
@OneToMany(mappedBy = "role", fetch = FetchType.LAZY)
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
private List<TaskAssignment> assignedTasks = new ArrayList<>();
|
private List<TaskAssignment> assignedTasks;
|
||||||
|
|
||||||
public Role() {
|
public Role() {
|
||||||
super();
|
super();
|
||||||
|
description = new LocalizedString();
|
||||||
|
memberships = new HashSet<>();
|
||||||
|
permissions = new ArrayList<>();
|
||||||
|
assignedTasks = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getRoleId() {
|
public long getRoleId() {
|
||||||
|
|
@ -254,7 +249,7 @@ public class Role implements Serializable, Exportable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setMemberships(final Set<RoleMembership> memberships) {
|
protected void setMemberships(final Set<RoleMembership> memberships) {
|
||||||
this.memberships = memberships;
|
this.memberships = new HashSet<>(memberships);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addMembership(final RoleMembership membership) {
|
protected void addMembership(final RoleMembership membership) {
|
||||||
|
|
@ -274,7 +269,7 @@ public class Role implements Serializable, Exportable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setPermissions(final List<Permission> permissions) {
|
protected void setPermissions(final List<Permission> permissions) {
|
||||||
this.permissions = permissions;
|
this.permissions = new ArrayList<>(permissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void addPermission(final Permission permission) {
|
protected void addPermission(final Permission permission) {
|
||||||
|
|
@ -294,7 +289,7 @@ public class Role implements Serializable, Exportable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setAssignedTasks(final List<TaskAssignment> assignedTasks) {
|
protected void setAssignedTasks(final List<TaskAssignment> assignedTasks) {
|
||||||
this.assignedTasks = assignedTasks;
|
this.assignedTasks = new ArrayList<>(assignedTasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addAssignedTask(final TaskAssignment taskAssignment) {
|
public void addAssignedTask(final TaskAssignment taskAssignment) {
|
||||||
|
|
@ -306,7 +301,7 @@ public class Role implements Serializable, Exportable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalizedString getDescription() {
|
public LocalizedString getDescription() {
|
||||||
return this.description;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(final LocalizedString description) {
|
public void setDescription(final LocalizedString description) {
|
||||||
|
|
|
||||||
|
|
@ -85,9 +85,9 @@ public class SystemUsersSetup {
|
||||||
admin.setName(adminName);
|
admin.setName(adminName);
|
||||||
admin.setFamilyName(adminFamilyName);
|
admin.setFamilyName(adminFamilyName);
|
||||||
admin.setGivenName(adminGivenName);
|
admin.setGivenName(adminGivenName);
|
||||||
final EmailAddress adminEmail = new EmailAddress();
|
admin.setPrimaryEmailAddress(adminEmailAddress);
|
||||||
adminEmail.setAddress(adminEmailAddress);
|
admin.setPrimaryEmailAddressBouncing(false);
|
||||||
admin.setPrimaryEmailAddress(adminEmail);
|
admin.setPrimaryEmailAddressVerified(true);
|
||||||
admin.setPassword(adminPassword);
|
admin.setPassword(adminPassword);
|
||||||
|
|
||||||
final Role adminRole = new Role();
|
final Role adminRole = new Role();
|
||||||
|
|
@ -119,9 +119,9 @@ public class SystemUsersSetup {
|
||||||
user.setName("public-user");
|
user.setName("public-user");
|
||||||
user.setFamilyName("LibreCCM");
|
user.setFamilyName("LibreCCM");
|
||||||
user.setGivenName("Public User");
|
user.setGivenName("Public User");
|
||||||
final EmailAddress email = new EmailAddress();
|
user.setPrimaryEmailAddress("public-user@localhost");
|
||||||
email.setAddress("public-user@localhost");
|
user.setPrimaryEmailAddressBouncing(false);
|
||||||
user.setPrimaryEmailAddress(email);
|
user.setPrimaryEmailAddressVerified(true);
|
||||||
|
|
||||||
entityManager.persist(user);
|
entityManager.persist(user);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import java.io.Serializable;
|
||||||
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
import static org.libreccm.core.CoreConstants.CORE_XML_NS;
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.core.api.JsonArrayCollector;
|
import org.libreccm.core.api.JsonArrayCollector;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
|
|
@ -43,22 +44,23 @@ import java.util.Set;
|
||||||
import javax.json.Json;
|
import javax.json.Json;
|
||||||
import javax.json.JsonArrayBuilder;
|
import javax.json.JsonArrayBuilder;
|
||||||
import javax.json.JsonObjectBuilder;
|
import javax.json.JsonObjectBuilder;
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.CollectionTable;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.ElementCollection;
|
import javax.persistence.ColumnResult;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.EntityResult;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.FieldResult;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.NamedAttributeNode;
|
import javax.persistence.NamedAttributeNode;
|
||||||
import javax.persistence.NamedEntityGraph;
|
import javax.persistence.NamedEntityGraph;
|
||||||
import javax.persistence.NamedEntityGraphs;
|
import javax.persistence.NamedEntityGraphs;
|
||||||
|
import javax.persistence.NamedNativeQueries;
|
||||||
|
import javax.persistence.NamedNativeQuery;
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
import javax.persistence.NamedSubgraph;
|
import javax.persistence.NamedSubgraph;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
|
import javax.persistence.SqlResultSetMapping;
|
||||||
|
import javax.persistence.SqlResultSetMappings;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.xml.bind.annotation.XmlAccessType;
|
import javax.xml.bind.annotation.XmlAccessType;
|
||||||
import javax.xml.bind.annotation.XmlAccessorType;
|
import javax.xml.bind.annotation.XmlAccessorType;
|
||||||
|
|
@ -76,43 +78,45 @@ import javax.xml.bind.annotation.XmlTransient;
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "USERS", schema = DB_SCHEMA)
|
@Table(name = "USERS", schema = DB_SCHEMA)
|
||||||
@NamedQueries({
|
@NamedQueries({
|
||||||
@NamedQuery(name = "User.findByUuid",
|
@NamedQuery(
|
||||||
query = "SELECT u FROM User u WHERE u.uuid = :uuid"),
|
name = "User.findByUuid",
|
||||||
@NamedQuery(name = "User.findByName",
|
query = "SELECT u FROM User u WHERE u.uuid = :uuid"
|
||||||
|
),
|
||||||
|
@NamedQuery(
|
||||||
|
name = "User.findByName",
|
||||||
query = "SELECT u FROM User u WHERE u.name = :name "
|
query = "SELECT u FROM User u WHERE u.name = :name "
|
||||||
+ "ORDER BY u.name, "
|
+ "ORDER BY u.name, "
|
||||||
+ " u.familyName, "
|
+ " u.familyName, "
|
||||||
+ " u.givenName, "
|
+ " u.givenName"
|
||||||
+ " u.primaryEmailAddress.address"),
|
),
|
||||||
@NamedQuery(name = "User.countByName",
|
@NamedQuery(name = "User.countByName",
|
||||||
query = "SELECT COUNT(u) FROM User u WHERE u.name = :name"),
|
query = "SELECT COUNT(u) FROM User u WHERE u.name = :name"),
|
||||||
@NamedQuery(name = "User.findByEmailAddress",
|
@NamedQuery(name = "User.findByEmailAddress",
|
||||||
query = "SELECT u FROM User u WHERE "
|
query = "SELECT u FROM User u WHERE "
|
||||||
+ "u.primaryEmailAddress.address = :emailAddress "
|
+ "u.primaryEmailAddress = :emailAddress "
|
||||||
+ "ORDER BY u.name, "
|
+ "ORDER BY u.name, "
|
||||||
+ " u.familyName, "
|
+ " u.familyName, "
|
||||||
+ " u.givenName, "
|
+ " u.givenName, "
|
||||||
+ " u.primaryEmailAddress.address"),
|
+ " u.primaryEmailAddress"),
|
||||||
@NamedQuery(name = "User.countByPrimaryEmailAddress",
|
@NamedQuery(name = "User.countByPrimaryEmailAddress",
|
||||||
query = "SELECT COUNT(u) FROM User u "
|
query = "SELECT COUNT(u) FROM User u "
|
||||||
+ "WHERE u.primaryEmailAddress.address = :emailAddress"),
|
+ "WHERE u.primaryEmailAddress = :emailAddress"),
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "User.filterByNameAndEmail",
|
name = "User.filterByNameAndEmail",
|
||||||
query = "SELECT u FROM User u WHERE "
|
query = "SELECT u FROM User u WHERE "
|
||||||
+ "LOWER(u.name) LIKE CONCAT(LOWER(:term), '%') "
|
+ "LOWER(u.name) LIKE CONCAT(LOWER(:term), '%') "
|
||||||
+ "OR LOWER(u.givenName) LIKE CONCAT(LOWER(:term), '%') "
|
+ "OR LOWER(u.givenName) LIKE CONCAT(LOWER(:term), '%') "
|
||||||
+ "OR LOWER(u.familyName) LIKE CONCAT(LOWER(:term), '%')"
|
+ "OR LOWER(u.familyName) LIKE CONCAT(LOWER(:term), '%')"
|
||||||
+ "OR LOWER(u.primaryEmailAddress.address) LIKE CONCAT('%', LOWER(:term), '%') "
|
|
||||||
+ "ORDER BY u.name,"
|
+ "ORDER BY u.name,"
|
||||||
+ "u.familyName, "
|
+ "u.familyName, "
|
||||||
+ "u.givenName, "
|
+ "u.givenName"
|
||||||
+ "u.primaryEmailAddress.address"),
|
),
|
||||||
@NamedQuery(
|
@NamedQuery(
|
||||||
name = "User.findAllOrderedByUsername",
|
name = "User.findAllOrderedByUsername",
|
||||||
query = "SELECT u FROM User u ORDER BY u.name, "
|
query = "SELECT u FROM User u ORDER BY u.name, "
|
||||||
+ " u.familyName, "
|
+ " u.familyName, "
|
||||||
+ " u.givenName, "
|
+ " u.givenName, "
|
||||||
+ " u.primaryEmailAddress.address"),
|
+ " u.primaryEmailAddress"),
|
||||||
@NamedQuery(name = "User.findByGroup",
|
@NamedQuery(name = "User.findByGroup",
|
||||||
query = "SELECT u FROM User u "
|
query = "SELECT u FROM User u "
|
||||||
+ "JOIN u.groupMemberships m "
|
+ "JOIN u.groupMemberships m "
|
||||||
|
|
@ -170,26 +174,23 @@ public class User extends Party implements Serializable, Exportable {
|
||||||
/**
|
/**
|
||||||
* The primary email address of the user.
|
* The primary email address of the user.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "PRIMARY_EMAIL_ADDRESS")
|
||||||
@AssociationOverride(
|
|
||||||
name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
|
||||||
joinTable = @JoinTable(name = "USER_PRIMARY_EMAIL_ADDRESSES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "USER_ID")
|
|
||||||
}))
|
|
||||||
@NotNull
|
@NotNull
|
||||||
@XmlElement(name = "primary-email-address", namespace = CORE_XML_NS)
|
@XmlElement(name = "primary-email-address", namespace = CORE_XML_NS)
|
||||||
private EmailAddress primaryEmailAddress;
|
private String primaryEmailAddress;
|
||||||
|
|
||||||
|
@Column(name = "PRIMARY_EMAIL_ADDRESS_BOUNCING")
|
||||||
|
private boolean primaryEmailAddressBouncing;
|
||||||
|
|
||||||
|
@Column(name = "PRIMARY_EMAIL_ADDRESS_VERIFIED")
|
||||||
|
private boolean primaryEmailAddressVerified;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Additional email addresses of the user.
|
* Additional email addresses of the user.
|
||||||
*/
|
*/
|
||||||
@ElementCollection(fetch = FetchType.EAGER)
|
@Column(name = "EMAIL_ADDRESSES")
|
||||||
@CollectionTable(name = "USER_EMAIL_ADDRESSES",
|
@Type(type = "org.libreccm.core.EmailAddressListType")
|
||||||
schema = DB_SCHEMA,
|
@Deprecated
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "USER_ID")})
|
|
||||||
@XmlElementWrapper(name = "email-addresses", namespace = CORE_XML_NS)
|
@XmlElementWrapper(name = "email-addresses", namespace = CORE_XML_NS)
|
||||||
@XmlElement(name = "email-address", namespace = CORE_XML_NS)
|
@XmlElement(name = "email-address", namespace = CORE_XML_NS)
|
||||||
private List<EmailAddress> emailAddresses;
|
private List<EmailAddress> emailAddresses;
|
||||||
|
|
@ -250,14 +251,31 @@ public class User extends Party implements Serializable, Exportable {
|
||||||
this.familyName = familyName;
|
this.familyName = familyName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public EmailAddress getPrimaryEmailAddress() {
|
public String getPrimaryEmailAddress() {
|
||||||
return primaryEmailAddress;
|
return primaryEmailAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPrimaryEmailAddress(final EmailAddress primaryEmailAddress) {
|
public void setPrimaryEmailAddress(final String primaryEmailAddress) {
|
||||||
this.primaryEmailAddress = primaryEmailAddress;
|
this.primaryEmailAddress = primaryEmailAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isPrimaryEmailAddressBouncing() {
|
||||||
|
return primaryEmailAddressBouncing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrimaryEmailAddressBouncing(final boolean bouncing) {
|
||||||
|
primaryEmailAddressBouncing = bouncing;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isPrimaryEmailAddressVerified() {
|
||||||
|
return primaryEmailAddressVerified;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPrimaryEmailAddressVerified(final boolean verified) {
|
||||||
|
primaryEmailAddressVerified = verified;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public List<EmailAddress> getEmailAddresses() {
|
public List<EmailAddress> getEmailAddresses() {
|
||||||
if (emailAddresses == null) {
|
if (emailAddresses == null) {
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -266,6 +284,7 @@ public class User extends Party implements Serializable, Exportable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
protected void setEmailAddresses(final List<EmailAddress> emailAddresses) {
|
protected void setEmailAddresses(final List<EmailAddress> emailAddresses) {
|
||||||
this.emailAddresses = new ArrayList<>(emailAddresses);
|
this.emailAddresses = new ArrayList<>(emailAddresses);
|
||||||
}
|
}
|
||||||
|
|
@ -363,7 +382,8 @@ public class User extends Party implements Serializable, Exportable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonObjectBuilder buildJson() {
|
public JsonObjectBuilder buildJson() {
|
||||||
final JsonArrayBuilder emailAddressesArrayBuilder = Json.createArrayBuilder();
|
final JsonArrayBuilder emailAddressesArrayBuilder = Json
|
||||||
|
.createArrayBuilder();
|
||||||
|
|
||||||
emailAddresses
|
emailAddresses
|
||||||
.stream()
|
.stream()
|
||||||
|
|
@ -374,7 +394,9 @@ public class User extends Party implements Serializable, Exportable {
|
||||||
.buildJson()
|
.buildJson()
|
||||||
.add("givenName", givenName)
|
.add("givenName", givenName)
|
||||||
.add("familyName", familyName)
|
.add("familyName", familyName)
|
||||||
.add("primaryEmailAddress", primaryEmailAddress.buildJson())
|
.add("primaryEmailAddress", primaryEmailAddress)
|
||||||
|
.add("primaryEmailAddressBouncing", primaryEmailAddressBouncing)
|
||||||
|
.add("primaryEmailAddressVerified", primaryEmailAddressVerified)
|
||||||
.add(
|
.add(
|
||||||
"emailAddresses",
|
"emailAddresses",
|
||||||
emailAddresses
|
emailAddresses
|
||||||
|
|
|
||||||
|
|
@ -94,10 +94,9 @@ public class UserManager implements Serializable {
|
||||||
user.setGivenName(givenName);
|
user.setGivenName(givenName);
|
||||||
user.setFamilyName(familyName);
|
user.setFamilyName(familyName);
|
||||||
user.setName(name);
|
user.setName(name);
|
||||||
final EmailAddress email = new EmailAddress();
|
user.setPrimaryEmailAddress(emailAddress);
|
||||||
email.setAddress(emailAddress);
|
user.setPrimaryEmailAddressBouncing(false);
|
||||||
user.setPrimaryEmailAddress(email);
|
user.setPrimaryEmailAddressVerified(true);
|
||||||
email.setVerified(true);
|
|
||||||
if (password == null) {
|
if (password == null) {
|
||||||
user.setPassword(null);
|
user.setPassword(null);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -131,7 +130,7 @@ public class UserManager implements Serializable {
|
||||||
final KernelConfig kernelConfig = confManager.findConfiguration(
|
final KernelConfig kernelConfig = confManager.findConfiguration(
|
||||||
KernelConfig.class);
|
KernelConfig.class);
|
||||||
if (kernelConfig.emailIsPrimaryIdentifier()) {
|
if (kernelConfig.emailIsPrimaryIdentifier()) {
|
||||||
userIdentifier = user.getPrimaryEmailAddress().getAddress();
|
userIdentifier = user.getPrimaryEmailAddress();
|
||||||
} else {
|
} else {
|
||||||
userIdentifier = user.getName();
|
userIdentifier = user.getName();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,11 @@
|
||||||
*/
|
*/
|
||||||
package org.libreccm.security;
|
package org.libreccm.security;
|
||||||
|
|
||||||
|
import org.hibernate.Session;
|
||||||
import org.libreccm.core.AbstractEntityRepository;
|
import org.libreccm.core.AbstractEntityRepository;
|
||||||
import org.libreccm.core.CoreConstants;
|
import org.libreccm.core.CoreConstants;
|
||||||
|
import org.libreccm.core.EmailAddressListType;
|
||||||
|
import org.libreccm.core.EmailAddressType;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
import javax.persistence.EntityGraph;
|
import javax.persistence.EntityGraph;
|
||||||
|
|
@ -30,6 +33,9 @@ import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import javax.persistence.NoResultException;
|
||||||
|
import javax.persistence.Query;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repository for user objects.
|
* Repository for user objects.
|
||||||
*
|
*
|
||||||
|
|
@ -138,11 +144,15 @@ public class UserRepository extends AbstractEntityRepository<Long, User> {
|
||||||
* is no matching user {@code null} is returned.
|
* is no matching user {@code null} is returned.
|
||||||
*/
|
*/
|
||||||
public Optional<User> findByEmailAddress(final String emailAddress) {
|
public Optional<User> findByEmailAddress(final String emailAddress) {
|
||||||
final TypedQuery<User> query = getEntityManager().createNamedQuery(
|
try {
|
||||||
"User.findByEmailAddress", User.class);
|
return getSingleResult(
|
||||||
query.setParameter("emailAddress", emailAddress);
|
getEntityManager()
|
||||||
|
.createNamedQuery("User.findByEmailAddress", User.class)
|
||||||
return getSingleResult(query);
|
.setParameter("emailAddress", emailAddress)
|
||||||
|
);
|
||||||
|
} catch (NoResultException ex) {
|
||||||
|
return Optional.empty();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Optional<User> findByEmailAddress(final String emailAddress,
|
public Optional<User> findByEmailAddress(final String emailAddress,
|
||||||
|
|
@ -210,8 +220,6 @@ public class UserRepository extends AbstractEntityRepository<Long, User> {
|
||||||
entity.setUuid(UUID.randomUUID().toString());
|
entity.setUuid(UUID.randomUUID().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@AuthorizationRequired
|
@AuthorizationRequired
|
||||||
@RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN)
|
@RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN)
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,9 @@ import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
|
|
@ -49,7 +49,6 @@ import javax.persistence.Id;
|
||||||
import javax.persistence.Inheritance;
|
import javax.persistence.Inheritance;
|
||||||
import javax.persistence.InheritanceType;
|
import javax.persistence.InheritanceType;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
|
|
@ -147,25 +146,15 @@ public class Task implements Identifiable, Serializable {
|
||||||
/**
|
/**
|
||||||
* A human readable, localisable label for the task.
|
* A human readable, localisable label for the task.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "LABEL")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "WORKFLOW_TASK_LABELS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "TASK_ID")}))
|
|
||||||
private LocalizedString label;
|
private LocalizedString label;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A description of the task.
|
* A description of the task.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "WORKFLOW_TASK_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "TASK_ID")}))
|
|
||||||
private LocalizedString description;
|
private LocalizedString description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,7 @@ import org.libreccm.core.CcmObject;
|
||||||
import org.libreccm.core.Identifiable;
|
import org.libreccm.core.Identifiable;
|
||||||
import org.libreccm.l10n.LocalizedString;
|
import org.libreccm.l10n.LocalizedString;
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
|
|
@ -39,7 +37,6 @@ import javax.persistence.Id;
|
||||||
import javax.persistence.Inheritance;
|
import javax.persistence.Inheritance;
|
||||||
import javax.persistence.InheritanceType;
|
import javax.persistence.InheritanceType;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.JoinTable;
|
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.NamedQueries;
|
import javax.persistence.NamedQueries;
|
||||||
import javax.persistence.NamedQuery;
|
import javax.persistence.NamedQuery;
|
||||||
|
|
@ -56,6 +53,7 @@ import java.util.Objects;
|
||||||
|
|
||||||
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
import org.libreccm.imexport.Exportable;
|
import org.libreccm.imexport.Exportable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -116,26 +114,15 @@ public class Workflow implements Identifiable, Serializable, Exportable {
|
||||||
/**
|
/**
|
||||||
* Human readable name of the workflow.
|
* Human readable name of the workflow.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "NAME")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "WORKFLOW_NAMES",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "WORKFLOW_ID")}))
|
|
||||||
private LocalizedString name = new LocalizedString();
|
private LocalizedString name = new LocalizedString();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of the workflow.
|
* Description of the workflow.
|
||||||
*/
|
*/
|
||||||
@Embedded
|
@Column(name = "DESCRIPTION")
|
||||||
@AssociationOverride(
|
@Type(type = "org.libreccm.l10n.LocalizedStringType")
|
||||||
name = "values",
|
|
||||||
joinTable = @JoinTable(name = "WORKFLOW_DESCRIPTIONS",
|
|
||||||
schema = DB_SCHEMA,
|
|
||||||
joinColumns = {
|
|
||||||
@JoinColumn(name = "WORKFLOW_ID")
|
|
||||||
}))
|
|
||||||
private LocalizedString description = new LocalizedString();
|
private LocalizedString description = new LocalizedString();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
ALTER TABLE ccm_core.users ADD COLUMN primary_email_address varchar(255);
|
||||||
|
ALTER TABLE ccm_core.users ADD COLUMN primary_email_address_bouncing boolean;
|
||||||
|
ALTER TABLE ccm_core.users ADD COLUMN primary_email_address_verified boolean;
|
||||||
|
ALTER TABLE ccm_core.users ADD COLUMN email_addresses JSONB;
|
||||||
|
UPDATE ccm_core.users
|
||||||
|
SET primary_email_address = email_address,
|
||||||
|
primary_email_address_bouncing = bouncing,
|
||||||
|
primary_email_address_verified = verified
|
||||||
|
);
|
||||||
|
DROP TABLE ccm_core.user_email_addresses;
|
||||||
|
ALTER TABLE ccm_core.users DROP COLUMN email_address;
|
||||||
|
ALTER TABLE ccm_core.users DROP COLUMN bouncing;
|
||||||
|
ALTER TABLE ccm_core.users DROP COLUMN verified;
|
||||||
|
|
@ -147,6 +147,16 @@ public class CategoryManagerTest {
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
@ -397,8 +407,7 @@ public class CategoryManagerTest {
|
||||||
@UsingDataSet("datasets/org/libreccm/categorization/CategoryManagerTest"
|
@UsingDataSet("datasets/org/libreccm/categorization/CategoryManagerTest"
|
||||||
+ "/data.yml")
|
+ "/data.yml")
|
||||||
@ShouldMatchDataSet(
|
@ShouldMatchDataSet(
|
||||||
excludeColumns = {
|
excludeColumns = {},
|
||||||
},
|
|
||||||
value = "datasets/org/libreccm/categorization/CategoryManagerTest"
|
value = "datasets/org/libreccm/categorization/CategoryManagerTest"
|
||||||
+ "/after-remove-obj-from-category.yml"
|
+ "/after-remove-obj-from-category.yml"
|
||||||
)
|
)
|
||||||
|
|
@ -751,7 +760,7 @@ public class CategoryManagerTest {
|
||||||
/**
|
/**
|
||||||
* Tries to retrieve the index object from several categories and verifies
|
* Tries to retrieve the index object from several categories and verifies
|
||||||
* that the expected object is returned by null null null null null null
|
* that the expected object is returned by null null null null null null
|
||||||
* null null {@link CategoryManager#getIndexObject(org.libreccm.categorization.Category).
|
* null null null {@link CategoryManager#getIndexObject(org.libreccm.categorization.Category).
|
||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
@UsingDataSet(
|
@UsingDataSet(
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,16 @@ public class CategoryRepositoryTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,16 @@ public class ConfigurationManagerTest {
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
|
||||||
|
|
@ -105,15 +105,21 @@ public class CcmObjectRepositoryTest {
|
||||||
.create(WebArchive.class,
|
.create(WebArchive.class,
|
||||||
"LibreCCM-org.libreccm.core.CcmObjectRepositoryTest.war")
|
"LibreCCM-org.libreccm.core.CcmObjectRepositoryTest.war")
|
||||||
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage())
|
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage())
|
||||||
.addPackage(org.libreccm.categorization.Categorization.class
|
.addPackage(
|
||||||
.getPackage())
|
org.libreccm.categorization.Categorization.class.getPackage()
|
||||||
.addPackage(org.libreccm.configuration.Configuration.class.
|
)
|
||||||
getPackage())
|
.addPackage(
|
||||||
.addPackage(org.libreccm.core.CcmObject.class.getPackage())
|
org.libreccm.configuration.Configuration.class.getPackage()
|
||||||
.addPackage(org.libreccm.jpa.EntityManagerProducer.class
|
)
|
||||||
.getPackage())
|
.addPackage(
|
||||||
.addPackage(org.libreccm.jpa.utils.MimeTypeConverter.class
|
org.libreccm.core.CcmObject.class.getPackage()
|
||||||
.getPackage())
|
)
|
||||||
|
.addPackage(
|
||||||
|
org.libreccm.jpa.EntityManagerProducer.class.getPackage()
|
||||||
|
)
|
||||||
|
.addPackage(
|
||||||
|
org.libreccm.jpa.utils.MimeTypeConverter.class.getPackage()
|
||||||
|
)
|
||||||
.addPackage(org.libreccm.l10n.LocalizedString.class.getPackage())
|
.addPackage(org.libreccm.l10n.LocalizedString.class.getPackage())
|
||||||
.addClass(org.libreccm.modules.CcmModule.class)
|
.addClass(org.libreccm.modules.CcmModule.class)
|
||||||
.addClass(org.libreccm.modules.ModuleEvent.class)
|
.addClass(org.libreccm.modules.ModuleEvent.class)
|
||||||
|
|
@ -122,17 +128,30 @@ public class CcmObjectRepositoryTest {
|
||||||
.addClass(org.libreccm.modules.UnInstallEvent.class)
|
.addClass(org.libreccm.modules.UnInstallEvent.class)
|
||||||
.addClass(org.libreccm.modules.ShutdownEvent.class)
|
.addClass(org.libreccm.modules.ShutdownEvent.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
.addPackage(org.libreccm.security.PermissionChecker.class
|
.addPackage(
|
||||||
.getPackage())
|
org.libreccm.security.PermissionChecker.class.getPackage()
|
||||||
|
)
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addPackage(org.libreccm.testutils.EqualsVerifier.class.
|
.addPackage(
|
||||||
getPackage())
|
org.libreccm.testutils.EqualsVerifier.class.getPackage()
|
||||||
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
)
|
||||||
.getPackage())
|
.addPackage(
|
||||||
|
org.libreccm.tests.categories.IntegrationTest.class.getPackage()
|
||||||
|
)
|
||||||
.addPackage(org.libreccm.web.CcmApplication.class.getPackage())
|
.addPackage(org.libreccm.web.CcmApplication.class.getPackage())
|
||||||
.addPackage(org.libreccm.workflow.Workflow.class.getPackage())
|
.addPackage(org.libreccm.workflow.Workflow.class.getPackage())
|
||||||
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
||||||
.getPackage())
|
.getPackage())
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
@ -358,7 +377,8 @@ public class CcmObjectRepositoryTest {
|
||||||
@Test(expected = NullPointerException.class)
|
@Test(expected = NullPointerException.class)
|
||||||
@ShouldThrowException(NullPointerException.class)
|
@ShouldThrowException(NullPointerException.class)
|
||||||
@UsingDataSet("datasets/org/libreccm/core/CcmObjectRepositoryTest/data.yml")
|
@UsingDataSet("datasets/org/libreccm/core/CcmObjectRepositoryTest/data.yml")
|
||||||
@ShouldMatchDataSet("datasets/org/libreccm/core/CcmObjectRepositoryTest/data.yml")
|
@ShouldMatchDataSet(
|
||||||
|
"datasets/org/libreccm/core/CcmObjectRepositoryTest/data.yml")
|
||||||
@InSequence(700)
|
@InSequence(700)
|
||||||
public void deleteNullValue() {
|
public void deleteNullValue() {
|
||||||
ccmObjectRepository.delete(null);
|
ccmObjectRepository.delete(null);
|
||||||
|
|
|
||||||
|
|
@ -82,20 +82,26 @@ public class GroupImportTest {
|
||||||
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupImportTest"
|
+ "/org.libreccm.imexport.GroupImportTest"
|
||||||
+ "/ccm-export.json";
|
+ "/ccm-export.json";
|
||||||
|
|
||||||
private static final String IMPORT_GROUPS_TOC_SOURCE = "/imports"
|
private static final String IMPORT_GROUPS_TOC_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupImportTest"
|
+ "/org.libreccm.imexport.GroupImportTest"
|
||||||
+ "/org.libreccm.security.Group"
|
+ "/org.libreccm.security.Group"
|
||||||
+ "/org.libreccm.security.Group.json";
|
+ "/org.libreccm.security.Group.json";
|
||||||
|
|
||||||
private static final String IMPORT_DATA_SOURCE = "/imports"
|
private static final String IMPORT_DATA_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupImportTest"
|
+ "/org.libreccm.imexport.GroupImportTest"
|
||||||
+ "/org.libreccm.security.Group"
|
+ "/org.libreccm.security.Group"
|
||||||
+ "/696592cd-db19-4aca-bb14-06490cfde243.json";
|
+ "/696592cd-db19-4aca-bb14-06490cfde243.json";
|
||||||
|
|
||||||
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
||||||
|
|
||||||
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
||||||
|
|
||||||
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
||||||
|
|
||||||
private static final String GROUP_IMPORT_TEST_DIR = IMPORTS_DIR
|
private static final String GROUP_IMPORT_TEST_DIR = IMPORTS_DIR
|
||||||
+ "/org.libreccm.imexport.GroupImportTest";
|
+ "/org.libreccm.imexport.GroupImportTest";
|
||||||
|
|
||||||
private static final String IMPORT_DATA_DIR = GROUP_IMPORT_TEST_DIR
|
private static final String IMPORT_DATA_DIR = GROUP_IMPORT_TEST_DIR
|
||||||
+ "/org.libreccm.security.Group";
|
+ "/org.libreccm.security.Group";
|
||||||
|
|
||||||
|
|
@ -233,6 +239,16 @@ public class GroupImportTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("imports", "imports")
|
.addAsResource("imports", "imports")
|
||||||
|
|
|
||||||
|
|
@ -82,20 +82,26 @@ public class GroupMembershipImportTest {
|
||||||
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
||||||
+ "/ccm-export.json";
|
+ "/ccm-export.json";
|
||||||
|
|
||||||
private static final String IMPORT_GROUPMEMBERSHIP_TOC_SOURCE = "/imports"
|
private static final String IMPORT_GROUPMEMBERSHIP_TOC_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
||||||
+ "/org.libreccm.security.GroupMembership"
|
+ "/org.libreccm.security.GroupMembership"
|
||||||
+ "/org.libreccm.security.GroupMembership.json";
|
+ "/org.libreccm.security.GroupMembership.json";
|
||||||
|
|
||||||
private static final String IMPORT_GROUPMEMBERSHIP_DATA_SOURCE = "/imports"
|
private static final String IMPORT_GROUPMEMBERSHIP_DATA_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
+ "/org.libreccm.imexport.GroupMembershipImportTest"
|
||||||
+ "/org.libreccm.security.GroupMembership"
|
+ "/org.libreccm.security.GroupMembership"
|
||||||
+ "/f8ac4073-447e-4bd6-ac96-3bf92bdc8ce7.json";
|
+ "/f8ac4073-447e-4bd6-ac96-3bf92bdc8ce7.json";
|
||||||
|
|
||||||
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
||||||
|
|
||||||
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
||||||
|
|
||||||
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
||||||
|
|
||||||
private static final String GROUPMEMBERSHIP_IMPORT_TEST_DIR = IMPORTS_DIR
|
private static final String GROUPMEMBERSHIP_IMPORT_TEST_DIR = IMPORTS_DIR
|
||||||
+ "/org.libreccm.imexport.GroupMembershipImportTest";
|
+ "/org.libreccm.imexport.GroupMembershipImportTest";
|
||||||
|
|
||||||
private static final String IMPORT_GROUPMEMBERSHIP_DATA_DIR
|
private static final String IMPORT_GROUPMEMBERSHIP_DATA_DIR
|
||||||
= GROUPMEMBERSHIP_IMPORT_TEST_DIR
|
= GROUPMEMBERSHIP_IMPORT_TEST_DIR
|
||||||
+ "/org.libreccm.security.GroupMembership";
|
+ "/org.libreccm.security.GroupMembership";
|
||||||
|
|
@ -237,6 +243,16 @@ public class GroupMembershipImportTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("imports", "imports")
|
.addAsResource("imports", "imports")
|
||||||
|
|
|
||||||
|
|
@ -82,20 +82,26 @@ public class UserImportTest {
|
||||||
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
private static final String IMPORT_MANIFEST_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.UserImportTest"
|
+ "/org.libreccm.imexport.UserImportTest"
|
||||||
+ "/ccm-export.json";
|
+ "/ccm-export.json";
|
||||||
|
|
||||||
private static final String IMPORT_USERS_TOC_SOURCE = "/imports"
|
private static final String IMPORT_USERS_TOC_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.UserImportTest"
|
+ "/org.libreccm.imexport.UserImportTest"
|
||||||
+ "/org.libreccm.security.User"
|
+ "/org.libreccm.security.User"
|
||||||
+ "/org.libreccm.security.User.json";
|
+ "/org.libreccm.security.User.json";
|
||||||
|
|
||||||
private static final String IMPORT_DATA_SOURCE = "/imports"
|
private static final String IMPORT_DATA_SOURCE = "/imports"
|
||||||
+ "/org.libreccm.imexport.UserImportTest"
|
+ "/org.libreccm.imexport.UserImportTest"
|
||||||
+ "/org.libreccm.security.User"
|
+ "/org.libreccm.security.User"
|
||||||
+ "/7cb9aba4-8071-4f27-af19-096e1473d050.json";
|
+ "/7cb9aba4-8071-4f27-af19-096e1473d050.json";
|
||||||
|
|
||||||
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
private static final String TMP_DIR = System.getProperty("java.io.tmpdir");
|
||||||
|
|
||||||
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
private static final String CCM_TESTS_DIR = TMP_DIR + "/ccm-tests";
|
||||||
|
|
||||||
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
private static final String IMPORTS_DIR = CCM_TESTS_DIR + "/imports";
|
||||||
|
|
||||||
private static final String USER_IMPORT_TEST_DIR = IMPORTS_DIR
|
private static final String USER_IMPORT_TEST_DIR = IMPORTS_DIR
|
||||||
+ "/org.libreccm.imexport.UserImportTest";
|
+ "/org.libreccm.imexport.UserImportTest";
|
||||||
|
|
||||||
private static final String IMPORT_DATA_DIR = USER_IMPORT_TEST_DIR
|
private static final String IMPORT_DATA_DIR = USER_IMPORT_TEST_DIR
|
||||||
+ "/org.libreccm.security.User";
|
+ "/org.libreccm.security.User";
|
||||||
|
|
||||||
|
|
@ -232,6 +238,16 @@ public class UserImportTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("imports", "imports")
|
.addAsResource("imports", "imports")
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,6 @@ import static org.libreccm.testutils.DependenciesHelpers.*;
|
||||||
import org.jboss.arquillian.persistence.CleanupUsingScript;
|
import org.jboss.arquillian.persistence.CleanupUsingScript;
|
||||||
import org.jboss.arquillian.persistence.TestExecutionPhase;
|
import org.jboss.arquillian.persistence.TestExecutionPhase;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||||
|
|
@ -102,6 +101,16 @@ public class ConfigurationLoaderTest {
|
||||||
.addPackage(org.libreccm.testutils.EqualsVerifier.class.
|
.addPackage(org.libreccm.testutils.EqualsVerifier.class.
|
||||||
getPackage())
|
getPackage())
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
@ -118,7 +127,7 @@ public class ConfigurationLoaderTest {
|
||||||
@Test
|
@Test
|
||||||
@ShouldMatchDataSet(
|
@ShouldMatchDataSet(
|
||||||
value = "datasets/org/libreccm/modules/ConfigurationLoaderTest/"
|
value = "datasets/org/libreccm/modules/ConfigurationLoaderTest/"
|
||||||
+ "after-load.yml",
|
+ "after-load.xml",
|
||||||
excludeColumns = {"setting_id", "entry_id"})
|
excludeColumns = {"setting_id", "entry_id"})
|
||||||
public void loadConfiguration() {
|
public void loadConfiguration() {
|
||||||
final ConfigurationLoader confLoader = new ConfigurationLoader(
|
final ConfigurationLoader confLoader = new ConfigurationLoader(
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public class DatasetsTest extends DatasetsVerifier {
|
||||||
@Parameterized.Parameters(name = "Dataset {0}")
|
@Parameterized.Parameters(name = "Dataset {0}")
|
||||||
public static Collection<String> data() {
|
public static Collection<String> data() {
|
||||||
return Arrays.asList(new String[]{
|
return Arrays.asList(new String[]{
|
||||||
"/datasets/org/libreccm/modules/ConfigurationLoaderTest/after-load.yml",});
|
"/datasets/org/libreccm/modules/ConfigurationLoaderTest/after-load.xml",});
|
||||||
}
|
}
|
||||||
|
|
||||||
public DatasetsTest(final String datasetPath) {
|
public DatasetsTest(final String datasetPath) {
|
||||||
|
|
@ -60,7 +60,7 @@ public class DatasetsTest extends DatasetsVerifier {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DatasetType getDatasetType() {
|
public DatasetType getDatasetType() {
|
||||||
return YAML;
|
return FLAT_XML;
|
||||||
}
|
}
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,12 @@ public class DependencyTreeManagerCycleTest {
|
||||||
org.libreccm.modules.dependencytree.test.cycle.TestModuleC.class)
|
org.libreccm.modules.dependencytree.test.cycle.TestModuleC.class)
|
||||||
.addPackage(org.libreccm.pagemodel.PageModel.class.getPackage())
|
.addPackage(org.libreccm.pagemodel.PageModel.class.getPackage())
|
||||||
.addClass(org.libreccm.web.ApplicationType.class)
|
.addClass(org.libreccm.web.ApplicationType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
|
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
|
||||||
.addAsResource(
|
.addAsResource(
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,12 @@ public class DependencyTreeManagerTest {
|
||||||
// .addClass(org.libreccm.portation.Portable.class)
|
// .addClass(org.libreccm.portation.Portable.class)
|
||||||
.addPackage(org.libreccm.pagemodel.PageModel.class.getPackage())
|
.addPackage(org.libreccm.pagemodel.PageModel.class.getPackage())
|
||||||
.addClass(org.libreccm.web.ApplicationType.class)
|
.addClass(org.libreccm.web.ApplicationType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
|
.addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
|
||||||
.addAsResource(
|
.addAsResource(
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,16 @@ public class AuthorizationInterceptorTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.util.UncheckedWrapperException.class)
|
.addClass(com.arsdigita.util.UncheckedWrapperException.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,16 @@ public class ChallengeManagerTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,16 @@ public class GroupManagerTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,16 @@ public class GroupRepositoryTest {
|
||||||
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
|
||||||
|
|
@ -65,25 +65,19 @@ public class ListContainsTest {
|
||||||
user1.setName("user1");
|
user1.setName("user1");
|
||||||
user1.setGivenName("User");
|
user1.setGivenName("User");
|
||||||
user1.setFamilyName("One");
|
user1.setFamilyName("One");
|
||||||
final EmailAddress user1mail = new EmailAddress();
|
user1.setPrimaryEmailAddress("user.one@example.org");
|
||||||
user1mail.setAddress("user.one@example.org");
|
|
||||||
user1.setPrimaryEmailAddress(user1mail);
|
|
||||||
|
|
||||||
final User user2 = new User();
|
final User user2 = new User();
|
||||||
user2.setName("user2");
|
user2.setName("user2");
|
||||||
user2.setGivenName("User");
|
user2.setGivenName("User");
|
||||||
user2.setFamilyName("Two");
|
user2.setFamilyName("Two");
|
||||||
final EmailAddress user2mail = new EmailAddress();
|
user2.setPrimaryEmailAddress("user.two@example.org");
|
||||||
user2mail.setAddress("user.two@example.org");
|
|
||||||
user2.setPrimaryEmailAddress(user1mail);
|
|
||||||
|
|
||||||
final User user3 = new User();
|
final User user3 = new User();
|
||||||
user3.setName("user3");
|
user3.setName("user3");
|
||||||
user3.setGivenName("User");
|
user3.setGivenName("User");
|
||||||
user3.setFamilyName("Three");
|
user3.setFamilyName("Three");
|
||||||
final EmailAddress user3mail = new EmailAddress();
|
user3.setPrimaryEmailAddress("user.three@example.org");
|
||||||
user3mail.setAddress("user.three@example.org");
|
|
||||||
user3.setPrimaryEmailAddress(user1mail);
|
|
||||||
|
|
||||||
final List<User> users = new ArrayList<>();
|
final List<User> users = new ArrayList<>();
|
||||||
users.add(user1);
|
users.add(user1);
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,16 @@ public class OneTimeAuthManagerTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
.addClass(com.arsdigita.kernel.security.SecurityConfig.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,16 @@ public class PartyRepositoryTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
@ -211,15 +221,12 @@ public class PartyRepositoryTest {
|
||||||
public void saveNewParty() {
|
public void saveNewParty() {
|
||||||
final User mmuster = new User();
|
final User mmuster = new User();
|
||||||
|
|
||||||
final EmailAddress emailAddress = new EmailAddress();
|
|
||||||
emailAddress.setAddress("max.mustermann@example.org");
|
|
||||||
emailAddress.setBouncing(false);
|
|
||||||
emailAddress.setVerified(true);
|
|
||||||
|
|
||||||
mmuster.setName("mmuster");
|
mmuster.setName("mmuster");
|
||||||
mmuster.setGivenName("Max");
|
mmuster.setGivenName("Max");
|
||||||
mmuster.setFamilyName("Mustermann");
|
mmuster.setFamilyName("Mustermann");
|
||||||
mmuster.setPrimaryEmailAddress(emailAddress);
|
mmuster.setPrimaryEmailAddress("max.mustermann@example.org");
|
||||||
|
mmuster.setPrimaryEmailAddressBouncing(false);
|
||||||
|
mmuster.setPrimaryEmailAddressVerified(true);
|
||||||
mmuster.setPassword(
|
mmuster.setPassword(
|
||||||
"$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==");
|
"$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==");
|
||||||
mmuster.setPasswordResetRequired(false);
|
mmuster.setPasswordResetRequired(false);
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,16 @@ public class PermissionCheckerTest {
|
||||||
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,16 @@ public class PermissionManagerTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,16 @@ public class RoleManagerTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,9 @@ import org.jboss.arquillian.persistence.TestExecutionPhase;
|
||||||
public class RoleRepositoryTest {
|
public class RoleRepositoryTest {
|
||||||
|
|
||||||
private static final String ADMINISTRATOR = "administrator";
|
private static final String ADMINISTRATOR = "administrator";
|
||||||
|
|
||||||
private static final String USER = "user";
|
private static final String USER = "user";
|
||||||
|
|
||||||
private static final String READER = "reader";
|
private static final String READER = "reader";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
|
|
@ -132,6 +134,16 @@ public class RoleRepositoryTest {
|
||||||
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
.addPackage(org.libreccm.tests.categories.IntegrationTest.class
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
@ -204,7 +216,8 @@ public class RoleRepositoryTest {
|
||||||
@UsingDataSet("datasets/org/libreccm/security/RoleRepositoryTest/data.yml")
|
@UsingDataSet("datasets/org/libreccm/security/RoleRepositoryTest/data.yml")
|
||||||
@InSequence(200)
|
@InSequence(200)
|
||||||
public void findRoleByName() {
|
public void findRoleByName() {
|
||||||
final Optional<Role> administrator = roleRepository.findByName(ADMINISTRATOR);
|
final Optional<Role> administrator = roleRepository.findByName(
|
||||||
|
ADMINISTRATOR);
|
||||||
final Optional<Role> user = roleRepository.findByName(USER);
|
final Optional<Role> user = roleRepository.findByName(USER);
|
||||||
final Optional<Role> reader = roleRepository.findByName(READER);
|
final Optional<Role> reader = roleRepository.findByName(READER);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,17 @@ public class SecuredCollectionTest {
|
||||||
.addPackage(com.arsdigita.kernel.KernelConfig.class.getPackage())
|
.addPackage(com.arsdigita.kernel.KernelConfig.class.getPackage())
|
||||||
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
.addPackage(com.arsdigita.kernel.security.SecurityConfig.class
|
||||||
.getPackage())
|
.getPackage())
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,16 @@ public class SecuredIteratorTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addPackage(com.arsdigita.kernel.KernelConfig.class.getPackage())
|
.addPackage(com.arsdigita.kernel.KernelConfig.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,16 @@ public class ShiroTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addClass(org.libreccm.security.authorization.LabBean.class)
|
.addClass(org.libreccm.security.authorization.LabBean.class)
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -126,6 +126,16 @@ public class UserManagerTest {
|
||||||
.getPackage())
|
.getPackage())
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
"META-INF/persistence.xml")
|
"META-INF/persistence.xml")
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,16 @@ public class UserRepositoryTest {
|
||||||
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
.addClass(com.arsdigita.kernel.KernelConfig.class)
|
||||||
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
|
||||||
.addClass(org.libreccm.imexport.Exportable.class)
|
.addClass(org.libreccm.imexport.Exportable.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory.class
|
||||||
|
)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.testutils.dbunit.PgSqlJsonbType.class
|
||||||
|
)
|
||||||
|
.addClass(org.libreccm.hibernate.AbstractCcmJsonUserType.class)
|
||||||
|
.addClass(
|
||||||
|
org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect.class
|
||||||
|
)
|
||||||
.addAsLibraries(getModuleDependencies())
|
.addAsLibraries(getModuleDependencies())
|
||||||
.addAsResource("configs/shiro.ini", "shiro.ini")
|
.addAsResource("configs/shiro.ini", "shiro.ini")
|
||||||
.addAsResource("test-persistence.xml",
|
.addAsResource("test-persistence.xml",
|
||||||
|
|
@ -253,15 +263,12 @@ public class UserRepositoryTest {
|
||||||
public void saveNewUser() {
|
public void saveNewUser() {
|
||||||
final User user = new User();
|
final User user = new User();
|
||||||
|
|
||||||
final EmailAddress emailAddress = new EmailAddress();
|
|
||||||
emailAddress.setAddress("jane.doe@example.org");
|
|
||||||
emailAddress.setBouncing(false);
|
|
||||||
emailAddress.setVerified(false);
|
|
||||||
|
|
||||||
user.setName("jane");
|
user.setName("jane");
|
||||||
user.setGivenName("Jane");
|
user.setGivenName("Jane");
|
||||||
user.setFamilyName("Doe");
|
user.setFamilyName("Doe");
|
||||||
user.setPrimaryEmailAddress(emailAddress);
|
user.setPrimaryEmailAddress("jane.doe@example.org");
|
||||||
|
user.setPrimaryEmailAddressBouncing(false);
|
||||||
|
user.setPrimaryEmailAddressVerified(false);
|
||||||
user.setPassword(
|
user.setPassword(
|
||||||
"$shiro1$SHA-512$500000$24lA090z7GKYr4VFlZ6t4A==$/heoTHPA5huT1UfJ8Q+waXEG6AjUKhFYLFrj7KW/l0/z9O+QkiZTtfPfbcPblgjcEvrROMEIoQY4Z65S7rFLQg==");
|
"$shiro1$SHA-512$500000$24lA090z7GKYr4VFlZ6t4A==$/heoTHPA5huT1UfJ8Q+waXEG6AjUKhFYLFrj7KW/l0/z9O+QkiZTtfPfbcPblgjcEvrROMEIoQY4Z65S7rFLQg==");
|
||||||
user.setPasswordResetRequired(false);
|
user.setPasswordResetRequired(false);
|
||||||
|
|
@ -282,11 +289,9 @@ public class UserRepositoryTest {
|
||||||
user.setPassword(
|
user.setPassword(
|
||||||
"$shiro1$SHA-512$500000$AH1llRaMHE8W31Q7VG6jsA==$XXgKeyDCsrN23NvszQ5wt+uViQUlVqTAM+05LrE7Bd9sc0eaJT8HlAGvSdY+rqTLbiGm9YS4pohzoUt1x3kmKg==");
|
"$shiro1$SHA-512$500000$AH1llRaMHE8W31Q7VG6jsA==$XXgKeyDCsrN23NvszQ5wt+uViQUlVqTAM+05LrE7Bd9sc0eaJT8HlAGvSdY+rqTLbiGm9YS4pohzoUt1x3kmKg==");
|
||||||
|
|
||||||
final EmailAddress emailAddress = new EmailAddress();
|
user.setPrimaryEmailAddress("jd@example.com");
|
||||||
emailAddress.setAddress("jd@example.com");
|
user.setPrimaryEmailAddressBouncing(false);
|
||||||
emailAddress.setBouncing(false);
|
user.setPrimaryEmailAddressVerified(true);
|
||||||
emailAddress.setVerified(true);
|
|
||||||
user.setPrimaryEmailAddress(emailAddress);
|
|
||||||
|
|
||||||
shiro.getSystemUser().execute(() -> userRepository.save(user));
|
shiro.getSystemUser().execute(() -> userRepository.save(user));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
<extension qualifier="persistence-dbunit">
|
<extension qualifier="persistence-dbunit">
|
||||||
<property name="defaultDataSetFormat">json</property>
|
<property name="defaultDataSetFormat">json</property>
|
||||||
<property name="datatypeFactory">org.dbunit.ext.h2.H2DataTypeFactory</property>
|
<property name="datatypeFactory">org.libreccm.testutils.dbunit.CcmH2DataTypeFactory</property>
|
||||||
<property name="excludePoi">true</property>
|
<property name="excludePoi">true</property>
|
||||||
<property name="qualifiedTableNames">true</property>
|
<property name="qualifiedTableNames">true</property>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,10 @@
|
||||||
create table CCM_CORE.CATEGORIES (
|
create table CCM_CORE.CATEGORIES (
|
||||||
ABSTRACT_CATEGORY boolean,
|
ABSTRACT_CATEGORY boolean,
|
||||||
CATEGORY_ORDER bigint,
|
CATEGORY_ORDER bigint,
|
||||||
|
DESCRIPTION json,
|
||||||
ENABLED boolean,
|
ENABLED boolean,
|
||||||
NAME varchar(255) not null,
|
NAME varchar(255) not null,
|
||||||
|
TITLE json,
|
||||||
UNIQUE_ID varchar(255),
|
UNIQUE_ID varchar(255),
|
||||||
VISIBLE boolean,
|
VISIBLE boolean,
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
|
|
@ -45,16 +47,11 @@
|
||||||
primary key (CATEGORIZATION_ID)
|
primary key (CATEGORIZATION_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.CATEGORY_DESCRIPTIONS (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OBJECT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.CATEGORY_DOMAINS (
|
create table CCM_CORE.CATEGORY_DOMAINS (
|
||||||
|
DESCRIPTION json,
|
||||||
DOMAIN_KEY varchar(255) not null,
|
DOMAIN_KEY varchar(255) not null,
|
||||||
RELEASED timestamp,
|
RELEASED timestamp,
|
||||||
|
TITLE json,
|
||||||
URI varchar(1024),
|
URI varchar(1024),
|
||||||
VERSION varchar(255),
|
VERSION varchar(255),
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
|
|
@ -62,13 +59,6 @@
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.CATEGORY_TITLES (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OBJECT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.CCM_OBJECTS (
|
create table CCM_CORE.CCM_OBJECTS (
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
DISPLAY_NAME varchar(255),
|
DISPLAY_NAME varchar(255),
|
||||||
|
|
@ -94,6 +84,7 @@
|
||||||
|
|
||||||
create table CCM_CORE.CCM_ROLES (
|
create table CCM_CORE.CCM_ROLES (
|
||||||
ROLE_ID bigint not null,
|
ROLE_ID bigint not null,
|
||||||
|
DESCRIPTION json,
|
||||||
NAME varchar(512) not null,
|
NAME varchar(512) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
primary key (ROLE_ID)
|
primary key (ROLE_ID)
|
||||||
|
|
@ -111,13 +102,6 @@
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.DOMAIN_DESCRIPTIONS (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OBJECT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.DOMAIN_OWNERSHIPS (
|
create table CCM_CORE.DOMAIN_OWNERSHIPS (
|
||||||
OWNERSHIP_ID bigint not null,
|
OWNERSHIP_ID bigint not null,
|
||||||
CONTEXT varchar(255),
|
CONTEXT varchar(255),
|
||||||
|
|
@ -129,25 +113,12 @@
|
||||||
primary key (OWNERSHIP_ID)
|
primary key (OWNERSHIP_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.DOMAIN_TITLES (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OBJECT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_COMPONENT_DESCRIPTIONS (
|
|
||||||
COMPONENT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (COMPONENT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_COMPONENTS (
|
create table CCM_CORE.FORMBUILDER_COMPONENTS (
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
ADMIN_NAME varchar(255),
|
ADMIN_NAME varchar(255),
|
||||||
ATTRIBUTE_STRING varchar(255),
|
ATTRIBUTE_STRING varchar(255),
|
||||||
COMPONENT_ORDER bigint,
|
COMPONENT_ORDER bigint,
|
||||||
|
DESCRIPTION json,
|
||||||
SELECTED boolean,
|
SELECTED boolean,
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
parentComponent_OBJECT_ID bigint,
|
parentComponent_OBJECT_ID bigint,
|
||||||
|
|
@ -176,25 +147,13 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_DATA_QUERIES (
|
create table CCM_CORE.FORMBUILDER_DATA_QUERIES (
|
||||||
|
DESCRIPTION json,
|
||||||
|
QUERY_NAME json,
|
||||||
QUERY_ID varchar(255),
|
QUERY_ID varchar(255),
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_DATA_QUERY_DESCRIPTIONS (
|
|
||||||
DATA_QUERY_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
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 varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (DATA_QUERY_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_FORMSECTIONS (
|
create table CCM_CORE.FORMBUILDER_FORMSECTIONS (
|
||||||
FORMSECTION_ACTION varchar(255),
|
FORMSECTION_ACTION varchar(255),
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
|
|
@ -225,35 +184,17 @@
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_OPTION_LABELS (
|
|
||||||
OPTION_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OPTION_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_OPTIONS (
|
create table CCM_CORE.FORMBUILDER_OPTIONS (
|
||||||
|
LABEL json,
|
||||||
PARAMETER_VALUE varchar(255),
|
PARAMETER_VALUE varchar(255),
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_PROCESS_LISTENER_DESCRIPTIONS (
|
|
||||||
PROCESS_LISTENER_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
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 varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (PROCESS_LISTENER_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS (
|
create table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS (
|
||||||
|
DESCRIPTION json,
|
||||||
LISTENER_CLASS varchar(255),
|
LISTENER_CLASS varchar(255),
|
||||||
|
LISTENER_NAME json,
|
||||||
PROCESS_LISTENER_ORDER bigint,
|
PROCESS_LISTENER_ORDER bigint,
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
formSection_OBJECT_ID bigint,
|
formSection_OBJECT_ID bigint,
|
||||||
|
|
@ -415,25 +356,13 @@
|
||||||
primary key (CONTAINER_ID)
|
primary key (CONTAINER_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODEL_DESCRIPTIONS (
|
|
||||||
PAGE_MODEL_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (PAGE_MODEL_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODEL_TITLES (
|
|
||||||
PAGE_MODEL_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (PAGE_MODEL_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODELS (
|
create table CCM_CORE.PAGE_MODELS (
|
||||||
PAGE_MODEL_ID bigint not null,
|
PAGE_MODEL_ID bigint not null,
|
||||||
|
DESCRIPTION json,
|
||||||
LAST_MODIFIED timestamp,
|
LAST_MODIFIED timestamp,
|
||||||
MODEL_UUID varchar(255) not null,
|
MODEL_UUID varchar(255) not null,
|
||||||
NAME varchar(255),
|
NAME varchar(255),
|
||||||
|
TITLE json,
|
||||||
TYPE varchar(255) not null,
|
TYPE varchar(255) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
VERSION varchar(255) not null,
|
VERSION varchar(255) not null,
|
||||||
|
|
@ -488,29 +417,9 @@
|
||||||
primary key (QUEUE_ITEM_ID)
|
primary key (QUEUE_ITEM_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.RESOURCE_DESCRIPTIONS (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (OBJECT_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.RESOURCE_TITLES (
|
|
||||||
OBJECT_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
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 varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (RESOURCE_TYPE_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.RESOURCE_TYPES (
|
create table CCM_CORE.RESOURCE_TYPES (
|
||||||
RESOURCE_TYPE_ID bigint not null,
|
RESOURCE_TYPE_ID bigint not null,
|
||||||
|
DESCRIPTION json,
|
||||||
SINGLETON boolean,
|
SINGLETON boolean,
|
||||||
TITLE varchar(254) not null,
|
TITLE varchar(254) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -522,19 +431,14 @@
|
||||||
|
|
||||||
create table CCM_CORE.RESOURCES (
|
create table CCM_CORE.RESOURCES (
|
||||||
CREATED timestamp,
|
CREATED timestamp,
|
||||||
|
DESCRIPTION json,
|
||||||
|
TITLE json,
|
||||||
OBJECT_ID bigint not null,
|
OBJECT_ID bigint not null,
|
||||||
parent_OBJECT_ID bigint,
|
parent_OBJECT_ID bigint,
|
||||||
resourceType_RESOURCE_TYPE_ID bigint,
|
resourceType_RESOURCE_TYPE_ID bigint,
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.ROLE_DESCRIPTIONS (
|
|
||||||
ROLE_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (ROLE_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.ROLE_MEMBERSHIPS (
|
create table CCM_CORE.ROLE_MEMBERSHIPS (
|
||||||
MEMBERSHIP_ID bigint not null,
|
MEMBERSHIP_ID bigint not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -548,11 +452,12 @@
|
||||||
SETTING_ID bigint not null,
|
SETTING_ID bigint not null,
|
||||||
CONFIGURATION_CLASS varchar(512) not null,
|
CONFIGURATION_CLASS varchar(512) not null,
|
||||||
NAME varchar(512) not null,
|
NAME varchar(512) not null,
|
||||||
SETTING_VALUE_BOOLEAN boolean,
|
|
||||||
SETTING_VALUE_LONG bigint,
|
SETTING_VALUE_LONG bigint,
|
||||||
SETTING_VALUE_STRING varchar(1024),
|
SETTING_VALUE_LOCALIZED_STRING json,
|
||||||
SETTING_VALUE_DOUBLE double,
|
SETTING_VALUE_DOUBLE double,
|
||||||
|
SETTING_VALUE_STRING varchar(1024),
|
||||||
SETTING_VALUE_BIG_DECIMAL decimal(19,2),
|
SETTING_VALUE_BIG_DECIMAL decimal(19,2),
|
||||||
|
SETTING_VALUE_BOOLEAN boolean,
|
||||||
primary key (SETTING_ID)
|
primary key (SETTING_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -561,13 +466,6 @@
|
||||||
value varchar(255)
|
value varchar(255)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.SETTINGS_L10N_STR_VALUES (
|
|
||||||
ENTRY_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (ENTRY_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.SETTINGS_STRING_LIST (
|
create table CCM_CORE.SETTINGS_STRING_LIST (
|
||||||
LIST_ID bigint not null,
|
LIST_ID bigint not null,
|
||||||
value varchar(255)
|
value varchar(255)
|
||||||
|
|
@ -697,20 +595,6 @@
|
||||||
primary key (TASK_ID)
|
primary key (TASK_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_DESCRIPTIONS (
|
|
||||||
WORKFLOW_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (WORKFLOW_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_NAMES (
|
|
||||||
WORKFLOW_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (WORKFLOW_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_TASK_ASSIGNMENTS (
|
create table CCM_CORE.WORKFLOW_TASK_ASSIGNMENTS (
|
||||||
TASK_ASSIGNMENT_ID bigint not null,
|
TASK_ASSIGNMENT_ID bigint not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -736,23 +620,11 @@
|
||||||
primary key (TASK_DEPENDENCY_ID)
|
primary key (TASK_DEPENDENCY_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS (
|
|
||||||
TASK_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (TASK_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_TASK_LABELS (
|
|
||||||
TASK_ID bigint not null,
|
|
||||||
LOCALIZED_VALUE varchar(2147483647),
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (TASK_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_TASKS (
|
create table CCM_CORE.WORKFLOW_TASKS (
|
||||||
TASK_ID bigint not null,
|
TASK_ID bigint not null,
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
|
DESCRIPTION json,
|
||||||
|
LABEL json,
|
||||||
TASK_STATE varchar(512),
|
TASK_STATE varchar(512),
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
WORKFLOW_ID bigint,
|
WORKFLOW_ID bigint,
|
||||||
|
|
@ -763,6 +635,8 @@
|
||||||
WORKFLOW_ID bigint not null,
|
WORKFLOW_ID bigint not null,
|
||||||
abstract_workflow boolean,
|
abstract_workflow boolean,
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
|
DESCRIPTION json,
|
||||||
|
NAME json,
|
||||||
WORKFLOW_STATE varchar(255),
|
WORKFLOW_STATE varchar(255),
|
||||||
TASKS_STATE varchar(255),
|
TASKS_STATE varchar(255),
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -830,7 +704,7 @@
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOWS
|
alter table CCM_CORE.WORKFLOWS
|
||||||
add constraint UK_o113id7d1cxql0edsrohlnn9x unique (UUID);
|
add constraint UK_o113id7d1cxql0edsrohlnn9x unique (UUID);
|
||||||
create sequence hibernate_sequence start with 100000 increment by 1;
|
create sequence hibernate_sequence start with 1 increment by 1;
|
||||||
|
|
||||||
alter table CCM_CORE.APPLICATIONS
|
alter table CCM_CORE.APPLICATIONS
|
||||||
add constraint FKatcp9ij6mbkx0nfeig1o6n3lm
|
add constraint FKatcp9ij6mbkx0nfeig1o6n3lm
|
||||||
|
|
@ -862,11 +736,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (CATEGORY_ID)
|
foreign key (CATEGORY_ID)
|
||||||
references CCM_CORE.CATEGORIES;
|
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
|
alter table CCM_CORE.CATEGORY_DOMAINS
|
||||||
add constraint FKf25vi73cji01w8fgo6ow1dgg
|
add constraint FKf25vi73cji01w8fgo6ow1dgg
|
||||||
foreign key (ROOT_CATEGORY_ID)
|
foreign key (ROOT_CATEGORY_ID)
|
||||||
|
|
@ -877,11 +746,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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.CCM_OBJECTS_AUD
|
alter table CCM_CORE.CCM_OBJECTS_AUD
|
||||||
add constraint FKr00eauutiyvocno8ckx6h9nw6
|
add constraint FKr00eauutiyvocno8ckx6h9nw6
|
||||||
foreign key (REV)
|
foreign key (REV)
|
||||||
|
|
@ -902,11 +766,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.DOMAIN_OWNERSHIPS
|
||||||
add constraint FK47nsasr7jrdwlky5gx0u6e9py
|
add constraint FK47nsasr7jrdwlky5gx0u6e9py
|
||||||
foreign key (domain_OBJECT_ID)
|
foreign key (domain_OBJECT_ID)
|
||||||
|
|
@ -917,16 +776,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (owner_OBJECT_ID)
|
foreign key (owner_OBJECT_ID)
|
||||||
references CCM_CORE.APPLICATIONS;
|
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
|
alter table CCM_CORE.FORMBUILDER_COMPONENTS
|
||||||
add constraint FKpcpmvyiix023b4g5n4q8nkfca
|
add constraint FKpcpmvyiix023b4g5n4q8nkfca
|
||||||
foreign key (parentComponent_OBJECT_ID)
|
foreign key (parentComponent_OBJECT_ID)
|
||||||
|
|
@ -957,16 +806,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_FORMSECTIONS
|
||||||
add constraint FKnfhsgxp4lvigq2pm33pn4afac
|
add constraint FKnfhsgxp4lvigq2pm33pn4afac
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
|
|
@ -992,26 +831,11 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_OPTIONS
|
||||||
add constraint FKhe5q71wby9g4i56sotc501h11
|
add constraint FKhe5q71wby9g4i56sotc501h11
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.FORMBUILDER_COMPONENTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS
|
||||||
add constraint FK7uiaeax8qafm82e5k729ms5ku
|
add constraint FK7uiaeax8qafm82e5k729ms5ku
|
||||||
foreign key (formSection_OBJECT_ID)
|
foreign key (formSection_OBJECT_ID)
|
||||||
|
|
@ -1137,16 +961,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (STYLE_ID)
|
foreign key (STYLE_ID)
|
||||||
references CCM_CORE.STYLES;
|
references CCM_CORE.STYLES;
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODEL_DESCRIPTIONS
|
|
||||||
add constraint FKcc5d6eqxu1369k8ycyyt6vn3e
|
|
||||||
foreign key (PAGE_MODEL_ID)
|
|
||||||
references CCM_CORE.PAGE_MODELS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODEL_TITLES
|
|
||||||
add constraint FKj14q9911yhd4js9p6rs21rwjf
|
|
||||||
foreign key (PAGE_MODEL_ID)
|
|
||||||
references CCM_CORE.PAGE_MODELS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODELS
|
alter table CCM_CORE.PAGE_MODELS
|
||||||
add constraint FKk2lihllrxj89mn3tqv43amafe
|
add constraint FKk2lihllrxj89mn3tqv43amafe
|
||||||
foreign key (APPLICATION_ID)
|
foreign key (APPLICATION_ID)
|
||||||
|
|
@ -1197,21 +1011,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (RECEIVER_ID)
|
foreign key (RECEIVER_ID)
|
||||||
references CCM_CORE.PARTIES;
|
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
|
alter table CCM_CORE.RESOURCES
|
||||||
add constraint FKbo7ibfgodicn9flv2gfo11g5a
|
add constraint FKbo7ibfgodicn9flv2gfo11g5a
|
||||||
foreign key (parent_OBJECT_ID)
|
foreign key (parent_OBJECT_ID)
|
||||||
|
|
@ -1227,11 +1026,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
references CCM_CORE.CCM_OBJECTS;
|
||||||
|
|
||||||
alter table CCM_CORE.ROLE_DESCRIPTIONS
|
|
||||||
add constraint FKo09bh4j3k3k0ph3awvjwx31ft
|
|
||||||
foreign key (ROLE_ID)
|
|
||||||
references CCM_CORE.CCM_ROLES;
|
|
||||||
|
|
||||||
alter table CCM_CORE.ROLE_MEMBERSHIPS
|
alter table CCM_CORE.ROLE_MEMBERSHIPS
|
||||||
add constraint FK9m88ywi7rcin7b7jrgh53emrq
|
add constraint FK9m88ywi7rcin7b7jrgh53emrq
|
||||||
foreign key (MEMBER_ID)
|
foreign key (MEMBER_ID)
|
||||||
|
|
@ -1247,11 +1041,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (ENUM_ID)
|
foreign key (ENUM_ID)
|
||||||
references CCM_CORE.SETTINGS;
|
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
|
alter table CCM_CORE.SETTINGS_STRING_LIST
|
||||||
add constraint FKqeclqa5sf1g53vxs857tpwrus
|
add constraint FKqeclqa5sf1g53vxs857tpwrus
|
||||||
foreign key (LIST_ID)
|
foreign key (LIST_ID)
|
||||||
|
|
@ -1352,16 +1141,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (TASK_ID)
|
foreign key (TASK_ID)
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
references CCM_CORE.WORKFLOW_TASKS;
|
||||||
|
|
||||||
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_TASK_ASSIGNMENTS
|
alter table CCM_CORE.WORKFLOW_TASK_ASSIGNMENTS
|
||||||
add constraint FKpq4paqtfbi5erhh98wl1ja005
|
add constraint FKpq4paqtfbi5erhh98wl1ja005
|
||||||
foreign key (ROLE_ID)
|
foreign key (ROLE_ID)
|
||||||
|
|
@ -1392,16 +1171,6 @@ create sequence hibernate_sequence start with 100000 increment by 1;
|
||||||
foreign key (BLOCKING_TASK_ID)
|
foreign key (BLOCKING_TASK_ID)
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
references CCM_CORE.WORKFLOW_TASKS;
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS
|
|
||||||
add constraint FKeb7mqbdx3bk7t01vo7kp2hpf
|
|
||||||
foreign key (TASK_ID)
|
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASK_LABELS
|
|
||||||
add constraint FKf715qud6g9xv2xeb8rrpnv4xs
|
|
||||||
foreign key (TASK_ID)
|
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASKS
|
alter table CCM_CORE.WORKFLOW_TASKS
|
||||||
add constraint FK1693cbc36e4d8gucg8q7sc57e
|
add constraint FK1693cbc36e4d8gucg8q7sc57e
|
||||||
foreign key (WORKFLOW_ID)
|
foreign key (WORKFLOW_ID)
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
<extension qualifier="persistence-dbunit">
|
<extension qualifier="persistence-dbunit">
|
||||||
<property name="defaultDataSetFormat">json</property>
|
<property name="defaultDataSetFormat">json</property>
|
||||||
<property name="datatypeFactory">org.dbunit.ext.postgresql.PostgresqlDataTypeFactory</property>
|
<property name="datatypeFactory">org.libreccm.testutils.dbunit.CcmPgSqlDataTypeFactory</property>
|
||||||
<property name="excludePoi">true</property>
|
<property name="excludePoi">true</property>
|
||||||
<property name="qualifiedTableNames">true</property>
|
<property name="qualifiedTableNames">true</property>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
create table CCM_CORE.APPLICATIONS (
|
create table CCM_CORE.APPLICATIONS (
|
||||||
APPLICATION_TYPE varchar(1024) not null,
|
APPLICATION_TYPE varchar(1024) not null,
|
||||||
PRIMARY_URL varchar(1024) not null,
|
PRIMARY_URL varchar(1024) not null,
|
||||||
|
|
@ -18,8 +19,10 @@
|
||||||
create table CCM_CORE.CATEGORIES (
|
create table CCM_CORE.CATEGORIES (
|
||||||
ABSTRACT_CATEGORY boolean,
|
ABSTRACT_CATEGORY boolean,
|
||||||
CATEGORY_ORDER int8,
|
CATEGORY_ORDER int8,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
ENABLED boolean,
|
ENABLED boolean,
|
||||||
NAME varchar(255) not null,
|
NAME varchar(255) not null,
|
||||||
|
TITLE jsonb,
|
||||||
UNIQUE_ID varchar(255),
|
UNIQUE_ID varchar(255),
|
||||||
VISIBLE boolean,
|
VISIBLE boolean,
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
|
|
@ -39,16 +42,11 @@
|
||||||
primary key (CATEGORIZATION_ID)
|
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 (
|
create table CCM_CORE.CATEGORY_DOMAINS (
|
||||||
|
DESCRIPTION jsonb,
|
||||||
DOMAIN_KEY varchar(255) not null,
|
DOMAIN_KEY varchar(255) not null,
|
||||||
RELEASED timestamp,
|
RELEASED timestamp,
|
||||||
|
TITLE jsonb,
|
||||||
URI varchar(1024),
|
URI varchar(1024),
|
||||||
VERSION varchar(255),
|
VERSION varchar(255),
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
|
|
@ -56,13 +54,6 @@
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.CCM_OBJECTS (
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
DISPLAY_NAME varchar(255),
|
DISPLAY_NAME varchar(255),
|
||||||
|
|
@ -88,6 +79,7 @@
|
||||||
|
|
||||||
create table CCM_CORE.CCM_ROLES (
|
create table CCM_CORE.CCM_ROLES (
|
||||||
ROLE_ID int8 not null,
|
ROLE_ID int8 not null,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
NAME varchar(512) not null,
|
NAME varchar(512) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
primary key (ROLE_ID)
|
primary key (ROLE_ID)
|
||||||
|
|
@ -105,13 +97,6 @@
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.DOMAIN_OWNERSHIPS (
|
||||||
OWNERSHIP_ID int8 not null,
|
OWNERSHIP_ID int8 not null,
|
||||||
CONTEXT varchar(255),
|
CONTEXT varchar(255),
|
||||||
|
|
@ -123,25 +108,12 @@
|
||||||
primary key (OWNERSHIP_ID)
|
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 (
|
create table CCM_CORE.FORMBUILDER_COMPONENTS (
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
ADMIN_NAME varchar(255),
|
ADMIN_NAME varchar(255),
|
||||||
ATTRIBUTE_STRING varchar(255),
|
ATTRIBUTE_STRING varchar(255),
|
||||||
COMPONENT_ORDER int8,
|
COMPONENT_ORDER int8,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
SELECTED boolean,
|
SELECTED boolean,
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
parentComponent_OBJECT_ID int8,
|
parentComponent_OBJECT_ID int8,
|
||||||
|
|
@ -170,25 +142,13 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.FORMBUILDER_DATA_QUERIES (
|
create table CCM_CORE.FORMBUILDER_DATA_QUERIES (
|
||||||
|
DESCRIPTION jsonb,
|
||||||
|
QUERY_NAME jsonb,
|
||||||
QUERY_ID varchar(255),
|
QUERY_ID varchar(255),
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.FORMBUILDER_FORMSECTIONS (
|
||||||
FORMSECTION_ACTION varchar(255),
|
FORMSECTION_ACTION varchar(255),
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
|
|
@ -219,35 +179,17 @@
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.FORMBUILDER_OPTIONS (
|
||||||
|
LABEL jsonb,
|
||||||
PARAMETER_VALUE varchar(255),
|
PARAMETER_VALUE varchar(255),
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS (
|
||||||
|
DESCRIPTION jsonb,
|
||||||
LISTENER_CLASS varchar(255),
|
LISTENER_CLASS varchar(255),
|
||||||
|
LISTENER_NAME jsonb,
|
||||||
PROCESS_LISTENER_ORDER int8,
|
PROCESS_LISTENER_ORDER int8,
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
formSection_OBJECT_ID int8,
|
formSection_OBJECT_ID int8,
|
||||||
|
|
@ -409,25 +351,13 @@
|
||||||
primary key (CONTAINER_ID)
|
primary key (CONTAINER_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODEL_DESCRIPTIONS (
|
|
||||||
PAGE_MODEL_ID int8 not null,
|
|
||||||
LOCALIZED_VALUE text,
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (PAGE_MODEL_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODEL_TITLES (
|
|
||||||
PAGE_MODEL_ID int8 not null,
|
|
||||||
LOCALIZED_VALUE text,
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (PAGE_MODEL_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.PAGE_MODELS (
|
create table CCM_CORE.PAGE_MODELS (
|
||||||
PAGE_MODEL_ID int8 not null,
|
PAGE_MODEL_ID int8 not null,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
LAST_MODIFIED timestamp,
|
LAST_MODIFIED timestamp,
|
||||||
MODEL_UUID varchar(255) not null,
|
MODEL_UUID varchar(255) not null,
|
||||||
NAME varchar(255),
|
NAME varchar(255),
|
||||||
|
TITLE jsonb,
|
||||||
TYPE varchar(255) not null,
|
TYPE varchar(255) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
VERSION varchar(255) not null,
|
VERSION varchar(255) not null,
|
||||||
|
|
@ -482,29 +412,9 @@
|
||||||
primary key (QUEUE_ITEM_ID)
|
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 (
|
create table CCM_CORE.RESOURCE_TYPES (
|
||||||
RESOURCE_TYPE_ID int8 not null,
|
RESOURCE_TYPE_ID int8 not null,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
SINGLETON boolean,
|
SINGLETON boolean,
|
||||||
TITLE varchar(254) not null,
|
TITLE varchar(254) not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -516,19 +426,14 @@
|
||||||
|
|
||||||
create table CCM_CORE.RESOURCES (
|
create table CCM_CORE.RESOURCES (
|
||||||
CREATED timestamp,
|
CREATED timestamp,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
|
TITLE jsonb,
|
||||||
OBJECT_ID int8 not null,
|
OBJECT_ID int8 not null,
|
||||||
parent_OBJECT_ID int8,
|
parent_OBJECT_ID int8,
|
||||||
resourceType_RESOURCE_TYPE_ID int8,
|
resourceType_RESOURCE_TYPE_ID int8,
|
||||||
primary key (OBJECT_ID)
|
primary key (OBJECT_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.ROLE_DESCRIPTIONS (
|
|
||||||
ROLE_ID int8 not null,
|
|
||||||
LOCALIZED_VALUE text,
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (ROLE_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
create table CCM_CORE.ROLE_MEMBERSHIPS (
|
create table CCM_CORE.ROLE_MEMBERSHIPS (
|
||||||
MEMBERSHIP_ID int8 not null,
|
MEMBERSHIP_ID int8 not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -542,10 +447,11 @@
|
||||||
SETTING_ID int8 not null,
|
SETTING_ID int8 not null,
|
||||||
CONFIGURATION_CLASS varchar(512) not null,
|
CONFIGURATION_CLASS varchar(512) not null,
|
||||||
NAME varchar(512) not null,
|
NAME varchar(512) not null,
|
||||||
SETTING_VALUE_BOOLEAN boolean,
|
|
||||||
SETTING_VALUE_LONG int8,
|
|
||||||
SETTING_VALUE_STRING varchar(1024),
|
SETTING_VALUE_STRING varchar(1024),
|
||||||
|
SETTING_VALUE_LONG int8,
|
||||||
|
SETTING_VALUE_BOOLEAN boolean,
|
||||||
SETTING_VALUE_DOUBLE float8,
|
SETTING_VALUE_DOUBLE float8,
|
||||||
|
SETTING_VALUE_LOCALIZED_STRING jsonb,
|
||||||
SETTING_VALUE_BIG_DECIMAL numeric(19, 2),
|
SETTING_VALUE_BIG_DECIMAL numeric(19, 2),
|
||||||
primary key (SETTING_ID)
|
primary key (SETTING_ID)
|
||||||
);
|
);
|
||||||
|
|
@ -555,13 +461,6 @@
|
||||||
value varchar(255)
|
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 (
|
create table CCM_CORE.SETTINGS_STRING_LIST (
|
||||||
LIST_ID int8 not null,
|
LIST_ID int8 not null,
|
||||||
value varchar(255)
|
value varchar(255)
|
||||||
|
|
@ -660,22 +559,16 @@
|
||||||
primary key (OBJECT_ID)
|
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 (
|
create table CCM_CORE.USERS (
|
||||||
BANNED boolean,
|
BANNED boolean,
|
||||||
|
EMAIL_ADDRESSES jsonb,
|
||||||
FAMILY_NAME varchar(512),
|
FAMILY_NAME varchar(512),
|
||||||
GIVEN_NAME varchar(512),
|
GIVEN_NAME varchar(512),
|
||||||
PASSWORD varchar(2048),
|
PASSWORD varchar(2048),
|
||||||
PASSWORD_RESET_REQUIRED boolean,
|
PASSWORD_RESET_REQUIRED boolean,
|
||||||
EMAIL_ADDRESS varchar(512) not null,
|
PRIMARY_EMAIL_ADDRESS varchar(255),
|
||||||
BOUNCING boolean,
|
PRIMARY_EMAIL_ADDRESS_BOUNCING boolean,
|
||||||
VERIFIED boolean,
|
PRIMARY_EMAIL_ADDRESS_VERIFIED boolean,
|
||||||
PARTY_ID int8 not null,
|
PARTY_ID int8 not null,
|
||||||
primary key (PARTY_ID)
|
primary key (PARTY_ID)
|
||||||
);
|
);
|
||||||
|
|
@ -691,20 +584,6 @@
|
||||||
primary key (TASK_ID)
|
primary key (TASK_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_ASSIGNMENTS (
|
create table CCM_CORE.WORKFLOW_TASK_ASSIGNMENTS (
|
||||||
TASK_ASSIGNMENT_ID int8 not null,
|
TASK_ASSIGNMENT_ID int8 not null,
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -730,23 +609,11 @@
|
||||||
primary key (TASK_DEPENDENCY_ID)
|
primary key (TASK_DEPENDENCY_ID)
|
||||||
);
|
);
|
||||||
|
|
||||||
create table CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS (
|
|
||||||
TASK_ID int8 not null,
|
|
||||||
LOCALIZED_VALUE text,
|
|
||||||
LOCALE varchar(255) not null,
|
|
||||||
primary key (TASK_ID, LOCALE)
|
|
||||||
);
|
|
||||||
|
|
||||||
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 (
|
create table CCM_CORE.WORKFLOW_TASKS (
|
||||||
TASK_ID int8 not null,
|
TASK_ID int8 not null,
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
|
LABEL jsonb,
|
||||||
TASK_STATE varchar(512),
|
TASK_STATE varchar(512),
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
WORKFLOW_ID int8,
|
WORKFLOW_ID int8,
|
||||||
|
|
@ -757,6 +624,8 @@
|
||||||
WORKFLOW_ID int8 not null,
|
WORKFLOW_ID int8 not null,
|
||||||
abstract_workflow boolean,
|
abstract_workflow boolean,
|
||||||
ACTIVE boolean,
|
ACTIVE boolean,
|
||||||
|
DESCRIPTION jsonb,
|
||||||
|
NAME jsonb,
|
||||||
WORKFLOW_STATE varchar(255),
|
WORKFLOW_STATE varchar(255),
|
||||||
TASKS_STATE varchar(255),
|
TASKS_STATE varchar(255),
|
||||||
UUID varchar(255) not null,
|
UUID varchar(255) not null,
|
||||||
|
|
@ -824,7 +693,7 @@
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOWS
|
alter table CCM_CORE.WORKFLOWS
|
||||||
add constraint UK_o113id7d1cxql0edsrohlnn9x unique (UUID);
|
add constraint UK_o113id7d1cxql0edsrohlnn9x unique (UUID);
|
||||||
create sequence hibernate_sequence start 100000 increment 1;
|
create sequence hibernate_sequence start 1 increment 1;
|
||||||
|
|
||||||
alter table CCM_CORE.APPLICATIONS
|
alter table CCM_CORE.APPLICATIONS
|
||||||
add constraint FKatcp9ij6mbkx0nfeig1o6n3lm
|
add constraint FKatcp9ij6mbkx0nfeig1o6n3lm
|
||||||
|
|
@ -856,11 +725,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (CATEGORY_ID)
|
foreign key (CATEGORY_ID)
|
||||||
references CCM_CORE.CATEGORIES;
|
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
|
alter table CCM_CORE.CATEGORY_DOMAINS
|
||||||
add constraint FKf25vi73cji01w8fgo6ow1dgg
|
add constraint FKf25vi73cji01w8fgo6ow1dgg
|
||||||
foreign key (ROOT_CATEGORY_ID)
|
foreign key (ROOT_CATEGORY_ID)
|
||||||
|
|
@ -871,11 +735,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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.CCM_OBJECTS_AUD
|
alter table CCM_CORE.CCM_OBJECTS_AUD
|
||||||
add constraint FKr00eauutiyvocno8ckx6h9nw6
|
add constraint FKr00eauutiyvocno8ckx6h9nw6
|
||||||
foreign key (REV)
|
foreign key (REV)
|
||||||
|
|
@ -896,11 +755,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.DOMAIN_OWNERSHIPS
|
||||||
add constraint FK47nsasr7jrdwlky5gx0u6e9py
|
add constraint FK47nsasr7jrdwlky5gx0u6e9py
|
||||||
foreign key (domain_OBJECT_ID)
|
foreign key (domain_OBJECT_ID)
|
||||||
|
|
@ -911,16 +765,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (owner_OBJECT_ID)
|
foreign key (owner_OBJECT_ID)
|
||||||
references CCM_CORE.APPLICATIONS;
|
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
|
alter table CCM_CORE.FORMBUILDER_COMPONENTS
|
||||||
add constraint FKpcpmvyiix023b4g5n4q8nkfca
|
add constraint FKpcpmvyiix023b4g5n4q8nkfca
|
||||||
foreign key (parentComponent_OBJECT_ID)
|
foreign key (parentComponent_OBJECT_ID)
|
||||||
|
|
@ -951,16 +795,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_FORMSECTIONS
|
||||||
add constraint FKnfhsgxp4lvigq2pm33pn4afac
|
add constraint FKnfhsgxp4lvigq2pm33pn4afac
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
|
|
@ -986,26 +820,11 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_OPTIONS
|
||||||
add constraint FKhe5q71wby9g4i56sotc501h11
|
add constraint FKhe5q71wby9g4i56sotc501h11
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.FORMBUILDER_COMPONENTS;
|
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
|
alter table CCM_CORE.FORMBUILDER_PROCESS_LISTENERS
|
||||||
add constraint FK7uiaeax8qafm82e5k729ms5ku
|
add constraint FK7uiaeax8qafm82e5k729ms5ku
|
||||||
foreign key (formSection_OBJECT_ID)
|
foreign key (formSection_OBJECT_ID)
|
||||||
|
|
@ -1131,16 +950,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (STYLE_ID)
|
foreign key (STYLE_ID)
|
||||||
references CCM_CORE.STYLES;
|
references CCM_CORE.STYLES;
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODEL_DESCRIPTIONS
|
|
||||||
add constraint FKcc5d6eqxu1369k8ycyyt6vn3e
|
|
||||||
foreign key (PAGE_MODEL_ID)
|
|
||||||
references CCM_CORE.PAGE_MODELS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODEL_TITLES
|
|
||||||
add constraint FKj14q9911yhd4js9p6rs21rwjf
|
|
||||||
foreign key (PAGE_MODEL_ID)
|
|
||||||
references CCM_CORE.PAGE_MODELS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.PAGE_MODELS
|
alter table CCM_CORE.PAGE_MODELS
|
||||||
add constraint FKk2lihllrxj89mn3tqv43amafe
|
add constraint FKk2lihllrxj89mn3tqv43amafe
|
||||||
foreign key (APPLICATION_ID)
|
foreign key (APPLICATION_ID)
|
||||||
|
|
@ -1191,21 +1000,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (RECEIVER_ID)
|
foreign key (RECEIVER_ID)
|
||||||
references CCM_CORE.PARTIES;
|
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
|
alter table CCM_CORE.RESOURCES
|
||||||
add constraint FKbo7ibfgodicn9flv2gfo11g5a
|
add constraint FKbo7ibfgodicn9flv2gfo11g5a
|
||||||
foreign key (parent_OBJECT_ID)
|
foreign key (parent_OBJECT_ID)
|
||||||
|
|
@ -1221,11 +1015,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
references CCM_CORE.CCM_OBJECTS;
|
||||||
|
|
||||||
alter table CCM_CORE.ROLE_DESCRIPTIONS
|
|
||||||
add constraint FKo09bh4j3k3k0ph3awvjwx31ft
|
|
||||||
foreign key (ROLE_ID)
|
|
||||||
references CCM_CORE.CCM_ROLES;
|
|
||||||
|
|
||||||
alter table CCM_CORE.ROLE_MEMBERSHIPS
|
alter table CCM_CORE.ROLE_MEMBERSHIPS
|
||||||
add constraint FK9m88ywi7rcin7b7jrgh53emrq
|
add constraint FK9m88ywi7rcin7b7jrgh53emrq
|
||||||
foreign key (MEMBER_ID)
|
foreign key (MEMBER_ID)
|
||||||
|
|
@ -1241,11 +1030,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (ENUM_ID)
|
foreign key (ENUM_ID)
|
||||||
references CCM_CORE.SETTINGS;
|
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
|
alter table CCM_CORE.SETTINGS_STRING_LIST
|
||||||
add constraint FKqeclqa5sf1g53vxs857tpwrus
|
add constraint FKqeclqa5sf1g53vxs857tpwrus
|
||||||
foreign key (LIST_ID)
|
foreign key (LIST_ID)
|
||||||
|
|
@ -1321,11 +1105,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (OBJECT_ID)
|
foreign key (OBJECT_ID)
|
||||||
references CCM_CORE.CCM_OBJECTS;
|
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
|
alter table CCM_CORE.USERS
|
||||||
add constraint FKosh928q71aonu6l1kurb417r
|
add constraint FKosh928q71aonu6l1kurb417r
|
||||||
foreign key (PARTY_ID)
|
foreign key (PARTY_ID)
|
||||||
|
|
@ -1346,16 +1125,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (TASK_ID)
|
foreign key (TASK_ID)
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
references CCM_CORE.WORKFLOW_TASKS;
|
||||||
|
|
||||||
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_TASK_ASSIGNMENTS
|
alter table CCM_CORE.WORKFLOW_TASK_ASSIGNMENTS
|
||||||
add constraint FKpq4paqtfbi5erhh98wl1ja005
|
add constraint FKpq4paqtfbi5erhh98wl1ja005
|
||||||
foreign key (ROLE_ID)
|
foreign key (ROLE_ID)
|
||||||
|
|
@ -1386,16 +1155,6 @@ create sequence hibernate_sequence start 100000 increment 1;
|
||||||
foreign key (BLOCKING_TASK_ID)
|
foreign key (BLOCKING_TASK_ID)
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
references CCM_CORE.WORKFLOW_TASKS;
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASK_DESCRIPTIONS
|
|
||||||
add constraint FKeb7mqbdx3bk7t01vo7kp2hpf
|
|
||||||
foreign key (TASK_ID)
|
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASK_LABELS
|
|
||||||
add constraint FKf715qud6g9xv2xeb8rrpnv4xs
|
|
||||||
foreign key (TASK_ID)
|
|
||||||
references CCM_CORE.WORKFLOW_TASKS;
|
|
||||||
|
|
||||||
alter table CCM_CORE.WORKFLOW_TASKS
|
alter table CCM_CORE.WORKFLOW_TASKS
|
||||||
add constraint FK1693cbc36e4d8gucg8q7sc57e
|
add constraint FK1693cbc36e4d8gucg8q7sc57e
|
||||||
foreign key (WORKFLOW_ID)
|
foreign key (WORKFLOW_ID)
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
DELETE FROM ccm_core.settings_string_list;
|
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_enum_values;
|
DELETE FROM ccm_core.settings_enum_values;
|
||||||
|
|
@ -28,8 +26,6 @@ DELETE FROM ccm_core.one_time_auth_tokens;
|
||||||
|
|
||||||
DELETE FROM ccm_core.users;
|
DELETE FROM ccm_core.users;
|
||||||
|
|
||||||
DELETE FROM ccm_core.user_email_addresses;
|
|
||||||
|
|
||||||
DELETE FROM ccm_core.parties;
|
DELETE FROM ccm_core.parties;
|
||||||
|
|
||||||
DELETE FROM ccm_core.ccm_roles;
|
DELETE FROM ccm_core.ccm_roles;
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,11 @@
|
||||||
<property name="hibernate.show_sql" value="true"/>
|
<property name="hibernate.show_sql" value="true"/>
|
||||||
<property name="hibernate.id.new_generator_mappings" value="true"/>
|
<property name="hibernate.id.new_generator_mappings" value="true"/>
|
||||||
<property name="hibernate.connection.autocommit" value="false" />
|
<property name="hibernate.connection.autocommit" value="false" />
|
||||||
|
<property
|
||||||
|
name="hibernate.dialect"
|
||||||
|
value="org.libreccm.hibernate.dialects.LibreCcmPgSql9Dialect"
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Properties for Hibernate Envers
|
Properties for Hibernate Envers
|
||||||
|
|
|
||||||
|
|
@ -84,30 +84,30 @@ ccm_core.users:
|
||||||
- party_id: 3000
|
- party_id: 3000
|
||||||
given_name: public
|
given_name: public
|
||||||
family_name: user
|
family_name: user
|
||||||
email_address: public-user@localhost
|
primary_email_address: public-user@localhost
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 3100
|
- party_id: 3100
|
||||||
given_name: Jane
|
given_name: Jane
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
email_address: jane.doe@example.org
|
primary_email_address: jane.doe@example.org
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 3200
|
- party_id: 3200
|
||||||
given_name: Maria
|
given_name: Maria
|
||||||
family_name: Muster
|
family_name: Muster
|
||||||
email_address: mmuster@example.com
|
primary_email_address: mmuster@example.com
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
|
|
||||||
ccm_core.ccm_roles:
|
ccm_core.ccm_roles:
|
||||||
|
|
|
||||||
|
|
@ -69,28 +69,28 @@ ccm_core.users:
|
||||||
- party_id: 100
|
- party_id: 100
|
||||||
given_name: public
|
given_name: public
|
||||||
family_name: user
|
family_name: user
|
||||||
email_address: public-user@localhost
|
primary_email_address: public-user@localhost
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 200
|
- party_id: 200
|
||||||
given_name: John
|
given_name: John
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
email_address: john.doe@example.org
|
primary_email_address: john.doe@example.org
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 300
|
- party_id: 300
|
||||||
given_name: Max
|
given_name: Max
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: mmuster@example.org
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
|
|
||||||
ccm_core.ccm_roles:
|
ccm_core.ccm_roles:
|
||||||
|
|
|
||||||
|
|
@ -59,28 +59,28 @@ ccm_core.users:
|
||||||
- party_id: 100
|
- party_id: 100
|
||||||
given_name: public
|
given_name: public
|
||||||
family_name: user
|
family_name: user
|
||||||
email_address: public-user@localhost
|
primary_email_address: public-user@localhost
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 200
|
- party_id: 200
|
||||||
given_name: John
|
given_name: John
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
email_address: john.doe@example.org
|
primary_email_address: john.doe@example.org
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
- party_id: 300
|
- party_id: 300
|
||||||
given_name: Max
|
given_name: Max
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: mmuster@example.org
|
||||||
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
banned: false
|
banned: false
|
||||||
bouncing: false
|
|
||||||
verified: true
|
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
|
|
||||||
ccm_core.ccm_roles:
|
ccm_core.ccm_roles:
|
||||||
|
|
|
||||||
|
|
@ -22,36 +22,36 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: john.doe@example.com
|
primary_email_address: john.doe@example.com
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: max.mustermann@example.org
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: joe.public@example.com
|
primary_email_address: joe.public@example.com
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
ccm_core.groups:
|
ccm_core.groups:
|
||||||
# Group 1
|
# Group 1
|
||||||
- party_id: 100
|
- party_id: 100
|
||||||
|
|
|
||||||
|
|
@ -22,36 +22,36 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: john.doe@example.com
|
primary_email_address: john.doe@example.com
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: max.mustermann@example.org
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: joe.public@example.com
|
primary_email_address: joe.public@example.com
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
ccm_core.groups:
|
ccm_core.groups:
|
||||||
# Group 1
|
# Group 1
|
||||||
- party_id: 100
|
- party_id: 100
|
||||||
|
|
|
||||||
|
|
@ -18,43 +18,43 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: john.doe@example.com
|
primary_email_address: john.doe@example.com
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: max.mustermann@example.org
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: joe.public@example.com
|
primary_email_address: joe.public@example.com
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Jane Doe
|
# Jane Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: jane.doe@libreccm.example
|
primary_email_address: jane.doe@libreccm.example
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: Jane
|
given_name: Jane
|
||||||
party_id: 40
|
party_id: 40
|
||||||
password: ofafodafa
|
password: ofafodafa
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
|
|
|
||||||
|
|
@ -14,33 +14,33 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: john.doe@example.com
|
primary_email_address: john.doe@example.com
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address: max.mustermann@example.org
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address_bouncing: false
|
||||||
email_address: joe.public@example.com
|
primary_email_address: joe.public@example.com
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
primary_email_address_verified: true
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<dataset>
|
||||||
|
<ccm_core.settings
|
||||||
|
dtype="LocalizedStringSetting"
|
||||||
|
setting_id="120"
|
||||||
|
configuration_class="org.libreccm.configuration.ExampleConfiguration"
|
||||||
|
name="title"
|
||||||
|
setting_value_localized_string='{"de": "Versuch", "en": "Test"}'
|
||||||
|
/>
|
||||||
|
<ccm_core.settings
|
||||||
|
dtype="BooleanSetting"
|
||||||
|
setting_id="100"
|
||||||
|
configuration_class="org.libreccm.configuration.ExampleConfiguration"
|
||||||
|
name="enabled"
|
||||||
|
setting_value_boolean="true"
|
||||||
|
/>
|
||||||
|
<ccm_core.settings
|
||||||
|
dtype="LongSetting"
|
||||||
|
setting_id="110"
|
||||||
|
configuration_class="org.libreccm.configuration.ExampleConfiguration"
|
||||||
|
name="itemsPerPage"
|
||||||
|
setting_value_long="100"
|
||||||
|
/>
|
||||||
|
</dataset>
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
ccm_core.settings:
|
|
||||||
- setting_id: 100
|
|
||||||
configuration_class: org.libreccm.configuration.ExampleConfiguration
|
|
||||||
name: enabled
|
|
||||||
setting_value_boolean: true
|
|
||||||
dtype: BooleanSetting
|
|
||||||
- setting_id: 110
|
|
||||||
configuration_class: org.libreccm.configuration.ExampleConfiguration
|
|
||||||
name: itemsPerPage
|
|
||||||
setting_value_long: 100
|
|
||||||
dtype: LongSetting
|
|
||||||
- setting_id: 120
|
|
||||||
configuration_class: org.libreccm.configuration.ExampleConfiguration
|
|
||||||
name: title
|
|
||||||
dtype: LocalizedStringSetting
|
|
||||||
ccm_core.settings_l10n_str_values:
|
|
||||||
- entry_id: 120
|
|
||||||
locale: de
|
|
||||||
localized_value: Versuch
|
|
||||||
- entry_id: 120
|
|
||||||
locale: en
|
|
||||||
localized_value: Test
|
|
||||||
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
|
|
||||||
</dataset>
|
</dataset>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
|
|
||||||
</dataset>
|
</dataset>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
banned="false"
|
||||||
banned="true"
|
password_reset_required="false" />
|
||||||
password_reset_required="false"
|
|
||||||
verified="false"/>
|
|
||||||
</dataset>
|
</dataset>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,20 +31,20 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="true"/>
|
|
||||||
|
|
||||||
</dataset>
|
</dataset>
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
banned="false"
|
||||||
banned="true"
|
password_reset_required="false" />
|
||||||
password_reset_required="false"
|
|
||||||
verified="false"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false" />
|
||||||
verified="false"/>
|
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
banned="false"
|
||||||
banned="true"
|
password_reset_required="false" />
|
||||||
password_reset_required="false"
|
|
||||||
verified="false"/>
|
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
|
|
@ -26,36 +26,36 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: john.doe@example.com
|
||||||
email_address: john.doe@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: max.mustermann@example.org
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: joe.public@example.com
|
||||||
email_address: joe.public@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
ccm_core.groups:
|
ccm_core.groups:
|
||||||
# admins
|
# admins
|
||||||
- party_id: 40
|
- party_id: 40
|
||||||
|
|
|
||||||
|
|
@ -26,36 +26,37 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: john.doe@example.com
|
||||||
email_address: john.doe@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: max.mustermann@example.org
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: joe.public@example.com
|
||||||
email_address: joe.public@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
ccm_core.groups:
|
ccm_core.groups:
|
||||||
# admins
|
# admins
|
||||||
- party_id: 40
|
- party_id: 40
|
||||||
|
|
|
||||||
|
|
@ -26,36 +26,36 @@ ccm_core.parties:
|
||||||
ccm_core.users:
|
ccm_core.users:
|
||||||
# John Doe
|
# John Doe
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: john.doe@example.com
|
||||||
email_address: john.doe@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Doe
|
family_name: Doe
|
||||||
given_name: John
|
given_name: John
|
||||||
party_id: 10
|
party_id: 10
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
password: $shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Max Mustermann
|
# Max Mustermann
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: max.mustermann@example.org
|
||||||
email_address: max.mustermann@example.org
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Mustermann
|
family_name: Mustermann
|
||||||
given_name: Max
|
given_name: Max
|
||||||
party_id: 20
|
party_id: 20
|
||||||
# foo123
|
# foo123
|
||||||
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
# Joe Public
|
# Joe Public
|
||||||
- banned: false
|
- banned: false
|
||||||
bouncing: false
|
primary_email_address: joe.public@example.com
|
||||||
email_address: joe.public@example.com
|
primary_email_address_bouncing: false
|
||||||
|
primary_email_address_verified: true
|
||||||
family_name: Public
|
family_name: Public
|
||||||
given_name: Joe
|
given_name: Joe
|
||||||
party_id: 30
|
party_id: 30
|
||||||
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
password: $shiro1$SHA-512$500000$RUCYXAQt+XzUmj3x8oG5gw==$qU+lX160Jc6sNUOI9X85wlf2lzn4/hLJNURtjmw9LOYJ7vAqUFFmhyNCMxpzuHIpzeMELr+A0XReoSmtcZnOOw==
|
||||||
password_reset_required: false
|
password_reset_required: false
|
||||||
verified: true
|
|
||||||
ccm_core.groups:
|
ccm_core.groups:
|
||||||
# admins
|
# admins
|
||||||
- party_id: 40
|
- party_id: 40
|
||||||
|
|
|
||||||
|
|
@ -31,21 +31,23 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens token_id="-100"
|
<ccm_core.one_time_auth_tokens token_id="-100"
|
||||||
user_id="-10"
|
user_id="-10"
|
||||||
|
|
|
||||||
|
|
@ -31,19 +31,21 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
</dataset>
|
</dataset>
|
||||||
|
|
@ -31,21 +31,23 @@
|
||||||
<ccm_core.users party_id="-10"
|
<ccm_core.users party_id="-10"
|
||||||
family_name="Doe"
|
family_name="Doe"
|
||||||
given_name="John"
|
given_name="John"
|
||||||
email_address="john.doe@example.com"
|
primary_email_address="john.doe@example.com"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
password="$shiro1$SHA-512$500000$7xkDcZUN0/whJInHIvGsDw==$WhelBVmJU/cLV7lAkMOrE5B/mqCW0bUuid1WX+xBwzzAaekC5bYn9eeOFGJWhiDgmaC50ZCUmM96/iGsRoc4uA=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
<ccm_core.users party_id="-20"
|
<ccm_core.users party_id="-20"
|
||||||
family_name="Mustermann"
|
family_name="Mustermann"
|
||||||
given_name="Max"
|
given_name="Max"
|
||||||
email_address="max.muster@example.org"
|
primary_email_address="max.muster@example.org"
|
||||||
|
primary_email_address_bouncing="false"
|
||||||
|
primary_email_address_verified="true"
|
||||||
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
password="$shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q=="
|
||||||
bouncing="false"
|
|
||||||
banned="false"
|
banned="false"
|
||||||
password_reset_required="false"
|
password_reset_required="false"
|
||||||
verified="true"/>
|
/>
|
||||||
|
|
||||||
<ccm_core.one_time_auth_tokens
|
<ccm_core.one_time_auth_tokens
|
||||||
token_id="-100"
|
token_id="-100"
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue