Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
e3e06ec3
S
SkyWalking
项目概览
apache
/
SkyWalking
上一次同步 1 年多
通知
302
Star
21345
Fork
6091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e3e06ec3
编写于
11月 07, 2017
作者:
wu-sheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move all find methods into graphFinder.
上级
e1325615
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
18 deletion
+31
-18
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Graph.java
...n/java/org/skywalking/apm/collector/core/graph/Graph.java
+6
-12
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/GraphNodeFinder.java
.../skywalking/apm/collector/core/graph/GraphNodeFinder.java
+22
-3
apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/graph/GraphManagerTest.java
...skywalking/apm/collector/core/graph/GraphManagerTest.java
+3
-3
未找到文件。
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Graph.java
浏览文件 @
e3e06ec3
...
...
@@ -43,16 +43,6 @@ public final class Graph<INPUT> {
}
}
public
Next
findNext
(
int
handlerId
)
{
Node
node
=
nodeIndex
.
get
(
handlerId
);
if
(
node
==
null
)
{
throw
new
NodeNotFoundException
(
"Can't find node with handlerId="
+
handlerId
+
" in graph["
+
id
+
"]"
);
}
return
node
.
getNext
();
}
void
checkForNewNode
(
Node
node
)
{
int
nodeId
=
node
.
getHandler
().
id
();
if
(
nodeIndex
.
containsKey
(
nodeId
))
{
...
...
@@ -63,11 +53,15 @@ public final class Graph<INPUT> {
nodeIndex
.
put
(
nodeId
,
node
);
}
public
Graph
Builder
toBuilder
()
{
return
new
Graph
Buil
der
(
this
);
public
Graph
NodeFinder
toFinder
()
{
return
new
Graph
NodeFin
der
(
this
);
}
ConcurrentHashMap
<
Integer
,
Node
>
getNodeIndex
()
{
return
nodeIndex
;
}
int
getId
()
{
return
id
;
}
}
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Graph
Buil
der.java
→
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/graph/Graph
NodeFin
der.java
浏览文件 @
e3e06ec3
...
...
@@ -23,21 +23,40 @@ import java.util.concurrent.ConcurrentHashMap;
/**
* @author wu-sheng
*/
public
class
Graph
Buil
der
{
public
class
Graph
NodeFin
der
{
private
Graph
graph
;
Graph
Buil
der
(
Graph
graph
)
{
Graph
NodeFin
der
(
Graph
graph
)
{
this
.
graph
=
graph
;
}
/**
* Find an exist node to build the graph.
*
* @param handlerId of specific node in graph.
* @param outputClass of the found node
* @param <NODE_OUTPUT> type of given output class
* @return Node instance.
*/
public
<
NODE_OUTPUT
>
Node
<?,
NODE_OUTPUT
>
findNode
(
int
handlerId
,
Class
<
NODE_OUTPUT
>
outputClass
)
{
ConcurrentHashMap
<
Integer
,
Node
>
graphNodeIndex
=
graph
.
getNodeIndex
();
Node
node
=
graphNodeIndex
.
get
(
handlerId
);
if
(
node
==
null
)
{
throw
new
NodeNotFoundException
(
"Can't find node with handlerId="
+
handlerId
+
" in graph["
+
handlerId
+
"]"
);
+
" in graph["
+
graph
.
getId
()
+
"]"
);
}
return
node
;
}
public
Next
findNext
(
int
handlerId
)
{
ConcurrentHashMap
<
Integer
,
Node
>
graphNodeIndex
=
graph
.
getNodeIndex
();
Node
node
=
graphNodeIndex
.
get
(
handlerId
);
if
(
node
==
null
)
{
throw
new
NodeNotFoundException
(
"Can't find node with handlerId="
+
handlerId
+
" in graph["
+
graph
.
getId
()
+
"]"
);
}
return
node
.
getNext
();
}
}
apm-collector/apm-collector-core/src/test/java/org/skywalking/apm/collector/core/graph/GraphManagerTest.java
浏览文件 @
e3e06ec3
...
...
@@ -87,7 +87,7 @@ public class GraphManagerTest {
Graph
<
String
>
graph
=
GraphManager
.
INSTANCE
.
createIfAbsent
(
4
,
String
.
class
);
graph
.
addNode
(
new
Node1Processor
()).
addNext
(
new
Node2Processor
()).
addNext
(
new
Node4Processor
());
Next
next
=
GraphManager
.
INSTANCE
.
findGraph
(
4
).
findNext
(
2
);
Next
next
=
GraphManager
.
INSTANCE
.
findGraph
(
4
).
toFinder
().
findNext
(
2
);
next
.
execute
(
123
);
String
output
=
outputStream
.
toString
();
...
...
@@ -102,7 +102,7 @@ public class GraphManagerTest {
Graph
<
String
>
graph
=
GraphManager
.
INSTANCE
.
createIfAbsent
(
5
,
String
.
class
);
graph
.
addNode
(
new
Node1Processor
()).
addNext
(
new
Node2Processor
()).
addNext
(
new
Node4Processor
());
Next
next
=
GraphManager
.
INSTANCE
.
findGraph
(
5
).
findNext
(
3
);
Next
next
=
GraphManager
.
INSTANCE
.
findGraph
(
5
).
toFinder
().
findNext
(
3
);
}
@Test
...
...
@@ -110,7 +110,7 @@ public class GraphManagerTest {
Graph
<
String
>
graph
=
GraphManager
.
INSTANCE
.
createIfAbsent
(
6
,
String
.
class
);
graph
.
addNode
(
new
Node1Processor
()).
addNext
(
new
Node2Processor
());
Node
<?,
Integer
>
foundNode
=
GraphManager
.
INSTANCE
.
findGraph
(
6
).
to
Buil
der
().
findNode
(
2
,
Integer
.
class
);
Node
<?,
Integer
>
foundNode
=
GraphManager
.
INSTANCE
.
findGraph
(
6
).
to
Fin
der
().
findNode
(
2
,
Integer
.
class
);
foundNode
.
addNext
(
new
Node4Processor
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录