aggregate at the end
This commit is contained in:
parent
d8a0279d3a
commit
3de958deb6
1 changed files with 26 additions and 68 deletions
|
|
@ -238,100 +238,58 @@ func (diagram Diagram) BoundingBox() (topLeft, bottomRight Point) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (diagram Diagram) GetNestedUniqueChars() string {
|
func (diagram Diagram) GetNestedUniqueChars() string {
|
||||||
var uniqueChars string
|
var texts = diagram.GetUniqueChars()
|
||||||
uniqueMap := make(map[rune]bool)
|
|
||||||
for _, char := range diagram.GetUniqueChars() {
|
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for _, d := range diagram.Layers {
|
for _, d := range diagram.Layers {
|
||||||
for _, char := range d.GetNestedUniqueChars() {
|
texts = texts + d.GetNestedUniqueChars()
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for _, d := range diagram.Scenarios {
|
for _, d := range diagram.Scenarios {
|
||||||
for _, char := range d.GetNestedUniqueChars() {
|
texts = texts + d.GetNestedUniqueChars()
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for _, d := range diagram.Steps {
|
for _, d := range diagram.Steps {
|
||||||
for _, char := range d.GetNestedUniqueChars() {
|
texts = texts + d.GetNestedUniqueChars()
|
||||||
|
}
|
||||||
|
|
||||||
|
var uniqueChars string
|
||||||
|
uniqueMap := make(map[rune]bool)
|
||||||
|
for _, char := range texts {
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
if _, exists := uniqueMap[char]; !exists {
|
||||||
uniqueMap[char] = true
|
uniqueMap[char] = true
|
||||||
uniqueChars = uniqueChars + string(char)
|
uniqueChars = uniqueChars + string(char)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return uniqueChars
|
return uniqueChars
|
||||||
}
|
}
|
||||||
|
|
||||||
func (diagram Diagram) GetUniqueChars() string {
|
func (diagram Diagram) GetUniqueChars() string {
|
||||||
var uniqueChars string
|
var texts string
|
||||||
uniqueMap := make(map[rune]bool)
|
|
||||||
for _, s := range diagram.Shapes {
|
for _, s := range diagram.Shapes {
|
||||||
for _, char := range s.Label {
|
texts = texts + s.Label + s.Tooltip + s.Link
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for _, char := range s.Tooltip {
|
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for _, char := range s.Link {
|
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if s.Type == ShapeClass {
|
if s.Type == ShapeClass {
|
||||||
for _, cf := range s.Fields {
|
for _, cf := range s.Fields {
|
||||||
for _, char := range cf.GetUniqueChars() {
|
texts = texts + cf.GetUniqueChars()
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
for _, cm := range s.Methods {
|
for _, cm := range s.Methods {
|
||||||
for _, char := range cm.GetUniqueChars() {
|
texts = texts + cm.GetUniqueChars()
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if s.Type == ShapeSQLTable {
|
if s.Type == ShapeSQLTable {
|
||||||
for _, c := range s.Columns {
|
for _, c := range s.Columns {
|
||||||
for _, char := range c.GetUniqueChars() {
|
texts = texts + c.GetUniqueChars()
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
|
||||||
uniqueMap[char] = true
|
|
||||||
uniqueChars = uniqueChars + string(char)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, c := range diagram.Connections {
|
for _, c := range diagram.Connections {
|
||||||
for _, char := range c.Label {
|
texts = texts + c.Label
|
||||||
|
}
|
||||||
|
|
||||||
|
var uniqueChars string
|
||||||
|
uniqueMap := make(map[rune]bool)
|
||||||
|
for _, char := range texts {
|
||||||
if _, exists := uniqueMap[char]; !exists {
|
if _, exists := uniqueMap[char]; !exists {
|
||||||
uniqueMap[char] = true
|
uniqueMap[char] = true
|
||||||
uniqueChars = uniqueChars + string(char)
|
uniqueChars = uniqueChars + string(char)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return uniqueChars
|
return uniqueChars
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue