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.cassandra.exporter;
22
23 import org.synchronoss.cpo.cassandra.cpoCassandraMeta.CtCassandraArgument;
24 import org.synchronoss.cpo.cassandra.cpoCassandraMeta.CtCassandraAttribute;
25 import org.synchronoss.cpo.cassandra.meta.CassandraCpoAttribute;
26 import org.synchronoss.cpo.core.cpoCoreMeta.CtArgument;
27 import org.synchronoss.cpo.core.cpoCoreMeta.CtAttribute;
28 import org.synchronoss.cpo.exporter.CoreMetaXmlObjectExporter;
29 import org.synchronoss.cpo.exporter.MetaXmlObjectExporter;
30 import org.synchronoss.cpo.meta.CpoMetaDescriptor;
31 import org.synchronoss.cpo.meta.domain.CpoArgument;
32 import org.synchronoss.cpo.meta.domain.CpoAttribute;
33
34
35
36
37
38
39
40
41 public class CassandraMetaXmlObjectExporter extends CoreMetaXmlObjectExporter implements MetaXmlObjectExporter {
42 public CassandraMetaXmlObjectExporter(CpoMetaDescriptor metaDescriptor) {
43 super(metaDescriptor);
44 }
45
46 @Override
47 public void visit(CpoAttribute cpoAttribute) {
48
49
50 if (!(cpoAttribute instanceof CassandraCpoAttribute)) {
51 super.visit(cpoAttribute);
52 return;
53 }
54
55 CassandraCpoAttribute cassAttribute = (CassandraCpoAttribute) cpoAttribute;
56
57 if (currentCtClass != null) {
58
59
60 CtCassandraAttribute ctCassandraAttribute = CtCassandraAttribute.Factory.newInstance();
61
62 ctCassandraAttribute.setJavaName(cassAttribute.getJavaName());
63 ctCassandraAttribute.setJavaType(cassAttribute.getJavaType());
64 ctCassandraAttribute.setDataName(cassAttribute.getDataName());
65 ctCassandraAttribute.setDataType(cassAttribute.getDataType());
66
67 if (cassAttribute.getTransformClassName() != null && cassAttribute.getTransformClassName().length() > 0) {
68 ctCassandraAttribute.setTransformClass(cassAttribute.getTransformClassName());
69 }
70
71 if (cassAttribute.getDescription() != null && cassAttribute.getDescription().length() > 0) {
72 ctCassandraAttribute.setDescription(cassAttribute.getDescription());
73 }
74
75
76 CtAttribute ctAttribute = currentCtClass.addNewCpoAttribute();
77 ctAttribute.set(ctCassandraAttribute);
78 }
79 }
80
81 @Override
82 public void visit(CpoArgument cpoArgument) {
83
84 if (currentCtFunction != null) {
85
86
87 CtCassandraArgument ctCassandraArgument = CtCassandraArgument.Factory.newInstance();
88
89 ctCassandraArgument.setAttributeName(cpoArgument.getAttributeName());
90
91 if (cpoArgument.getDescription() != null && cpoArgument.getDescription().length() > 0) {
92 ctCassandraArgument.setDescription(cpoArgument.getDescription());
93 }
94
95 CtArgument ctArgument = currentCtFunction.addNewCpoArgument();
96 ctArgument.set(ctCassandraArgument);
97 }
98 }
99
100 }