CCM NG/ccm-cms: ItemAttachmentManager#unattach

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4426 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2016-11-01 10:47:28 +00:00
parent 2c1dc748fd
commit 0e8fe19efd
7 changed files with 634 additions and 147 deletions

View File

@ -53,6 +53,13 @@ import static org.librecms.CmsConstants.*;
query = "SELECT COUNT(i) FROM ItemAttachment i "
+ "WHERE i.asset = :asset "
+ "AND i.attachmentList = :attachmentList")
,
@NamedQuery(
name = "ItemAttachment.findByAssetByAndList",
query = "SELECT i FROM ItemAttachment i "
+ "WHERE i.asset = :asset "
+ "AND i.attachmentList = :attachmentList"
)
})
public class ItemAttachment<T extends Asset>
implements Comparable<ItemAttachment<?>>,

View File

@ -18,6 +18,7 @@
*/
package org.librecms.contentsection;
import java.util.List;
import org.libreccm.security.AuthorizationRequired;
import org.libreccm.security.RequiresPrivilege;
import org.librecms.contentsection.privileges.ItemPrivileges;
@ -44,6 +45,9 @@ public class ItemAttachmentManager {
@Inject
private AssetRepository assetRepo;
@Inject
private AssetManager assetManager;
/**
* Adds the provided {@link Asset} to the provided {@link AttachmentList}.
*
@ -99,6 +103,7 @@ public class ItemAttachmentManager {
@Transactional(Transactional.TxType.REQUIRES_NEW)
private void saveNonSharedAsset(final Asset asset) {
assetRepo.save(asset);
entityManager.flush();
}
/**
@ -112,16 +117,39 @@ public class ItemAttachmentManager {
*/
public void unattachAsset(final Asset asset,
final AttachmentList attachmentList) {
throw new UnsupportedOperationException("Not implemented yet");
final TypedQuery<Long> countQuery = entityManager.createNamedQuery(
"ItemAttachment.countByAssetIdAndList", Long.class);
countQuery.setParameter("asset", asset);
countQuery.setParameter("attachmentList", attachmentList);
final long count = countQuery.getSingleResult();
if (count == 0) {
return;
}
final TypedQuery<ItemAttachment> query = entityManager
.createNamedQuery("ItemAttachment.findByAssetByAndList",
ItemAttachment.class);
query.setParameter("asset", asset);
query.setParameter("attachmentList", attachmentList);
final List<ItemAttachment> attachments = query.getResultList();
attachments.forEach((attachment) -> entityManager.remove(attachment));
if (!assetManager.isShared(asset)) {
// assetRepo.delete(asset);
entityManager.remove(asset);
}
}
/**
* Moves the {@link Asset} one position up in the provided
* {@link AttachmentList}.
*
* @param asset The asset to move up. If the asset is not part of
* the provided {@link AttachmentList} an
* {@link IllegalArgumentException} is thrown.
* @param asset The asset to move up. If the asset is not part of the
* provided {@link AttachmentList} an {@link IllegalArgumentException} is
* thrown.
* @param attachmentList The attachment list in which the item is moved.
*/
public void moveUp(final Asset asset,
@ -133,9 +161,9 @@ public class ItemAttachmentManager {
* Moves the {@link Asset} one position down in the provided
* {@link AttachmentList}.
*
* @param asset The asset to move down. If the asset is not part of
* the provided {@link AttachmentList} an
* {@link IllegalArgumentException} is thrown.
* @param asset The asset to move down. If the asset is not part of the
* provided {@link AttachmentList} an {@link IllegalArgumentException} is
* thrown.
* @param attachmentList The attachment list in which the item is moved.
*/
public void moveDown(final Asset asset,

View File

@ -104,7 +104,9 @@ public class DatasetsTest extends DatasetsVerifier {
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/data.xml",
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-shared.xml",
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-nonshared.xml",});
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-attach-nonshared.xml",
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml",
"/datasets/org/librecms/contentsection/ItemAttachmentManagerTest/after-unattach-nonshared.xml",});
}
public DatasetsTest(final String datasetPath) {

View File

@ -61,7 +61,7 @@ import static org.junit.Assert.*;
@org.junit.experimental.categories.Category(IntegrationTest.class)
@RunWith(Arquillian.class)
@PersistenceTest
@Transactional(TransactionMode.COMMIT)
//@Transactional(TransactionMode.COMMIT)
@CreateSchema({"create_ccm_cms_schema.sql"})
public class ItemAttachmentManagerTest {
@ -107,8 +107,8 @@ public class ItemAttachmentManagerTest {
return ShrinkWrap
.create(WebArchive.class,
"LibreCCM-org.librecms.assets.AssetManagerTest.war")
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage())
.addPackage(org.libreccm.categorization.Categorization.class
.addPackage(org.libreccm.auditing.CcmRevision.class.getPackage()).
addPackage(org.libreccm.categorization.Categorization.class
.getPackage())
.addPackage(org.libreccm.cdi.utils.CdiUtil.class.getPackage())
.addPackage(org.libreccm.configuration.Configuration.class
@ -129,20 +129,20 @@ public class ItemAttachmentManagerTest {
.addClass(com.arsdigita.kernel.KernelConfig.class)
.addClass(com.arsdigita.runtime.CCMResourceManager.class)
.addClass(
com.arsdigita.ui.admin.applications.AbstractAppInstanceForm.class)
.addClass(
com.arsdigita.ui.admin.applications.AbstractAppSettingsPane.class)
.addClass(
com.arsdigita.ui.admin.applications.DefaultApplicationInstanceForm.class)
.addClass(
com.arsdigita.ui.admin.applications.DefaultApplicationSettingsPane.class)
.addClass(com.arsdigita.cms.dispatcher.ItemResolver.class)
com.arsdigita.ui.admin.applications.AbstractAppInstanceForm.class).
addClass(
com.arsdigita.ui.admin.applications.AbstractAppSettingsPane.class).
addClass(
com.arsdigita.ui.admin.applications.DefaultApplicationInstanceForm.class).
addClass(
com.arsdigita.ui.admin.applications.DefaultApplicationSettingsPane.class).
addClass(com.arsdigita.cms.dispatcher.ItemResolver.class)
.addPackage(com.arsdigita.util.Lockable.class.getPackage())
.addPackage(com.arsdigita.web.BaseServlet.class.getPackage())
.addPackage(org.librecms.Cms.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.Asset.class.getPackage()).
addPackage(org.librecms.lifecycle.Lifecycle.class.getPackage())
.addPackage(org.librecms.contentsection.ContentSection.class
.getPackage())
.addPackage(org.librecms.contenttypes.Article.class.getPackage()).
@ -305,18 +305,55 @@ public class ItemAttachmentManagerTest {
}
/**
* Tries to unattach several {@link Asset} using
* {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)}
* and verifies that non shared assets are deleted.
* Tries to unattach a shared {@link Asset} using
* {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)}.
*/
@Test
@InSequence(210)
@UsingDataSet("datasets/org/librecms/contentsection/"
+ "ItemAttachmentManagerTest/data.xml")
@ShouldMatchDataSet("datasets/org/librecms/contentsection/"
+ "ItemAttachmentManagerTest/after-unattach.xml")
public void unattachAsset() {
fail("Not implemented yet");
@ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/"
+ "ItemAttachmentManagerTest/"
+ "after-unattach-shared.xml",
excludeColumns = {"timestamp"})
public void unattachSharedAsset() {
final Asset asset = assetRepo.findById(-610L);
final Optional<ContentItem> item = itemRepo.findById(-510L);
assertThat(asset, is(not(nullValue())));
assertThat(item.isPresent(), is(true));
final AttachmentList list = item.get().getAttachments().get(0);
attachmentManager.unattachAsset(asset, list);
}
/**
* Tries to unattach a non shared {@link Asset} using
* {@link ItemAttachmentManager#unattachAsset(org.librecms.contentsection.Asset, org.librecms.contentsection.AttachmentList)}
* and verifies that assets has been unattached <strong>and</strong>
* deleted.
*/
@Test
@InSequence(220)
@UsingDataSet("datasets/org/librecms/contentsection/"
+ "ItemAttachmentManagerTest/data.xml")
@ShouldMatchDataSet(
value = "datasets/org/librecms/contentsection/"
+ "ItemAttachmentManagerTest/"
+ "after-unattach-nonshared.xml",
excludeColumns = {"timestamp"})
public void unattachNonSharedAsset() {
final Asset asset = assetRepo.findById(-720L);
final Optional<ContentItem> item = itemRepo.findById(-510L);
assertThat(asset, is(not(nullValue())));
assertThat(item.isPresent(), is(true));
final AttachmentList list = item.get().getAttachments().get(0);
attachmentManager.unattachAsset(asset, list);
}
/**

View File

@ -31,9 +31,9 @@
<property name="qualifiedTableNames">true</property>
</extension>
<!--<extension qualifier="persistence-script">
<extension qualifier="persistence-script">
<property name="scriptsToExecuteAfterTest">scripts/pgsql-cleanup.sql</property>
</extension>-->
</extension>
</arquillian>

View File

@ -3,6 +3,8 @@
<ccm_core.ccm_revisions id="0"
timestamp="1451602800" />
<ccm_core.ccm_revisions id="1"
timestamp="1451602800" />
<ccm_core.ccm_objects object_id="-100"
display_name="info"
@ -31,9 +33,6 @@
<ccm_core.ccm_objects object_id="-710"
display_name="asset510-1a"
uuid="cdc1bea7-7d3e-4019-a73c-d00e41efc9d0" />
<ccm_core.ccm_objects object_id="-720"
display_name="asset510-1b"
uuid="71479eae-28bd-446e-82a9-21581192d298" />
<ccm_core.ccm_objects_aud object_id="-510"
rev="0"
@ -58,7 +57,11 @@
<ccm_core.ccm_objects_aud object_id="-720"
rev="0"
revtype="0"
revend="1"
display_name="asset510-1b" />
<ccm_core.ccm_objects_aud object_id="-720"
rev="1"
revtype="2" />
<ccm_core.categories object_id="-200"
unique_id="82014239-9c06-486d-ae8c-4ae47f52a699"
@ -131,7 +134,6 @@
<ccm_cms.assets object_id="-620" />
<ccm_cms.assets object_id="-630" />
<ccm_cms.assets object_id="-710" />
<ccm_cms.assets object_id="-720" />
<ccm_cms.assets_aud object_id="-610"
rev="0" />
@ -143,6 +145,8 @@
rev="0" />
<ccm_cms.assets_aud object_id="-720"
rev="0" />
<ccm_cms.assets_aud object_id="-720"
rev="1" />
<ccm_cms.asset_titles asset_id="-610"
localized_value="sharedAsset1"
@ -156,9 +160,6 @@
<ccm_cms.asset_titles asset_id="-710"
localized_value="asset-510-1a"
locale="en" />
<ccm_cms.asset_titles asset_id="-720"
localized_value="asset-510-1b"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-610"
rev="0"
@ -183,6 +184,12 @@
<ccm_cms.asset_titles_aud asset_id="-720"
rev="0"
revtype="0"
revend="1"
localized_value="asset-510-1b"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-720"
rev="1"
revtype="2"
localized_value="asset-510-1b"
locale="en" />
@ -202,10 +209,6 @@
filename="asset-510-1a.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets object_id="-720"
filename="asset-510-1b.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-610"
rev="0"
@ -232,12 +235,13 @@
filename="asset-510-1b.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-720"
rev="1" />
<ccm_cms.files object_id="-610" />
<ccm_cms.files object_id="-620" />
<ccm_cms.files object_id="-630" />
<ccm_cms.files object_id="-710" />
<ccm_cms.files object_id="-720" />
<ccm_cms.files_aud object_id="-610"
rev="0" />
@ -249,6 +253,8 @@
rev="0" />
<ccm_cms.files_aud object_id="-720"
rev="0" />
<ccm_cms.files_aud object_id="-720"
rev="1" />
<ccm_core.categorizations categorization_id="-30100"
category_id="-200"
@ -313,17 +319,18 @@
name="list2"
uuid="a0c2ba42-d506-48c0-b7cc-d32b2a031a50"
item_id="-510" />
<ccm_cms.attachment_lists_aud list_id="-510010"
rev="1"
revtype="1"
name="list1"
uuid="209e3f76-1523-4601-84bd-dbae91f4f26d"
item_id="-510" />
<ccm_cms.attachments attachment_id="-510110"
sort_key="1"
uuid="de1d8531-df11-4808-9679-9ffa7537ebd1"
asset_id="-710"
attachment_list_id="-510010" />
<ccm_cms.attachments attachment_id="-510120"
sort_key="2"
uuid="5a34deae-9e3a-41e8-abd8-6a7d10dd9e7d"
asset_id="-720"
attachment_list_id="-510010" />
<ccm_cms.attachments attachment_id="-510130"
sort_key="3"
uuid="9e34627c-2da9-45fe-aae3-48801bd27cbe"
@ -345,6 +352,7 @@
<ccm_cms.attachments_aud attachment_id="-510120"
rev="0"
revtype="0"
revend="1"
sort_key="2"
uuid="5a34deae-9e3a-41e8-abd8-6a7d10dd9e7d"
asset_id="-720"
@ -370,6 +378,9 @@
uuid="395c43dc-4aea-43e3-a2de-13e10f3a63f7"
asset_id="-630"
attachment_list_id="-510030" />
<ccm_cms.attachments_aud attachment_id="-510120"
rev="1"
revtype="2" />
</dataset>

View File

@ -0,0 +1,402 @@
<?xml version="1.0" encoding="utf-8"?>
<dataset>
<ccm_core.ccm_revisions id="0"
timestamp="1451602800" />
<ccm_core.ccm_revisions id="1"
timestamp="1451602800" />
<ccm_core.ccm_objects object_id="-100"
display_name="info"
uuid="963bcae7-3aeb-4b62-891c-e16c4defa1f2" />
<ccm_core.ccm_objects object_id="-200"
display_name="info_root"
uuid="82014239-9c06-486d-ae8c-4ae47f52a699" />
<ccm_core.ccm_objects object_id="-300"
display_name="info_assets"
uuid="b163f73c-9ac2-44d7-a037-de621f5ca828" />
<ccm_core.ccm_objects object_id="-400"
display_name="org.librecms.contenttypes.Article"
uuid="bd061ab6-9c4f-45ff-ab69-f521008eeac3" />
<ccm_core.ccm_objects object_id="-510"
display_name="article1"
uuid="aed4b402-1180-46c6-b42d-7245f4dca248" />
<ccm_core.ccm_objects object_id="-610"
display_name="sharedAsset1"
uuid="3be6e343-1fc3-47a8-8a39-c729e11b485f" />
<ccm_core.ccm_objects object_id="-620"
display_name="sharedAsset2"
uuid="e6cb989b-021b-4a55-b095-63239a9425b2" />
<ccm_core.ccm_objects object_id="-630"
display_name="sharedAsset3"
uuid="2f66baca-7e5a-4556-a4c5-f9285d71293d" />
<ccm_core.ccm_objects object_id="-710"
display_name="asset510-1a"
uuid="cdc1bea7-7d3e-4019-a73c-d00e41efc9d0" />
<ccm_core.ccm_objects object_id="-720"
display_name="asset510-1b"
uuid="71479eae-28bd-446e-82a9-21581192d298" />
<ccm_core.ccm_objects_aud object_id="-510"
rev="0"
revtype="0"
display_name="article1" />
<ccm_core.ccm_objects_aud object_id="-610"
rev="0"
revtype="0"
display_name="sharedAsset1" />
<ccm_core.ccm_objects_aud object_id="-620"
rev="0"
revtype="0"
display_name="sharedAsset2" />
<ccm_core.ccm_objects_aud object_id="-630"
rev="0"
revtype="0"
display_name="sharedAsset3" />
<ccm_core.ccm_objects_aud object_id="-710"
rev="0"
revtype="0"
display_name="asset510-1a" />
<ccm_core.ccm_objects_aud object_id="-720"
rev="0"
revtype="0"
display_name="asset510-1b" />
<ccm_core.ccm_objects_aud object_id="-610"
rev="1"
revtype="1"
display_name="sharedAsset1" />
<ccm_core.categories object_id="-200"
unique_id="82014239-9c06-486d-ae8c-4ae47f52a699"
name="info_root"
enabled="true"
visible="true"
abstract_category="false"
category_order="1" />
<ccm_core.categories object_id="-300"
unique_id="b163f73c-9ac2-44d7-a037-de621f5ca828"
name="info_assets"
enabled="true"
visible="true"
abstract_category="false"
category_order="1"/>
<ccm_core.category_titles object_id="-200"
locale="en"
localized_value="info_root" />
<ccm_core.category_titles object_id="-300"
locale="en"
localized_value="info_assets" />
<ccm_core.resources object_id="-100"
created="2016-07-15" />
<ccm_core.applications object_id="-100"
application_type="org.librecms.contentsection.ContentSection"
primary_url="info" />
<ccm_cms.folders object_id="-200"
type="DOCUMENTS_FOLDER" />
<ccm_cms.folders object_id="-300"
type="ASSETS_FOLDER" />
<ccm_cms.content_sections object_id="-100"
label="info"
root_documents_folder_id="-200"
root_assets_folder_id="-300" />
<ccm_cms.folder_content_section_map folder_id="-200"
content_section_id="-100" />
<ccm_cms.folder_content_section_map folder_id="-300"
content_section_id="-100" />
<ccm_cms.content_types object_id="-400"
content_item_class="org.librecms.contenttypes.Article"
content_section_id="-100" />
<ccm_cms.content_items object_id="-510"
item_uuid="aed4b402-1180-46c6-b42d-7245f4dca248"
version="DRAFT"
content_type_id="-400" />
<ccm_cms.articles object_id="-510" />
<ccm_cms.article_texts
object_id="-510"
locale="en"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis." />
<ccm_cms.article_texts_aud
rev="0"
object_id="-510"
localized_value="Quisque varius turpis et nibh rhoncus consequat. In sapien metus, fermentum quis."
locale="en"
revtype="0" />
<ccm_cms.assets object_id="-610" />
<ccm_cms.assets object_id="-620" />
<ccm_cms.assets object_id="-630" />
<ccm_cms.assets object_id="-710" />
<ccm_cms.assets object_id="-720" />
<ccm_cms.assets_aud object_id="-610"
rev="0" />
<ccm_cms.assets_aud object_id="-620"
rev="0" />
<ccm_cms.assets_aud object_id="-630"
rev="0" />
<ccm_cms.assets_aud object_id="-710"
rev="0" />
<ccm_cms.assets_aud object_id="-720"
rev="0" />
<ccm_cms.assets_aud object_id="-610"
rev="1" />
<ccm_cms.asset_titles asset_id="-610"
localized_value="sharedAsset1"
locale="en" />
<ccm_cms.asset_titles asset_id="-620"
localized_value="sharedAsset2"
locale="en" />
<ccm_cms.asset_titles asset_id="-630"
localized_value="sharedAsset3"
locale="en" />
<ccm_cms.asset_titles asset_id="-710"
localized_value="asset-510-1a"
locale="en" />
<ccm_cms.asset_titles asset_id="-720"
localized_value="asset-510-1b"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-610"
rev="0"
revtype="0"
localized_value="sharedAsset1"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-620"
rev="0"
revtype="0"
localized_value="sharedAsset2"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-630"
rev="0"
revtype="0"
localized_value="sharedAsset3"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-710"
rev="0"
revtype="0"
localized_value="asset-510-1a"
locale="en" />
<ccm_cms.asset_titles_aud asset_id="-720"
rev="0"
revtype="0"
localized_value="asset-510-1b"
locale="en" />
<ccm_cms.binary_assets object_id="-610"
filename="shared-asset-1.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets object_id="-620"
filename="shared-asset-2.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets object_id="-630"
filename="shared-asset-3.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets object_id="-710"
filename="asset-510-1a.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets object_id="-720"
filename="asset-510-1b.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-610"
rev="0"
filename="shared-asset-1.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-620"
rev="0"
filename="shared-asset-2.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-630"
rev="0"
filename="shared-asset-3.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-710"
rev="0"
filename="asset-510-1a.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-720"
rev="0"
filename="asset-510-1b.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.binary_assets_aud object_id="-610"
rev="1"
filename="shared-asset-1.pdf"
mime_type="application/pdf"
data_size="0" />
<ccm_cms.files object_id="-610" />
<ccm_cms.files object_id="-620" />
<ccm_cms.files object_id="-630" />
<ccm_cms.files object_id="-710" />
<ccm_cms.files object_id="-720" />
<ccm_cms.files_aud object_id="-610"
rev="0" />
<ccm_cms.files_aud object_id="-620"
rev="0" />
<ccm_cms.files_aud object_id="-630"
rev="0" />
<ccm_cms.files_aud object_id="-710"
rev="0" />
<ccm_cms.files_aud object_id="-720"
rev="0" />
<ccm_cms.files_aud object_id="-610"
rev="1" />
<ccm_core.categorizations categorization_id="-30100"
category_id="-200"
object_id="-510"
category_order="1"
object_order="1"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30300"
category_id="-300"
object_id="-610"
category_order="1"
object_order="1"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30340"
category_id="-300"
object_id="-620"
category_order="1"
object_order="2"
category_index="false"
type="folder" />
<ccm_core.categorizations categorization_id="-30500"
category_id="-300"
object_id="-630"
category_order="1"
object_order="1"
category_index="false"
type="folder" />
<ccm_cms.attachment_lists list_id="-510010"
name="list1"
list_order="1"
uuid="209e3f76-1523-4601-84bd-dbae91f4f26d"
item_id="-510" />
<ccm_cms.attachment_lists list_id="-510020"
name="list1"
list_order="2"
uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
item_id="-510" />
<ccm_cms.attachment_lists list_id="-510030"
name="list2"
list_order="3"
uuid="a0c2ba42-d506-48c0-b7cc-d32b2a031a50"
item_id="-510" />
<ccm_cms.attachment_lists_aud list_id="-510010"
rev="0"
revtype="0"
name="list1"
uuid="209e3f76-1523-4601-84bd-dbae91f4f26d"
item_id="-510" />
<ccm_cms.attachment_lists_aud list_id="-510020"
rev="0"
revtype="0"
name="list1"
uuid="57850f9c-e191-4f6f-9537-d5c2d2f118ec"
item_id="-510" />
<ccm_cms.attachment_lists_aud list_id="-510030"
rev="0"
revtype="0"
name="list2"
uuid="a0c2ba42-d506-48c0-b7cc-d32b2a031a50"
item_id="-510" />
<ccm_cms.attachment_lists_aud list_id="-510010"
rev="1"
revtype="1"
name="list1"
uuid="209e3f76-1523-4601-84bd-dbae91f4f26d"
item_id="-510" />
<ccm_cms.attachments attachment_id="-510110"
sort_key="1"
uuid="de1d8531-df11-4808-9679-9ffa7537ebd1"
asset_id="-710"
attachment_list_id="-510010" />
<ccm_cms.attachments attachment_id="-510120"
sort_key="2"
uuid="5a34deae-9e3a-41e8-abd8-6a7d10dd9e7d"
asset_id="-720"
attachment_list_id="-510010" />
<!--<ccm_cms.attachments attachment_id="-510130"
sort_key="3"
uuid="9e34627c-2da9-45fe-aae3-48801bd27cbe"
asset_id="-610"
attachment_list_id="-510010" />-->
<ccm_cms.attachments attachment_id="-510140"
sort_key="1"
uuid="6b5f86db-dd35-4674-a089-2a0b999a17c7"
asset_id="-620"
attachment_list_id="-510020" />
<ccm_cms.attachments_aud attachment_id="-510110"
rev="0"
revtype="0"
sort_key="1"
uuid="de1d8531-df11-4808-9679-9ffa7537ebd1"
asset_id="-710"
attachment_list_id="-510010" />
<ccm_cms.attachments_aud attachment_id="-510120"
rev="0"
revtype="0"
sort_key="2"
uuid="5a34deae-9e3a-41e8-abd8-6a7d10dd9e7d"
asset_id="-720"
attachment_list_id="-510010" />
<ccm_cms.attachments_aud attachment_id="-510130"
rev="0"
revtype="0"
revend="1"
sort_key="3"
uuid="9e34627c-2da9-45fe-aae3-48801bd27cbe"
asset_id="-610"
attachment_list_id="-510010" />
<ccm_cms.attachments_aud attachment_id="-510140"
rev="0"
revtype="0"
sort_key="1"
uuid="6b5f86db-dd35-4674-a089-2a0b999a17c7"
asset_id="-620"
attachment_list_id="-510020" />
<ccm_cms.attachments_aud attachment_id="-510150"
rev="0"
revtype="0"
sort_key="1"
uuid="395c43dc-4aea-43e3-a2de-13e10f3a63f7"
asset_id="-630"
attachment_list_id="-510030" />
<ccm_cms.attachments_aud attachment_id="-510130"
rev="1"
revtype="2" />
</dataset>