Browse Source

增加链接性文档的迁移

caohuigit 7 years ago
parent
commit
6d7f6a9586

BIN
TRS.WCM.Developer/classes/com/trs/exchange/metadata/MetaDataExchangeTest.class


+ 64 - 7
TRS.WCM.Developer/test/com/trs/exchange/metadata/MetaDataExchangeTest.java

@@ -44,7 +44,7 @@ public class MetaDataExchangeTest extends TRSWCMBaseTest {
 	 */
 	public void testSaveNews() {
 		try {
-			MetaViewData oMetaData = saveGovNews();
+			MetaViewData oMetaData = createNormalGovNews();
 			assertNotNull("网站资讯入库失败?", oMetaData);
 		} catch (Exception ex) {
 			logger.error("测试[testSaveMetaViewData]出现异常!", ex);
@@ -54,13 +54,28 @@ public class MetaDataExchangeTest extends TRSWCMBaseTest {
 
 	}
 
+	/**
+	 * 保存一篇链接性文章
+	 */
+	public void testSaveLinkeNews() {
+		try {
+			MetaViewData oMetaData = createLinkGovNews();
+			assertNotNull("网站资讯入库失败?", oMetaData);
+		} catch (Exception ex) {
+			logger.error("测试[testSaveLinkeNews]出现异常!", ex);
+			fail("测试[testSaveLinkeNews]出现异常!\n"
+					+ CMyException.getStackTraceText(ex));
+		}
+
+	}
+
 	/**
 	 * 保存一篇带有附件的网站文章
 	 */
 	public void testSaveNewsContainsAppendix() {
 		try {
 			// 1 保存文章
-			MetaViewData oMetaData = saveGovNews();
+			MetaViewData oMetaData = createNormalGovNews();
 			assertNotNull("网站资讯入库失败?", oMetaData);
 
 			// 2 保存附件
@@ -85,8 +100,51 @@ public class MetaDataExchangeTest extends TRSWCMBaseTest {
 		}
 
 	}
-	
-	private MetaViewData saveGovNews() throws Exception, WCMException {
+
+	private MetaViewData createLinkGovNews() throws Exception, WCMException {
+		DBManager dbMgrForWCM = DBManager.getDBManager();
+
+		// 0 定义目标视图、目标栏目
+		MetaView view = GovMetaDataConstants.findGovNewsView();
+
+		Channel channel = Channel.findById(m_nChannelIdForTest);
+		assertNotNull("指定栏目【" + m_nChannelIdForTest + "】不存在!", channel);
+
+		// 1 产生新的元数据
+		MetaViewData oMetaData = new MetaViewData(view);
+
+		// 2 读取数据设置属性,这里用硬代码示例
+		int nFromType = 711, nSrcId = 1008; // 原始数据的类型(比如约定711表示来自于财政局)和ID
+		oMetaData.setProperty("FromType", nFromType);
+		oMetaData.setProperty("FromId", String.valueOf(nSrcId));
+		
+		oMetaData.setProperty("DocLink", "http://www.trs.com.cn/");
+
+		oMetaData.setProperty("DocType", CMSConstants.CONTENT_BODY_LINK);
+		oMetaData.setProperty("ChannelId", m_nChannelIdForTest);
+
+		oMetaData.setPropertyWithString("DocTitle", "测试一下数据迁移框架是否可用"); // 标题
+
+		oMetaData.setProperty("ShortTitle", "我是首页标题");
+		oMetaData.setProperty("SUBDOCTITLE", "我是副标题");
+		oMetaData.setProperty("DOCSOURCENAME", "我是来源");
+		oMetaData.setProperty("DocAbstract", "我是摘要\n第二段文字");
+
+		// 3 入库保存
+		oMetaData.save(m_oLoginUser);
+		if (oMetaData.getDocument() == null) {
+			throw new WCMException(
+					"Fail to save metaviewdata![SrcId=" + nSrcId + "]");
+		}
+		// 4 更新DocOutupId
+		dbMgrForWCM.sqlExecuteUpdate(
+				new String[] {
+						"update WCMDocument set DocOutupId=? where DocId=?" },
+				new int[] { nSrcId, oMetaData.getDocumentId() });
+		return oMetaData;
+	}
+
+	private MetaViewData createNormalGovNews() throws Exception, WCMException {
 		DBManager dbMgrForWCM = DBManager.getDBManager();
 
 		// 0 定义目标视图、目标栏目
@@ -157,19 +215,18 @@ public class MetaDataExchangeTest extends TRSWCMBaseTest {
 		m_oAppendixMgr.saveAppendixes(_oMetaViewData.getDocument(), nAppendixs,
 				_nAppendixFlag);
 	}
-	
+
 	private MetaDataLog creatLog(MetaViewData _oMetaData) throws WCMException {
 		MetaDataLog oMetaDataLog = MetaDataLog.createNewInstance();
 		oMetaDataLog.setDesChnlId(m_nChannelIdForTest);
 		oMetaDataLog.setDesDept("");
 		oMetaDataLog.setDesGroupId(0);
 		oMetaDataLog.setDesUser(m_sCurrUserName);
-		
+
 		oMetaDataLog.setOperTime(CMyDateTime.now());
 		oMetaDataLog.setOperDesc(
 				"迁移数据【" + _oMetaData + "】【" + _oMetaData.getDocument() + "】");
 		return oMetaDataLog;
 	}
 
-
 }