Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦中观雨
cat
提交
0982f3d3
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,发现更多精彩内容 >>
提交
0982f3d3
编写于
9月 12, 2012
作者:
Y
yanchun.yang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modified connect commponent
上级
9b5083f8
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
95 addition
and
170 deletion
+95
-170
cat-core/src/main/resources/com/dianping/cat/configuration/client/config.xsd
...esources/com/dianping/cat/configuration/client/config.xsd
+2
-1
cat-core/src/main/resources/com/dianping/cat/status/model/status.xsd
...c/main/resources/com/dianping/cat/status/model/status.xsd
+2
-1
dog-home/pom.xml
dog-home/pom.xml
+5
-0
dog-home/src/main/java/com/dianping/dog/alarm/connector/AbstractConnector.java
...a/com/dianping/dog/alarm/connector/AbstractConnector.java
+13
-13
dog-home/src/main/java/com/dianping/dog/alarm/connector/Connector.java
...main/java/com/dianping/dog/alarm/connector/Connector.java
+4
-2
dog-home/src/main/java/com/dianping/dog/alarm/connector/ConnectorContext.java
...va/com/dianping/dog/alarm/connector/ConnectorContext.java
+0
-64
dog-home/src/main/java/com/dianping/dog/alarm/connector/ConnectorManager.java
...va/com/dianping/dog/alarm/connector/ConnectorManager.java
+9
-7
dog-home/src/main/java/com/dianping/dog/alarm/connector/HttpConnector.java
.../java/com/dianping/dog/alarm/connector/HttpConnector.java
+2
-2
dog-home/src/main/java/com/dianping/dog/alarm/entity/ConnectEntity.java
...ain/java/com/dianping/dog/alarm/entity/ConnectEntity.java
+32
-1
dog-home/src/main/java/com/dianping/dog/alarm/entity/RuleEntity.java
...c/main/java/com/dianping/dog/alarm/entity/RuleEntity.java
+1
-1
dog-home/src/main/java/com/dianping/dog/alarm/parser/DataParserFactory.java
...java/com/dianping/dog/alarm/parser/DataParserFactory.java
+1
-1
dog-home/src/main/java/com/dianping/dog/alarm/parser/DefaultDataParser.java
...java/com/dianping/dog/alarm/parser/DefaultDataParser.java
+3
-1
dog-home/src/main/java/com/dianping/dog/alarm/rule/ExceptionRule.java
.../main/java/com/dianping/dog/alarm/rule/ExceptionRule.java
+5
-8
dog-home/src/main/java/com/dianping/dog/alarm/rule/PeriodStorage.java
.../main/java/com/dianping/dog/alarm/rule/PeriodStorage.java
+0
-54
dog-home/src/main/java/com/dianping/dog/alarm/rule/Rule.java
dog-home/src/main/java/com/dianping/dog/alarm/rule/Rule.java
+3
-3
dog-home/src/main/java/com/dianping/dog/alarm/rule/Storage.java
...me/src/main/java/com/dianping/dog/alarm/rule/Storage.java
+0
-11
dog-home/src/test/java/com/dianping/dog/event/TestDataParser.java
.../src/test/java/com/dianping/dog/event/TestDataParser.java
+13
-0
未找到文件。
cat-core/src/main/resources/com/dianping/cat/configuration/client/config.xsd
浏览文件 @
0982f3d3
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
attributeFormDefault=
"unqualified"
>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
attributeFormDefault=
"unqualified"
>
<xs:element
name=
"config"
type=
"ConfigType"
/>
<xs:complexType
name=
"ConfigType"
>
<xs:sequence>
...
...
cat-core/src/main/resources/com/dianping/cat/status/model/status.xsd
浏览文件 @
0982f3d3
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
attributeFormDefault=
"unqualified"
>
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
xmlns:xs=
"http://www.w3.org/2001/XMLSchema"
elementFormDefault=
"qualified"
attributeFormDefault=
"unqualified"
>
<xs:element
name=
"status"
type=
"StatusType"
/>
<xs:complexType
name=
"StatusType"
>
<xs:sequence>
...
...
dog-home/pom.xml
浏览文件 @
0982f3d3
...
...
@@ -23,6 +23,11 @@
<artifactId>
web-framework
</artifactId>
<version>
1.0.15
</version>
</dependency>
<dependency>
<groupId>
org.json
</groupId>
<artifactId>
org.json
</artifactId>
<version>
chargebee-1.0
</version>
</dependency>
<dependency>
<groupId>
com.site.common
</groupId>
<artifactId>
test-framework
</artifactId>
...
...
dog-home/src/main/java/com/dianping/dog/alarm/connector/AbstractConnector.java
浏览文件 @
0982f3d3
...
...
@@ -2,6 +2,7 @@ package com.dianping.dog.alarm.connector;
import
java.util.Date
;
import
com.dianping.dog.alarm.entity.ConnectEntity
;
import
com.dianping.dog.alarm.parser.DataParser
;
import
com.dianping.dog.alarm.parser.DataParserFactory
;
...
...
@@ -9,32 +10,31 @@ public abstract class AbstractConnector<T> implements Connector {
private
long
connectorId
;
private
Connect
orContext
m_ctx
;
private
Connect
Entity
m_entity
;
private
DataParserFactory
m_parserFactory
;
@Override
public
void
init
(
Connect
orContext
rule
)
{
m_
ctx
=
rule
;
this
.
connectorId
=
rule
.
getRule
Id
();
public
void
init
(
Connect
Entity
entity
)
{
m_
entity
=
entity
;
this
.
connectorId
=
m_entity
.
getCon
Id
();
}
@Override
public
ConnectEntity
getConnectorEntity
()
{
return
m_entity
;
}
@Override
public
long
getConnectorId
()
{
return
connectorId
;
}
@Override
public
ConnectorContext
getConnectorContext
()
{
return
m_ctx
;
}
public
abstract
T
fetchContent
(
ConnectorContext
ctx
);
public
abstract
T
fetchContent
(
ConnectEntity
m_entity
);
public
final
RowData
produceData
(
Date
currentTime
){
m_ctx
.
touch
(
currentTime
);
T
content
=
fetchContent
(
m_ctx
);
DataParser
parser
=
m_parserFactory
.
getDataParser
(
m_ctx
.
getUrl
());
T
content
=
fetchContent
(
m_entity
);
DataParser
parser
=
m_parserFactory
.
getDataParser
(
m_entity
.
getUrl
());
return
parser
.
parse
(
content
);
}
...
...
dog-home/src/main/java/com/dianping/dog/alarm/connector/Connector.java
浏览文件 @
0982f3d3
...
...
@@ -2,13 +2,15 @@ package com.dianping.dog.alarm.connector;
import
java.util.Date
;
import
com.dianping.dog.alarm.entity.ConnectEntity
;
public
interface
Connector
{
ConnectorContext
getConnectorContext
(
);
void
init
(
ConnectEntity
entity
);
void
init
(
ConnectorContext
ctx
);
ConnectEntity
getConnectorEntity
(
);
long
getConnectorId
();
...
...
dog-home/src/main/java/com/dianping/dog/alarm/connector/ConnectorContext.java
已删除
100644 → 0
浏览文件 @
9b5083f8
package
com.dianping.dog.alarm.connector
;
import
java.util.Date
;
import
com.dianping.dog.alarm.entity.ConnectEntity
;
public
class
ConnectorContext
implements
Comparable
<
ConnectorContext
>
{
private
ConnectorType
type
;
private
ConnectEntity
conEntity
;
private
Date
time
;
private
String
url
;
@SuppressWarnings
(
"unused"
)
private
ConnectorContext
()
{
}
public
ConnectorContext
(
ConnectEntity
con
)
{
conEntity
=
con
;
}
public
long
getRuleId
(){
return
0
;
}
public
ConnectorType
getType
(){
return
type
;
}
public
String
getUrl
(){
return
url
;
}
public
ConnectEntity
getConEntity
()
{
return
conEntity
;
}
public
void
setConEntity
(
ConnectEntity
conEntity
)
{
this
.
conEntity
=
conEntity
;
}
public
Date
getTime
()
{
return
time
;
}
public
Date
getModifiedTime
(){
return
this
.
conEntity
.
getGmtModified
();
}
public
void
touch
(
Date
time
)
{
this
.
time
=
time
;
}
@Override
public
int
compareTo
(
ConnectorContext
o
)
{
long
t1
=
this
.
getModifiedTime
().
getTime
();
long
t2
=
o
.
getModifiedTime
().
getTime
();
return
(
int
)(
t1
-
t2
);
}
}
dog-home/src/main/java/com/dianping/dog/alarm/connector/ConnectorManager.java
浏览文件 @
0982f3d3
...
...
@@ -5,6 +5,8 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.Map
;
import
com.dianping.dog.alarm.entity.ConnectEntity
;
public
class
ConnectorManager
{
...
...
@@ -18,20 +20,20 @@ public class ConnectorManager {
return
connectorList
;
}
public
void
registerConnector
(
Connect
orContext
ctx
)
{
public
void
registerConnector
(
Connect
Entity
entity
)
{
synchronized
(
m_connectors
)
{
Connector
con
=
m_connectors
.
get
(
ctx
.
getRule
Id
());
Connector
con
=
m_connectors
.
get
(
entity
.
getCon
Id
());
if
(
con
!=
null
)
{
if
(
con
.
getConnector
Context
().
compareTo
(
ctx
)
==
0
)
{
if
(
con
.
getConnector
Entity
().
compareTo
(
entity
)
==
0
)
{
return
;
}
m_connectors
.
remove
(
ctx
.
getRule
Id
());
m_connectors
.
remove
(
entity
.
getCon
Id
());
}
if
(
ctx
.
get
Type
()
==
ConnectorType
.
HTTP
)
{
if
(
entity
.
getCon
Type
()
==
ConnectorType
.
HTTP
)
{
con
=
new
HttpConnector
();
con
.
init
(
ctx
);
con
.
init
(
entity
);
}
m_connectors
.
put
(
ctx
.
getRule
Id
(),
con
);
m_connectors
.
put
(
entity
.
getCon
Id
(),
con
);
}
}
...
...
dog-home/src/main/java/com/dianping/dog/alarm/connector/HttpConnector.java
浏览文件 @
0982f3d3
...
...
@@ -2,12 +2,13 @@ package com.dianping.dog.alarm.connector;
import
java.net.URL
;
import
com.dianping.dog.alarm.entity.ConnectEntity
;
import
com.site.helper.Files
;
public
class
HttpConnector
extends
AbstractConnector
<
String
>
{
@Override
public
String
fetchContent
(
Connect
orContext
ctx
)
{
public
String
fetchContent
(
Connect
Entity
ctx
)
{
String
url
=
ctx
.
getUrl
();
try
{
URL
data
=
new
URL
(
url
);
...
...
@@ -18,5 +19,4 @@ public class HttpConnector extends AbstractConnector<String> {
}
return
null
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/entity/ConnectEntity.java
浏览文件 @
0982f3d3
...
...
@@ -2,7 +2,11 @@ package com.dianping.dog.alarm.entity;
import
java.util.Date
;
public
class
ConnectEntity
{
import
com.dianping.dog.alarm.connector.ConnectorType
;
public
class
ConnectEntity
implements
Comparable
<
ConnectEntity
>{
private
long
conId
;
private
String
connectType
;
// http
...
...
@@ -16,7 +20,29 @@ public class ConnectEntity {
private
String
name
;
private
String
url
;
private
Date
gmtModified
;
public
ConnectorType
getConType
(){
if
(
url
.
startsWith
(
"http://"
)){
return
ConnectorType
.
HTTP
;
}
else
{
return
ConnectorType
.
UNSUPPORT
;
}
}
public
String
getUrl
()
{
return
url
;
}
public
long
getConId
()
{
return
conId
;
}
public
void
setConId
(
long
conId
)
{
this
.
conId
=
conId
;
}
public
String
getConnectType
()
{
return
connectType
;
...
...
@@ -73,5 +99,10 @@ public class ConnectEntity {
public
void
setGmtModified
(
Date
gmtModified
)
{
this
.
gmtModified
=
gmtModified
;
}
@Override
public
int
compareTo
(
ConnectEntity
o
)
{
return
(
int
)
(
this
.
getGmtModified
().
getTime
()
-
o
.
getGmtModified
().
getTime
());
}
}
dog-home/src/main/java/com/dianping/dog/alarm/entity/RuleEntity.java
浏览文件 @
0982f3d3
...
...
@@ -22,7 +22,7 @@ public class RuleEntity {
private
ConnectEntity
connect
;
private
Date
gmtModified
;
private
long
interval
;
public
long
getId
()
{
...
...
dog-home/src/main/java/com/dianping/dog/alarm/parser/DataParserFactory.java
浏览文件 @
0982f3d3
...
...
@@ -4,7 +4,7 @@ public class DataParserFactory {
public
DataParser
getDataParser
(
String
url
){
return
n
ull
;
return
n
ew
DefaultDataParser
()
;
}
}
dog-home/src/main/java/com/dianping/dog/alarm/parser/DefaultDataParser.java
浏览文件 @
0982f3d3
package
com.dianping.dog.alarm.parser
;
import
org.json.JSONObject
;
import
com.dianping.dog.alarm.connector.RowData
;
public
class
DefaultDataParser
implements
DataParser
{
...
...
@@ -7,7 +9,7 @@ public class DefaultDataParser implements DataParser {
@SuppressWarnings
(
"hiding"
)
@Override
public
<
String
>
RowData
parse
(
String
context
)
{
JSONObject
jsonObject
=
new
JSONObject
(
context
);
return
new
RowData
();
}
...
...
dog-home/src/main/java/com/dianping/dog/alarm/rule/ExceptionRule.java
浏览文件 @
0982f3d3
...
...
@@ -2,14 +2,13 @@ package com.dianping.dog.alarm.rule;
import
java.util.List
;
import
com.dianping.dog.alarm.data.DataEvent
;
import
com.dianping.dog.alarm.entity.Duration
;
import
com.dianping.dog.alarm.entity.RuleEntity
;
import
com.dianping.dog.event.Event
;
public
class
ExceptionRule
implements
Rule
{
RuleEntity
m_entity
;
private
RuleEntity
m_entity
;
@Override
public
boolean
init
(
RuleEntity
entity
)
{
...
...
@@ -23,17 +22,15 @@ public class ExceptionRule implements Rule{
}
@Override
public
boolean
isEligible
(
Event
event
)
{
public
boolean
isEligible
(
Data
Event
event
)
{
return
false
;
}
@Override
public
boolean
apply
(
Event
event
)
{
public
boolean
apply
(
Data
Event
event
)
{
List
<
Duration
>
durations
=
m_entity
.
getDurations
();
for
(
Duration
duration:
durations
){
}
return
false
;
}
...
...
dog-home/src/main/java/com/dianping/dog/alarm/rule/PeriodStorage.java
已删除
100644 → 0
浏览文件 @
9b5083f8
package
com.dianping.dog.alarm.rule
;
import
java.util.Comparator
;
import
java.util.TreeSet
;
import
com.dianping.dog.alarm.problem.ProblemEvent
;
public
class
PeriodStorage
implements
Storage
<
ProblemEvent
,
Integer
>
{
private
long
m_period
;
private
TreeSet
<
ProblemEvent
>
sortedDatas
;
@Override
public
void
init
(
long
period
)
{
m_period
=
period
;
sortedDatas
=
new
TreeSet
<
ProblemEvent
>();
}
@Override
public
void
save
(
ProblemEvent
data
,
long
timeStamp
)
{
WrapperProblemEvent
wrapper
=
new
WrapperProblemEvent
(
data
);
long
expiredTime
=
timeStamp
-
m_period
;
//sortedDatas.subSet(wrapper, toElement);
}
@Override
public
Integer
getData
(
DataVistor
<
ProblemEvent
,
Integer
>
vistor
)
{
return
null
;
}
}
class
WrapperProblemEvent
implements
Comparator
<
ProblemEvent
>{
private
ProblemEvent
m_problemEvent
;
public
WrapperProblemEvent
(
ProblemEvent
event
){
m_problemEvent
=
event
;
}
public
ProblemEvent
getProblemEvent
(){
return
m_problemEvent
;
}
@Override
public
int
compare
(
ProblemEvent
o1
,
ProblemEvent
o2
)
{
long
t1
=
o1
.
getTimestamp
().
getTime
();
long
t2
=
o2
.
getTimestamp
().
getTime
();
return
(
int
)
(
t1
-
t2
);
}
}
\ No newline at end of file
dog-home/src/main/java/com/dianping/dog/alarm/rule/Rule.java
浏览文件 @
0982f3d3
package
com.dianping.dog.alarm.rule
;
import
com.dianping.dog.alarm.data.DataEvent
;
import
com.dianping.dog.alarm.entity.RuleEntity
;
import
com.dianping.dog.event.Event
;
public
interface
Rule
{
...
...
@@ -9,8 +9,8 @@ public interface Rule {
public
String
getName
();
public
boolean
isEligible
(
Event
event
);
public
boolean
isEligible
(
Data
Event
event
);
public
boolean
apply
(
Event
event
);
public
boolean
apply
(
Data
Event
event
);
}
dog-home/src/main/java/com/dianping/dog/alarm/rule/Storage.java
已删除
100644 → 0
浏览文件 @
9b5083f8
package
com.dianping.dog.alarm.rule
;
import
com.dianping.dog.event.Event
;
public
interface
Storage
<
T
extends
Event
,
R
>
{
void
init
(
long
period
);
void
save
(
T
data
,
long
currentTime
);
R
getData
(
DataVistor
<
T
,
R
>
vistor
);
}
dog-home/src/test/java/com/dianping/dog/event/TestDataParser.java
0 → 100644
浏览文件 @
0982f3d3
package
com.dianping.dog.event
;
import
org.junit.Test
;
import
com.site.lookup.ComponentTestCase
;
public
class
TestDataParser
extends
ComponentTestCase
{
@Test
public
void
testDataParser
()
throws
Exception
{
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录