1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.synchronoss.cpo.jdbc;
22
23 import org.slf4j.*;
24 import org.synchronoss.cpo.CpoException;
25 import org.synchronoss.cpo.meta.CpoMetaDescriptor;
26 import org.synchronoss.cpo.meta.domain.CpoAttribute;
27 import org.synchronoss.cpo.transform.jdbc.JdbcCpoTransform;
28
29 import java.lang.reflect.Method;
30
31
32
33
34
35
36 public class JdbcCpoAttribute extends CpoAttribute implements java.io.Serializable, java.lang.Cloneable {
37
38 private static final Logger logger = LoggerFactory.getLogger(JdbcCpoAttribute.class);
39
40
41
42 private static final long serialVersionUID = 1L;
43 private String dbTable_ = null;
44 private String dbColumn_ = null;
45
46 private JdbcCpoTransform jdbcTransform = null;
47 private Method transformPSOutMethod = null;
48 private Method transformCSOutMethod = null;
49
50 public JdbcCpoAttribute() {
51 }
52
53 public void setDbTable(String dbTable) {
54 dbTable_ = dbTable;
55 }
56
57 public void setDbColumn(String dbColumn) {
58 dbColumn_ = dbColumn;
59 }
60
61 public String getDbTable() {
62 return dbTable_;
63 }
64
65 public String getDbColumn() {
66 return dbColumn_;
67 }
68
69
70
71
72
73
74
75
76
77
78
79 @Override
80 protected void initTransformClass(CpoMetaDescriptor metaDescriptor) throws CpoException {
81 super.initTransformClass(metaDescriptor);
82 if (getCpoTransform() != null && getCpoTransform() instanceof JdbcCpoTransform) {
83 jdbcTransform = (JdbcCpoTransform) getCpoTransform();
84
85 for (Method m : findMethods(jdbcTransform.getClass(), TRANSFORM_OUT_NAME, 2, true)) {
86 if (m.getParameterTypes()[0].getName().equals("org.synchronoss.cpo.jdbc.JdbcPreparedStatementFactory")) {
87 transformPSOutMethod = m;
88 } else if (m.getParameterTypes()[0].getName().equals("org.synchronoss.cpo.jdbc.JdbcCallableStatementFactory")) {
89 transformCSOutMethod = m;
90 }
91 }
92 }
93
94
95 setDataTypeInt(metaDescriptor.getDataTypeInt(getDataType()));
96 }
97 }