CCM NG: Some bug fixing for H2 compatibility

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4308 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2016-09-18 17:05:06 +00:00
parent 5421a8dc30
commit 930c20ccbd
20 changed files with 1506 additions and 254 deletions

View File

@ -101,28 +101,23 @@ import static org.librecms.CmsConstants.*;
+ "WHERE c.category = :folder " + "WHERE c.category = :folder "
+ "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "' " + "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "' "
+ "AND LOWER(i.displayName) LIKE CONCAT(LOWER(:name), '%')" + "AND LOWER(i.displayName) LIKE CONCAT(LOWER(:name), '%')"
// query = "SELECT COUNT(c) FROM Categorization c "
// + "JOIN c.categorizedObject o "
// + "WHERE c.category = :folder "
// + "AND TYPE(o) IN (ContentItem) "
// + "AND LOWER(o.displayName) LIKE CONCAT(LOWER(:name), '%s') "
), ),
@NamedQuery( @NamedQuery(
name = "ContentItem.hasLiveVersion", name = "ContentItem.hasLiveVersion",
query = "SELECT (CASE WHEN COUNT(i) > 0 THEN true ELSE false END) " query = "SELECT (CASE WHEN COUNT(i) > 0 THEN true ELSE false END) "
+ "FROM ContentItem i " + "FROM ContentItem i "
+ "WHERE i.uuid = ':uuid' " + "WHERE i.itemUuid = :uuid "
+ "AND i.version = 'LIVE'"), + "AND i.version = org.librecms.contentsection.ContentItemVersion.LIVE"),
@NamedQuery( @NamedQuery(
name = "ContentItem.findDraftVersion", name = "ContentItem.findDraftVersion",
query = "SELECT i FROM ContentItem i " query = "SELECT i FROM ContentItem i "
+ "WHERE i.uuid = :uuid " + "WHERE i.itemUuid = :uuid "
+ "AND i.version = 'DRAFT'"), + "AND i.version = org.librecms.contentsection.ContentItemVersion.DRAFT"),
@NamedQuery( @NamedQuery(
name = "ContentItem.findLiveVersion", name = "ContentItem.findLiveVersion",
query = "SELECT i FROM ContentItem i " query = "SELECT i FROM ContentItem i "
+ "WHERE i.uuid = :uuid " + "WHERE i.itemUuid = :uuid "
+ "AND i.version = 'LIVE'") + "AND i.version = org.librecms.contentsection.ContentItemVersion.LIVE")
}) })
public class ContentItem extends CcmObject implements Serializable, public class ContentItem extends CcmObject implements Serializable,

View File

