CCM NG/ccm-cms: AssetManager#move now passes all tests
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4412 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
a8a9a4cf28
commit
37203117e9
|
|
@ -19,6 +19,7 @@
|
|||
package org.librecms.assets;
|
||||
|
||||
import com.arsdigita.util.UncheckedWrapperException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
|
@ -47,7 +48,9 @@ import org.librecms.contentsection.FolderRepository;
|
|||
import org.librecms.contentsection.privileges.AssetPrivileges;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.libreccm.categorization.ObjectNotAssignedToCategoryException;
|
||||
import org.librecms.contentsection.FolderType;
|
||||
|
||||
import static org.librecms.CmsConstants.*;
|
||||
|
||||
|
|
@ -171,6 +174,12 @@ public class AssetManager {
|
|||
throw new IllegalArgumentException("No target folder specified.");
|
||||
}
|
||||
|
||||
if (targetFolder.getType() != FolderType.ASSETS_FOLDER) {
|
||||
throw new IllegalArgumentException(String.format(
|
||||
"The provided target folder %s is not an asset folder.",
|
||||
Objects.toString(targetFolder)));
|
||||
}
|
||||
|
||||
final Optional<Folder> currentFolder = getAssetFolder(asset);
|
||||
|
||||
if (currentFolder.isPresent()) {
|
||||
|
|
|
|||
|
|
@ -331,15 +331,24 @@ public class AssetManagerTest {
|
|||
* section using
|
||||
* {@link AssetManager#copy(org.librecms.assets.Asset, org.librecms.contentsection.Folder)}.
|
||||
*/
|
||||
@Test
|
||||
@InSequence(410)
|
||||
@UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
|
||||
@ShouldMatchDataSet(
|
||||
value = "datasets/org/librecms/assets/AssetManagerTest/"
|
||||
+ "after-move-to-other-contentsection.xml",
|
||||
excludeColumns = {"object_id",
|
||||
excludeColumns = {"categorization_id",
|
||||
"object_id",
|
||||
"object_order",
|
||||
"uuid"})
|
||||
public void moveAssetToFolderInOtherContentSection() {
|
||||
fail();
|
||||
final Asset asset = assetRepo.findById(-900L);
|
||||
assertThat(asset, is(not(nullValue())));
|
||||
|
||||
final Folder folder = folderRepo.findById(-1600L);
|
||||
assertThat(folder, is(not(nullValue())));
|
||||
|
||||
assetManager.move(asset, folder);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -354,7 +363,10 @@ public class AssetManagerTest {
|
|||
@ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
|
||||
@ShouldThrowException(IllegalArgumentException.class)
|
||||
public void moveAssetNull() {
|
||||
fail();
|
||||
final Folder folder = folderRepo.findById(-410L);
|
||||
assertThat(folder, is(not(nullValue())));
|
||||
|
||||
assetManager.move(null, folder);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -369,7 +381,10 @@ public class AssetManagerTest {
|
|||
@ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
|
||||
@ShouldThrowException(IllegalArgumentException.class)
|
||||
public void moveAssetTargetFolderIsNull() {
|
||||
fail();
|
||||
final Asset asset = assetRepo.findById(-900L);
|
||||
assertThat(asset, is(not(nullValue())));
|
||||
|
||||
assetManager.move(asset, null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -383,8 +398,14 @@ public class AssetManagerTest {
|
|||
@UsingDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
|
||||
@ShouldMatchDataSet("datasets/org/librecms/assets/AssetManagerTest/data.xml")
|
||||
@ShouldThrowException(IllegalArgumentException.class)
|
||||
public void moveAssetTargetFolderNotAssetFolder() {
|
||||
fail();
|
||||
public void moveAssetTargetFolderIsNotAssetFolder() {
|
||||
final Asset asset = assetRepo.findById(-900L);
|
||||
assertThat(asset, is(not(nullValue())));
|
||||
|
||||
final Folder folder = folderRepo.findById(-200L);
|
||||
assertThat(folder, is(not(nullValue())));
|
||||
|
||||
assetManager.move(asset, folder);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -23,6 +23,12 @@
|
|||
<ccm_core.ccm_objects object_id="-400"
|
||||
display_name="media"
|
||||
uuid="f8546369-4d06-47ea-9138-345d29ab8d68" />
|
||||
<ccm_core.ccm_objects object_id="-410"
|
||||
display_name="images"
|
||||
uuid="713d857d-dd0e-4fc5-85d6-d85d25279a10" />
|
||||
<ccm_core.ccm_objects object_id="-420"
|
||||
display_name="downloads"
|
||||
uuid="9d89913d-759e-4de9-b2fb-c6f58e55de09" />
|
||||
<ccm_core.ccm_objects object_id="-500"
|
||||
display_name="data"
|
||||
uuid="18fbc7f4-ce7e-45d6-8dad-02887164b99d" />
|
||||
|
|
@ -111,13 +117,31 @@
|
|||
category_order="1"/>
|
||||
<ccm_core.categories object_id="-400"
|
||||
unique_id="f8546369-4d06-47ea-9138-345d29ab8d68"
|
||||
parent_category_id="-300"
|
||||
name="media"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
abstract_category="false"
|
||||
category_order="1"/>
|
||||
<ccm_core.categories object_id="-410"
|
||||
unique_id="713d857d-dd0e-4fc5-85d6-d85d25279a10"
|
||||
parent_category_id="-400"
|
||||
name="images"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
abstract_category="false"
|
||||
category_order="1" />
|
||||
<ccm_core.categories object_id="-420"
|
||||
unique_id="9d89913d-759e-4de9-b2fb-c6f58e55de09"
|
||||
parent_category_id="-400"
|
||||
name="downloads"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
abstract_category="false"
|
||||
category_order="1" />
|
||||
<ccm_core.categories object_id="-500"
|
||||
unique_id="18fbc7f4-ce7e-45d6-8dad-02887164b99d"
|
||||
parent_category_id="-300"
|
||||
name="data"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
|
|
@ -139,6 +163,7 @@
|
|||
category_order="1" />
|
||||
<ccm_core.categories object_id="-1600"
|
||||
unique_id="ec3f0d51-5d9b-440e-bb5a-5fac7da94af1"
|
||||
parent_category_id="-1500"
|
||||
name="media"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
|
|
@ -146,6 +171,7 @@
|
|||
category_order="1" />
|
||||
<ccm_core.categories object_id="-1700"
|
||||
unique_id="80086df3-d682-42bb-9939-8cc04a300575"
|
||||
parent_category_id="-1500"
|
||||
name="data"
|
||||
enabled="true"
|
||||
visible="true"
|
||||
|
|
@ -161,6 +187,12 @@
|
|||
<ccm_core.category_titles object_id="-400"
|
||||
locale="en"
|
||||
localized_value="media" />
|
||||
<ccm_core.category_titles object_id="-410"
|
||||
locale="en"
|
||||
localized_value="images" />
|
||||
<ccm_core.category_titles object_id="-420"
|
||||
locale="en"
|
||||
localized_value="downloads" />
|
||||
<ccm_core.category_titles object_id="-500"
|
||||
locale="en"
|
||||
localized_value="data" />
|
||||
|
|
@ -196,6 +228,10 @@
|
|||
type="ASSETS_FOLDER" />
|
||||
<ccm_cms.folders object_id="-400"
|
||||
type="ASSETS_FOLDER" />
|
||||
<ccm_cms.folders object_id="-410"
|
||||
type="ASSETS_FOLDER" />
|
||||
<ccm_cms.folders object_id="-420"
|
||||
type="ASSETS_FOLDER" />
|
||||
<ccm_cms.folders object_id="-500"
|
||||
type="ASSETS_FOLDER" />
|
||||
<ccm_cms.folders object_id="-1400"
|
||||
|
|
@ -222,6 +258,10 @@
|
|||
content_section_id="-100" />
|
||||
<ccm_cms.folder_content_section_map folder_id="-400"
|
||||
content_section_id="-100" />
|
||||
<ccm_cms.folder_content_section_map folder_id="-410"
|
||||
content_section_id="-100" />
|
||||
<ccm_cms.folder_content_section_map folder_id="-420"
|
||||
content_section_id="-100" />
|
||||
<ccm_cms.folder_content_section_map folder_id="-500"
|
||||
content_section_id="-100" />
|
||||
<ccm_cms.folder_content_section_map folder_id="-1400"
|
||||
|
|
@ -275,7 +315,7 @@
|
|||
localized_value="product1-datasheet.pdf"
|
||||
locale="en" />
|
||||
<ccm_cms.asset_titles asset_id="-1100"
|
||||
localized_value="catelog.pdf"
|
||||
localized_value="catalog.pdf"
|
||||
locale="en" />
|
||||
<ccm_cms.asset_titles asset_id="-1150"
|
||||
localized_value="orphan.pdf"
|
||||
|
|
@ -325,7 +365,7 @@
|
|||
rev="0"
|
||||
filename="product1-datasheet.pdf"
|
||||
mime_type="application/pdf"
|
||||
data_size="0" />
|
||||
data_size="0" />
|
||||
<ccm_cms.binary_assets_aud object_id="-1100"
|
||||
rev="0"
|
||||
filename="catalog.pdf"
|
||||
|
|
@ -398,9 +438,13 @@
|
|||
<ccm_cms.asset_titles_aud asset_id="-1100"
|
||||
rev="0"
|
||||
revtype="0"
|
||||
localized_value="catelog.pdf"
|
||||
localized_value="catalog.pdf"
|
||||
locale="en" />
|
||||
<ccm_cms.asset_titles_aud asset_id="-1150"
|
||||
rev="0"
|
||||
revtype="0"
|
||||
localized_value="orphan.pdf"
|
||||
locale="en" />
|
||||
|
||||
|
||||
<ccm_cms.content_items_aud object_id="-600"
|
||||
rev="0"
|
||||
|
|
@ -454,28 +498,28 @@
|
|||
category_index="false"
|
||||
type="folder" />
|
||||
<ccm_core.categorizations categorization_id="-30200"
|
||||
category_id="-400"
|
||||
category_id="-410"
|
||||
object_id="-700"
|
||||
category_order="1"
|
||||
object_order="2"
|
||||
category_index="false"
|
||||
type="folder" />
|
||||
<ccm_core.categorizations categorization_id="-30300"
|
||||
category_id="-400"
|
||||
category_id="-410"
|
||||
object_id="-800"
|
||||
category_order="1"
|
||||
object_order="3"
|
||||
category_index="false"
|
||||
type="folder" />
|
||||
<ccm_core.categorizations categorization_id="-30400"
|
||||
category_id="-400"
|
||||
category_id="-1600"
|
||||
object_id="-900"
|
||||
category_order="1"
|
||||
object_order="4"
|
||||
category_index="false"
|
||||
type="folder" />
|
||||
<ccm_core.categorizations categorization_id="-30600"
|
||||
category_id="-400"
|
||||
category_id="-420"
|
||||
object_id="-1100"
|
||||
category_order="1"
|
||||
object_order="6"
|
||||
|
|
|
|||
Loading…
Reference in New Issue