MetaDataExchangeImplTest.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.trs.exchange.metadata;
  2. import com.trs.TRSWCMBaseTest;
  3. import com.trs.exchange.MyDBManager;
  4. import com.trs.infra.persistent.WCMFilter;
  5. import com.trs.infra.util.CMyException;
  6. import com.trs.infra.util.database.MysqlDB;
  7. public class MetaDataExchangeImplTest extends TRSWCMBaseTest {
  8. private static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(MetaDataExchangeImplTest.class);
  9. public MetaDataExchangeImplTest(String name) {
  10. super(name);
  11. }
  12. /**
  13. * 测试简单元数据迁移
  14. */
  15. public void testCreateMetaViewDatas() {
  16. MyDBManager oMyDBManager = null;
  17. try {
  18. // 设定源数据库的信息
  19. // 支持的源数据库类型:OracleDB11G OracleDB SQLServerDB MysqlDB
  20. // SybaseASEWithJtds
  21. // DB2UDBV9 KingBaseDB
  22. oMyDBManager = new MyDBManager("MySQL",
  23. "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
  24. "root", "trsadmin", MysqlDB.class);
  25. // 设置读取数据的SQL,使用别名和海云中的视图字段保持一致
  26. // 必须包含DocOutupId,为源数据ID,CrTime数据的创建时间,CrUser数据的创建者
  27. WCMFilter oFilterForQuerySrcData = new WCMFilter("MyData", "", "",
  28. "MyId,MyTitle CTitle, MyContent CContent, MyId DocOutupId, MyTime CrTime, MyUser CrUser");
  29. MetaDataExchangeImpl oMetaDataExchange = new MetaDataExchangeImpl(oMyDBManager);
  30. // 目标栏目
  31. int nDstChannelId = 65;
  32. // 开始迁移
  33. oMetaDataExchange.createMetaViewDatas(m_oLoginUser, nDstChannelId, oFilterForQuerySrcData, "MyId", true);
  34. } catch (Exception ex) {
  35. logger.error("测试[testCreateMetaViewDatas]出现异常!", ex);
  36. fail("测试[testCreateMetaViewDatas]出现异常!\n" + CMyException.getStackTraceText(ex));
  37. } finally {
  38. if (oMyDBManager != null)
  39. oMyDBManager.close();
  40. }
  41. }
  42. /**
  43. * 测试包含视频的元数据迁移
  44. */
  45. public void testCreateMetaViewDatasContainMedia() {
  46. MyDBManager oMyDBManager = null;
  47. try {
  48. // 设定源数据库的信息
  49. // 支持的源数据库类型:OracleDB11G OracleDB SQLServerDB MysqlDB
  50. // SybaseASEWithJtds
  51. // DB2UDBV9 KingBaseDB
  52. oMyDBManager = new MyDBManager("MySQL",
  53. "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull",
  54. "root", "trsadmin", MysqlDB.class);
  55. WCMFilter oFilterForQuerySrcData = new WCMFilter("MyData", "", "",
  56. "MyTitle CTitle, MyContent CContent, MyId DocOutupId, MyMediaFile MyMediaFile");
  57. // 设定源系统存放文件的信息
  58. MetaDataExchangeImpl oMetaDataExchange = new MetaDataExchangeImpl(oMyDBManager);
  59. // 设置MAS相关信息
  60. int nDirId = 1; // Mas目录地址
  61. oMetaDataExchange.setMASInfo("http://127.0.0.1:8181/mas/", nDirId);
  62. // 目标栏目
  63. int nDstChannelId = 56;
  64. // 开始迁移
  65. oMetaDataExchange.createMetaViewDatas(m_oLoginUser, nDstChannelId, oFilterForQuerySrcData, "MyId", true);
  66. } catch (Exception ex) {
  67. logger.error("测试[testCreateMetaViewDatas]出现异常!", ex);
  68. fail("测试[testCreateMetaViewDatas]出现异常!\n" + CMyException.getStackTraceText(ex));
  69. } finally {
  70. if (oMyDBManager != null)
  71. oMyDBManager.close();
  72. }
  73. }
  74. }