1 package hu.user.mediacube.executors.tests;
\r
3 import java.sql.Connection;
\r
4 import java.sql.PreparedStatement;
\r
5 import java.sql.ResultSet;
\r
6 import java.sql.SQLException;
\r
7 import java.sql.Timestamp;
\r
9 import org.junit.AfterClass;
\r
10 import org.junit.BeforeClass;
\r
11 import org.junit.Test;
\r
13 import user.commons.logging.LogUtils;
\r
14 import user.jobengine.db.IItemManager;
\r
15 import user.jobengine.db.IResultSetConsumer;
\r
16 import user.jobengine.db.IStatementDecorator;
\r
17 import user.jobengine.db.ItemManager;
\r
18 import user.jobengine.server.steps.MetadataTypeDetector;
\r
19 import user.jobengine.server.steps.MetadataTypeDetector.MetadataType;
\r
20 import user.jobengine.server.steps.PlanAirExtensions;
\r
22 public class SupportCheckItem {
\r
23 class PlanAirProcessor implements IStatementDecorator, IResultSetConsumer {
\r
25 private final MetadataType type;
\r
26 private String search;
\r
27 private String itemHouseId;
\r
28 private String itemTitle;
\r
30 public PlanAirProcessor(String search) {
\r
31 this.search = MetadataTypeDetector.truncateExtension(search);
\r
32 this.type = MetadataTypeDetector.GuessMetadataType(this.search);
\r
33 this.search = this.search.substring(1, this.search.length() - 1);
\r
37 public void decorate(PreparedStatement statement) throws SQLException {
\r
38 statement.setString(1, search);
\r
41 public String getItemHouseId() {
\r
45 public String getItemTitle() {
\r
49 public MetadataType getType() {
\r
53 public Connection process(Connection connection) throws Exception {
\r
54 return PlanAirExtensions.search(connection, type, manager, "jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo;", "MAM", "Echotv.hu", this, this);
\r
58 public boolean process(ResultSet resultSet) throws SQLException {
\r
60 case TrafficMaterial:
\r
61 itemHouseId = resultSet.getString("v_ProgrammeID");
\r
62 itemTitle = resultSet.getString("v_ProgTitle");
\r
65 throw new SQLException("Not implemented!");
\r
72 protected static IItemManager manager = null;
\r
73 private static final String LOWRES_ROOT = "//10.10.1.27/mclowres/www/video";
\r
75 private static final long[] duplicateLength = { 0 };
\r
78 static public void setUpConnection() {
\r
79 // System.setProperty("jobengine.octopus.rundowns.name", "test_rundowns");
\r
80 // System.setProperty("jobengine.octopus.stories.name", "test_stories");
\r
81 // System.setProperty("jobengine.octopus.storyfolders.name", "test_storyfolders");
\r
82 System.setProperty("jobengine.octopus.rundowns.name", "rundowns180620");
\r
83 System.setProperty("jobengine.octopus.stories.name", "stories180620");
\r
84 System.setProperty("jobengine.octopus.storyfolders.name", "storyfolders180620");
\r
86 System.setProperty("jobengine.nosql.db.url", "jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;");
\r
87 System.setProperty("jobengine.nosql.db.user", "db2admin");
\r
88 System.setProperty("jobengine.nosql.db.password", "password");
\r
89 System.setProperty(ItemManager.DBURL, "jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;");
\r
90 System.setProperty(ItemManager.DBUSERNAME, "db2admin");
\r
91 System.setProperty(ItemManager.DBPASSWORD, "password");
\r
92 System.setProperty(LogUtils.LOGLEVEL, "INFO");
\r
93 // System.setProperty(ItemManager.DBURL,
\r
95 manager = new ItemManager();
\r
100 static public void tearDownConnection() {
\r
101 manager.disconnect();
\r
105 public void process() throws SQLException {
\r
106 final Connection[] con = { null };
\r
107 manager.executeQuery(
\r
108 "select itemid, itemhouseid, itemtitle, mediaid, mediafilehouseid, mediacreated from vw_items where mediatype = 'ECHO műsor' order by mediacreated desc",
\r
111 long itemId = rs.getLong("itemId");
\r
112 String itemHouseId = rs.getString("itemHouseId");
\r
113 itemHouseId = itemHouseId == null ? "" : itemHouseId;
\r
114 String itemTitle = rs.getString("itemTitle");
\r
115 itemTitle = itemTitle == null ? "" : itemTitle;
\r
116 String mediaFileHouseId = rs.getString("mediaFileHouseId");
\r
117 Timestamp mediaCreated = rs.getTimestamp("mediaCreated");
\r
119 PlanAirProcessor p = new PlanAirProcessor(mediaFileHouseId);
\r
120 if (p.getType() == MetadataType.TrafficMaterial) {
\r
121 con[0] = p.process(con[0]);
\r
122 String itemHouseId2 = p.getItemHouseId() == null ? "" : p.getItemHouseId();
\r
123 String itemTitle2 = p.getItemTitle() == null ? "" : p.getItemTitle();
\r
124 if (!itemHouseId2.equals(itemHouseId) || !itemTitle2.equals(itemTitle)) {
\r
126 System.out.println(
\r
127 "Item " + itemId + " : wrong | " + mediaCreated + ", " + mediaFileHouseId + ", " + itemHouseId + ", " + itemTitle);
\r
128 System.out.println("\t good | " + itemHouseId2 + ", " + itemTitle2);
\r
132 } catch (Exception e) {
\r
133 e.printStackTrace();
\r