diff --git a/ccm-cms/src/main/java/org/librecms/assets/BinaryAsset.java b/ccm-cms/src/main/java/org/librecms/assets/BinaryAsset.java
index 2804567a6..a39c0d254 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/BinaryAsset.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/BinaryAsset.java
@@ -18,6 +18,8 @@
*/
package org.librecms.assets;
+import org.librecms.contentsection.Asset;
+
import java.io.Serializable;
import java.util.Arrays;
import java.util.Objects;
diff --git a/ccm-cms/src/main/java/org/librecms/assets/Bookmark.java b/ccm-cms/src/main/java/org/librecms/assets/Bookmark.java
index 7113db48c..5cec78538 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/Bookmark.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/Bookmark.java
@@ -18,9 +18,12 @@
*/
package org.librecms.assets;
+import org.librecms.contentsection.Asset;
+
import java.io.Serializable;
import java.net.URL;
import java.util.Objects;
+
import javax.persistence.AssociationOverride;
import javax.persistence.Column;
import javax.persistence.Embedded;
@@ -28,6 +31,7 @@ import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.Table;
+
import org.hibernate.envers.Audited;
import org.hibernate.validator.constraints.NotEmpty;
import org.libreccm.l10n.LocalizedString;
diff --git a/ccm-cms/src/main/java/org/librecms/assets/LegalMetadata.java b/ccm-cms/src/main/java/org/librecms/assets/LegalMetadata.java
index 296f8bb20..4f3c9447b 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/LegalMetadata.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/LegalMetadata.java
@@ -18,6 +18,7 @@
*/
package org.librecms.assets;
+import org.librecms.contentsection.Asset;
import org.hibernate.envers.Audited;
import org.libreccm.l10n.LocalizedString;
diff --git a/ccm-cms/src/main/java/org/librecms/assets/RelatedLink.java b/ccm-cms/src/main/java/org/librecms/assets/RelatedLink.java
index 8158a26d4..b379dc73b 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/RelatedLink.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/RelatedLink.java
@@ -18,6 +18,7 @@
*/
package org.librecms.assets;
+import org.librecms.contentsection.Asset;
import org.hibernate.envers.Audited;
import org.librecms.contentsection.ContentItem;
diff --git a/ccm-cms/src/main/java/org/librecms/assets/SideNote.java b/ccm-cms/src/main/java/org/librecms/assets/SideNote.java
index 7e6e338d7..96e09cfab 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/SideNote.java
+++ b/ccm-cms/src/main/java/org/librecms/assets/SideNote.java
@@ -18,6 +18,7 @@
*/
package org.librecms.assets;
+import org.librecms.contentsection.Asset;
import org.hibernate.envers.Audited;
import org.libreccm.l10n.LocalizedString;
diff --git a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentListManager.java b/ccm-cms/src/main/java/org/librecms/attachments/AttachmentListManager.java
deleted file mode 100644
index ad0fac7df..000000000
--- a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentListManager.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2016 LibreCCM Foundation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-package org.librecms.attachments;
-
-import org.libreccm.security.PermissionChecker;
-import org.librecms.contentsection.ContentItem;
-import org.librecms.contentsection.ContentItemManager;
-import org.librecms.contentsection.privileges.ItemPrivileges;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.persistence.Entity;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
-import javax.transaction.Transactional;
-
-/**
- * Provides methods for managing the {@link AttachmentList}s of an
- * {@link ContentItem}.
- *
- * @author Jens Pelzetter
- */
-@RequestScoped
-public class AttachmentListManager {
-
- @Inject
- private ContentItemManager itemManager;
-
- @Inject
- private PermissionChecker permissionChecker;
-
- @Inject
- private EntityManager entityManager;
-
- /**
- * Retrieves the names of all {@link AttachmentList}s of an
- * {@link ContentItem}.
- *
- * @param item The item from the which the names are retrieved.
- *
- * @return A list containing the names all the attachment lists of the item,
- * in the order of the attachment lists.
- */
- @Transactional(Transactional.TxType.REQUIRED)
- public List getAttachmentListNames(final ContentItem item) {
- if (item == null) {
- throw new IllegalArgumentException(
- "Can't get AttachmentList(s) from null.");
- }
-
- //We have to distinguish between live and draft versions, therefore
- //we can't use the CDI interceptor here.
- if (itemManager.isLive(item)) {
- permissionChecker.checkPermission(ItemPrivileges.VIEW_PUBLISHED,
- item);
- } else {
- permissionChecker.checkPermission(ItemPrivileges.PREVIEW, item);
- }
-
- final List lists = item.getAttachments();
- final List names = lists.stream()
- .map(list -> list.getName())
- .collect(Collectors.toList());
-
- Collections.sort(names);
-
- return names;
- }
-
- /**
- * Retrieves all {@link AttachmentList}s of a {@link ContentItem} with a
- * specific name.
- *
- * @param item The item from which the lists are retrieved.
- * @param name The name of the lists to retrieve.
- *
- * @return A list of the attachment lists with the specified name. If no
- * attachment list of the {@code item} does match the provided
- * {@code name} an empty list is returned.
- */
- public List getAttachmentList(
- final ContentItem item,
- final String name) {
-
- if (item == null) {
- throw new IllegalArgumentException(
- "Can't get attachments lists from null.");
- }
-
- if (name == null || name.trim().isEmpty()) {
- throw new IllegalArgumentException(
- "An AttachmentList can't have an empty name.");
- }
-
- //We have to distinguish between live and draft versions, therefore
- //we can't use the CDI interceptor here.
- if (itemManager.isLive(item)) {
- permissionChecker.checkPermission(ItemPrivileges.VIEW_PUBLISHED,
- item);
- } else {
- permissionChecker.checkPermission(ItemPrivileges.PREVIEW, item);
- }
-
- final TypedQuery query = entityManager.createNamedQuery(
- "AttachmentList.findForItemAndName", AttachmentList.class);
- query.setParameter("name", name);
- query.setParameter("item", item);
-
- return query.getResultList();
- }
-
- /**
- * Adds a new {@link AttachmentList} to an {@link ContentItem}. The list is
- * put after the existing attachment lists.
- *
- * @param item The item to which the list is added.
- * @param name The name of the new attachment list.
- *
- * @return The new attachment list.
- */
- public AttachmentList createAttachmentList(final ContentItem item,
- final String name) {
-
- final List lists = item.getAttachments();
- Collections.sort(lists,
- (list1, list2) -> Long.compare(list1.getOrder(),
- list2.getOrder()));
-
- final long lastOrder = lists.get(lists.size() - 1).getOrder();
-
- final AttachmentList newList = new AttachmentList();
- newList.setItem(item);
- newList.setName(name);
- newList.setOrder(lastOrder + 1);
-
-// item.addAttachmentList(newList);
- }
-
- /**
- * Adds a new {@link AttachmentList} an {@link ContentItem}. The list is put
- * after the specified position.
- *
- * @param item The item to which the list is added.
- * @param name The name of the new attachment list.
- * @param after The position after which the new attachment list is added.
- * If the provided value is larger than the number of existing
- * attachment lists the list is added after the last one.
- *
- * @return The new attachment list.
- */
- public AttachmentList createAttachmentList(final ContentItem item,
- final String name,
- final long after) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Removes an {@link AttachentList} from the owning item. All non shared
- * assets assigned to the {@code attachmentList} are deleted.
- *
- * @param attachmentList The attachment list to remove.
- */
- public void removeAttachmentList(final AttachmentList attachmentList) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Moves an attachment list one position up.
- *
- * @param attachmentList The list to move.
- */
- public void moveUp(final AttachmentList attachmentList) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Moves an attachment list one position down.
- *
- * @param attachmentList The list to move.
- */
- public void moveDown(final AttachmentList attachmentList) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
- /**
- * Moves an attachment list to a specific position. The attachment list with
- * the provided index is moved one position down. If the position is larger
- * than the number of attachment lists the list is moved to the last
- * position.
- *
- * @param attachmentList The list to move.
- * @param position The position to which the list is moved.
- */
- public void moveTo(final AttachmentList attachmentList,
- final long position) {
- throw new UnsupportedOperationException("Not implemented yet");
- }
-
-}
diff --git a/ccm-cms/src/main/java/org/librecms/assets/Asset.java b/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java
similarity index 93%
rename from ccm-cms/src/main/java/org/librecms/assets/Asset.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/Asset.java
index 8b47f6e5f..d2f74e6cb 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/Asset.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/Asset.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
import org.hibernate.envers.Audited;
import org.libreccm.categorization.Categorization;
@@ -24,7 +24,6 @@ import org.libreccm.core.CcmObject;
import org.libreccm.l10n.LocalizedString;
import org.libreccm.security.InheritsPermissions;
import org.librecms.CmsConstants;
-import org.librecms.attachments.ItemAttachment;
import java.util.ArrayList;
import java.util.Collections;
@@ -155,6 +154,7 @@ public class Asset extends CcmObject implements InheritsPermissions {
public Asset() {
title = new LocalizedString();
+ itemAttachments = new ArrayList<>();
}
public LocalizedString getTitle() {
@@ -173,6 +173,24 @@ public class Asset extends CcmObject implements InheritsPermissions {
}
}
+ protected void setItemAttachments(
+ final List> itemAttachments) {
+
+ if (itemAttachments == null) {
+ this.itemAttachments = new ArrayList<>();
+ } else {
+ this.itemAttachments = itemAttachments;
+ }
+ }
+
+ protected void addItemAttachment(final ItemAttachment> itemAttachment) {
+ itemAttachments.add(itemAttachment);
+ }
+
+ protected void removeItemAttachment(final ItemAttachment> itemAttachment) {
+ itemAttachments.remove(itemAttachment);
+ }
+
@Override
public Optional getParent() {
// For sharable assets the parent is the folder in the asset is stored
diff --git a/ccm-cms/src/main/java/org/librecms/assets/AssetInUseException.java b/ccm-cms/src/main/java/org/librecms/contentsection/AssetInUseException.java
similarity index 98%
rename from ccm-cms/src/main/java/org/librecms/assets/AssetInUseException.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/AssetInUseException.java
index 37e2a9f35..7726ed357 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AssetInUseException.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AssetInUseException.java
@@ -17,7 +17,7 @@
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
/**
*
diff --git a/ccm-cms/src/main/java/org/librecms/assets/AssetManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/AssetManager.java
similarity index 98%
rename from ccm-cms/src/main/java/org/librecms/assets/AssetManager.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/AssetManager.java
index a61d61e31..29b3035a6 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AssetManager.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AssetManager.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
import com.arsdigita.util.UncheckedWrapperException;
@@ -40,18 +40,12 @@ import org.libreccm.core.CoreConstants;
import org.libreccm.security.AuthorizationRequired;
import org.libreccm.security.RequiresPrivilege;
import org.librecms.CmsConstants;
-import org.librecms.attachments.AttachmentList;
-import org.librecms.contentsection.ContentSection;
-import org.librecms.contentsection.Folder;
-import org.librecms.contentsection.FolderManager;
-import org.librecms.contentsection.FolderRepository;
import org.librecms.contentsection.privileges.AssetPrivileges;
import java.util.Objects;
import org.libreccm.categorization.ObjectNotAssignedToCategoryException;
import org.libreccm.l10n.LocalizedString;
-import org.librecms.contentsection.FolderType;
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
diff --git a/ccm-cms/src/main/java/org/librecms/assets/AssetRepository.java b/ccm-cms/src/main/java/org/librecms/contentsection/AssetRepository.java
similarity index 99%
rename from ccm-cms/src/main/java/org/librecms/assets/AssetRepository.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/AssetRepository.java
index e5294c654..4ec102abc 100644
--- a/ccm-cms/src/main/java/org/librecms/assets/AssetRepository.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AssetRepository.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
import com.arsdigita.util.UncheckedWrapperException;
@@ -27,8 +27,6 @@ import org.libreccm.categorization.ObjectNotAssignedToCategoryException;
import org.libreccm.core.CcmObjectRepository;
import org.libreccm.security.AuthorizationRequired;
import org.libreccm.security.RequiresPrivilege;
-import org.librecms.CmsConstants;
-import org.librecms.contentsection.Folder;
import org.librecms.contentsection.privileges.AssetPrivileges;
import java.util.List;
diff --git a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentList.java b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java
similarity index 99%
rename from ccm-cms/src/main/java/org/librecms/attachments/AttachmentList.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java
index 8816aeef6..ec2d5cbf4 100644
--- a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentList.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentList.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
import org.hibernate.envers.Audited;
import org.libreccm.core.Identifiable;
@@ -157,7 +157,7 @@ public class AttachmentList implements Comparable,
return item;
}
- public void setItem(final ContentItem item) {
+ protected void setItem(final ContentItem item) {
this.item = item;
}
diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentListManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentListManager.java
new file mode 100644
index 000000000..87f7bc1f7
--- /dev/null
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentListManager.java
@@ -0,0 +1,386 @@
+/*
+ * Copyright (C) 2016 LibreCCM Foundation.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+package org.librecms.contentsection;
+
+import org.libreccm.security.AuthorizationRequired;
+import org.libreccm.security.PermissionChecker;
+import org.libreccm.security.RequiresPrivilege;
+import org.librecms.contentsection.privileges.ItemPrivileges;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+import javax.enterprise.context.RequestScoped;
+import javax.inject.Inject;
+import javax.persistence.EntityManager;
+import javax.persistence.TypedQuery;
+import javax.transaction.Transactional;
+
+/**
+ * Provides methods for managing the {@link AttachmentList}s of an
+ * {@link ContentItem}.
+ *
+ * @author Jens Pelzetter
+ */
+@RequestScoped
+public class AttachmentListManager {
+
+ @Inject
+ private ContentItemRepository itemRepo;
+
+ @Inject
+ private ContentItemManager itemManager;
+
+ @Inject
+ private AssetManager assetManager;
+
+ @Inject
+ private PermissionChecker permissionChecker;
+
+ @Inject
+ private EntityManager entityManager;
+
+ /**
+ * Helper method to normalise the order columns for an list of
+ * {@link AttachmentList}s. After this method has been applied the values of
+ * the order attribute/column are the same as the position index in the
+ * list.
+ *
+ * @param lists The list of attachment lists to normalise.
+ */
+ private void normalizeOrder(final List lists) {
+ for (int i = 0; i < lists.size(); i++) {
+ lists.get(i).setOrder(i);
+ entityManager.merge(lists.get(i));
+ }
+ }
+
+ /**
+ * Retrieves the names of all {@link AttachmentList}s of an
+ * {@link ContentItem}.
+ *
+ * @param item The item from the which the names are retrieved.
+ *
+ * @return A list containing the names all the attachment lists of the item,
+ * in the order of the attachment lists.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ public List getAttachmentListNames(final ContentItem item) {
+ if (item == null) {
+ throw new IllegalArgumentException(
+ "Can't get AttachmentList(s) from null.");
+ }
+
+ //We have to distinguish between live and draft versions, therefore
+ //we can't use the CDI interceptor here.
+ if (itemManager.isLive(item)) {
+ permissionChecker.checkPermission(ItemPrivileges.VIEW_PUBLISHED,
+ item);
+ } else {
+ permissionChecker.checkPermission(ItemPrivileges.PREVIEW, item);
+ }
+
+ final List lists = item.getAttachments();
+ final List names = lists.stream()
+ .map(list -> list.getName())
+ .collect(Collectors.toList());
+
+ Collections.sort(names);
+
+ return names;
+ }
+
+ /**
+ * Retrieves all {@link AttachmentList}s of a {@link ContentItem} with a
+ * specific name.
+ *
+ * @param item The item from which the lists are retrieved.
+ * @param name The name of the lists to retrieve.
+ *
+ * @return A list of the attachment lists with the specified name. If no
+ * attachment list of the {@code item} does match the provided
+ * {@code name} an empty list is returned.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ public List getAttachmentList(
+ final ContentItem item,
+ final String name) {
+
+ if (item == null) {
+ throw new IllegalArgumentException(
+ "Can't get attachments lists from null.");
+ }
+
+ if (name == null || name.trim().isEmpty()) {
+ throw new IllegalArgumentException(
+ "An AttachmentList can't have an empty name.");
+ }
+
+ //We have to distinguish between live and draft versions, therefore
+ //we can't use the CDI interceptor here.
+ if (itemManager.isLive(item)) {
+ permissionChecker.checkPermission(ItemPrivileges.VIEW_PUBLISHED,
+ item);
+ } else {
+ permissionChecker.checkPermission(ItemPrivileges.PREVIEW, item);
+ }
+
+ final TypedQuery query = entityManager.createNamedQuery(
+ "AttachmentList.findForItemAndName", AttachmentList.class);
+ query.setParameter("name", name);
+ query.setParameter("item", item);
+
+ return query.getResultList();
+ }
+
+ /**
+ * Adds a new {@link AttachmentList} to an {@link ContentItem}. The list is
+ * put after the existing attachment lists.
+ *
+ * @param item The item to which the list is added.
+ * @param name The name of the new attachment list.
+ *
+ * @return The new attachment list.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ @AuthorizationRequired
+ public AttachmentList createAttachmentList(
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ final ContentItem item,
+ final String name) {
+
+ if (item == null) {
+ throw new IllegalArgumentException(
+ "Can't add an attachment list to null.");
+ }
+
+ if (name == null || name.trim().isEmpty()) {
+ throw new IllegalArgumentException(
+ "The name of an attachment list can't be null or empty.");
+ }
+
+ final ContentItem draft = itemManager.getDraftVersion(item,
+ item.getClass());
+
+ final List lists = draft.getAttachments();
+ final long lastOrder = lists.get(lists.size() - 1).getOrder();
+
+ final AttachmentList list = new AttachmentList();
+ list.setItem(draft);
+ list.setName(name);
+ list.setUuid(UUID.randomUUID().toString());
+ list.setOrder(lastOrder + 1);
+
+ draft.addAttachmentList(list);
+
+ entityManager.persist(list);
+ itemRepo.save(draft);
+
+ normalizeOrder(lists);
+
+ return list;
+ }
+
+ /**
+ * Adds a new {@link AttachmentList} an {@link ContentItem}. The list is put
+ * after the specified position.
+ *
+ * @param item The item to which the list is added.
+ * @param name The name of the new attachment list.
+ * @param position The position at which the new attachment list is added.
+ * If the provided value is larger than the number of
+ * existing attachment lists the list is added after the
+ * last one.
+ *
+ * @return The new attachment list.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ @AuthorizationRequired
+ public AttachmentList createAttachmentList(
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ final ContentItem item,
+ final String name,
+ final long position) {
+
+ if (item == null) {
+ throw new IllegalArgumentException(
+ "Can't add an attachment list to null.");
+ }
+
+ if (name == null || name.trim().isEmpty()) {
+ throw new IllegalArgumentException(
+ "The name of an attachment list can't be null or empty.");
+ }
+
+ final ContentItem draft = itemManager.getDraftVersion(item,
+ item.getClass());
+
+ final List lists = draft.getAttachments();
+ final long listPos;
+ if (position < 0) {
+ listPos = 0;
+ } else if (position >= lists.size()) {
+ return createAttachmentList(draft, name);
+ } else {
+ listPos = position;
+ }
+
+ normalizeOrder(lists);
+
+ final AttachmentList list = new AttachmentList();
+ list.setItem(draft);
+ list.setName(name);
+ list.setUuid(UUID.randomUUID().toString());
+ list.setOrder(listPos);
+
+ for (long i = listPos; i < lists.size(); i++) {
+ lists.get((int) i).setOrder(i + 1);
+ entityManager.merge(lists.get((int) i));
+ }
+
+ draft.addAttachmentList(list);
+
+ entityManager.persist(list);
+ itemRepo.save(draft);
+
+ return list;
+ }
+
+ /**
+ * Removes an {@link AttachentList} from the owning item. All non shared
+ * assets assigned to the {@code attachmentList} are deleted.
+ *
+ * @param attachmentList The attachment list to remove.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ @AuthorizationRequired
+ public void removeAttachmentList(
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ final AttachmentList attachmentList) {
+
+ if (attachmentList == null) {
+ throw new IllegalArgumentException("Can't delete null.");
+ }
+
+ final ContentItem item = attachmentList.getItem();
+
+ for (ItemAttachment> attachment : attachmentList.getAttachments()) {
+ if (!assetManager.isShared(attachment.getAsset())) {
+ entityManager.remove(attachment.getAsset());
+ }
+ }
+
+ for (ItemAttachment> attachment : attachmentList.getAttachments()) {
+ entityManager.remove(attachment);
+ }
+
+ entityManager.remove(attachmentList);
+ }
+
+ /**
+ * Moves an attachment list one position up. If the list is already one the
+ * last position does nothing.
+ *
+ * @param attachmentList The list to move.
+ */
+ @Transactional
+ @AuthorizationRequired
+ public void moveUp(
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ final AttachmentList attachmentList) {
+
+ if (attachmentList == null) {
+ throw new IllegalArgumentException("Can't move null.");
+ }
+
+ final List lists = attachmentList.getItem()
+ .getAttachments();
+
+ final Optional list1 = lists.stream()
+ .filter(list -> list.getOrder() == attachmentList.getOrder())
+ .findFirst();
+ final Optional list2 = lists.stream()
+ .filter(list -> list.getOrder() >= attachmentList.getOrder() + 1)
+ .findFirst();
+
+ if (!list2.isPresent()) {
+ return;
+ }
+
+ final long order1 = list1.get().getOrder();
+ final long order2 = list2.get().getOrder();
+
+ list1.get().setOrder(order2);
+ list2.get().setOrder(order1);
+
+ entityManager.merge(list1.get());
+ entityManager.merge(list2.get());
+ }
+
+ /**
+ * Moves an attachment list one position down.
+ *
+ * @param attachmentList The list to move.
+ */
+ @Transactional(Transactional.TxType.REQUIRED)
+ public void moveDown(
+ @RequiresPrivilege(ItemPrivileges.EDIT)
+ final AttachmentList attachmentList) {
+
+ if (attachmentList == null) {
+ throw new IllegalArgumentException("Can't move null.");
+ }
+
+ final List lists = attachmentList.getItem()
+ .getAttachments();
+
+ final Optional list1 = lists.stream()
+ .filter(list -> list.getOrder() == attachmentList.getOrder())
+ .findFirst();
+ final List lower = lists.stream()
+ .filter(list -> list.getOrder() <= attachmentList.getOrder() - 1)
+ .collect(Collectors.toList());
+ Collections.sort(lower);
+
+ final Optional list2;
+ if (lower.isEmpty()) {
+ list2 = Optional.empty();
+ } else {
+ list2 = Optional.of(lower.get(lower.size() - 1));
+ }
+
+ if (!list2.isPresent()) {
+ return;
+ }
+
+ final long order1 = list1.get().getOrder();
+ final long order2 = list2.get().getOrder();
+
+ list1.get().setOrder(order2);
+ list2.get().setOrder(order1);
+
+ entityManager.merge(list1.get());
+ entityManager.merge(list2.get());
+ }
+
+
+}
diff --git a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentsConfig.java b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentsConfig.java
similarity index 98%
rename from ccm-cms/src/main/java/org/librecms/attachments/AttachmentsConfig.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/AttachmentsConfig.java
index 7549d25ae..00333a416 100644
--- a/ccm-cms/src/main/java/org/librecms/attachments/AttachmentsConfig.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/AttachmentsConfig.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
import org.libreccm.configuration.Configuration;
import org.libreccm.configuration.Setting;
diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java
index 6dc54c975..7050f3447 100644
--- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItem.java
@@ -26,7 +26,6 @@ import org.libreccm.l10n.LocalizedString;
import org.libreccm.security.InheritsPermissions;
import org.libreccm.workflow.Workflow;
import org.librecms.CmsConstants;
-import org.librecms.attachments.AttachmentList;
import org.librecms.lifecycle.Lifecycle;
import java.io.Serializable;
@@ -67,33 +66,38 @@ import static org.librecms.CmsConstants.*;
@NamedQueries({
@NamedQuery(
name = "ContentItem.findByType",
- query = "SELECT i FROM ContentItem i WHERE TYPE(i) = :type"),
+ query = "SELECT i FROM ContentItem i WHERE TYPE(i) = :type")
+ ,
@NamedQuery(
name = "ContentItem.findByFolder",
query = "SELECT i FROM ContentItem i "
+ "JOIN i.categories c "
+ "WHERE c.category = :folder "
- + "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "'"),
+ + "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "'")
+ ,
@NamedQuery(
name = "ContentItem.countItemsInFolder",
query = "SELECT count(i) FROM ContentItem i "
+ "JOIN i.categories c "
+ "WHERE c.category = :folder "
- + "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "'"),
+ + "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "'")
+ ,
@NamedQuery(
name = "ContentItem.countByNameInFolder",
query = "SELECT COUNT(i) FROM ContentItem i "
+ "JOIN i.categories c "
+ "WHERE c.category = :folder "
+ "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "' "
- + "AND i.displayName = :name"),
+ + "AND i.displayName = :name")
+ ,
@NamedQuery(
name = "ContentItem.filterByFolderAndName",
query = "SELECT i FROM ContentItem i "
+ "JOIN i.categories c "
+ "WHERE c.category = :folder "
+ "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "' "
- + "AND LOWER(i.displayName) LIKE CONCAT(LOWER(:name), '%')"),
+ + "AND LOWER(i.displayName) LIKE CONCAT(LOWER(:name), '%')")
+ ,
@NamedQuery(
name = "ContentItem.countFilterByFolderAndName",
query = "SELECT COUNT(i) FROM ContentItem i "
@@ -101,18 +105,21 @@ import static org.librecms.CmsConstants.*;
+ "WHERE c.category = :folder "
+ "AND c.type = '" + CATEGORIZATION_TYPE_FOLDER + "' "
+ "AND LOWER(i.displayName) LIKE CONCAT(LOWER(:name), '%')"
- ),
+ )
+ ,
@NamedQuery(
name = "ContentItem.hasLiveVersion",
query = "SELECT (CASE WHEN COUNT(i) > 0 THEN true ELSE false END) "
+ "FROM ContentItem i "
+ "WHERE i.itemUuid = :uuid "
- + "AND i.version = org.librecms.contentsection.ContentItemVersion.LIVE"),
+ + "AND i.version = org.librecms.contentsection.ContentItemVersion.LIVE")
+ ,
@NamedQuery(
name = "ContentItem.findDraftVersion",
query = "SELECT i FROM ContentItem i "
+ "WHERE i.itemUuid = :uuid "
- + "AND i.version = org.librecms.contentsection.ContentItemVersion.DRAFT"),
+ + "AND i.version = org.librecms.contentsection.ContentItemVersion.DRAFT")
+ ,
@NamedQuery(
name = "ContentItem.findLiveVersion",
query = "SELECT i FROM ContentItem i "
@@ -296,17 +303,22 @@ public class ContentItem extends CcmObject implements Serializable,
}
public List getAttachments() {
+ Collections.sort(attachments);
return Collections.unmodifiableList(attachments);
}
protected void setAttachments(final List attachments) {
- this.attachments = attachments;
+ if (attachments == null) {
+ this.attachments = new ArrayList<>();
+ } else {
+ this.attachments = attachments;
+ }
}
-
+
protected void addAttachmentList(final AttachmentList attachmentList) {
attachments.add(attachmentList);
}
-
+
protected void removeAttachmentList(final AttachmentList attachmentList) {
attachments.remove(attachmentList);
}
@@ -331,8 +343,8 @@ public class ContentItem extends CcmObject implements Serializable,
public Optional getParent() {
final List result = getCategories().stream().filter(
categorization -> CmsConstants.CATEGORIZATION_TYPE_FOLDER.
- equals(
- categorization.getType()))
+ equals(
+ categorization.getType()))
.collect(Collectors.toList());
if (result.isEmpty()) {
diff --git a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItemManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItemManager.java
index 6bbf6817d..37bdb613b 100644
--- a/ccm-cms/src/main/java/org/librecms/contentsection/ContentItemManager.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/ContentItemManager.java
@@ -46,7 +46,9 @@ import org.libreccm.security.AuthorizationRequired;
import org.libreccm.security.RequiresPrivilege;
import org.libreccm.workflow.Workflow;
import org.libreccm.workflow.WorkflowManager;
+
import static org.librecms.CmsConstants.*;
+
import org.librecms.contentsection.privileges.ItemPrivileges;
import org.librecms.lifecycle.Lifecycle;
import org.librecms.lifecycle.LifecycleManager;
@@ -1155,5 +1157,5 @@ public class ContentItemManager {
return Optional.empty();
}
}
-
+
}
diff --git a/ccm-cms/src/main/java/org/librecms/attachments/ItemAttachment.java b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java
similarity index 98%
rename from ccm-cms/src/main/java/org/librecms/attachments/ItemAttachment.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java
index 3b19263a2..dab03e730 100644
--- a/ccm-cms/src/main/java/org/librecms/attachments/ItemAttachment.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachment.java
@@ -16,11 +16,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
import org.hibernate.envers.Audited;
import org.libreccm.core.Identifiable;
-import org.librecms.assets.Asset;
import java.io.Serializable;
import java.util.Objects;
diff --git a/ccm-cms/src/main/java/org/librecms/attachments/ItemAttachmentManager.java b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java
similarity index 98%
rename from ccm-cms/src/main/java/org/librecms/attachments/ItemAttachmentManager.java
rename to ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java
index 93cf683a4..20a65986a 100644
--- a/ccm-cms/src/main/java/org/librecms/attachments/ItemAttachmentManager.java
+++ b/ccm-cms/src/main/java/org/librecms/contentsection/ItemAttachmentManager.java
@@ -16,9 +16,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
-import org.librecms.assets.Asset;
import javax.enterprise.context.RequestScoped;
diff --git a/ccm-cms/src/test/java/org/librecms/assets/DatasetsTest.java b/ccm-cms/src/test/java/org/librecms/assets/DatasetsTest.java
deleted file mode 100644
index 2321d49b5..000000000
--- a/ccm-cms/src/test/java/org/librecms/assets/DatasetsTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2016 LibreCCM Foundation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-package org.librecms.assets;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.libreccm.tests.categories.UnitTest;
-import org.libreccm.testutils.DatasetType;
-import org.libreccm.testutils.DatasetsVerifier;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-/**
- * Verify the datasets for the tests in {@code org.librecms.assets}.
- *
- * @author Jens Pelzetter
- */
-@RunWith(Parameterized.class)
-@Category(UnitTest.class)
-public class DatasetsTest extends DatasetsVerifier {
-
- @Parameterized.Parameters(name = "Dataset {0}")
- public static Collection data() {
- return Arrays.asList(new String[]{
- "/datasets/org/librecms/assets/AssetRepositoryTest/data.xml",
- "/datasets/org/librecms/assets/AssetRepositoryTest/after-delete.xml",
-
- "/datasets/org/librecms/assets/AssetManagerTest/data.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-clean-orphaned.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-contentsection.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-folder.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-same-folder.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-share.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-contentsection.xml",
- "/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-folder.xml",
- });
- }
-
- public DatasetsTest(final String datasetPath) {
- super(datasetPath);
- }
-
- @Override
- public DatasetType getDatasetType() {
- return DatasetType.FLAT_XML;
- }
-
- @Override
- public String[] getSchemas() {
- return new String[]{"ccm_core", "ccm_cms"};
- }
-
- @Override
- public String[] getDdlFiles() {
- return new String[]{"/datasets/create_ccm_cms_schema.sql"};
- }
-
- @BeforeClass
- public static void setUpClass() {
- }
-
- @AfterClass
- public static void tearDownClass() {
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
-}
diff --git a/ccm-cms/src/test/java/org/librecms/attachments/DatasetsTest.java b/ccm-cms/src/test/java/org/librecms/attachments/DatasetsTest.java
deleted file mode 100644
index e3a16a662..000000000
--- a/ccm-cms/src/test/java/org/librecms/attachments/DatasetsTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2016 LibreCCM Foundation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301 USA
- */
-package org.librecms.attachments;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.libreccm.tests.categories.UnitTest;
-import org.libreccm.testutils.DatasetType;
-import org.libreccm.testutils.DatasetsVerifier;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-/**
- * Verify the datasets for the tests in {@code org.librecms.attachments}.
- *
- * @author Jens Pelzetter
- */
-@RunWith(Parameterized.class)
-@Category(UnitTest.class)
-public class DatasetsTest extends DatasetsVerifier {
-
- @Parameterized.Parameters(name = "Dataset {0}")
- public static Collection data() {
- return Arrays.asList(new String[]{
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/data.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-after-last.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-with-negative-position.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-down.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-first.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-last.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-up.xml",
- "/datasets/org/librecms/attachments/AttachmentListManagerTest/after-remove.xml"
- });
- }
-
- public DatasetsTest(final String datasetPath) {
- super(datasetPath);
- }
-
- @Override
- public DatasetType getDatasetType() {
- return DatasetType.FLAT_XML;
- }
-
- @Override
- public String[] getSchemas() {
- return new String[]{"ccm_core", "ccm_cms"};
- }
-
- @Override
- public String[] getDdlFiles() {
- return new String[]{"/datasets/create_ccm_cms_schema.sql"};
- }
-
- @BeforeClass
- public static void setUpClass() {
- }
-
- @AfterClass
- public static void tearDownClass() {
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
-}
diff --git a/ccm-cms/src/test/java/org/librecms/assets/EqualsAndHashCodeTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/AssetEqualsAndHashCodeTest.java
similarity index 93%
rename from ccm-cms/src/test/java/org/librecms/assets/EqualsAndHashCodeTest.java
rename to ccm-cms/src/test/java/org/librecms/contentsection/AssetEqualsAndHashCodeTest.java
index 60160dfbc..b1892e7ae 100644
--- a/ccm-cms/src/test/java/org/librecms/assets/EqualsAndHashCodeTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/AssetEqualsAndHashCodeTest.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -27,20 +27,20 @@ import org.libreccm.security.Role;
import org.libreccm.security.User;
import org.libreccm.tests.categories.UnitTest;
import org.libreccm.testutils.EqualsVerifier;
-import org.librecms.attachments.ItemAttachment;
-import org.librecms.contentsection.ContentItem;
import java.util.Arrays;
import java.util.Collection;
import java.util.UUID;
/**
- *
+ * Verifies that the {@code equals} and {@code hashCode} methods of the {@link Asset}
+ * class are working properly.
+ *
* @author Jens Pelzetter
*/
@RunWith(Parameterized.class)
@org.junit.experimental.categories.Category(UnitTest.class)
-public class EqualsAndHashCodeTest extends EqualsVerifier {
+public class AssetEqualsAndHashCodeTest extends EqualsVerifier {
@Parameterized.Parameters(name = "{0}")
public static Collection> data() {
@@ -49,7 +49,7 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
});
}
- public EqualsAndHashCodeTest(final Class> clazz) {
+ public AssetEqualsAndHashCodeTest(final Class> clazz) {
super(clazz);
}
diff --git a/ccm-cms/src/test/java/org/librecms/assets/AssetManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/AssetManagerTest.java
similarity index 87%
rename from ccm-cms/src/test/java/org/librecms/assets/AssetManagerTest.java
rename to ccm-cms/src/test/java/org/librecms/contentsection/AssetManagerTest.java
index 8d0dc6bf5..f6f5f3bf9 100644
--- a/ccm-cms/src/test/java/org/librecms/assets/AssetManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/AssetManagerTest.java
@@ -16,7 +16,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
+
import java.util.List;
import java.util.Optional;
@@ -44,20 +45,16 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.libreccm.security.Shiro;
import org.libreccm.tests.categories.IntegrationTest;
-import org.librecms.attachments.AttachmentList;
-import org.librecms.contentsection.ContentItem;
-import org.librecms.contentsection.ContentItemRepository;
-import org.librecms.contentsection.FolderRepository;
import javax.inject.Inject;
-import org.librecms.contentsection.Folder;
-
import java.util.Locale;
import javax.activation.MimeType;
import javax.activation.MimeTypeParseException;
+import org.librecms.assets.File;
+
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
@@ -142,8 +139,9 @@ public class AssetManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.assets.BinaryAsset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
@@ -194,9 +192,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(100)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/after-share.xml",
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/after-share.xml",
excludeColumns = {"asset_id",
"categorization_id",
"id",
@@ -230,8 +228,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(110)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void shareAssetNull() {
final Folder folder = folderRepo.findById(-420L);
@@ -250,8 +248,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(120)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void shareAssetFolderIsNull() throws MimeTypeParseException {
final File file = new File();
@@ -270,8 +268,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(130)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void shareAlreadySharedAsset() {
final Folder folder = folderRepo.findById(-420L);
@@ -289,9 +287,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(300)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-clean-orphaned.xml",
excludeColumns = {"timestamp", "object_order"})
public void cleanOrphanedAssets() {
@@ -305,9 +303,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(400)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-move-to-other-folder.xml",
excludeColumns = {"categorization_id",
"object_id",
@@ -330,9 +328,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(410)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-move-to-other-contentsection.xml",
excludeColumns = {"categorization_id",
"object_id",
@@ -356,8 +354,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(420)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void moveAssetNull() {
final Asset asset = null;
@@ -376,8 +374,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(430)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void moveAssetTargetFolderIsNull() {
final Asset asset = assetRepo.findById(-900L);
@@ -396,8 +394,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(430)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void moveAssetTargetFolderIsNotAssetFolder() {
final Asset asset = assetRepo.findById(-900L);
@@ -415,9 +413,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(500)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-copy-to-other-folder.xml",
excludeColumns = {"object_id",
"uuid",
@@ -443,9 +441,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(510)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-copy-to-same-folder.xml",
excludeColumns = {"object_id",
"uuid",
@@ -473,9 +471,9 @@ public class AssetManagerTest {
*/
@Test
@InSequence(520)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetManagerTest/"
+ value = "datasets/org/librecms/contentsection/AssetManagerTest/"
+ "after-copy-to-other-contentsection.xml",
excludeColumns = {"object_id",
"uuid",
@@ -503,8 +501,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(530)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void copyAssetNull() {
final Asset asset = null;
@@ -523,8 +521,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(540)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void copyAssetTargetFolderIsNull() {
final Asset asset = assetRepo.findById(-1100L);
@@ -543,8 +541,8 @@ public class AssetManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(550)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void copyAssetTargetFolderIsNotAssetFolder() {
final Asset asset = assetRepo.findById(-1100L);
@@ -563,8 +561,8 @@ public class AssetManagerTest {
*/
@Test
@InSequence(600)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
public void verifyIsAssetInUse() {
final Asset header = assetRepo.findById(-700L);
final Asset phb = assetRepo.findById(-800L);
@@ -592,8 +590,8 @@ public class AssetManagerTest {
*/
@Test
@InSequence(700)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
public void verifyGetAssetPathWithoutContentSection() {
final Asset header = assetRepo.findById(-700L);
final Asset phb = assetRepo.findById(-800L);
@@ -626,8 +624,8 @@ public class AssetManagerTest {
*/
@Test
@InSequence(800)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
public void verifyGetAssetPathWithContentSection() {
final Asset header = assetRepo.findById(-700L);
final Asset phb = assetRepo.findById(-800L);
@@ -660,8 +658,8 @@ public class AssetManagerTest {
*/
@Test
@InSequence(900)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
public void verifyGetAssetFolder() {
final Asset header = assetRepo.findById(-700L);
final Asset phb = assetRepo.findById(-800L);
@@ -713,8 +711,8 @@ public class AssetManagerTest {
*/
@Test
@InSequence(1000)
- @UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
+ @UsingDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
+ @ShouldMatchDataSet("datasets/org/librecms/contentsection/AssetManagerTest/data.xml")
public void verifyGetAssetFolders() {
final Asset header = assetRepo.findById(-700L);
final Asset phb = assetRepo.findById(-800L);
diff --git a/ccm-cms/src/test/java/org/librecms/assets/AssetRepositoryTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryTest.java
similarity index 86%
rename from ccm-cms/src/test/java/org/librecms/assets/AssetRepositoryTest.java
rename to ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryTest.java
index 0d4cac5f7..15e6d1036 100644
--- a/ccm-cms/src/test/java/org/librecms/assets/AssetRepositoryTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/AssetRepositoryTest.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.assets;
+package org.librecms.contentsection;
import static org.libreccm.testutils.DependenciesHelpers.*;
@@ -41,15 +41,17 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.libreccm.security.Shiro;
import org.libreccm.tests.categories.IntegrationTest;
-import org.librecms.contentsection.ContentItem;
-import org.librecms.contentsection.Folder;
-import org.librecms.contentsection.FolderRepository;
+import org.librecms.assets.BinaryAsset;
import java.util.List;
import java.util.Optional;
import javax.inject.Inject;
+import org.librecms.assets.File;
+import org.librecms.assets.Image;
+import org.librecms.assets.VideoAsset;
+
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
@@ -97,7 +99,7 @@ public class AssetRepositoryTest {
public static WebArchive createDeployment() {
return ShrinkWrap
.create(WebArchive.class,
- "LibreCCM-org.librecms.assets.AssetRepositoryTest.war")
+ "LibreCCM-org.librecms.contentsection.AssetRepositoryTest.war")
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage())
.addPackage(org.libreccm.categorization.Categorization.class
.getPackage())
@@ -131,8 +133,9 @@ public class AssetRepositoryTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.assets.BinaryAsset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
@@ -181,9 +184,10 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(100)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/assets/AssetRepositoryTest/"
+ value = "datasets/org/librecms/contentsection/AssetRepositoryTest/"
+ "after-delete.xml",
excludeColumns = {"timestamp", "object_order"}
)
@@ -202,9 +206,11 @@ public class AssetRepositoryTest {
*/
@Test(expected = AssetInUseException.class)
@InSequence(110)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
- @ShouldMatchDataSet("datasets/org/librecms/assets/AssetRepositoryTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
+ @ShouldMatchDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/"
+ + "data.xml")
@ShouldThrowException(AssetInUseException.class)
public void deleteUsedAsset() {
final Asset asset = assetRepo.findById(-700L);
@@ -220,7 +226,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(200)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void findAssetByUuid() {
final Optional header = assetRepo.findByUuid(
"4635589f-b87a-46d9-979e-6af14af063e5");
@@ -232,15 +239,25 @@ public class AssetRepositoryTest {
"5211bf56-c20b-40b3-8ef8-0c7d35325fda");
assertThat(header.isPresent(), is(true));
- assertThat(phb.isPresent(), is(true));
- assertThat(datasheet.isPresent(), is(true));
- assertThat(none.isPresent(), is(false));
-
+ assertThat(header.get(), is(instanceOf(Asset.class)));
+ assertThat(header.get(), is(instanceOf(BinaryAsset.class)));
+ assertThat(header.get(), is(instanceOf(Image.class)));
assertThat(header.get().getDisplayName(), is(equalTo("header.png")));
+
+ assertThat(phb.isPresent(), is(true));
+ assertThat(phb.get(), is(instanceOf(Asset.class)));
+ assertThat(phb.get(), is(instanceOf(BinaryAsset.class)));
+ assertThat(phb.get(), is(instanceOf(Image.class)));
assertThat(phb.get().getDisplayName(), is(equalTo("the-phb.png")));
+
+ assertThat(datasheet.isPresent(), is(true));
+ assertThat(datasheet.get(), is(instanceOf(Asset.class)));
+ assertThat(datasheet.get(), is(instanceOf(BinaryAsset.class)));
+ assertThat(datasheet.get(), is(instanceOf(File.class)));
assertThat(datasheet.get().getDisplayName(), is(equalTo(
"product1-datasheet.pdf")));
+ assertThat(none.isPresent(), is(false));
}
/**
@@ -249,7 +266,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(210)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void findAssetByUuidAndType() {
final Optional asset = assetRepo.findByUuidAndType(
"4635589f-b87a-46d9-979e-6af14af063e5", Image.class);
@@ -268,7 +286,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(300)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void findAssetByType() {
final List images = assetRepo.findByType(Image.class);
final List files = assetRepo.findByType(File.class);
@@ -295,7 +314,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(400)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void findAssetsByFolder() {
final Folder media = folderRepo.findById(-400L);
final Folder data = folderRepo.findById(-500L);
@@ -314,7 +334,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(410)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void countAssetsInFolder() {
final Folder media = folderRepo.findById(-400L);
final Folder data = folderRepo.findById(-500L);
@@ -329,7 +350,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(500)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void filterAssetByFolderAndName() {
final Folder media = folderRepo.findById(-400L);
@@ -351,7 +373,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(510)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void countFilterAssetByFolderAndName() {
final Folder media = folderRepo.findById(-400L);
@@ -368,7 +391,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(600)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void filterAssetsByFolderAndType() {
final Folder media = folderRepo.findById(-400L);
@@ -400,7 +424,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(610)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void countFilterAssetsByFolderAndType() {
final Folder media = folderRepo.findById(-400L);
@@ -419,7 +444,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(600)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void filterAssetsByFolderAndTypeAndName() {
final Folder media = folderRepo.findById(-400L);
@@ -440,7 +466,8 @@ public class AssetRepositoryTest {
*/
@Test
@InSequence(610)
- @UsingDataSet("datasets/org/librecms/assets/AssetRepositoryTest/data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml")
public void countFilterAssetsByFolderAndTypeAndName() {
final Folder media = folderRepo.findById(-400L);
diff --git a/ccm-cms/src/test/java/org/librecms/attachments/AttachmentListManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/AttachmentListManagerTest.java
similarity index 67%
rename from ccm-cms/src/test/java/org/librecms/attachments/AttachmentListManagerTest.java
rename to ccm-cms/src/test/java/org/librecms/contentsection/AttachmentListManagerTest.java
index e3227e8fd..9593497ca 100644
--- a/ccm-cms/src/test/java/org/librecms/attachments/AttachmentListManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/AttachmentListManagerTest.java
@@ -16,7 +16,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
+
+import org.librecms.contentsection.AttachmentList;
+import org.librecms.contentsection.AttachmentListManager;
import static org.libreccm.testutils.DependenciesHelpers.*;
@@ -42,7 +45,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.libreccm.security.Shiro;
import org.libreccm.tests.categories.IntegrationTest;
-import org.librecms.assets.Asset;
+import org.librecms.contentsection.Asset;
import org.librecms.contentsection.ContentItem;
import org.librecms.contentsection.ContentItemRepository;
@@ -132,9 +135,8 @@ public class AttachmentListManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
- .getPackage())
+ .addPackage(org.librecms.assets.BinaryAsset.class.getPackage())
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
.getPackage())
@@ -183,8 +185,9 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(100)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
public void getAttachmentListNames() {
shiro.getSystemUser().execute(() -> {
final Optional article1 = itemRepo.findById(-510);
@@ -201,8 +204,8 @@ public class AttachmentListManagerTest {
assertThat(names1, is(not(nullValue())));
assertThat(names1.size(), is(3));
assertThat(names1.get(0), is("list1"));
- assertThat(names1.get(1), is("list2"));
- assertThat(names1.get(2), is("list3"));
+ assertThat(names1.get(1), is("list1"));
+ assertThat(names1.get(2), is("list2"));
assertThat(names2, is(not(nullValue())));
assertThat(names2.size(), is(2));
@@ -218,8 +221,9 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(110)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void getAttachmentListNamesFromNull() {
final ContentItem item = null;
@@ -237,8 +241,9 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(200)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
public void getAttachmentList() {
final Subject systemUser = shiro.getSystemUser();
@@ -284,8 +289,9 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(210)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void getAttachmentListFromItemNull() {
final Subject systemUser = shiro.getSystemUser();
@@ -303,8 +309,9 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(220)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void getAttachmentListNameIsNull() {
final Subject systemUser = shiro.getSystemUser();
@@ -325,8 +332,9 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(230)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void getAttachmentListWithEmptyName() {
final Subject systemUser = shiro.getSystemUser();
@@ -347,12 +355,15 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(300)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- value = "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-create.xml",
+ value
+ = "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "after-create.xml",
excludeColumns = {"timestamp",
+ "object_id",
"list_id",
"uuid"})
public void createAttachmentList() {
@@ -370,14 +381,17 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(310)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void createAttachmentListForItemNull() {
- fail("Not implemented yet");
+ final ContentItem item = null;
+
+ listManager.createAttachmentList(item, "newList");
}
/**
@@ -388,13 +402,17 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(320)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
public void createAttachmentListNameIsNull() {
- fail("Not implemented yet");
+ final Optional item = itemRepo.findById(-520);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), null);
}
/**
@@ -405,13 +423,17 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(330)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
public void createAttachmentListNameIsEmpty() {
- fail("Not implemented yet");
+ final Optional item = itemRepo.findById(-520);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), " ");
}
/**
@@ -421,13 +443,21 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(400)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-create.xml")
- public void createAttachmentListAfterPosition() {
- fail("Not implemented yet");
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/after-create-with-position.xml",
+ excludeColumns = {"timestamp",
+ "object_id",
+ "list_id",
+ "uuid"})
+ public void createAttachmentListWithPosition() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), "newList", 1);
}
/**
@@ -439,13 +469,22 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(410)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-create-with-negative-position.xml")
- public void createAttachmentListNegativePosition() {
- fail("Not implemented yet");
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/"
+ + "after-create-with-negative-position.xml",
+ excludeColumns = {"timestamp",
+ "object_id",
+ "list_id",
+ "uuid"})
+ public void createAttachmentListWithNegativePosition() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), "newList", -3);
}
/**
@@ -458,13 +497,22 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(420)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-create-after-last.xml")
- public void createAttachmentListAfterLastPosition() {
- fail("Not implemented yet");
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/"
+ + "after-create-after-last.xml",
+ excludeColumns = {"timestamp",
+ "object_id",
+ "list_id",
+ "uuid"})
+ public void createAttachmentListWithPositionAfterLast() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), "newList", 10);
}
/**
@@ -475,14 +523,17 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(430)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
- public void createAttachmentListAfterPositionForItemNull() {
- fail("Not implemented yet");
+ public void createAttachmentListWithPositionForItemNull() {
+ final ContentItem item = null;
+
+ listManager.createAttachmentList(item, "newList", 10);
}
/**
@@ -493,14 +544,18 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(440)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
- public void createAttachmentListAfterPositionNameIsNull() {
- fail("Not implemented yet");
+ public void createAttachmentListWithPositionNameIsNull() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), null, 10);
}
/**
@@ -511,14 +566,18 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(450)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
- public void createAttachmentListAfterPositionNameIsEmpty() {
- fail("Not implemented yet");
+ public void createAttachmentListWithPositionNameIsEmpty() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+
+ listManager.createAttachmentList(item.get(), " ", 10);
}
/**
@@ -529,13 +588,19 @@ public class AttachmentListManagerTest {
*/
@Test
@InSequence(500)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-remove.xml")
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/after-remove.xml",
+ excludeColumns = {"timestamp"})
public void removeAttachmentList() {
- fail("Not implemented yet");
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+ final AttachmentList list = item.get().getAttachments().get(0);
+
+ listManager.removeAttachmentList(list);
}
/**
@@ -545,29 +610,59 @@ public class AttachmentListManagerTest {
*/
@Test(expected = IllegalArgumentException.class)
@InSequence(510)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void removeAttachmentListNull() {
- fail("Not implemented yet");
+ final AttachmentList list = null;
+
+ listManager.removeAttachmentList(list);
+
}
/**
- * Tries to move an {@link AttachmentList} up one position up using
+ * Tries to move an {@link AttachmentList} up one position up (+1) using
* {@link AttachmentListManager#moveUp(org.librecms.attachments.AttachmentList)}.
*/
@Test
@InSequence(600)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-move-up.xml")
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/after-move-up.xml",
+ excludeColumns = {"timestamp"})
public void moveUp() {
- fail("Not implemented yet");
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+ final AttachmentList list = item.get().getAttachments().get(0);
+
+ listManager.moveUp(list);
+ }
+
+ /**
+ * Tries to move the item of the last position up and verifies that this
+ * that cause any changes.
+ */
+ @Test
+ @InSequence(610)
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
+ @ShouldMatchDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
+ public void moveUpLast() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+ final AttachmentList list = item.get().getAttachments().get(2);
+
+ listManager.moveUp(list);
}
/**
@@ -576,15 +671,18 @@ public class AttachmentListManagerTest {
* throws an {@link IllegalArgumentException} if called for {@code null}.
*/
@Test(expected = IllegalArgumentException.class)
- @InSequence(510)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @InSequence(620)
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void moveUpListNull() {
- fail("Not implemented yet");
+ final AttachmentList list = null;
+
+ listManager.moveUp(list);
}
/**
@@ -592,14 +690,40 @@ public class AttachmentListManagerTest {
* {@link AttachmentListManager#moveUp(org.librecms.attachments.AttachmentList)}.
*/
@Test
- @InSequence(600)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @InSequence(700)
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-move-down.xml")
+ value = "datasets/org/librecms/contentsection/"
+ + "AttachmentListManagerTest/after-move-down.xml",
+ excludeColumns = {"timestamp"})
public void moveDown() {
- fail("Not implemented yet");
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+ final AttachmentList list = item.get().getAttachments().get(2);
+
+ listManager.moveDown(list);
+ }
+
+ /**
+ * Tries to move the item of the last position up and verifies that this
+ * that cause any changes.
+ */
+ @Test
+ @InSequence(710)
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
+ @ShouldMatchDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
+ public void moveDownFirst() {
+ final Optional item = itemRepo.findById(-510);
+ assertThat(item.isPresent(), is(true));
+ final AttachmentList list = item.get().getAttachments().get(0);
+
+ listManager.moveDown(list);
}
/**
@@ -608,80 +732,19 @@ public class AttachmentListManagerTest {
* throws an {@link IllegalArgumentException} if called for {@code null}.
*/
@Test(expected = IllegalArgumentException.class)
- @InSequence(510)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
+ @InSequence(720)
+ @UsingDataSet(
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ + "data.xml")
@ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
+ "datasets/org/librecms/contentsection/AttachmentListManagerTest/"
+ "data.xml")
@ShouldThrowException(IllegalArgumentException.class)
public void moveDownListNull() {
- fail("Not implemented yet");
+ final AttachmentList list = null;
+
+ listManager.moveDown(list);
}
- /**
- * Tries to move an {@link AttachmentList} to an specific position using
- * {@link AttachmentListManager#moveTo(org.librecms.attachments.AttachmentList, long)}.
- */
- @Test
- @InSequence(600)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
- @ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-move-to.xml")
- public void moveTo() {
- fail("Not implemented yet");
- }
-
- /**
- * Tries to move an {@link AttachmentList} to the first position using
- * {@link AttachmentListManager#moveTo(org.librecms.attachments.AttachmentList, long)}
- * with a negative value for {@code position}.
- */
- @Test
- @InSequence(600)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
- @ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-move-to-first.xml")
- public void moveToNegativePosition() {
- fail("Not implemented yet");
- }
-
- /**
- * Tries to move an {@link AttachmentList} to the last position using
- * {@link AttachmentListManager#moveTo(org.librecms.attachments.AttachmentList, long)}
- * with a value larger than the number of attachment lists.
- */
- @Test
- @InSequence(600)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
- @ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "after-move-to-last.xml")
- public void moveToLargerThanLast() {
- fail("Not implemented yet");
- }
-
- /**
- * Verifies that
- * {@link AttachmentListManager#moveTo(org.librecms.attachments.AttachmentList, long)}
- * throws an {@link IllegalArgumentException} if called with {@code null}
- * for the attachment list to move.
- */
- @Test(expected = IllegalArgumentException.class)
- @InSequence(510)
- @UsingDataSet("datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
- @ShouldMatchDataSet(
- "datasets/org/librecms/attachments/AttachmentListManagerTest/"
- + "data.xml")
- @ShouldThrowException(IllegalArgumentException.class)
- public void moveToListNull() {
- fail("Not implemented yet");
- }
}
diff --git a/ccm-cms/src/test/java/org/librecms/attachments/EqualsAndHashCodeTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/AttachmentsEqualsAndHashCodeTest.java
similarity index 91%
rename from ccm-cms/src/test/java/org/librecms/attachments/EqualsAndHashCodeTest.java
rename to ccm-cms/src/test/java/org/librecms/contentsection/AttachmentsEqualsAndHashCodeTest.java
index 9acca6d18..bc3a39279 100644
--- a/ccm-cms/src/test/java/org/librecms/attachments/EqualsAndHashCodeTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/AttachmentsEqualsAndHashCodeTest.java
@@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301 USA
*/
-package org.librecms.attachments;
+package org.librecms.contentsection;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -25,21 +25,20 @@ import org.libreccm.security.Group;
import org.libreccm.security.Role;
import org.libreccm.tests.categories.UnitTest;
import org.libreccm.testutils.EqualsVerifier;
-import org.librecms.assets.Asset;
-import org.librecms.contentsection.ContentItem;
-import org.librecms.contentsection.ContentSection;
import java.util.Arrays;
import java.util.Collection;
import java.util.UUID;
/**
- *
+ * Verifies the {@code equals} and {@code hashCode} methods of the classes
+ * {@link AttachmentsConfig}, {@link AttachmentList} and {@link ItemAttachment}.
+ *
* @author Jens Pelzetter
*/
@RunWith(Parameterized.class)
@org.junit.experimental.categories.Category(UnitTest.class)
-public class EqualsAndHashCodeTest extends EqualsVerifier {
+public class AttachmentsEqualsAndHashCodeTest extends EqualsVerifier {
@Parameterized.Parameters(name = "{0}")
public static Collection> data() {
@@ -50,7 +49,7 @@ public class EqualsAndHashCodeTest extends EqualsVerifier {
});
}
- public EqualsAndHashCodeTest(final Class> clazz) {
+ public AttachmentsEqualsAndHashCodeTest(final Class> clazz) {
super(clazz);
}
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemL10NManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemL10NManagerTest.java
index 087e28422..0f78f61e5 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemL10NManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemL10NManagerTest.java
@@ -127,8 +127,8 @@ public class ContentItemL10NManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemManagerTest.java
index cace7cd79..3a1674292 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemManagerTest.java
@@ -151,8 +151,8 @@ public class ContentItemManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemRepositoryTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemRepositoryTest.java
index edb8211a1..192de924b 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemRepositoryTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentItemRepositoryTest.java
@@ -127,8 +127,8 @@ public class ContentItemRepositoryTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java
index f58098de1..f383434de 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentSectionManagerTest.java
@@ -162,8 +162,8 @@ public class ContentSectionManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(ContentSection.class.getPackage())
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/ContentTypeRepositoryTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/ContentTypeRepositoryTest.java
index 9041e7f89..8a63587b2 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/ContentTypeRepositoryTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/ContentTypeRepositoryTest.java
@@ -130,8 +130,8 @@ public class ContentTypeRepositoryTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java
index 2a683fd12..0320d0cea 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/DatasetsTest.java
@@ -43,6 +43,30 @@ public class DatasetsTest extends DatasetsVerifier {
@Parameterized.Parameters(name = "Dataset {0}")
public static Collection data() {
return Arrays.asList(new String[]{
+ "/datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml",
+ "/datasets/org/librecms/contentsection/AssetRepositoryTest/after-delete.xml",
+
+ "/datasets/org/librecms/contentsection/AssetManagerTest/data.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-clean-orphaned.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-contentsection.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-folder.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-same-folder.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-share.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-contentsection.xml",
+ "/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-folder.xml",
+
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/data.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-after-last.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-negative-position.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-position.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-move-down.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-move-to-first.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-move-to-last.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-move-to.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-move-up.xml",
+ "/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-remove.xml",
+
"/datasets/org/librecms/contentsection/ContentSectionManagerTest/data.xml",
"/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-add-contenttype.xml",
"/datasets/org/librecms/contentsection/ContentSectionManagerTest/after-remove-contenttype.xml",
diff --git a/ccm-cms/src/test/java/org/librecms/contentsection/FolderManagerTest.java b/ccm-cms/src/test/java/org/librecms/contentsection/FolderManagerTest.java
index f20f8f1ee..fc09ba826 100644
--- a/ccm-cms/src/test/java/org/librecms/contentsection/FolderManagerTest.java
+++ b/ccm-cms/src/test/java/org/librecms/contentsection/FolderManagerTest.java
@@ -122,8 +122,8 @@ public class FolderManagerTest {
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.class.getPackage())
- .addPackage(org.librecms.assets.Asset.class.getPackage())
- .addPackage(org.librecms.attachments.AttachmentList.class
+ .addPackage(org.librecms.contentsection.Asset.class.getPackage())
+ .addPackage(org.librecms.contentsection.AttachmentList.class
.getPackage())
.addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(ContentSection.class.getPackage())
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-last.xml b/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-last.xml
deleted file mode 100644
index d174d5026..000000000
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-last.xml
+++ /dev/null
@@ -1,508 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to.xml b/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to.xml
deleted file mode 100644
index d174d5026..000000000
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to.xml
+++ /dev/null
@@ -1,508 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-clean-orphaned.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-clean-orphaned.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-clean-orphaned.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-clean-orphaned.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-contentsection.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-contentsection.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-contentsection.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-contentsection.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-folder.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-folder.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-other-folder.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-other-folder.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-same-folder.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-same-folder.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-copy-to-same-folder.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-copy-to-same-folder.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-contentsection.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-contentsection.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-contentsection.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-contentsection.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-folder.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-folder.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-move-to-other-folder.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-move-to-other-folder.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-share.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-share.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/after-share.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/after-share.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/data.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/data.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetManagerTest/data.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetManagerTest/data.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetRepositoryTest/after-delete.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetRepositoryTest/after-delete.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetRepositoryTest/after-delete.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetRepositoryTest/after-delete.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetRepositoryTest/data.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml
similarity index 100%
rename from ccm-cms/src/test/resources/datasets/org/librecms/assets/AssetRepositoryTest/data.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AssetRepositoryTest/data.xml
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-after-last.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-after-last.xml
similarity index 90%
rename from ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-after-last.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-after-last.xml
index d174d5026..c7de336b4 100644
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-after-last.xml
+++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-after-last.xml
@@ -3,6 +3,8 @@
+
+
+
-
-
-
+ uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
+ item_id="-520" />
-
+
+
+ uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
+ item_id="-510" />
+
+
+
+
+
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-with-negative-position.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-negative-position.xml
similarity index 94%
rename from ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-with-negative-position.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-negative-position.xml
index d174d5026..4b45aa812 100644
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create-with-negative-position.xml
+++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-negative-position.xml
@@ -3,6 +3,8 @@
+
+
@@ -363,37 +369,49 @@
list_order="1"
uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
item_id="-520" />
+
-
-
-
+ uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
+ item_id="-520" />
-
+
+ uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
+ item_id="-510" />
+
+
+
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-first.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-position.xml
similarity index 93%
rename from ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-first.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-position.xml
index d174d5026..51a7d55ac 100644
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-move-to-first.xml
+++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create-with-position.xml
@@ -3,6 +3,8 @@
+
+
@@ -363,37 +369,57 @@
list_order="1"
uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
item_id="-520" />
+
-
-
-
+ uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
+ item_id="-520" />
-
+
+ uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
+ item_id="-510" />
+
+
+
+
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create.xml
similarity index 95%
rename from ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create.xml
index cbbc3ba3d..ae1bf914d 100644
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/after-create.xml
+++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/after-create.xml
@@ -3,7 +3,7 @@
-
+
-
+
+
+
-
-
-
+
+
+ item_id="-510" />
+
+
+
@@ -367,19 +369,21 @@
+ item_id="-510" />
+
+
+
-
-
+
+
+
+
-
-
+
+
+
@@ -185,12 +203,6 @@
-
-
@@ -212,18 +224,30 @@
locale="en" />
+
+
-
-
+
+
+
-
-
+
+
+
@@ -338,18 +367,13 @@
category_index="false"
type="folder" />
-
@@ -364,52 +388,41 @@
uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
item_id="-520" />
-
-
-
+ uuid="a6841869-6ebd-4a14-9c52-627cfc880f4e"
+ item_id="-520" />
-
+
+ uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
+ item_id="-510" />
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/data.xml b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/data.xml
similarity index 99%
rename from ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/data.xml
rename to ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/data.xml
index 09622fe0b..757b94843 100644
--- a/ccm-cms/src/test/resources/datasets/org/librecms/attachments/AttachmentListManagerTest/data.xml
+++ b/ccm-cms/src/test/resources/datasets/org/librecms/contentsection/AttachmentListManagerTest/data.xml
@@ -213,17 +213,17 @@