@ -54,7 +54,6 @@ import java.beans.Introspector;
import java.beans.PropertyDescriptor; import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -71,7 +70,7 @@ import javax.transaction.Transactional;
public class ContentItemManager { public class ContentItemManager {
private static final Logger LOGGER = LogManager.getLogger( private static final Logger LOGGER = LogManager.getLogger(
ContentItemManager.class); ContentItemManager.class);
@Inject @Inject
private EntityManager entityManager; private EntityManager entityManager;
@ -105,29 +104,29 @@ public class ContentItemManager {
* {@link ContentSection#rootDocumentsFolder} of the provided content * {@link ContentSection#rootDocumentsFolder} of the provided content
* section. Otherwise an {@link IllegalArgumentException} is thrown. * section. Otherwise an {@link IllegalArgumentException} is thrown.
* *
* @param <T> The type of the content item. * @param <T> The type of the content item.
* @param name The name (URL stub) of the new content item. * @param name The name (URL stub) of the new content item.
* @param section The content section in which the item is generated. * @param section The content section in which the item is generated.
* @param folder The folder in which in the item is stored. * @param folder The folder in which in the item is stored.
* @param type The type of the new content item. * @param type The type of the new content item.
* *
* @return The new content item. * @return The new content item.
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public <T extends ContentItem> T createContentItem( public <T extends ContentItem> T createContentItem(
final String name, final String name,
final ContentSection section, final ContentSection section,
final Category folder, final Category folder,
final Class<T> type) { final Class<T> type) {
final Optional<ContentType> contentType = typeRepo final Optional<ContentType> contentType = typeRepo
.findByContentSectionAndClass(section, type); .findByContentSectionAndClass(section, type);
if (!contentType.isPresent()) { if (!contentType.isPresent()) {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"ContentSection \"%s\" has no content type for \"%s\".", "ContentSection \"%s\" has no content type for \"%s\".",
section.getLabel(), section.getLabel(),
type.getName())); type.getName()));
} }
return createContentItem(name, return createContentItem(name,
@ -149,37 +148,38 @@ public class ContentItemManager {
* provided content section. Otherwise an {@link IllegalArgumentException} * provided content section. Otherwise an {@link IllegalArgumentException}
* is thrown. * is thrown.
* *
* @param <T> The type of the content item. * @param <T> The type of the content item.
* @param name The name (URL stub) of the new content item. * @param name The name (URL stub) of the new content item.
* @param section The content section in which the item is generated. * @param section The content section in which the item is
* @param folder The folder in which in the item is stored. * generated.
* @param folder The folder in which in the item is stored.
* @param workflowTemplate The template for the workflow to apply to the new * @param workflowTemplate The template for the workflow to apply to the new
* item. * item.
* @param type The type of the new content item. * @param type The type of the new content item.
* *
* @return The new content item. * @return The new content item.
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
public <T extends ContentItem> T createContentItem( public <T extends ContentItem> T createContentItem(
final String name, final String name,
final ContentSection section, final ContentSection section,
final Category folder, final Category folder,
final WorkflowTemplate workflowTemplate, final WorkflowTemplate workflowTemplate,
final Class<T> type) { final Class<T> type) {
final Optional<ContentType> contentType = typeRepo final Optional<ContentType> contentType = typeRepo
.findByContentSectionAndClass(section, type); .findByContentSectionAndClass(section, type);
if (!contentType.isPresent()) { if (!contentType.isPresent()) {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"ContentSection \"%s\" has no content type for \"%s\".", "ContentSection \"%s\" has no content type for \"%s\".",
section.getLabel(), section.getLabel(),
type.getName())); type.getName()));
} }
if (name == null || name.isEmpty()) { if (name == null || name.isEmpty()) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The name of a content item can't be blank."); "The name of a content item can't be blank.");
} }
final T item; final T item;
@ -187,14 +187,14 @@ public class ContentItemManager {
item = type.newInstance(); item = type.newInstance();
} catch (InstantiationException | IllegalAccessException ex) { } catch (InstantiationException | IllegalAccessException ex) {
LOGGER.error("Failed to create new content item of type \"{}\" " LOGGER.error("Failed to create new content item of type \"{}\" "
+ "in content section \"{}\".", + "in content section \"{}\".",
type.getName(), type.getName(),
section.getLabel()); section.getLabel());
throw new RuntimeException(ex); throw new RuntimeException(ex);
} }
final KernelConfig kernelConfig = confManager.findConfiguration( final KernelConfig kernelConfig = confManager.findConfiguration(
KernelConfig.class); KernelConfig.class);
item.setDisplayName(name); item.setDisplayName(name);
item.getName().addValue(kernelConfig.getDefaultLocale(), item.getName().addValue(kernelConfig.getDefaultLocale(),
@ -202,19 +202,19 @@ public class ContentItemManager {
item.setVersion(ContentItemVersion.DRAFT); item.setVersion(ContentItemVersion.DRAFT);
item.setContentType(contentType.get()); item.setContentType(contentType.get());
if (workflowTemplate != null) { if (workflowTemplate != null) {
final Workflow workflow = workflowManager.createWorkflow( final Workflow workflow = workflowManager.createWorkflow(
workflowTemplate); workflowTemplate);
item.setWorkflow(workflow); item.setWorkflow(workflow);
} }
contentItemRepo.save(item); contentItemRepo.save(item);
categoryManager.addObjectToCategory( categoryManager.addObjectToCategory(
item, item,
folder, folder,
CmsConstants.CATEGORIZATION_TYPE_FOLDER); CmsConstants.CATEGORIZATION_TYPE_FOLDER);
contentItemRepo.save(item); contentItemRepo.save(item);
@ -226,7 +226,7 @@ public class ContentItemManager {
* only moves the draft version of the item. The live version is moved after * only moves the draft version of the item. The live version is moved after
* a the item is republished. * a the item is republished.
* *
* @param item The item to move. * @param item The item to move.
* @param targetFolder The folder to which the item is moved. * @param targetFolder The folder to which the item is moved.
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
@ -237,7 +237,7 @@ public class ContentItemManager {
if (targetFolder == null) { if (targetFolder == null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The target folder can't be null."); "The target folder can't be null.");
} }
final ContentItem draftItem = getDraftVersion(item, item.getClass()); final ContentItem draftItem = getDraftVersion(item, item.getClass());
@ -253,9 +253,9 @@ public class ContentItemManager {
} }
categoryManager.addObjectToCategory( categoryManager.addObjectToCategory(
draftItem, draftItem,
targetFolder, targetFolder,
CmsConstants.CATEGORIZATION_TYPE_FOLDER); CmsConstants.CATEGORIZATION_TYPE_FOLDER);
} }
@ -263,10 +263,11 @@ public class ContentItemManager {
* Creates an copy of the draft version of the item in the provided * Creates an copy of the draft version of the item in the provided
* {@code targetFolder}. * {@code targetFolder}.
* *
* @param item The item to copy. * @param item The item to copy.
* @param targetFolder The folder in which the copy is created. If the * @param targetFolder The folder in which the copy is created. If the
* target folder is the same folder as the folder of the original item an * target folder is the same folder as the folder of the
* index is appended to the name of the item. * original item an index is appended to the name of the
* item.
*/ */
@Transactional(Transactional.TxType.REQUIRED) @Transactional(Transactional.TxType.REQUIRED)
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -277,19 +278,19 @@ public class ContentItemManager {
if (targetFolder == null) { if (targetFolder == null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The target folder to which the item is copied can't be null"); "The target folder to which the item is copied can't be null");
} }
final Optional<ContentType> contentType = typeRepo final Optional<ContentType> contentType = typeRepo
.findByContentSectionAndClass( .findByContentSectionAndClass(
item.getContentType().getContentSection(), item. item.getContentType().getContentSection(), item.
getClass()); getClass());
if (!contentType.isPresent()) { if (!contentType.isPresent()) {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"ContentSection \"%s\" has no content type for \"%s\".", "ContentSection \"%s\" has no content type for \"%s\".",
item.getContentType().getContentSection(), item.getContentType().getContentSection(),
item.getClass().getName())); item.getClass().getName()));
} }
final ContentItem draftItem = getDraftVersion(item, item.getClass()); final ContentItem draftItem = getDraftVersion(item, item.getClass());
@ -305,31 +306,31 @@ public class ContentItemManager {
if (draftItem.getWorkflow() != null) { if (draftItem.getWorkflow() != null) {
final WorkflowTemplate template = draftItem.getWorkflow() final WorkflowTemplate template = draftItem.getWorkflow()
.getTemplate(); .getTemplate();
final Workflow copyWorkflow = workflowManager.createWorkflow( final Workflow copyWorkflow = workflowManager.createWorkflow(
template); template);
copy.setWorkflow(copyWorkflow); copy.setWorkflow(copyWorkflow);
} }
contentItemRepo.save(copy); contentItemRepo.save(copy);
draftItem.getCategories().forEach(categorization -> categoryManager draftItem.getCategories().forEach(categorization -> categoryManager
.addObjectToCategory(copy, categorization.getCategory())); .addObjectToCategory(copy, categorization.getCategory()));
final Optional<Category> itemFolder = getItemFolder(draftItem); final Optional<Category> itemFolder = getItemFolder(draftItem);
if (itemFolder.isPresent()) { if (itemFolder.isPresent()) {
try { try {
categoryManager.removeObjectFromCategory( categoryManager.removeObjectFromCategory(
copy, getItemFolder(draftItem).get()); copy, getItemFolder(draftItem).get());
} catch (ObjectNotAssignedToCategoryException ex) { } catch (ObjectNotAssignedToCategoryException ex) {
throw new RuntimeException(ex); throw new RuntimeException(ex);
} }
} }
categoryManager.addObjectToCategory( categoryManager.addObjectToCategory(
copy, copy,
targetFolder, targetFolder,
CmsConstants.CATEGORIZATION_TYPE_FOLDER); CmsConstants.CATEGORIZATION_TYPE_FOLDER);
// !!!!!!!!!!!!!!!!!!!!! // !!!!!!!!!!!!!!!!!!!!!
// ToDo copy Attachments // ToDo copy Attachments
@ -344,7 +345,7 @@ public class ContentItemManager {
} }
for (final PropertyDescriptor propertyDescriptor : beanInfo for (final PropertyDescriptor propertyDescriptor : beanInfo
.getPropertyDescriptors()) { .getPropertyDescriptors()) {
if (propertyIsExcluded(propertyDescriptor.getName())) { if (propertyIsExcluded(propertyDescriptor.getName())) {
continue; continue;
} }
@ -370,10 +371,10 @@ public class ContentItemManager {
} }
source.getAvailableLocales().forEach( source.getAvailableLocales().forEach(
locale -> target.addValue(locale, locale -> target.addValue(locale,
source.getValue(locale))); source.getValue(locale)));
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(ContentItem.class)) { && propType.isAssignableFrom(ContentItem.class)) {
final ContentItem linkedItem; final ContentItem linkedItem;
try { try {
@ -385,7 +386,7 @@ public class ContentItemManager {
} }
final ContentItem linkedDraftItem = getDraftVersion( final ContentItem linkedDraftItem = getDraftVersion(
linkedItem, linkedItem.getClass()); linkedItem, linkedItem.getClass());
try { try {
writeMethod.invoke(copy, linkedDraftItem); writeMethod.invoke(copy, linkedDraftItem);
@ -395,7 +396,7 @@ public class ContentItemManager {
throw new RuntimeException(ex); throw new RuntimeException(ex);
} }
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(List.class)) { && propType.isAssignableFrom(List.class)) {
final List<Object> source; final List<Object> source;
final List<Object> target; final List<Object> target;
try { try {
@ -409,7 +410,7 @@ public class ContentItemManager {
target.addAll(source); target.addAll(source);
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(Map.class)) { && propType.isAssignableFrom(Map.class)) {
final Map<Object, Object> source; final Map<Object, Object> source;
final Map<Object, Object> target; final Map<Object, Object> target;
@ -424,7 +425,7 @@ public class ContentItemManager {
source.forEach((key, value) -> target.put(key, value)); source.forEach((key, value) -> target.put(key, value));
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(Set.class)) { && propType.isAssignableFrom(Set.class)) {
final Set<Object> source; final Set<Object> source;
final Set<Object> target; final Set<Object> target;
@ -453,14 +454,14 @@ public class ContentItemManager {
if (targetFolder.equals(getItemFolder(item).orElse(null))) { if (targetFolder.equals(getItemFolder(item).orElse(null))) {
final long number = contentItemRepo.countFilterByFolderAndName( final long number = contentItemRepo.countFilterByFolderAndName(
targetFolder, String.format("%s_copy", targetFolder, String.format("%s_copy",
item.getDisplayName())); item.getDisplayName()));
final long index = number + 1; final long index = number + 1;
copy.setDisplayName(String.format("%s_copy%d", copy.setDisplayName(String.format("%s_copy%d",
copy.getDisplayName(), copy.getDisplayName(),
index)); index));
} }
contentItemRepo.save(copy); contentItemRepo.save(copy);
} }
@ -492,11 +493,11 @@ public class ContentItemManager {
public ContentItem publish(final ContentItem item) { public ContentItem publish(final ContentItem item) {
if (item == null) { if (item == null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The item to publish can't be null."); "The item to publish can't be null.");
} }
final LifecycleDefinition lifecycleDefinition = item.getContentType() final LifecycleDefinition lifecycleDefinition = item.getContentType()
.getDefaultLifecycle(); .getDefaultLifecycle();
return publish(item, lifecycleDefinition); return publish(item, lifecycleDefinition);
} }
@ -505,9 +506,9 @@ public class ContentItemManager {
* Creates a live version of content item or updates the live version of a * Creates a live version of content item or updates the live version of a
* content item if there already a live version. * content item if there already a live version.
* *
* @param item The content item to publish. * @param item The content item to publish.
* @param lifecycleDefinition The definition of the lifecycle to use for the * @param lifecycleDefinition The definition of the lifecycle to use for the
* new item. * new item.
* *
* @return The published content item. * @return The published content item.
*/ */
@ -516,13 +517,13 @@ public class ContentItemManager {
final LifecycleDefinition lifecycleDefinition) { final LifecycleDefinition lifecycleDefinition) {
if (item == null) { if (item == null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The item to publish can't be null."); "The item to publish can't be null.");
} }
if (lifecycleDefinition == null) { if (lifecycleDefinition == null) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"The lifecycle definition for the " "The lifecycle definition for the "
+ "lifecycle of the item to publish can't be null."); + "lifecycle of the item to publish can't be null.");
} }
final ContentItem draftItem = getDraftVersion(item, ContentItem.class); final ContentItem draftItem = getDraftVersion(item, ContentItem.class);
@ -538,18 +539,20 @@ public class ContentItemManager {
} }
} }
liveItem.setVersion(ContentItemVersion.PUBLISHING);
liveItem.setItemUuid(draftItem.getItemUuid());
liveItem.setContentType(draftItem.getContentType()); liveItem.setContentType(draftItem.getContentType());
final Lifecycle lifecycle = lifecycleManager.createLifecycle( final Lifecycle lifecycle = lifecycleManager.createLifecycle(
lifecycleDefinition); lifecycleDefinition);
liveItem.setLifecycle(lifecycle); liveItem.setLifecycle(lifecycle);
liveItem.setWorkflow(draftItem.getWorkflow()); liveItem.setWorkflow(draftItem.getWorkflow());
draftItem.getCategories().forEach(categorization -> categoryManager draftItem.getCategories().forEach(categorization -> categoryManager
.addObjectToCategory(item, categorization.getCategory())); .addObjectToCategory(liveItem,
categorization.getCategory(),
liveItem.setUuid(draftItem.getUuid()); categorization.getType()));
// !!!!!!!!!!!!!!!!!!!!! // !!!!!!!!!!!!!!!!!!!!!
// ToDo copy Attachments // ToDo copy Attachments
@ -564,7 +567,7 @@ public class ContentItemManager {
} }
for (final PropertyDescriptor propertyDescriptor : beanInfo for (final PropertyDescriptor propertyDescriptor : beanInfo
.getPropertyDescriptors()) { .getPropertyDescriptors()) {
if (propertyIsExcluded(propertyDescriptor.getName())) { if (propertyIsExcluded(propertyDescriptor.getName())) {
continue; continue;
@ -574,6 +577,10 @@ public class ContentItemManager {
final Method readMethod = propertyDescriptor.getReadMethod(); final Method readMethod = propertyDescriptor.getReadMethod();
final Method writeMethod = propertyDescriptor.getWriteMethod(); final Method writeMethod = propertyDescriptor.getWriteMethod();
if (writeMethod == null) {
continue;
}
if (LocalizedString.class.equals(propType)) { if (LocalizedString.class.equals(propType)) {
final LocalizedString source; final LocalizedString source;
final LocalizedString target; final LocalizedString target;
@ -587,10 +594,10 @@ public class ContentItemManager {
} }
source.getAvailableLocales().forEach( source.getAvailableLocales().forEach(
locale -> target.addValue(locale, source. locale -> target.addValue(locale, source.
getValue(locale))); getValue(locale)));
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(ContentItem.class)) { && propType.isAssignableFrom(ContentItem.class)) {
final ContentItem linkedItem; final ContentItem linkedItem;
try { try {
linkedItem = (ContentItem) readMethod.invoke(draftItem); linkedItem = (ContentItem) readMethod.invoke(draftItem);
@ -601,13 +608,13 @@ public class ContentItemManager {
} }
final ContentItem linkedDraftItem = getDraftVersion( final ContentItem linkedDraftItem = getDraftVersion(
linkedItem, linkedItem.getClass()); linkedItem, linkedItem.getClass());
if (isLive(linkedDraftItem)) { if (isLive(linkedDraftItem)) {
try { try {
final Optional<ContentItem> linkedLiveItem final Optional<ContentItem> linkedLiveItem
= getLiveVersion( = getLiveVersion(
linkedDraftItem, ContentItem.class); linkedDraftItem, ContentItem.class);
writeMethod.invoke(liveItem, linkedLiveItem); writeMethod.invoke(liveItem, linkedLiveItem);
} catch (IllegalAccessException | } catch (IllegalAccessException |
IllegalArgumentException | IllegalArgumentException |
@ -616,7 +623,7 @@ public class ContentItemManager {
} }
} }
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(List.class)) { && propType.isAssignableFrom(List.class)) {
final List<Object> source; final List<Object> source;
final List<Object> target; final List<Object> target;
try { try {
@ -630,7 +637,7 @@ public class ContentItemManager {
target.addAll(source); target.addAll(source);
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(Map.class)) { && propType.isAssignableFrom(Map.class)) {
final Map<Object, Object> source; final Map<Object, Object> source;
final Map<Object, Object> target; final Map<Object, Object> target;
@ -645,7 +652,7 @@ public class ContentItemManager {
source.forEach((key, value) -> target.put(key, value)); source.forEach((key, value) -> target.put(key, value));
} else if (propType != null } else if (propType != null
&& propType.isAssignableFrom(Set.class)) { && propType.isAssignableFrom(Set.class)) {
final Set<Object> source; final Set<Object> source;
final Set<Object> target; final Set<Object> target;
@ -671,7 +678,10 @@ public class ContentItemManager {
} }
} }
} }
liveItem.setVersion(ContentItemVersion.LIVE);
contentItemRepo.save(liveItem);
return liveItem; return liveItem;
} }
@ -685,7 +695,7 @@ public class ContentItemManager {
public void unpublish(final ContentItem item public void unpublish(final ContentItem item
) { ) {
final Optional<ContentItem> liveItem = getLiveVersion( final Optional<ContentItem> liveItem = getLiveVersion(
item, ContentItem.class); item, ContentItem.class);
if (liveItem.isPresent()) { if (liveItem.isPresent()) {
entityManager.remove(liveItem); entityManager.remove(liveItem);
@ -699,11 +709,11 @@ public class ContentItemManager {
* @param item The item * @param item The item
* *
* @return {@code true} if the content item has a live version, * @return {@code true} if the content item has a live version,
* {@code false} if not. * {@code false} if not.
*/ */
public boolean isLive(final ContentItem item) { public boolean isLive(final ContentItem item) {
final TypedQuery<Boolean> query = entityManager.createNamedQuery( final TypedQuery<Boolean> query = entityManager.createNamedQuery(
"ContentItem.hasLiveVersion", Boolean.class); "ContentItem.hasLiveVersion", Boolean.class);
query.setParameter("uuid", item.getUuid()); query.setParameter("uuid", item.getUuid());
return query.getSingleResult(); return query.getSingleResult();
@ -712,22 +722,22 @@ public class ContentItemManager {
/** /**
* Retrieves the live version of the provided content item if any. * Retrieves the live version of the provided content item if any.
* *
* @param <T> Type of the content item. * @param <T> Type of the content item.
* @param item The item of which the live version should be retrieved. * @param item The item of which the live version should be retrieved.
* @param type Type of the content item. * @param type Type of the content item.
* *
* @return The live version of an item. If the item provided is already the * @return The live version of an item. If the item provided is already the
* live version the provided item is returned, otherwise the live version is * live version the provided item is returned, otherwise the live
* returned. If there is no live version an empty {@link Optional} is * version is returned. If there is no live version an empty
* returned. * {@link Optional} is returned.
*/ */
public <T extends ContentItem> Optional<T> getLiveVersion( public <T extends ContentItem> Optional<T> getLiveVersion(
final ContentItem item, final ContentItem item,
final Class<T> type) { final Class<T> type) {
if (isLive(item)) { if (isLive(item)) {
final TypedQuery<T> query = entityManager.createNamedQuery( final TypedQuery<T> query = entityManager.createNamedQuery(
"ContentItem.findLiveVersion", type); "ContentItem.findLiveVersion", type);
query.setParameter("uuid", item.getUuid()); query.setParameter("uuid", item.getUuid());
return Optional.of(query.getSingleResult()); return Optional.of(query.getSingleResult());
@ -739,30 +749,30 @@ public class ContentItemManager {
/** /**
* Retrieves the pending versions of an item if there are any. * Retrieves the pending versions of an item if there are any.
* *
* @param <T> Type of the content item to retrieve. * @param <T> Type of the content item to retrieve.
* @param item The item of which the pending versions are retrieved. * @param item The item of which the pending versions are retrieved.
* @param type Type of the content item to retrieve. * @param type Type of the content item to retrieve.
* *
* @return A list of the pending versions of the item. * @return A list of the pending versions of the item.
*/ */
public <T extends ContentItem> List<T> getPendingVersions( public <T extends ContentItem> List<T> getPendingVersions(
final ContentItem item, final ContentItem item,
final Class<T> type) { final Class<T> type) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }
/** /**
* Retrieves the draft version * Retrieves the draft version
* *
* @param <T> Type of the item. * @param <T> Type of the item.
* @param item The item of which the draft version is retrieved. * @param item The item of which the draft version is retrieved.
* @param type Type of the item. * @param type Type of the item.
* *
* @return The draft version of the provided content item. If the provided * @return The draft version of the provided content item. If the provided
* item is the draft version the provided item is simply returned. Otherwise * item is the draft version the provided item is simply returned.
* the draft version is retrieved from the database and is returned. Each * Otherwise the draft version is retrieved from the database and is
* content item has a draft version (otherwise something is seriously wrong * returned. Each content item has a draft version (otherwise
* with the database) this method will * something is seriously wrong with the database) this method will
* <b>never</b> return {@code null}. * <b>never</b> return {@code null}.
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@ -770,14 +780,14 @@ public class ContentItemManager {
final Class<T> type) { final Class<T> type) {
if (!ContentItem.class.isAssignableFrom(type)) { if (!ContentItem.class.isAssignableFrom(type)) {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"The provided type \"%s\" does match the type of the provided " "The provided type \"%s\" does match the type of the provided "
+ "item (\"%s\").", + "item (\"%s\").",
type.getName(), type.getName(),
item.getClass().getName())); item.getClass().getName()));
} }
final TypedQuery<ContentItem> query = entityManager.createNamedQuery( final TypedQuery<ContentItem> query = entityManager.createNamedQuery(
"ContentItem.findDraftVersion", ContentItem.class); "ContentItem.findDraftVersion", ContentItem.class);
query.setParameter("uuid", item.getUuid()); query.setParameter("uuid", item.getUuid());
return (T) query.getSingleResult(); return (T) query.getSingleResult();
@ -816,9 +826,9 @@ public class ContentItemManager {
* {@code info}, the path including the content section would be * {@code info}, the path including the content section would be
* {@code info:/research/computer-science/artificial-intelligence/neural-nets}. * {@code info:/research/computer-science/artificial-intelligence/neural-nets}.
* *
* @param item The item whose path is generated. * @param item The item whose path is generated.
* @param withContentSection Wether to include the content section into the * @param withContentSection Wether to include the content section into the
* path. * path.
* *
* @return The path of the content item * @return The path of the content item
* *
@ -827,9 +837,9 @@ public class ContentItemManager {
public String getItemPath(final ContentItem item, public String getItemPath(final ContentItem item,
final boolean withContentSection) { final boolean withContentSection) {
final List<Categorization> result = item.getCategories().stream(). final List<Categorization> result = item.getCategories().stream().
filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER. filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER.
equals(categorization.getType())) equals(categorization.getType()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (result.isEmpty()) { if (result.isEmpty()) {
return item.getDisplayName(); return item.getDisplayName();
@ -850,9 +860,9 @@ public class ContentItemManager {
if (withContentSection) { if (withContentSection) {
final String sectionName = item.getContentType(). final String sectionName = item.getContentType().
getContentSection().getDisplayName(); getContentSection().getDisplayName();
return String.format( return String.format(
"%s/%s", sectionName, path); "%s/%s", sectionName, path);
} else { } else {
return String.format("/%s", path); return String.format("/%s", path);
} }
@ -868,9 +878,9 @@ public class ContentItemManager {
*/ */
public List<Category> getItemFolders(final ContentItem item) { public List<Category> getItemFolders(final ContentItem item) {
final List<Categorization> result = item.getCategories().stream(). final List<Categorization> result = item.getCategories().stream().
filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER. filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER.
equals(categorization.getType())) equals(categorization.getType()))
.collect(Collectors.toList()); .collect(Collectors.toList());
final List<Category> folders = new ArrayList<>(); final List<Category> folders = new ArrayList<>();
if (!result.isEmpty()) { if (!result.isEmpty()) {
@ -896,13 +906,13 @@ public class ContentItemManager {
* @param item The item * @param item The item
* *
* @return An {@link Optional} containing the folder of the item if the item * @return An {@link Optional} containing the folder of the item if the item
* is part of a folder. * is part of a folder.
*/ */
public Optional<Category> getItemFolder(final ContentItem item) { public Optional<Category> getItemFolder(final ContentItem item) {
final List<Categorization> result = item.getCategories().stream(). final List<Categorization> result = item.getCategories().stream().
filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER. filter(categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER.
equals(categorization.getType())) equals(categorization.getType()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (result.size() > 0) { if (result.size() > 0) {
return Optional.of(result.get(0).getCategory()); return Optional.of(result.get(0).getCategory());

View File

@ -15,11 +15,11 @@
create table CCM_CMS.ARTICLE_TEXTS_AUD ( create table CCM_CMS.ARTICLE_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.ARTICLES ( create table CCM_CMS.ARTICLES (
@ -47,7 +47,7 @@
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, ASSET_ID, LOCALE) primary key (REV, ASSET_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.ASSETS ( create table CCM_CMS.ASSETS (
@ -79,7 +79,7 @@
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, LIST_ID, LOCALE) primary key (REV, LIST_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.ATTACHMENT_LISTS ( create table CCM_CMS.ATTACHMENT_LISTS (
@ -100,7 +100,7 @@
primary key (LIST_ID, REV) primary key (LIST_ID, REV)
); );
create table CCM_CMS.AttachmentList_ItemAttachment_AUD ( create table CCM_CMS.ATTACHMENTLIST_ITEMATTACHMENT_AUD (
REV integer not null, REV integer not null,
LIST_ID bigint not null, LIST_ID bigint not null,
ATTACHMENT_ID bigint not null, ATTACHMENT_ID bigint not null,
@ -156,7 +156,7 @@
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, ASSET_ID, LOCALE) primary key (REV, ASSET_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.BINARY_ASSETS ( create table CCM_CMS.BINARY_ASSETS (
@ -192,7 +192,7 @@
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, ASSET_ID, LOCALE) primary key (REV, ASSET_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.BOOKMARKS ( create table CCM_CMS.BOOKMARKS (
@ -218,11 +218,11 @@
create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD ( create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_NAMES ( create table CCM_CMS.CONTENT_ITEM_NAMES (
@ -235,11 +235,11 @@
create table CCM_CMS.CONTENT_ITEM_NAMES_AUD ( create table CCM_CMS.CONTENT_ITEM_NAMES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_TITLES ( create table CCM_CMS.CONTENT_ITEM_TITLES (
@ -252,11 +252,11 @@
create table CCM_CMS.CONTENT_ITEM_TITLES_AUD ( create table CCM_CMS.CONTENT_ITEM_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEMS ( create table CCM_CMS.CONTENT_ITEMS (
@ -341,11 +341,11 @@
create table CCM_CMS.EVENT_COSTS_AUD ( create table CCM_CMS.EVENT_COSTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_DATES ( create table CCM_CMS.EVENT_DATES (
@ -358,11 +358,11 @@
create table CCM_CMS.EVENT_DATES_AUD ( create table CCM_CMS.EVENT_DATES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_LOCATIONS ( create table CCM_CMS.EVENT_LOCATIONS (
@ -375,11 +375,11 @@
create table CCM_CMS.EVENT_LOCATIONS_AUD ( create table CCM_CMS.EVENT_LOCATIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS (
@ -392,11 +392,11 @@
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TEXTS ( create table CCM_CMS.EVENT_TEXTS (
@ -409,11 +409,11 @@
create table CCM_CMS.EVENT_TEXTS_AUD ( create table CCM_CMS.EVENT_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TYPES ( create table CCM_CMS.EVENT_TYPES (
@ -426,11 +426,11 @@
create table CCM_CMS.EVENT_TYPES_AUD ( create table CCM_CMS.EVENT_TYPES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENTS ( create table CCM_CMS.EVENTS (
@ -628,11 +628,11 @@
create table CCM_CMS.MPA_SECTION_TEXTS_AUD ( create table CCM_CMS.MPA_SECTION_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SECTION_TITLES ( create table CCM_CMS.MPA_SECTION_TITLES (
@ -645,11 +645,11 @@
create table CCM_CMS.MPA_SECTION_TITLES_AUD ( create table CCM_CMS.MPA_SECTION_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SUMMARIES ( create table CCM_CMS.MPA_SUMMARIES (
@ -662,11 +662,11 @@
create table CCM_CMS.MPA_SUMMARIES_AUD ( create table CCM_CMS.MPA_SUMMARIES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS ( create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS (
@ -732,11 +732,11 @@
create table CCM_CMS.NEWS_TEXTS_AUD ( create table CCM_CMS.NEWS_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.NOTE_TEXTS ( create table CCM_CMS.NOTE_TEXTS (

View File

@ -49,6 +49,7 @@ import org.libreccm.workflow.WorkflowTemplate;
import org.libreccm.workflow.WorkflowTemplateRepository; import org.libreccm.workflow.WorkflowTemplateRepository;
import org.librecms.contenttypes.Article; import org.librecms.contenttypes.Article;
import org.librecms.contenttypes.Event; import org.librecms.contenttypes.Event;
import org.librecms.lifecycle.LifecycleDefinition;
import org.librecms.lifecycle.LifecycleDefinitionRepository; import org.librecms.lifecycle.LifecycleDefinitionRepository;
import java.io.File; import java.io.File;
@ -348,7 +349,7 @@ public class ContentItemManagerTest {
final WorkflowTemplate workflowTemplate = workflowTemplateRepo final WorkflowTemplate workflowTemplate = workflowTemplateRepo
.findById(-110L); .findById(-110L);
final Article article = itemManager.createContentItem( final Article article = itemManager.createContentItem(
"new-article", "new-article",
section, section,
@ -534,10 +535,10 @@ public class ContentItemManagerTest {
final Category targetFolder = categoryRepo.findById(-2120L); final Category targetFolder = categoryRepo.findById(-2120L);
assertThat(targetFolder, is(not(nullValue()))); assertThat(targetFolder, is(not(nullValue())));
itemManager.copy(item.get(), targetFolder); itemManager.copy(item.get(), targetFolder);
} }
@Test @Test
@InSequence(4200) @InSequence(4200)
@UsingDataSet("datasets/org/librecms/contentsection/" @UsingDataSet("datasets/org/librecms/contentsection/"
@ -561,41 +562,40 @@ public class ContentItemManagerTest {
final Category targetFolder = categoryRepo.findById(-2110L); final Category targetFolder = categoryRepo.findById(-2110L);
assertThat(targetFolder, is(not(nullValue()))); assertThat(targetFolder, is(not(nullValue())));
itemManager.copy(item.get(), targetFolder); itemManager.copy(item.get(), targetFolder);
} }
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)
@InSequence(4300) @InSequence(4300)
@UsingDataSet("datasets/org/librecms/contentsection/" @UsingDataSet("datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml") + "ContentItemManagerTest/data.xml")
@ShouldMatchDataSet( @ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/" value = "datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml") + "ContentItemManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class) @ShouldThrowException(IllegalArgumentException.class)
public void copyItemNull() { public void copyItemNull() {
final Category targetFolder = categoryRepo.findById(-2120L); final Category targetFolder = categoryRepo.findById(-2120L);
assertThat(targetFolder, is(not(nullValue()))); assertThat(targetFolder, is(not(nullValue())));
itemManager.copy(null, targetFolder); itemManager.copy(null, targetFolder);
} }
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)
@InSequence(4400) @InSequence(4400)
@UsingDataSet("datasets/org/librecms/contentsection/" @UsingDataSet("datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml") + "ContentItemManagerTest/data.xml")
@ShouldMatchDataSet( @ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/" value = "datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml") + "ContentItemManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class) @ShouldThrowException(IllegalArgumentException.class)
public void copyItemToFolderNull() { public void copyItemToFolderNull() {
final Optional<ContentItem> item = itemRepo.findById(-10100L); final Optional<ContentItem> item = itemRepo.findById(-10100L);
assertThat(item.isPresent(), is(true)); assertThat(item.isPresent(), is(true));
itemManager.copy(item.get(), null); itemManager.copy(item.get(), null);
} }
// publish item (draft)
@Test @Test
@InSequence(5100) @InSequence(5100)
@UsingDataSet("datasets/org/librecms/contentsection/" @UsingDataSet("datasets/org/librecms/contentsection/"
@ -613,10 +613,74 @@ public class ContentItemManagerTest {
"workflow_id" "workflow_id"
}) })
public void publishItem() { public void publishItem() {
final Optional<ContentItem> item = itemRepo.findById(-10100L);
assertThat(item.isPresent(), is(true));
final ContentItem live = itemManager.publish(item.get());
assertThat(live, is(not(nullValue())));
assertThat(live.getVersion(), is(ContentItemVersion.LIVE));
} }
// publish item (live) @Test
@InSequence(5200)
@UsingDataSet("datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml")
@ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/after-publish.xml",
excludeColumns = {"categorization_id",
"lifecycle_id",
"object_id",
"object_order",
"phase_id",
"task_id",
"uuid",
"workflow_id"
})
public void publishItemWithLifecycle() {
final Optional<ContentItem> item = itemRepo.findById(-10100L);
final LifecycleDefinition lifecycleDef = lifecycleDefinitionRepo
.findById(-200L);
assertThat(item.isPresent(), is(true));
assertThat(lifecycleDef, is(not(nullValue())));
final ContentItem live = itemManager.publish(item.get(), lifecycleDef);
assertThat(live, is(not(nullValue())));
assertThat(live.getVersion(), is(ContentItemVersion.LIVE));
}
//Republish
@Test
@InSequence(5300)
@UsingDataSet("datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/data.xml")
@ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/"
+ "ContentItemManagerTest/after-republish.xml",
excludeColumns = {"categorization_id",
"lifecycle_id",
"object_id",
"object_order",
"phase_id",
"task_id",
"uuid",
"workflow_id"
})
public void republishItem() {
final Optional<ContentItem> item = itemRepo.findById(-10200L);
assertThat(item.isPresent(), is(true));
item.get().getName().addValue(Locale.ENGLISH, "article2-edited");
item.get().getTitle()
.addValue(Locale.ENGLISH, "Article has been edited");
itemRepo.save(item.get());
final Optional<ContentItem> draft = itemRepo.findById(-10200L);
assertThat(draft.get().getName().getValue(Locale.ENGLISH),
is(equalTo("article2-edited")));
itemManager.publish(draft.get());
}
// publish item null // publish item null
// unpublish item // unpublish item
// unpublish non live // unpublish non live

View File

@ -18,11 +18,13 @@
*/ */
package org.librecms.contentsection; package org.librecms.contentsection;
import com.sun.org.apache.bcel.internal.generic.LADD;
import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.junit.InSequence; import org.jboss.arquillian.junit.InSequence;
import org.jboss.arquillian.persistence.CreateSchema; import org.jboss.arquillian.persistence.CreateSchema;
import org.jboss.arquillian.persistence.PersistenceTest; import org.jboss.arquillian.persistence.PersistenceTest;
import org.jboss.arquillian.persistence.ShouldMatchDataSet;
import org.jboss.arquillian.persistence.UsingDataSet; import org.jboss.arquillian.persistence.UsingDataSet;
import org.jboss.arquillian.transaction.api.annotation.TransactionMode; import org.jboss.arquillian.transaction.api.annotation.TransactionMode;
import org.jboss.arquillian.transaction.api.annotation.Transactional; import org.jboss.arquillian.transaction.api.annotation.Transactional;
@ -49,6 +51,7 @@ import org.librecms.contenttypes.News;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Optional; import java.util.Optional;
import java.util.stream.IntStream; import java.util.stream.IntStream;
@ -349,5 +352,23 @@ public class ContentItemRepositoryTest {
assertThat(itemRepo.countFilterByFolderAndName(folder, "foo"), assertThat(itemRepo.countFilterByFolderAndName(folder, "foo"),
is(0L)); is(0L));
} }
@Test
@InSequence(600)
@UsingDataSet("datasets/org/librecms/contentsection/"
+ "ContentItemRepositoryTest/data.xml")
@ShouldMatchDataSet(value = "datasets/org/librecms/contentsection/"
+ "ContentItemRepositoryTest/after-save.xml",
excludeColumns = {"object_id", "uuid", "item_uuid"})
public void saveChangedItem() {
final Optional<ContentItem> item = itemRepo.findById(-10100L);
assertThat(item.isPresent(), is(true));
item.get().getName().addValue(Locale.ENGLISH, "first-article");
item.get().getTitle().addValue(Locale.ENGLISH, "First Article");
itemRepo.save(item.get());
}
} }

View File

@ -50,6 +50,7 @@ public class DatasetsTest extends DatasetsVerifier {
"/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-rename.xml", "/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-rename.xml",
"/datasets/org/librecms/contentsection/ContentItemRepositoryTest/data.xml", "/datasets/org/librecms/contentsection/ContentItemRepositoryTest/data.xml",
"/datasets/org/librecms/contentsection/ContentItemRepositoryTest/after-save.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/data.xml", "/datasets/org/librecms/contentsection/ContentItemManagerTest/data.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-create-contentitem.xml", "/datasets/org/librecms/contentsection/ContentItemManagerTest/after-create-contentitem.xml",
@ -57,7 +58,8 @@ public class DatasetsTest extends DatasetsVerifier {
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-move.xml", "/datasets/org/librecms/contentsection/ContentItemManagerTest/after-move.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-copy-to-other-folder.xml", "/datasets/org/librecms/contentsection/ContentItemManagerTest/after-copy-to-other-folder.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-copy-to-same-folder.xml", "/datasets/org/librecms/contentsection/ContentItemManagerTest/after-copy-to-same-folder.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-publish.xml"}); "/datasets/org/librecms/contentsection/ContentItemManagerTest/after-publish.xml",
"/datasets/org/librecms/contentsection/ContentItemManagerTest/after-republish.xml"});
} }
public DatasetsTest(final String datasetPath) { public DatasetsTest(final String datasetPath) {

View File

@ -23,11 +23,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.ARTICLE_TEXTS_AUD ( create table CCM_CMS.ARTICLE_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.ARTICLES ( create table CCM_CMS.ARTICLES (
@ -226,11 +226,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD ( create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_NAMES ( create table CCM_CMS.CONTENT_ITEM_NAMES (
@ -243,11 +243,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_NAMES_AUD ( create table CCM_CMS.CONTENT_ITEM_NAMES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_TITLES ( create table CCM_CMS.CONTENT_ITEM_TITLES (
@ -260,11 +260,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_TITLES_AUD ( create table CCM_CMS.CONTENT_ITEM_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEMS ( create table CCM_CMS.CONTENT_ITEMS (
@ -355,11 +355,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_COSTS_AUD ( create table CCM_CMS.EVENT_COSTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_DATES ( create table CCM_CMS.EVENT_DATES (
@ -372,11 +372,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_DATES_AUD ( create table CCM_CMS.EVENT_DATES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_LOCATIONS ( create table CCM_CMS.EVENT_LOCATIONS (
@ -389,11 +389,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_LOCATIONS_AUD ( create table CCM_CMS.EVENT_LOCATIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS (
@ -406,11 +406,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TEXTS ( create table CCM_CMS.EVENT_TEXTS (
@ -423,11 +423,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_TEXTS_AUD ( create table CCM_CMS.EVENT_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TYPES ( create table CCM_CMS.EVENT_TYPES (
@ -440,11 +440,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_TYPES_AUD ( create table CCM_CMS.EVENT_TYPES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENTS ( create table CCM_CMS.EVENTS (
@ -642,11 +642,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SECTION_TEXTS_AUD ( create table CCM_CMS.MPA_SECTION_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SECTION_TITLES ( create table CCM_CMS.MPA_SECTION_TITLES (
@ -659,11 +659,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SECTION_TITLES_AUD ( create table CCM_CMS.MPA_SECTION_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SUMMARIES ( create table CCM_CMS.MPA_SUMMARIES (
@ -676,11 +676,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SUMMARIES_AUD ( create table CCM_CMS.MPA_SUMMARIES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS ( create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS (
@ -746,11 +746,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.NEWS_TEXTS_AUD ( create table CCM_CMS.NEWS_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.NOTE_TEXTS ( create table CCM_CMS.NOTE_TEXTS (

View File

@ -23,11 +23,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.ARTICLE_TEXTS_AUD ( create table CCM_CMS.ARTICLE_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.ARTICLES ( create table CCM_CMS.ARTICLES (
@ -226,11 +226,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD ( create table CCM_CMS.CONTENT_ITEM_DESCRIPTIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_NAMES ( create table CCM_CMS.CONTENT_ITEM_NAMES (
@ -243,11 +243,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_NAMES_AUD ( create table CCM_CMS.CONTENT_ITEM_NAMES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEM_TITLES ( create table CCM_CMS.CONTENT_ITEM_TITLES (
@ -260,11 +260,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.CONTENT_ITEM_TITLES_AUD ( create table CCM_CMS.CONTENT_ITEM_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.CONTENT_ITEMS ( create table CCM_CMS.CONTENT_ITEMS (
@ -355,11 +355,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_COSTS_AUD ( create table CCM_CMS.EVENT_COSTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_DATES ( create table CCM_CMS.EVENT_DATES (
@ -372,11 +372,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_DATES_AUD ( create table CCM_CMS.EVENT_DATES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_LOCATIONS ( create table CCM_CMS.EVENT_LOCATIONS (
@ -389,11 +389,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_LOCATIONS_AUD ( create table CCM_CMS.EVENT_LOCATIONS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS (
@ -406,11 +406,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD ( create table CCM_CMS.EVENT_MAIN_CONTRIBUTORS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TEXTS ( create table CCM_CMS.EVENT_TEXTS (
@ -423,11 +423,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_TEXTS_AUD ( create table CCM_CMS.EVENT_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENT_TYPES ( create table CCM_CMS.EVENT_TYPES (
@ -440,11 +440,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.EVENT_TYPES_AUD ( create table CCM_CMS.EVENT_TYPES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.EVENTS ( create table CCM_CMS.EVENTS (
@ -642,11 +642,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SECTION_TEXTS_AUD ( create table CCM_CMS.MPA_SECTION_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SECTION_TITLES ( create table CCM_CMS.MPA_SECTION_TITLES (
@ -659,11 +659,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SECTION_TITLES_AUD ( create table CCM_CMS.MPA_SECTION_TITLES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MPA_SUMMARIES ( create table CCM_CMS.MPA_SUMMARIES (
@ -676,11 +676,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.MPA_SUMMARIES_AUD ( create table CCM_CMS.MPA_SUMMARIES_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS ( create table CCM_CMS.MULTIPART_ARTICLE_SECTIONS (
@ -746,11 +746,11 @@ create table CCM_CMS.ARTICLE_LEADS (
create table CCM_CMS.NEWS_TEXTS_AUD ( create table CCM_CMS.NEWS_TEXTS_AUD (
REV integer not null, REV integer not null,
OBJECT_ID bigint not null, OBJECT_ID bigint not null,
LOCALIZED_VALUE clob, LOCALIZED_VALUE varchar,
LOCALE varchar(255) not null, LOCALE varchar(255) not null,
REVTYPE tinyint, REVTYPE tinyint,
REVEND integer, REVEND integer,
primary key (REV, OBJECT_ID, LOCALE) primary key (REV, OBJECT_ID, LOCALIZED_VALUE, LOCALE)
); );
create table CCM_CMS.NOTE_TEXTS ( create table CCM_CMS.NOTE_TEXTS (

View File

@ -247,7 +247,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -249,7 +249,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -272,7 +272,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -285,7 +285,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -237,7 +237,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -247,7 +247,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -0,0 +1,533 @@
<?xml version="1.0" encoding="utf-8"?>
<dataset>
<ccm_core.workflows workflow_id="-100" />
<ccm_core.workflows workflow_id="-110" />
<ccm_core.workflow_names workflow_id="-100"
locale="en"
localized_value="Standard workflow" />
<ccm_core.workflow_names workflow_id="-110"
locale="en"
localized_value="Fast workflow" />
<ccm_core.workflow_templates workflow_id="-100" />
<ccm_core.workflow_templates workflow_id="-110" />
<ccm_core.workflow_tasks task_id="-100100"
active="false"
task_state="waiting"
workflow_id="-100" />
<ccm_core.workflow_tasks task_id="-100200"
active="false"
task_state="waiting"
workflow_id="-100" />
<ccm_core.workflow_tasks task_id="-110100"
active="false"
task_state="waiting"
workflow_id="-110" />
<ccm_core.workflow_task_labels task_id="-100100"
localized_value="Task 1.1"
locale="en" />
<ccm_core.workflow_task_labels task_id="-100200"
localized_value="Task 1.2"
locale="en" />
<ccm_core.workflow_task_labels task_id="-110100"
localized_value="Task 2.1"
locale="en" />
<ccm_core.workflow_user_tasks task_id="-100100"
duration_minutes="0"
locked="false" />
<ccm_core.workflow_user_tasks task_id="-100200"
duration_minutes="0"
locked="false" />
<ccm_core.workflow_user_tasks task_id="-110100"
duration_minutes="0"
locked="false" />
<ccm_cms.lifecyle_definitions lifecycle_definition_id="-200" />
<ccm_cms.lifecyle_definitions lifecycle_definition_id="-210" />
<ccm_cms.lifecycle_definition_labels object_id="-200"
localized_value="Default lifecycle"
locale="en" />
<ccm_cms.lifecycle_definition_labels object_id="-210"
localized_value="Alternate lifecycle"
locale="en" />
<ccm_cms.lifecycle_phase_definitions phase_definition_id="-200100"
lifecycle_definition_id="-200"
default_delay="0"
default_duration="0" />
<ccm_cms.lifecycle_phase_definitions phase_definition_id="-200200"
lifecycle_definition_id="-200"
default_delay="0"
default_duration="0" />
<ccm_cms.lifecycle_phase_definitions phase_definition_id="-210100"
lifecycle_definition_id="-210"
default_delay="0"
default_duration="0" />
<ccm_cms.lifecycle_phase_definition_labels object_id="-200100"
localized_value="Phase 1"
locale="en" />
<ccm_cms.lifecycle_phase_definition_labels object_id="-200200"
localized_value="Phase 2"
locale="en" />
<ccm_cms.lifecycle_phase_definition_labels object_id="-210100"
localized_value="The only phase"
locale="en" />
<ccm_core.ccm_objects object_id="-1100"
display_name="info"
uuid="963bcae7-3aeb-4b62-891c-e16c4defa1f2" />
<ccm_core.ccm_objects object_id="-2100"
display_name="info_root"
uuid="82014239-9c06-486d-ae8c-4ae47f52a699" />
<ccm_core.ccm_objects object_id="-2110"
display_name="folder1"
uuid="c634c1c3-41b7-4773-bb2e-5b6cd14492a3" />
<ccm_core.ccm_objects object_id="-2120"
display_name="folder2"
uuid="3b2a3a92-cdea-4fe3-b364-401eb3fb0ffc" />
<ccm_core.ccm_objects object_id="-2200"
display_name="info_assets"
uuid="b163f73c-9ac2-44d7-a037-de621f5ca828" />
<ccm_core.ccm_objects object_id="-10100"
display_name="article1"
uuid="aed4b402-1180-46c6-b42d-7245f4dca248" />
<ccm_core.ccm_objects object_id="-10300"
display_name="article3"
uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd" />
<ccm_core.ccm_objects object_id="-10200"
display_name="article2"
uuid="acae860f-2ffa-450d-b486-054292f0dae6" />
<ccm_core.ccm_objects object_id="-99200"
display_name="article2"
uuid="ad8aaec6-1a0d-4e4f-a1e1-8b7bdc3014a4" />
<ccm_core.ccm_objects object_id="-10400"
display_name="news1"
uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72" />
<ccm_core.ccm_objects object_id="-20100"
display_name="org.librecms.contenttypes.Article"
uuid="2c8ec2fb-319d-4d44-9698-697c08b2b941" />
<ccm_core.ccm_objects object_id="-20200"
display_name="org.librecms.contenttypes.News"
uuid="47740f22-f89f-4ec3-90cf-d62859e53c7e" />
<ccm_core.categories object_id="-2100"
unique_id="82014239-9c06-486d-ae8c-4ae47f52a699"
name="info_root"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.categories object_id="-2110"
unique_id="c634c1c3-41b7-4773-bb2e-5b6cd14492a3"
parent_category_id="-2100"
name="folder1"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.categories object_id="-2120"
unique_id="3b2a3a92-cdea-4fe3-b364-401eb3fb0ffc"
parent_category_id="-2100"
name="folder2"
enabled="true"
visible="true"
abstract_category="false"
category_order="2" />
<ccm_core.categories object_id="-2200"
unique_id="b163f73c-9ac2-44d7-a037-de621f5ca828"
name="info_assets"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.category_titles object_id="-2100"
locale="en"
localized_value="info_root" />
<ccm_core.category_titles object_id="-2200"
locale="en"
localized_value="info_assets" />
<ccm_core.resources object_id="-1100"
created="2016-07-15" />
<ccm_core.resource_titles object_id="-1100"
locale="en"
localized_value="info" />
<ccm_core.applications object_id="-1100"
application_type="org.librecms.contentsection.ContentSection"
primary_url="info" />
<ccm_cms.content_sections object_id="-1100"
label="info"
root_documents_folder_id="-2100"
root_assets_folder_id="-2200" />
<ccm_cms.content_section_workflow_templates
content_section_id="-1100"
workflow_template_id="-100" />
<ccm_cms.content_section_workflow_templates
content_section_id="-1100"
workflow_template_id="-110" />
<ccm_cms.content_section_lifecycle_definitions
content_section_id="-1100"
lifecycle_definition_id="-200" />
<ccm_cms.content_section_lifecycle_definitions
content_section_id="-1100"
lifecycle_definition_id="-210" />
<ccm_cms.content_types object_id="-20100"
content_item_class="org.librecms.contenttypes.Article"
content_section_id="-1100"
default_workflow="-100"
default_lifecycle_id="-200" />
<ccm_cms.content_types object_id="-20200"
content_item_class="org.librecms.contenttypes.News"
content_section_id="-1100"
default_workflow="-100"
default_lifecycle_id="-200" />
<ccm_cms.content_items object_id="-10100"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10200"
item_uuid="acae860f-2ffa-450d-b486-054292f0dae6"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10300"
item_uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10400"
item_uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72"
version="DRAFT"
content_type_id="-20200" />
<ccm_cms.content_items object_id="-99200"
item_uuid="acae860f-2ffa-450d-b486-054292f0dae6"
version="LIVE"
content_type_id="-20100" />
<ccm_cms.content_item_names object_id="-10100"
locale="en"
localized_value="article1" />
<ccm_cms.content_item_names object_id="-10200"
locale="en"
localized_value="article2" />
<ccm_cms.content_item_names object_id="-10300"
locale="en"
localized_value="article3" />
<ccm_cms.content_item_names object_id="-10400"
locale="en"
localized_value="news1" />
<ccm_cms.content_item_names object_id="-99200"
locale="en"
localized_value="article2" />
<ccm_cms.content_item_titles object_id="-10100"
locale="en"
localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200"
locale="en"
localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300"
locale="en"
localized_value="Article 3" />
<ccm_cms.content_item_titles object_id="-10400"
locale="en"
localized_value="News 1" />
<ccm_cms.content_item_titles object_id="-99200"
locale="en"
localized_value="Article 2 Title" />
<ccm_cms.content_type_labels object_id="-20100"
locale="en"
localized_value="Article" />
<ccm_cms.content_type_labels object_id="-20200"
locale="en"
localized_value="News" />
<ccm_cms.articles object_id="-10100" />
<ccm_cms.articles object_id="-10200" />
<ccm_cms.articles object_id="-10300" />
<ccm_cms.articles object_id="-99200" />
<ccm_cms.article_texts
object_id="-10100"
locale="en"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis." />
<ccm_cms.article_texts
object_id="-10200"
locale="en"
localized_value="Duis quis tincidunt elit. In pharetra justo sit amet ipsum dictum, at." />
<ccm_cms.article_texts
object_id="-10300"
locale="en"
localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis." />
<ccm_cms.article_texts
object_id="-99200"
locale="en"
localized_value="Duis quis tincidunt elit. In pharetra justo sit amet ipsum dictum, at." />
<ccm_cms.news object_id="-10400"
news_date="2016-08-08"
homepage="false" />
<ccm_cms.news_texts
object_id="-10400"
locale="en"
localized_value="Curabitur vel sapien eu eros gravida bibendum vitae." />
<ccm_core.categorizations categorization_id="-30100"
category_id="-2110"
object_id="-10100"
category_order="1"
object_order="1"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30200"
category_id="-2100"
object_id="-10200"
category_order="1"
object_order="2"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30300"
category_id="-2100"
object_id="-10300"
category_order="1"
object_order="3"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30400"
category_id="-2100"
object_id="-10400"
category_order="1"
object_order="4"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-98200"
category_id="-2100"
object_id="-99200"
category_order="1"
object_order="2"
category_index="false"
type="folder" />
<ccm_core.ccm_roles role_id="-3100"
name="info_alert_recipient" />
<ccm_core.ccm_roles role_id="-3200"
name="info_author" />
<ccm_core.ccm_roles role_id="-3300"
name="info_editor" />
<ccm_core.ccm_roles role_id="-3400"
name="info_manager" />
<ccm_core.ccm_roles role_id="-3500"
name="info_publisher" />
<ccm_core.ccm_roles role_id="-3600"
name="info_content_reader" />
<ccm_core.task_assignments task_assignment_id="-910"
task_id="-100100"
role_id="-3200" />
<ccm_core.task_assignments task_assignment_id="-920"
task_id="-100100"
role_id="-3300" />
<ccm_core.task_assignments task_assignment_id="-930"
task_id="-110100"
role_id="-3200" />
<ccm_cms.content_section_roles role_id="-3100"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3200"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3300"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3400"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3500"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3600"
section_id="-1100" />
<ccm_core.permissions permission_id="-4110"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4120"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4130"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4140"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4150"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4210"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4220"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4230"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4240"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4250"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4260"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4270"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4310"
granted_privilege="administer_roles"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4320"
granted_privilege="administer_workflow"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4330"
granted_privilege="administer_lifecyles"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4340"
granted_privilege="administer_categories"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4350"
granted_privilege="administer_content_types"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4360"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4370"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4380"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4390"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4400"
granted_privilege="publish_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4410"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4420"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4430"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4510"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4520"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4530"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4540"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4550"
granted_privilege="publish_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4560"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4570"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4580"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4610"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3600"
creation_date="2016-07-15"/>
</dataset>

View File

@ -237,7 +237,7 @@
localized_value="Article 1" /> localized_value="Article 1" />
<ccm_cms.content_item_titles object_id="-10200" <ccm_cms.content_item_titles object_id="-10200"
locale="en" locale="en"
localized_value="Article 2" /> localized_value="Article 2 Title" />
<ccm_cms.content_item_titles object_id="-10300" <ccm_cms.content_item_titles object_id="-10300"
locale="en" locale="en"
localized_value="Article 3" /> localized_value="Article 3" />

View File

@ -0,0 +1,518 @@
<?xml version="1.0" encoding="utf-8"?>
<dataset>
<ccm_core.ccm_revisions id="0"
timestamp="14516028000000" />
<ccm_core.ccm_revisions id="1"
timestamp="99999999990000" />
<ccm_core.ccm_objects object_id="-1100"
display_name="info"
uuid="963bcae7-3aeb-4b62-891c-e16c4defa1f2" />
<ccm_core.ccm_objects object_id="-2100"
display_name="info_root"
uuid="82014239-9c06-486d-ae8c-4ae47f52a699" />
<ccm_core.ccm_objects object_id="-2200"
display_name="info_assets"
uuid="b163f73c-9ac2-44d7-a037-de621f5ca828" />
<ccm_core.ccm_objects object_id="-10100"
display_name="article1"
uuid="aed4b402-1180-46c6-b42d-7245f4dca248" />
<ccm_core.ccm_objects object_id="-10300"
display_name="article3"
uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd" />
<ccm_core.ccm_objects object_id="-10200"
display_name="article2"
uuid="acae860f-2ffa-450d-b486-054292f0dae6" />
<ccm_core.ccm_objects object_id="-10400"
display_name="news1"
uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72" />
<ccm_core.ccm_objects object_id="-20100"
display_name="org.librecms.contenttypes.Article"
uuid="2c8ec2fb-319d-4d44-9698-697c08b2b941" />
<ccm_core.ccm_objects object_id="-20200"
display_name="org.librecms.contenttypes.News"
uuid="47740f22-f89f-4ec3-90cf-d62859e53c7e" />
<ccm_core.ccm_objects_aud object_id="-10100"
rev="0"
revtype="0"
display_name="article1" />
<ccm_core.ccm_objects_aud object_id="-10200"
rev="0"
revtype="0"
display_name="article2" />
<ccm_core.ccm_objects_aud object_id="-10300"
rev="0"
revtype="0"
display_name="article3" />
<ccm_core.ccm_objects_aud object_id="-10400"
rev="0"
revtype="0"
display_name="news1" />
<ccm_core.ccm_objects_aud object_id="-10100"
rev="1"
revtype="2"
display_name="article1" />
<ccm_core.categories object_id="-2100"
unique_id="82014239-9c06-486d-ae8c-4ae47f52a699"
name="info_root"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.categories object_id="-2200"
unique_id="b163f73c-9ac2-44d7-a037-de621f5ca828"
name="info_assets"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.category_titles object_id="-2100"
locale="en"
localized_value="info_root" />
<ccm_core.category_titles object_id="-2200"
locale="en"
localized_value="info_assets" />
<ccm_core.resources object_id="-1100"
created="2016-07-15" />
<ccm_core.resource_titles object_id="-1100"
locale="en"
localized_value="info" />
<ccm_core.applications object_id="-1100"
application_type="org.librecms.contentsection.ContentSection"
primary_url="info" />
<ccm_cms.content_sections object_id="-1100"
label="info"
root_documents_folder_id="-2100"
root_assets_folder_id="-2200" />
<ccm_cms.content_types object_id="-20100"
content_item_class="org.librecms.contenttypes.Article"
content_section_id="-1100" />
<ccm_cms.content_types object_id="-20200"
content_item_class="org.librecms.contenttypes.News"
content_section_id="-1100" />
<ccm_cms.content_items object_id="-10100"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10200"
item_uuid="acae860f-2ffa-450d-b486-054292f0dae6"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10300"
item_uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items object_id="-10400"
item_uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72"
version="DRAFT"
content_type_id="-20200" />
<ccm_cms.content_items_aud object_id="-10100"
rev="0"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items_aud object_id="-10100"
rev="1"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items_aud object_id="-10200"
rev="0"
item_uuid="acae860f-2ffa-450d-b486-054292f0dae6"
version="DRAFT"
content_type_id="-20100"/>
<ccm_cms.content_items_aud object_id="-10300"
rev="0"
item_uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd"
version="DRAFT"
content_type_id="-20100"/>
<ccm_cms.content_items_aud object_id="-10400"
rev="0"
item_uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72"
version="DRAFT"
content_type_id="-20200"/>
<ccm_cms.content_item_names object_id="-10100"
locale="en"
localized_value="first-article" />
<ccm_cms.content_item_names object_id="-10200"
locale="en"
localized_value="article2" />
<ccm_cms.content_item_names object_id="-10300"
locale="en"
localized_value="article3" />
<ccm_cms.content_item_names object_id="-10400"
locale="en"
localized_value="news1" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10100"
localized_value="article1"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10200"
localized_value="article2"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10300"
localized_value="article3"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10400"
localized_value="news1"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="1"
object_id="-10100"
localized_value="first-article"
locale="en"
revtype="1" />
<ccm_cms.content_item_titles object_id="-10100"
locale="en"
localized_value="first-article" />
<ccm_cms.content_item_titles object_id="-10200"
locale="en"
localized_value="Article 2" />
<ccm_cms.content_item_titles object_id="-10300"
locale="en"
localized_value="Article 3" />
<ccm_cms.content_item_titles object_id="-10400"
locale="en"
localized_value="News 1" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10100"
localized_value="Article 1"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10200"
localized_value="Article 2"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10300"
localized_value="Article 3"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10400"
localized_value="News 1"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="1"
object_id="-10100"
localized_value="First Article"
locale="en"
revtype="0" />
<ccm_cms.content_type_labels object_id="-20100"
locale="en"
localized_value="Article" />
<ccm_cms.content_type_labels object_id="-20200"
locale="en"
localized_value="News" />
<ccm_cms.articles object_id="-10100" />
<ccm_cms.articles object_id="-10200" />
<ccm_cms.articles object_id="-10300" />
<ccm_cms.articles_aud object_id="-10100"
rev="0" />
<ccm_cms.articles_aud object_id="-10200"
rev="0" />
<ccm_cms.articles_aud object_id="-10300"
rev="0" />
<ccm_cms.articles_aud object_id="-10100"
rev="1" />
<ccm_cms.article_texts
object_id="-10100"
locale="en"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis." />
<ccm_cms.article_texts
object_id="-10200"
locale="en"
localized_value="Duis quis tincidunt elit. In pharetra justo sit amet ipsum dictum, at." />
<ccm_cms.article_texts
object_id="-10300"
locale="en"
localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis." />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10100"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis."
locale="en"
revtype="0" />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10200"
localized_value="Duis quis tincidunt elit. In pharetra justo sit amet ipsum dictum, at."
locale="en"
revtype="0" />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10300"
localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis."
locale="en"
revtype="0" />
<ccm_cms.article_texts_aud
rev="1"
object_id="-10100"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis."
locale="en"
revtype="0" />
<ccm_cms.news object_id="-10400"
news_date="2016-08-08"
homepage="false" />
<ccm_cms.news_texts
object_id="-10400"
locale="en"
localized_value="Curabitur vel sapien eu eros gravida bibendum vitae." />
<ccm_core.categorizations categorization_id="-30100"
category_id="-2100"
object_id="-10100"
category_order="1"
object_order="1"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30200"
category_id="-2100"
object_id="-10200"
category_order="1"
object_order="2"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30300"
category_id="-2100"
object_id="-10300"
category_order="1"
object_order="3"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30400"
category_id="-2100"
object_id="-10400"
category_order="1"
object_order="4"
category_index="false"
type="folder" />
<ccm_core.ccm_roles role_id="-3100"
name="info_alert_recipient" />
<ccm_core.ccm_roles role_id="-3200"
name="info_author" />
<ccm_core.ccm_roles role_id="-3300"
name="info_editor" />
<ccm_core.ccm_roles role_id="-3400"
name="info_manager" />
<ccm_core.ccm_roles role_id="-3500"
name="info_publisher" />
<ccm_core.ccm_roles role_id="-3600"
name="info_content_reader" />
<ccm_cms.content_section_roles role_id="-3100"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3200"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3300"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3400"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3500"
section_id="-1100" />
<ccm_cms.content_section_roles role_id="-3600"
section_id="-1100" />
<ccm_core.permissions permission_id="-4110"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4120"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4130"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4140"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4150"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3200"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4210"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4220"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4230"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4240"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4250"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4260"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4270"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3300"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4310"
granted_privilege="administer_roles"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4320"
granted_privilege="administer_workflow"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4330"
granted_privilege="administer_lifecyles"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4340"
granted_privilege="administer_categories"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4350"
granted_privilege="administer_content_types"
object_id="-1100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4360"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4370"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4380"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4390"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4400"
granted_privilege="publish_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4410"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4420"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4430"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3400"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4510"
granted_privilege="categorize_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4520"
granted_privilege="create_new_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4530"
granted_privilege="edit_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4540"
granted_privilege="approve_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4550"
granted_privilege="publish_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4560"
granted_privilege="delete_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4570"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4580"
granted_privilege="preview_items"
object_id="-2100"
grantee_id="-3500"
creation_date="2016-07-15"/>
<ccm_core.permissions permission_id="-4610"
granted_privilege="view_published_items"
object_id="-2100"
grantee_id="-3600"
creation_date="2016-07-15"/>
</dataset>

View File

@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<dataset> <dataset>
<ccm_core.ccm_revisions id="0"
timestamp="1451602800" />
<ccm_core.ccm_objects object_id="-1100" <ccm_core.ccm_objects object_id="-1100"
display_name="info" display_name="info"
uuid="963bcae7-3aeb-4b62-891c-e16c4defa1f2" /> uuid="963bcae7-3aeb-4b62-891c-e16c4defa1f2" />
@ -29,6 +32,23 @@
display_name="org.librecms.contenttypes.News" display_name="org.librecms.contenttypes.News"
uuid="47740f22-f89f-4ec3-90cf-d62859e53c7e" /> uuid="47740f22-f89f-4ec3-90cf-d62859e53c7e" />
<ccm_core.ccm_objects_aud object_id="-10100"
rev="0"
revtype="0"
display_name="article1" />
<ccm_core.ccm_objects_aud object_id="-10200"
rev="0"
revtype="0"
display_name="article2" />
<ccm_core.ccm_objects_aud object_id="-10300"
rev="0"
revtype="0"
display_name="article3" />
<ccm_core.ccm_objects_aud object_id="-10400"
rev="0"
revtype="0"
display_name="news1" />
<ccm_core.categories object_id="-2100" <ccm_core.categories object_id="-2100"
unique_id="82014239-9c06-486d-ae8c-4ae47f52a699" unique_id="82014239-9c06-486d-ae8c-4ae47f52a699"
name="info_root" name="info_root"
@ -90,6 +110,27 @@
version="DRAFT" version="DRAFT"
content_type_id="-20200" /> content_type_id="-20200" />
<ccm_cms.content_items_aud object_id="-10100"
rev="0"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-20100" />
<ccm_cms.content_items_aud object_id="-10200"
rev="0"
item_uuid="acae860f-2ffa-450d-b486-054292f0dae6"
version="DRAFT"
content_type_id="-20100"/>
<ccm_cms.content_items_aud object_id="-10300"
rev="0"
item_uuid="f4b38abb-234b-4354-bc92-e36c068a1ebd"
version="DRAFT"
content_type_id="-20100"/>
<ccm_cms.content_items_aud object_id="-10400"
rev="0"
item_uuid="d9ea527d-c6e3-4bdd-962d-c0a1a80c6c72"
version="DRAFT"
content_type_id="-20200"/>
<ccm_cms.content_item_names object_id="-10100" <ccm_cms.content_item_names object_id="-10100"
locale="en" locale="en"
localized_value="article1" /> localized_value="article1" />
@ -103,6 +144,27 @@
locale="en" locale="en"
localized_value="news1" /> localized_value="news1" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10100"
localized_value="article1"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10200"
localized_value="article2"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10300"
localized_value="article3"
locale="en"
revtype="0" />
<ccm_cms.content_item_names_aud rev="0"
object_id="-10400"
localized_value="news1"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles object_id="-10100" <ccm_cms.content_item_titles object_id="-10100"
locale="en" locale="en"
localized_value="Article 1" /> localized_value="Article 1" />
@ -116,6 +178,27 @@
locale="en" locale="en"
localized_value="News 1" /> localized_value="News 1" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10100"
localized_value="Article 1"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10200"
localized_value="Article 2"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10300"
localized_value="Article 3"
locale="en"
revtype="0" />
<ccm_cms.content_item_titles_aud rev="0"
object_id="-10400"
localized_value="News 1"
locale="en"
revtype="0" />
<ccm_cms.content_type_labels object_id="-20100" <ccm_cms.content_type_labels object_id="-20100"
locale="en" locale="en"
localized_value="Article" /> localized_value="Article" />
@ -127,6 +210,13 @@
<ccm_cms.articles object_id="-10200" /> <ccm_cms.articles object_id="-10200" />
<ccm_cms.articles object_id="-10300" /> <ccm_cms.articles object_id="-10300" />
<ccm_cms.articles_aud object_id="-10100"
rev="0" />
<ccm_cms.articles_aud object_id="-10200"
rev="0" />
<ccm_cms.articles_aud object_id="-10300"
rev="0" />
<ccm_cms.article_texts <ccm_cms.article_texts
object_id="-10100" object_id="-10100"
locale="en" locale="en"
@ -140,6 +230,25 @@
locale="en" locale="en"
localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis." /> localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis." />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10100"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis."
locale="en"
revtype="0" />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10200"
localized_value="Duis quis tincidunt elit. In pharetra justo sit amet ipsum dictum, at."
locale="en"
revtype="0" />
<ccm_cms.article_texts_aud
rev="0"
object_id="-10300"
localized_value="Etiam euismod lacus laoreet sodales ultricies. Pellentesque non elit vitae purus sagittis."
locale="en"
revtype="0" />
<ccm_cms.news object_id="-10400" <ccm_cms.news object_id="-10400"
news_date="2016-08-08" news_date="2016-08-08"
homepage="false" /> homepage="false" />