3 # time ./generate-uml-snapshot.sh 2>&1 | tee log-generate-uml-snapshot.txt
7 # start in aai/schema-service repo
12 if [ -f ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.html.ftl -a -f ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.plantuml.ftl ] ; then
13 cp ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.plantuml.ftl ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.html.ftl
14 mvn --offline -DskipTests process-classes
18 # $ find aai-schema/src/main -name "aai_swagger_*.html"
19 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v10.html
20 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v11.html
21 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v12.html
22 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v13.html
23 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v14.html
24 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v15.html
25 # aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_v16.html
28 mkdir -p ${STARTDIR}/plantuml/backups
29 cp ${STARTDIR}/aai-schema/src/main/resources/onap/aai_swagger_html/aai_swagger_*.html ${STARTDIR}/plantuml/
31 cd ${STARTDIR}/plantuml/
33 # OXM transformation - class names
34 for f in aai_swagger_*.html ; do mv $f `basename $f | sed 's/\.html//'`.plantuml ; done
37 sed -i.bak0 -s 's/\/{[^\/]*}//g' aai_swagger_*.plantuml
38 sed -i.bak1 -s 's/\/relationship[^\/]*//g' aai_swagger_*.plantuml
40 grep -c "^class.*\/" aai_swagger_*.plantuml
43 while [ ${RET} -eq 0 ] ; do
44 COUNT=$(( COUNT + 1 ))
45 echo Replacing ${COUNT}...
46 sed -i.bak2-${COUNT} -s 's/^class \/\([^\/]*\)/class \1\nclass /' aai_swagger_*.plantuml
47 grep -c "^class.*\/" aai_swagger_*.plantuml
51 # unique without sorting
52 for f in aai_swagger_*.plantuml ; do
54 awk '!a[$0]++' ${f}.bak3 > ${f}
57 # OXM transformation - compositions
58 sed -i.bak4 -s 's/^\//"/g' aai_swagger_*.plantuml
60 grep -c "^\".*\/.*\/" aai_swagger_*.plantuml
63 while [ ${RET} -eq 0 ] ; do
64 COUNT=$(( COUNT + 1 ))
65 echo Replacing ${COUNT}...
66 sed -i.bak5-${COUNT} -s 's/^"[^\/]*\/\([^\/]*\)\//"\1\//' aai_swagger_*.plantuml
67 grep -c "^\".*\/.*\/" aai_swagger_*.plantuml
71 sed -i.bak6 -s 's/^"\([^\/]*\)\/\([^\/]*\)/"\1" *-- "\2"/' aai_swagger_*.plantuml
74 sed -i.bak7 -s '/^class $/d' aai_swagger_*.plantuml
75 sed -i.bak8 -s '/^Note: Convert/d' aai_swagger_*.plantuml
77 # unique without sorting
78 for f in aai_swagger_*.plantuml ; do
80 awk '!a[$0]++' ${f}.bak9 > ${f}
84 # $ find aai-schema/src/main -name "DbEdgeRules*.json"
85 # aai-schema/src/main/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json
86 # aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json
87 # aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json
88 # aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json
89 # aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json
90 # aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json
91 # aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json
92 # aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json
93 # aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json
94 # aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
95 # aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json
96 # aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json
97 # aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json
98 # aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json
99 # aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_ccvpn_v15.json
100 # aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_esr_v15.json
101 # aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_hpa_v15.json
102 # aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_pnp_v15.json
103 # aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json
104 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_bbs_v16.json
105 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_ccvpn_v16.json
106 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_esr_v16.json
107 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_hpa_v16.json
108 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_pnp_v16.json
109 # aai-schema/src/main/resources/onap/dbedgerules/v16/DbEdgeRules_v16.json
110 # aai-schema/src/main/resources/onap/dbedgerules/v8/DbEdgeRules_v8.json
111 # aai-schema/src/main/resources/onap/dbedgerules/v9/DbEdgeRules_v9.json
113 # EdgeRule transformation
114 for g in v16 v15 v14 v13 v12 v11 ; do
115 cat ${STARTDIR}/aai-schema/src/main/resources/onap/dbedgerules/${g}/DbEdgeRules*_${g}.json >> ${STARTDIR}/plantuml/aai_edgerules_${g}.plantuml
118 for f in v16 v15 v14 v13 v12 v11 ; do
119 cp aai_edgerules_${f}.plantuml aai_edgerules_${f}.plantuml.bak1
120 echo "@startuml" > aai_edgerules_${f}.plantuml
121 echo "title ${f} Active and Available Inventory EdgeRule Relationships" >> aai_edgerules_${f}.plantuml
122 awk -F \" '/"from"/ { from = $4 } /"to"/ { to = $4 } /"label"/ { label = $4 ; print "\"" from "\" -- \"" to "\" : " label " >" }' aai_edgerules_${f}.plantuml.bak1 | sort -u >> aai_edgerules_${f}.plantuml
123 echo "@enduml" >> aai_edgerules_${f}.plantuml
126 sed -i.bak2 -s '/inventory.BelongsTo/d' aai_edgerules_*.plantuml
127 sed -i.bak3 -s 's/: \(.*\.\)/: /' aai_edgerules_*.plantuml
129 # save backups and restore originals
131 mv ${STARTDIR}/plantuml/*.bak* ${STARTDIR}/plantuml/backups
132 ls -alR ${STARTDIR}/plantuml
135 if [ -f ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.html.ftl -a -f ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.plantuml.ftl ] ; then
136 git checkout ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.plantuml.ftl ${STARTDIR}/aai-schema-gen/src/main/resources/swagger.html.ftl
137 mvn --offline -DskipTests process-classes
139 # $ find aai-schema/src/main -name "aai_swagger_*.yaml"
140 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v10.nodes.yaml
141 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v10.yaml
142 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v11.nodes.yaml
143 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v11.yaml
144 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v12.nodes.yaml
145 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v12.yaml
146 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v13.nodes.yaml
147 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v13.yaml
148 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v14.nodes.yaml
149 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v14.yaml
150 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v15.nodes.yaml
151 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v15.yaml
152 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v16.nodes.yaml
153 # aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_v16.yaml
155 # convert yaml to json
156 for g in v16 v15 v14 v13 v12 v11 ; do
157 ${STARTDIR}/yaml2json.py < ${STARTDIR}/aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_${g}.yaml > ${STARTDIR}/plantuml/aai_swagger_${g}.json
158 ${STARTDIR}/yaml2json.py < ${STARTDIR}/aai-schema/src/main/resources/onap/aai_swagger_yaml/aai_swagger_${g}.nodes.yaml > ${STARTDIR}/plantuml/aai_swagger_${g}.nodes.json
164 ls -al ${STARTDIR}/plantuml