1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.kns.datadictionary.exporter;
17
18 import org.kuali.rice.kns.datadictionary.DataDictionaryEntryBase;
19 import org.kuali.rice.kns.datadictionary.PrimitiveAttributeDefinition;
20 import org.kuali.rice.kns.datadictionary.RelationshipDefinition;
21
22
23
24
25
26
27 public class RelationshipsMapBuilder {
28
29
30
31
32 public RelationshipsMapBuilder() {
33 }
34
35
36
37
38
39
40 public ExportMap buildRelationshipsMap(DataDictionaryEntryBase entry) {
41 ExportMap relationshipsMap = new ExportMap("relationships");
42
43 for ( RelationshipDefinition relationship : entry.getRelationships() ) {
44 relationshipsMap.set(buildRelationshipMap(relationship));
45 }
46
47 return relationshipsMap;
48 }
49
50 private ExportMap buildRelationshipMap(RelationshipDefinition relationship) {
51 ExportMap relationshipMap = new ExportMap(relationship.getObjectAttributeName());
52
53 ExportMap attributesMap = new ExportMap("primitiveAttributes");
54
55 int count = 0;
56 for (PrimitiveAttributeDefinition primitiveAttributeDefinition : relationship.getPrimitiveAttributes()) {
57 ExportMap attributeMap = new ExportMap(Integer.toString(count++));
58 attributeMap.set("sourceName", primitiveAttributeDefinition.getSourceName());
59 attributeMap.set("targetName", primitiveAttributeDefinition.getTargetName());
60
61 attributesMap.set(attributeMap);
62 }
63
64 relationshipMap.set(attributesMap);
65
66 return relationshipMap;
67 }
68
69 }