Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
K
Kieker-TeeTime-Stages
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TeeTime
Kieker-TeeTime-Stages
Commits
291261ac
Commit
291261ac
authored
8 years ago
by
Sören Henning
Browse files
Options
Downloads
Patches
Plain Diff
rename DotBuilderSupport to DotBuilder
parent
758d6d83
No related branches found
No related tags found
1 merge request
!17
Get impletemented stages and Java 8
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/main/java/kieker/analysis/util/DotBuilder.java
+149
-97
149 additions, 97 deletions
src/main/java/kieker/analysis/util/DotBuilder.java
src/main/java/kieker/analysis/util/DotBuilderSupport.java
+0
-149
0 additions, 149 deletions
src/main/java/kieker/analysis/util/DotBuilderSupport.java
with
149 additions
and
246 deletions
src/main/java/kieker/analysis/util/DotBuilder.java
+
149
−
97
View file @
291261ac
package
kieker.analysis.util
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
com.google.common.base.Joiner
;
/**
* Simple class for building and representing dot graph files.
*
* @author Sören Henning
*
*/
public
class
DotBuilder
{
private
final
String
start
;
private
final
String
end
;
private
final
StringBuilder
body
=
new
StringBuilder
();
private
Map
<
String
,
String
>
graphProperties
;
private
Map
<
String
,
String
>
defaultNodeProperties
;
private
Map
<
String
,
String
>
defaultEdgeProperties
;
private
Map
<
String
,
Map
<
String
,
String
>>
nodes
;
private
Map
<
String
,
Map
<
String
,
String
>>
edges
;
private
List
<
DotBuilder
>
subgraphs
;
private
static
final
String
START_BRACKET
=
"{"
;
private
static
final
String
END_BRACKET
=
"}"
;
private
static
final
String
DEFAULT_GRAPH_NAME
=
"G"
;
private
static
final
String
DEFAULT_GRAPH_TYPE
=
"digraph"
;
public
DotBuilder
()
{
this
(
DEFAULT_GRAPH_NAME
);
}
public
DotBuilder
(
final
String
graphName
)
{
this
(
graphName
,
DEFAULT_GRAPH_TYPE
);
}
// TODO graphType has to be one of "graph", "digraph" or "subgraph" so maybe use an enum
public
DotBuilder
(
final
String
graphName
,
final
String
graphType
)
{
start
=
graphType
+
" "
+
graphName
+
" "
+
START_BRACKET
+
"\n"
;
end
=
END_BRACKET
;
}
// TODO maybe rename
public
void
setDefaultNodeProperties
(
final
Map
<
String
,
String
>
defaultNodeProperties
)
{
this
.
defaultNodeProperties
=
defaultNodeProperties
;
}
// TODO maybe rename
public
void
setDefaultEdgeProperties
(
final
Map
<
String
,
String
>
defaultEdgeProperties
)
{
this
.
defaultEdgeProperties
=
defaultEdgeProperties
;
}
public
String
get
()
{
return
start
+
body
.
toString
()
+
end
;
}
@Override
public
String
toString
()
{
return
get
();
}
public
void
addNode
(
final
String
id
)
{
addNode
(
id
,
new
HashMap
<>());
}
public
void
addNode
(
final
String
id
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
id
+
'"'
,
properties
);
}
public
void
addEdge
(
final
String
source
,
final
String
target
)
{
addEdge
(
source
,
target
,
new
HashMap
<>());
}
public
void
addEdge
(
final
String
source
,
final
String
target
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
source
+
'"'
+
" -> "
+
'"'
+
target
+
'"'
,
properties
);
}
public
void
addSubgraph
(
final
String
subgraph
)
{
body
.
append
(
subgraph
+
'\n'
);
}
private
void
addElement
(
final
String
element
,
final
Map
<
String
,
String
>
properties
)
{
body
.
append
(
element
);
if
(
properties
!=
null
&&
!
properties
.
isEmpty
())
{
body
.
append
(
" ["
);
Joiner
.
on
(
"\", "
).
withKeyValueSeparator
(
"=\""
).
appendTo
(
body
,
properties
);
body
.
append
(
"\"]"
);
}
body
.
append
(
'\n'
);
}
}
package
kieker.analysis.util
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
com.google.common.base.Joiner
;
/**
* Simple class for building and representing dot graph files.
*
* @deprecated use {@link dot.DotWriter} instead.
*
* @author Sören Henning
*
*/
@Deprecated
public
class
DotBuilder
{
private
final
String
start
;
private
final
String
end
;
private
final
StringBuilder
body
=
new
StringBuilder
();
private
Map
<
String
,
String
>
defaultNodeProperties
;
private
Map
<
String
,
String
>
defaultEdgeProperties
;
private
Map
<
String
,
String
>
defaultProperties
;
private
static
final
String
START_BRACKET
=
"{"
;
private
static
final
String
END_BRACKET
=
"}"
;
private
static
final
String
DEFAULT_GRAPH_NAME
=
"G"
;
private
static
final
String
DEFAULT_GRAPH_TYPE
=
"digraph"
;
public
DotBuilder
()
{
this
(
DEFAULT_GRAPH_NAME
);
}
public
DotBuilder
(
final
String
graphName
)
{
this
(
graphName
,
DEFAULT_GRAPH_TYPE
);
}
// TODO graphType has to be one of "graph", "digraph" or "subgraph" so maybe use an enum
public
DotBuilder
(
final
String
graphName
,
final
String
graphType
)
{
start
=
graphType
+
" "
+
graphName
+
" "
+
START_BRACKET
+
"\n"
;
end
=
END_BRACKET
;
}
// TODO Deprecated
public
DotBuilder
(
final
String
name
,
final
Map
<
String
,
String
>
defaultNodeProperties
,
final
Map
<
String
,
String
>
defaultEdgeProperties
)
{
this
(
name
);
this
.
defaultNodeProperties
=
defaultNodeProperties
;
this
.
defaultEdgeProperties
=
defaultEdgeProperties
;
}
// TODO Deprecated
public
DotBuilder
(
final
String
name
,
final
Map
<
String
,
String
>
defaultNodeProperties
,
final
Map
<
String
,
String
>
defaultEdgeProperties
,
final
Map
<
String
,
String
>
defaultProperties
)
{
this
(
name
,
defaultNodeProperties
,
defaultEdgeProperties
);
this
.
defaultProperties
=
defaultProperties
;
}
public
void
setDefaultNodeProperties
(
final
Map
<
String
,
String
>
defaultNodeProperties
)
{
this
.
defaultNodeProperties
=
defaultNodeProperties
;
}
public
void
setDefaultEdgeProperties
(
final
Map
<
String
,
String
>
defaultEdgeProperties
)
{
this
.
defaultEdgeProperties
=
defaultEdgeProperties
;
}
public
void
setDefaultProperties
(
final
Map
<
String
,
String
>
defaultProperties
)
{
this
.
defaultProperties
=
defaultProperties
;
}
public
String
get
()
{
return
start
+
body
.
toString
()
+
end
;
}
@Override
public
String
toString
()
{
return
get
();
}
public
void
addNode
(
final
String
id
)
{
addNode
(
id
,
new
HashMap
<>());
}
public
void
addNode
(
final
String
id
,
final
String
label
)
{
Map
<
String
,
String
>
properties
=
new
HashMap
<
String
,
String
>();
properties
.
put
(
"label"
,
label
);
addNode
(
id
,
properties
);
}
public
void
addNode
(
final
String
id
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
id
+
'"'
,
extendNodeProperties
(
properties
));
}
public
void
addEdge
(
final
String
source
,
final
String
target
)
{
addEdge
(
source
,
target
,
new
HashMap
<>());
}
public
void
addEdge
(
final
String
source
,
final
String
target
,
final
String
label
)
{
Map
<
String
,
String
>
properties
=
new
HashMap
<
String
,
String
>();
properties
.
put
(
"label"
,
label
);
addEdge
(
source
,
target
,
properties
);
}
public
void
addEdge
(
final
String
source
,
final
String
target
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
source
+
'"'
+
" -> "
+
'"'
+
target
+
'"'
,
extendEdgeProperties
(
properties
));
}
public
void
addSubgraph
(
final
String
subgraph
)
{
body
.
append
(
subgraph
+
'\n'
);
}
private
void
addElement
(
final
String
element
,
final
Map
<
String
,
String
>
properties
)
{
body
.
append
(
element
);
if
(
properties
!=
null
&&
!
properties
.
isEmpty
())
{
body
.
append
(
" ["
);
Joiner
.
on
(
"\", "
).
withKeyValueSeparator
(
"=\""
).
appendTo
(
body
,
properties
);
body
.
append
(
"\"]"
);
}
body
.
append
(
'\n'
);
}
private
Map
<
String
,
String
>
extendNodeProperties
(
final
Map
<
String
,
String
>
properties
)
{
return
extendElementProperties
(
properties
,
defaultNodeProperties
);
}
private
Map
<
String
,
String
>
extendEdgeProperties
(
final
Map
<
String
,
String
>
properties
)
{
return
extendElementProperties
(
properties
,
defaultEdgeProperties
);
}
private
Map
<
String
,
String
>
extendElementProperties
(
final
Map
<
String
,
String
>
properties
,
final
Map
<
String
,
String
>
defaultElementProperties
)
{
if
(
defaultElementProperties
!=
null
)
{
for
(
Entry
<
String
,
String
>
property
:
defaultElementProperties
.
entrySet
())
{
properties
.
putIfAbsent
(
property
.
getKey
(),
property
.
getValue
());
}
}
if
(
defaultProperties
!=
null
)
{
for
(
Entry
<
String
,
String
>
property
:
defaultProperties
.
entrySet
())
{
properties
.
putIfAbsent
(
property
.
getKey
(),
property
.
getValue
());
}
}
return
properties
;
}
}
This diff is collapsed.
Click to expand it.
src/main/java/kieker/analysis/util/DotBuilderSupport.java
deleted
100644 → 0
+
0
−
149
View file @
758d6d83
package
kieker.analysis.util
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
com.google.common.base.Joiner
;
/**
* Simple class for building and representing dot graph files.
*
* @deprecated use {@link dot.DotWriter} instead.
*
* @author Sören Henning
*
*/
@Deprecated
public
class
DotBuilderSupport
{
private
final
String
start
;
private
final
String
end
;
private
final
StringBuilder
body
=
new
StringBuilder
();
private
Map
<
String
,
String
>
defaultNodeProperties
;
private
Map
<
String
,
String
>
defaultEdgeProperties
;
private
Map
<
String
,
String
>
defaultProperties
;
private
static
final
String
START_BRACKET
=
"{"
;
private
static
final
String
END_BRACKET
=
"}"
;
private
static
final
String
DEFAULT_GRAPH_NAME
=
"G"
;
private
static
final
String
DEFAULT_GRAPH_TYPE
=
"digraph"
;
public
DotBuilderSupport
()
{
this
(
DEFAULT_GRAPH_NAME
);
}
public
DotBuilderSupport
(
final
String
graphName
)
{
this
(
graphName
,
DEFAULT_GRAPH_TYPE
);
}
// TODO graphType has to be one of "graph", "digraph" or "subgraph" so maybe use an enum
public
DotBuilderSupport
(
final
String
graphName
,
final
String
graphType
)
{
start
=
graphType
+
" "
+
graphName
+
" "
+
START_BRACKET
+
"\n"
;
end
=
END_BRACKET
;
}
// TODO Deprecated
public
DotBuilderSupport
(
final
String
name
,
final
Map
<
String
,
String
>
defaultNodeProperties
,
final
Map
<
String
,
String
>
defaultEdgeProperties
)
{
this
(
name
);
this
.
defaultNodeProperties
=
defaultNodeProperties
;
this
.
defaultEdgeProperties
=
defaultEdgeProperties
;
}
// TODO Deprecated
public
DotBuilderSupport
(
final
String
name
,
final
Map
<
String
,
String
>
defaultNodeProperties
,
final
Map
<
String
,
String
>
defaultEdgeProperties
,
final
Map
<
String
,
String
>
defaultProperties
)
{
this
(
name
,
defaultNodeProperties
,
defaultEdgeProperties
);
this
.
defaultProperties
=
defaultProperties
;
}
public
void
setDefaultNodeProperties
(
final
Map
<
String
,
String
>
defaultNodeProperties
)
{
this
.
defaultNodeProperties
=
defaultNodeProperties
;
}
public
void
setDefaultEdgeProperties
(
final
Map
<
String
,
String
>
defaultEdgeProperties
)
{
this
.
defaultEdgeProperties
=
defaultEdgeProperties
;
}
public
void
setDefaultProperties
(
final
Map
<
String
,
String
>
defaultProperties
)
{
this
.
defaultProperties
=
defaultProperties
;
}
public
String
get
()
{
return
start
+
body
.
toString
()
+
end
;
}
@Override
public
String
toString
()
{
return
get
();
}
public
void
addNode
(
final
String
id
)
{
addNode
(
id
,
new
HashMap
<>());
}
public
void
addNode
(
final
String
id
,
final
String
label
)
{
Map
<
String
,
String
>
properties
=
new
HashMap
<
String
,
String
>();
properties
.
put
(
"label"
,
label
);
addNode
(
id
,
properties
);
}
public
void
addNode
(
final
String
id
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
id
+
'"'
,
extendNodeProperties
(
properties
));
}
public
void
addEdge
(
final
String
source
,
final
String
target
)
{
addEdge
(
source
,
target
,
new
HashMap
<>());
}
public
void
addEdge
(
final
String
source
,
final
String
target
,
final
String
label
)
{
Map
<
String
,
String
>
properties
=
new
HashMap
<
String
,
String
>();
properties
.
put
(
"label"
,
label
);
addEdge
(
source
,
target
,
properties
);
}
public
void
addEdge
(
final
String
source
,
final
String
target
,
final
Map
<
String
,
String
>
properties
)
{
addElement
(
'"'
+
source
+
'"'
+
" -> "
+
'"'
+
target
+
'"'
,
extendEdgeProperties
(
properties
));
}
public
void
addSubgraph
(
final
String
subgraph
)
{
body
.
append
(
subgraph
+
'\n'
);
}
private
void
addElement
(
final
String
element
,
final
Map
<
String
,
String
>
properties
)
{
body
.
append
(
element
);
if
(
properties
!=
null
&&
!
properties
.
isEmpty
())
{
body
.
append
(
" ["
);
Joiner
.
on
(
"\", "
).
withKeyValueSeparator
(
"=\""
).
appendTo
(
body
,
properties
);
body
.
append
(
"\"]"
);
}
body
.
append
(
'\n'
);
}
private
Map
<
String
,
String
>
extendNodeProperties
(
final
Map
<
String
,
String
>
properties
)
{
return
extendElementProperties
(
properties
,
defaultNodeProperties
);
}
private
Map
<
String
,
String
>
extendEdgeProperties
(
final
Map
<
String
,
String
>
properties
)
{
return
extendElementProperties
(
properties
,
defaultEdgeProperties
);
}
private
Map
<
String
,
String
>
extendElementProperties
(
final
Map
<
String
,
String
>
properties
,
final
Map
<
String
,
String
>
defaultElementProperties
)
{
if
(
defaultElementProperties
!=
null
)
{
for
(
Entry
<
String
,
String
>
property
:
defaultElementProperties
.
entrySet
())
{
properties
.
putIfAbsent
(
property
.
getKey
(),
property
.
getValue
());
}
}
if
(
defaultProperties
!=
null
)
{
for
(
Entry
<
String
,
String
>
property
:
defaultProperties
.
entrySet
())
{
properties
.
putIfAbsent
(
property
.
getKey
(),
property
.
getValue
());
}
}
return
properties
;
}
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment