Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
25dd0ea7
C
cat
项目概览
梦中观雨
/
cat
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
25dd0ea7
编写于
9月 14, 2012
作者:
F
Frankie Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug fix and code cleanup
上级
962427d7
变更
16
显示空白变更内容
内联
并排
Showing
16 changed file
with
95 addition
and
61 deletion
+95
-61
bee-engine/src/main/java/com/dianping/bee/engine/QueryService.java
...e/src/main/java/com/dianping/bee/engine/QueryService.java
+0
-1
bee-engine/src/main/java/com/dianping/bee/engine/build/ComponentsConfigurator.java
...com/dianping/bee/engine/build/ComponentsConfigurator.java
+2
-3
bee-engine/src/main/java/com/dianping/bee/engine/evaluator/function/CountEvaluator.java
...ianping/bee/engine/evaluator/function/CountEvaluator.java
+30
-2
bee-engine/src/main/java/com/dianping/bee/engine/spi/RowContext.java
...src/main/java/com/dianping/bee/engine/spi/RowContext.java
+6
-4
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultRowContext.java
...m/dianping/bee/engine/spi/internal/DefaultRowContext.java
+20
-10
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultRowListener.java
.../dianping/bee/engine/spi/internal/DefaultRowListener.java
+1
-1
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultStatementManager.java
...ping/bee/engine/spi/internal/DefaultStatementManager.java
+7
-1
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/SelectField.java
...ava/com/dianping/bee/engine/spi/internal/SelectField.java
+9
-4
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerConnection.java
.../java/com/dianping/bee/server/SimpleServerConnection.java
+9
-1
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerConnectionFactory.java
...om/dianping/bee/server/SimpleServerConnectionFactory.java
+1
-3
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerQueryHandler.java
...ava/com/dianping/bee/server/SimpleServerQueryHandler.java
+6
-1
cat-core/src/main/java/com/dianping/cat/build/CodecComponentConfigurator.java
...va/com/dianping/cat/build/CodecComponentConfigurator.java
+0
-2
cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java
.../com/dianping/cat/message/spi/codec/HtmlMessageCodec.java
+2
-10
cat-core/src/main/java/com/dianping/cat/message/spi/codec/WaterfallMessageCodec.java
...dianping/cat/message/spi/codec/WaterfallMessageCodec.java
+0
-8
cat-home/src/main/java/com/dianping/cat/report/page/database/Handler.java
...n/java/com/dianping/cat/report/page/database/Handler.java
+2
-7
cat-home/src/main/resources/META-INF/plexus/components.xml
cat-home/src/main/resources/META-INF/plexus/components.xml
+0
-3
未找到文件。
bee-engine/src/main/java/com/dianping/bee/engine/QueryService.java
浏览文件 @
25dd0ea7
...
...
@@ -2,7 +2,6 @@ package com.dianping.bee.engine;
import
java.sql.SQLException
;
public
interface
QueryService
{
public
RowSet
query
(
String
sql
,
Object
...
params
)
throws
SQLException
;
...
...
bee-engine/src/main/java/com/dianping/bee/engine/build/ComponentsConfigurator.java
浏览文件 @
25dd0ea7
...
...
@@ -79,7 +79,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all
.
add
(
C
(
TableHelper
.
class
)
//
.
req
(
TableProviderManager
.
class
));
all
.
add
(
C
(
RowContext
.
class
,
DefaultRowContext
.
class
));
all
.
add
(
C
(
RowContext
.
class
,
DefaultRowContext
.
class
)
.
is
(
PER_LOOKUP
)
);
all
.
add
(
C
(
SingleTableStatement
.
class
).
is
(
PER_LOOKUP
)
//
.
req
(
RowContext
.
class
));
all
.
add
(
C
(
SingleTableRowFilter
.
class
).
is
(
PER_LOOKUP
));
...
...
@@ -146,8 +146,7 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionEqualsEvaluator
.
ID
,
ComparisionEqualsEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionIsEvaluator
.
ID
,
ComparisionIsEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionGreaterThanEvaluator
.
ID
,
ComparisionGreaterThanEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionGreaterThanOrEqualsEvaluator
.
ID
,
ComparisionGreaterThanOrEqualsEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionGreaterThanOrEqualsEvaluator
.
ID
,
ComparisionGreaterThanOrEqualsEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionLessThanEvaluator
.
ID
,
ComparisionLessThanEvaluator
.
class
));
all
.
add
(
C
(
Evaluator
.
class
,
ComparisionLessThanOrEqualsEvaluator
.
ID
,
ComparisionLessThanOrEqualsEvaluator
.
class
));
...
...
bee-engine/src/main/java/com/dianping/bee/engine/evaluator/function/CountEvaluator.java
浏览文件 @
25dd0ea7
package
com.dianping.bee.engine.evaluator.function
;
import
java.util.HashSet
;
import
java.util.Set
;
import
com.alibaba.cobar.parser.ast.expression.Expression
;
import
com.alibaba.cobar.parser.ast.expression.primary.Wildcard
;
import
com.alibaba.cobar.parser.ast.expression.primary.function.groupby.Count
;
import
com.dianping.bee.engine.evaluator.AbstractEvaluator
;
import
com.dianping.bee.engine.spi.RowContext
;
...
...
@@ -9,16 +14,39 @@ public class CountEvaluator extends AbstractEvaluator<Count, Number> {
private
long
m_count
;
private
Set
<
Object
>
m_distincts
;
@Override
public
Number
evaluate
(
RowContext
ctx
,
Count
expr
)
{
if
(
expr
.
isDistinct
())
{
if
(
m_distincts
==
null
)
{
m_distincts
=
new
HashSet
<
Object
>();
}
Expression
first
=
expr
.
getArguments
().
get
(
0
);
if
(
first
instanceof
Wildcard
)
{
m_count
++;
}
else
{
Object
val
=
eval
(
ctx
,
first
);
m_distincts
.
add
(
val
);
}
}
else
{
m_count
++;
}
return
0
;
}
@Override
public
Object
getAggregatedValue
()
{
if
(
m_distincts
!=
null
)
{
return
m_distincts
.
size
();
}
else
{
return
m_count
;
}
}
@Override
public
Class
<?>
getResultType
(
Count
expr
)
{
...
...
bee-engine/src/main/java/com/dianping/bee/engine/spi/RowContext.java
浏览文件 @
25dd0ea7
...
...
@@ -3,8 +3,6 @@ package com.dianping.bee.engine.spi;
import
java.util.List
;
import
java.util.Map
;
import
com.dianping.bee.engine.evaluator.Evaluator
;
public
interface
RowContext
{
public
void
afterQuery
();
...
...
@@ -18,8 +16,6 @@ public interface RowContext {
public
int
getColumnSize
();
public
Evaluator
<?,
?>
getEvaluator
(
String
name
);
public
<
T
>
T
getFirstAttribute
(
String
name
,
T
defaultValue
);
public
<
T
>
T
getParameter
(
int
colIndex
);
...
...
@@ -28,6 +24,12 @@ public interface RowContext {
public
<
T
>
T
getValue
(
String
columnName
);
public
<
T
>
T
lookupComponent
(
Class
<
T
>
role
);
public
<
T
>
T
lookupComponent
(
Class
<
T
>
role
,
String
roleHint
);
public
void
releaseComponent
(
Object
component
);
public
void
setAttributes
(
Map
<
String
,
List
<
Object
>>
m_attributes
);
public
void
setColumns
(
ColumnMeta
[]
columns
);
...
...
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultRowContext.java
浏览文件 @
25dd0ea7
...
...
@@ -4,7 +4,6 @@ import java.util.Arrays;
import
java.util.List
;
import
java.util.Map
;
import
com.dianping.bee.engine.evaluator.Evaluator
;
import
com.dianping.bee.engine.spi.ColumnMeta
;
import
com.dianping.bee.engine.spi.RowContext
;
import
com.dianping.bee.engine.spi.RowListener
;
...
...
@@ -54,10 +53,6 @@ public class DefaultRowContext extends ContainerHolder implements RowContext {
return
m_columns
.
length
;
}
public
Evaluator
<?,
?>
getEvaluator
(
String
name
)
{
return
lookup
(
Evaluator
.
class
,
name
);
}
@SuppressWarnings
(
"unchecked"
)
@Override
public
<
T
>
T
getFirstAttribute
(
String
name
,
T
defaultValue
)
{
...
...
@@ -98,6 +93,21 @@ public class DefaultRowContext extends ContainerHolder implements RowContext {
return
null
;
}
@Override
public
<
T
>
T
lookupComponent
(
Class
<
T
>
role
)
{
return
lookup
(
role
);
}
@Override
public
<
T
>
T
lookupComponent
(
Class
<
T
>
role
,
String
roleHint
)
{
return
lookup
(
role
,
roleHint
);
}
@Override
public
void
releaseComponent
(
Object
component
)
{
release
(
component
);
}
public
void
setAttributes
(
Map
<
String
,
List
<
Object
>>
attributes
)
{
m_attributes
=
attributes
;
}
...
...
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultRowListener.java
浏览文件 @
25dd0ea7
...
...
@@ -87,7 +87,7 @@ public class DefaultRowListener extends ContainerHolder implements RowListener {
if
(
field
.
isAggregator
(
ctx
))
{
m_values
[
i
]
=
field
.
getAggregatedValue
();
field
.
reset
();
field
.
reset
(
ctx
);
}
cells
[
i
]
=
new
DefaultCell
(
field
,
m_values
[
i
]);
...
...
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/DefaultStatementManager.java
浏览文件 @
25dd0ea7
...
...
@@ -92,7 +92,13 @@ public class DefaultStatementManager extends ContainerHolder implements Statemen
@Override
protected
boolean
removeEldestEntry
(
Entry
<
K
,
V
>
eldest
)
{
return
size
()
>
m_capacity
;
boolean
shouldRemove
=
size
()
>
m_capacity
;
if
(
shouldRemove
)
{
release
(
eldest
.
getValue
());
}
return
shouldRemove
;
}
}
}
bee-engine/src/main/java/com/dianping/bee/engine/spi/internal/SelectField.java
浏览文件 @
25dd0ea7
...
...
@@ -62,7 +62,8 @@ class SelectField implements ColumnMeta {
@SuppressWarnings
(
"unchecked"
)
private
Evaluator
<
Expression
,
Object
>
getEvaluator
(
RowContext
ctx
)
{
if
(
m_evaluator
==
null
)
{
Evaluator
<
Expression
,
Object
>
evaluator
=
(
Evaluator
<
Expression
,
Object
>)
ctx
.
getEvaluator
(
m_expr
.
getClass
().
getName
());
String
name
=
m_expr
.
getClass
().
getName
();
Evaluator
<
Expression
,
Object
>
evaluator
=
(
Evaluator
<
Expression
,
Object
>)
ctx
.
lookupComponent
(
Evaluator
.
class
,
name
);
m_evaluator
=
evaluator
;
}
...
...
@@ -81,7 +82,8 @@ class SelectField implements ColumnMeta {
@SuppressWarnings
(
"unchecked"
)
public
boolean
isAggregator
(
RowContext
ctx
)
{
if
(
m_expr
!=
null
)
{
Evaluator
<
Expression
,
Object
>
evaluator
=
(
Evaluator
<
Expression
,
Object
>)
ctx
.
getEvaluator
(
m_expr
.
getClass
().
getName
());
String
name
=
m_expr
.
getClass
().
getName
();
Evaluator
<
Expression
,
Object
>
evaluator
=
(
Evaluator
<
Expression
,
Object
>)
ctx
.
lookupComponent
(
Evaluator
.
class
,
name
);
return
evaluator
.
isAggregator
();
}
else
{
...
...
@@ -89,7 +91,10 @@ class SelectField implements ColumnMeta {
}
}
public
void
reset
()
{
public
void
reset
(
RowContext
ctx
)
{
if
(
m_evaluator
!=
null
)
{
ctx
.
releaseComponent
(
m_evaluator
);
m_evaluator
=
null
;
}
}
}
\ No newline at end of file
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerConnection.java
浏览文件 @
25dd0ea7
...
...
@@ -45,6 +45,13 @@ public class SimpleServerConnection extends ServerConnection {
super
(
channel
);
}
@Override
public
boolean
close
()
{
((
SimpleServerQueryHandler
)
queryHandler
).
close
();
return
super
.
close
();
}
// commands --------------------------------------------------------------
/**
* Override parent method in FrontendConnection
...
...
@@ -111,6 +118,7 @@ public class SimpleServerConnection extends ServerConnection {
}
}
@SuppressWarnings
(
"unused"
)
@Override
public
void
stmtExecute
(
byte
[]
data
)
{
LOGGER
.
info
(
"StmtExecute : "
+
data
);
...
...
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerConnectionFactory.java
浏览文件 @
25dd0ea7
...
...
@@ -35,9 +35,7 @@ public class SimpleServerConnectionFactory extends FrontendConnectionFactory {
protected
FrontendConnection
getConnection
(
SocketChannel
channel
)
{
LOGGER
.
info
(
"getConnection : "
+
channel
);
SimpleServerConnection
c
=
new
SimpleServerConnection
(
channel
);
FrontendQueryHandler
queryHandler
=
getQueryHandler
(
c
);
// TODO use
// another one for
// test
FrontendQueryHandler
queryHandler
=
getQueryHandler
(
c
);
c
.
setSessionManager
(
getSessionManager
());
c
.
setQueryHandler
(
queryHandler
);
...
...
bee-engine/src/main/java/com/dianping/bee/server/SimpleServerQueryHandler.java
浏览文件 @
25dd0ea7
...
...
@@ -19,9 +19,10 @@ import com.dianping.bee.engine.spi.handler.SelectHandler;
import
com.dianping.bee.engine.spi.handler.SetHandler
;
import
com.dianping.bee.engine.spi.handler.ShowHandler
;
import
com.dianping.bee.engine.spi.handler.UseHandler
;
import
com.site.lookup.ContainerHolder
;
import
com.site.lookup.annotation.Inject
;
public
class
SimpleServerQueryHandler
implements
FrontendQueryHandler
{
public
class
SimpleServerQueryHandler
extends
ContainerHolder
implements
FrontendQueryHandler
{
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
SimpleServerQueryHandler
.
class
);
...
...
@@ -45,6 +46,10 @@ public class SimpleServerQueryHandler implements FrontendQueryHandler {
private
ServerConnection
m_conn
;
public
void
close
()
{
release
(
this
);
}
public
PreparedStatement
getStatement
(
Long
stmtId
)
{
return
m_prepareHandler
.
getStatement
(
stmtId
);
}
...
...
cat-core/src/main/java/com/dianping/cat/build/CodecComponentConfigurator.java
浏览文件 @
25dd0ea7
...
...
@@ -4,7 +4,6 @@ import java.util.ArrayList;
import
java.util.List
;
import
com.dianping.cat.message.spi.MessageCodec
;
import
com.dianping.cat.message.spi.MessagePathBuilder
;
import
com.dianping.cat.message.spi.codec.BufferWriter
;
import
com.dianping.cat.message.spi.codec.EscapingBufferWriter
;
import
com.dianping.cat.message.spi.codec.HtmlEncodingBufferWriter
;
...
...
@@ -24,7 +23,6 @@ class CodecComponentConfigurator extends AbstractResourceConfigurator {
all
.
add
(
C
(
MessageCodec
.
class
,
PlainTextMessageCodec
.
ID
,
PlainTextMessageCodec
.
class
)
//
.
req
(
BufferWriter
.
class
,
EscapingBufferWriter
.
ID
));
all
.
add
(
C
(
MessageCodec
.
class
,
HtmlMessageCodec
.
ID
,
HtmlMessageCodec
.
class
)
//
.
req
(
MessagePathBuilder
.
class
)
//
.
req
(
BufferWriter
.
class
,
HtmlEncodingBufferWriter
.
ID
));
return
all
;
...
...
cat-core/src/main/java/com/dianping/cat/message/spi/codec/HtmlMessageCodec.java
浏览文件 @
25dd0ea7
...
...
@@ -17,7 +17,6 @@ import com.dianping.cat.message.Heartbeat;
import
com.dianping.cat.message.Message
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.spi.MessageCodec
;
import
com.dianping.cat.message.spi.MessagePathBuilder
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.site.lookup.annotation.Inject
;
...
...
@@ -32,9 +31,6 @@ public class HtmlMessageCodec implements MessageCodec, Initializable {
@Inject
private
BufferWriter
m_writer
;
@Inject
private
MessagePathBuilder
m_builder
;
@Inject
private
String
m_logViewPrefix
=
"/cat/r/m/"
;
...
...
@@ -191,8 +187,8 @@ public class HtmlMessageCodec implements MessageCodec, Initializable {
count
+=
helper
.
td1
(
buf
);
count
+=
helper
.
nbsp
(
buf
,
level
*
2
);
// 2 spaces per level
count
+=
helper
.
write
(
buf
,
String
.
format
(
"<a href=\"%s%s\" onclick=\"return show(this,'%s');\">[:: show ::]</a>"
,
m_logViewPrefix
,
link
,
link
));
count
+=
helper
.
write
(
buf
,
String
.
format
(
"<a href=\"%s%s\" onclick=\"return show(this,'%s');\">[:: show ::]</a>"
,
m_logViewPrefix
,
link
,
link
));
count
+=
helper
.
td2
(
buf
);
count
+=
helper
.
td
(
buf
,
"<div id=\""
+
link
+
"\"></div>"
,
"colspan=\"4\""
);
...
...
@@ -256,10 +252,6 @@ public class HtmlMessageCodec implements MessageCodec, Initializable {
m_logViewPrefix
=
logViewPrefix
;
}
public
void
setMessagePathBuilder
(
MessagePathBuilder
builder
)
{
m_builder
=
builder
;
}
public
void
setShowNav
(
boolean
showNav
)
{
m_showNav
=
showNav
;
}
...
...
cat-core/src/main/java/com/dianping/cat/message/spi/codec/WaterfallMessageCodec.java
浏览文件 @
25dd0ea7
...
...
@@ -10,7 +10,6 @@ import org.jboss.netty.buffer.ChannelBuffer;
import
com.dianping.cat.message.Message
;
import
com.dianping.cat.message.Transaction
;
import
com.dianping.cat.message.spi.MessageCodec
;
import
com.dianping.cat.message.spi.MessagePathBuilder
;
import
com.dianping.cat.message.spi.MessageTree
;
import
com.site.lookup.annotation.Inject
;
...
...
@@ -25,9 +24,6 @@ public class WaterfallMessageCodec implements MessageCodec, Initializable {
@Inject
private
BufferWriter
m_writer
;
@Inject
private
MessagePathBuilder
m_builder
;
@Inject
private
boolean
m_showNav
=
true
;
...
...
@@ -141,10 +137,6 @@ public class WaterfallMessageCodec implements MessageCodec, Initializable {
m_bufferHelper
=
new
BufferHelper
(
m_writer
);
}
public
void
setMessagePathBuilder
(
MessagePathBuilder
builder
)
{
m_builder
=
builder
;
}
public
void
setShowNav
(
boolean
showNav
)
{
m_showNav
=
showNav
;
}
...
...
cat-home/src/main/java/com/dianping/cat/report/page/database/Handler.java
浏览文件 @
25dd0ea7
...
...
@@ -9,7 +9,6 @@ import java.util.Set;
import
javax.servlet.ServletException
;
import
com.dianping.cat.Cat
;
import
com.dianping.cat.configuration.ServerConfigManager
;
import
com.dianping.cat.consumer.database.model.entity.DatabaseReport
;
import
com.dianping.cat.consumer.database.model.transform.DefaultSaxParser
;
import
com.dianping.cat.hadoop.dal.Dailyreport
;
...
...
@@ -38,7 +37,6 @@ import com.site.web.mvc.annotation.PayloadMeta;
* @author youyong
*/
public
class
Handler
implements
PageHandler
<
Context
>
{
public
static
final
long
ONE_HOUR
=
3600
*
1000L
;
@Inject
...
...
@@ -53,9 +51,6 @@ public class Handler implements PageHandler<Context> {
@Inject
private
JspViewer
m_jspViewer
;
@Inject
private
ServerConfigManager
m_manager
;
@Inject
(
type
=
ModelService
.
class
,
value
=
"database"
)
private
ModelService
<
DatabaseReport
>
m_service
;
...
...
@@ -178,8 +173,8 @@ public class Handler implements PageHandler<Context> {
}
}
else
{
try
{
List
<
Dailyreport
>
reports
=
m_dailyreportDao
.
findDatabaseAllByDomainNameDuration
(
start
,
end
,
database
,
"database"
,
DailyreportEntity
.
READSET_FULL
);
List
<
Dailyreport
>
reports
=
m_dailyreportDao
.
findDatabaseAllByDomainNameDuration
(
start
,
end
,
database
,
"database"
,
DailyreportEntity
.
READSET_FULL
);
DatabaseReportMerger
merger
=
new
DatabaseReportMerger
(
new
DatabaseReport
(
database
));
for
(
Dailyreport
report
:
reports
)
{
String
xml
=
report
.
getContent
();
...
...
cat-home/src/main/resources/META-INF/plexus/components.xml
浏览文件 @
25dd0ea7
...
...
@@ -1991,9 +1991,6 @@
<requirement>
<role>
com.dianping.cat.report.page.database.JspViewer
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.configuration.ServerConfigManager
</role>
</requirement>
<requirement>
<role>
com.dianping.cat.report.page.model.spi.ModelService
</role>
<role-hint>
database
</role-hint>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录