Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
Shardingsphere
提交
57692e64
Shardingsphere
项目概览
apache
/
Shardingsphere
通知
56
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Shardingsphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
57692e64
编写于
11月 04, 2020
作者:
kimmking
提交者:
GitHub
11月 04, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rename event type (#8020)
上级
a87ef49a
变更
22
隐藏空白更改
内联
并排
Showing
22 changed file
with
108 addition
and
108 deletion
+108
-108
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/listener/GovernanceListener.java
...re/governance/core/event/listener/GovernanceListener.java
+3
-3
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/listener/PostGovernanceRepositoryEventListener.java
...event/listener/PostGovernanceRepositoryEventListener.java
+6
-6
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/event/listener/PostGovernanceRepositoryEventListenerTest.java
...t/listener/PostGovernanceRepositoryEventListenerTest.java
+5
-5
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManager.java
...ce/core/config/listener/ConfigurationListenerManager.java
+4
-4
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java
...overnance/core/config/listener/SchemaChangedListener.java
+4
-4
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListenerTest.java
...re/config/listener/AuthenticationChangedListenerTest.java
+2
-2
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java
...ore/config/listener/ConfigurationListenerManagerTest.java
+3
-3
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListenerTest.java
...e/core/config/listener/PropertiesChangedListenerTest.java
+2
-2
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java
...nance/core/config/listener/SchemaChangedListenerTest.java
+22
-22
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java
...ore/registry/listener/DataSourceStateChangedListener.java
+2
-2
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManager.java
...nance/core/registry/listener/RegistryListenerManager.java
+3
-3
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
...registry/listener/DataSourceStateChangedListenerTest.java
+2
-2
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListenerTest.java
...e/registry/listener/InstanceStateChangedListenerTest.java
+3
-3
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java
...e/core/registry/listener/RegistryListenerManagerTest.java
+3
-3
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/listener/DataChangedEvent.java
.../governance/repository/api/listener/DataChangedEvent.java
+2
-2
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java
...sphere/governance/repository/apollo/ApolloRepository.java
+8
-8
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/test/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepositoryTest.java
...re/governance/repository/apollo/ApolloRepositoryTest.java
+3
-3
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java
...dingsphere/governance/repository/etcd/EtcdRepository.java
+8
-8
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java
...ngsphere/governance/repository/nacos/NacosRepository.java
+2
-2
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/test/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepositoryTest.java
...here/governance/repository/nacos/NacosRepositoryTest.java
+9
-9
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java
...ance/repository/zookeeper/CuratorZookeeperRepository.java
+8
-8
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepositoryTest.java
.../repository/zookeeper/CuratorZookeeperRepositoryTest.java
+4
-4
未找到文件。
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/listener/GovernanceListener.java
浏览文件 @
57692e64
...
...
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.governance.core.event.listener
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
/**
* Governance listener.
...
...
@@ -27,7 +27,7 @@ public interface GovernanceListener {
/**
* Start to watch.
*
* @param
watchedChangedT
ypes watched data change types
* @param
t
ypes watched data change types
*/
void
watch
(
ChangedType
...
watchedChangedT
ypes
);
void
watch
(
Type
...
t
ypes
);
}
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/event/listener/PostGovernanceRepositoryEventListener.java
浏览文件 @
57692e64
...
...
@@ -21,7 +21,7 @@ import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.governance.core.event.model.GovernanceEvent
;
import
org.apache.shardingsphere.governance.repository.api.GovernanceRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.core.event.GovernanceEventBus
;
import
java.util.Arrays
;
...
...
@@ -39,16 +39,16 @@ public abstract class PostGovernanceRepositoryEventListener implements Governanc
private
final
Collection
<
String
>
watchKeys
;
@Override
public
final
void
watch
(
final
ChangedType
...
changedT
ypes
)
{
Collection
<
ChangedType
>
watchedChangedTypeList
=
Arrays
.
asList
(
changedT
ypes
);
public
final
void
watch
(
final
Type
...
t
ypes
)
{
Collection
<
Type
>
typeList
=
Arrays
.
asList
(
t
ypes
);
for
(
String
watchKey
:
watchKeys
)
{
watch
(
watchKey
,
watchedChangedT
ypeList
);
watch
(
watchKey
,
t
ypeList
);
}
}
private
void
watch
(
final
String
watchKey
,
final
Collection
<
ChangedType
>
changedT
ypes
)
{
private
void
watch
(
final
String
watchKey
,
final
Collection
<
Type
>
t
ypes
)
{
governanceRepository
.
watch
(
watchKey
,
dataChangedEvent
->
{
if
(
changedTypes
.
contains
(
dataChangedEvent
.
getChanged
Type
()))
{
if
(
types
.
contains
(
dataChangedEvent
.
get
Type
()))
{
Optional
<
GovernanceEvent
>
event
=
createGovernanceEvent
(
dataChangedEvent
);
event
.
ifPresent
(
GovernanceEventBus
.
getInstance
()::
post
);
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/event/listener/PostGovernanceRepositoryEventListenerTest.java
浏览文件 @
57692e64
...
...
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.governance.core.event.listener;
import
org.apache.shardingsphere.governance.core.event.model.GovernanceEvent
;
import
org.apache.shardingsphere.governance.repository.api.GovernanceRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -55,10 +55,10 @@ public final class PostGovernanceRepositoryEventListenerTest {
};
doAnswer
(
invocationOnMock
->
{
DataChangedEventListener
listener
=
(
DataChangedEventListener
)
invocationOnMock
.
getArguments
()[
1
];
listener
.
onChange
(
new
DataChangedEvent
(
"test"
,
"value"
,
Changed
Type
.
UPDATED
));
listener
.
onChange
(
new
DataChangedEvent
(
"test"
,
"value"
,
Type
.
UPDATED
));
return
mock
(
DataChangedEventListener
.
class
);
}).
when
(
governanceRepository
).
watch
(
anyString
(),
any
(
DataChangedEventListener
.
class
));
postEventListener
.
watch
(
Changed
Type
.
UPDATED
);
postEventListener
.
watch
(
Type
.
UPDATED
);
verify
(
governanceRepository
).
watch
(
eq
(
"test"
),
any
());
}
...
...
@@ -73,10 +73,10 @@ public final class PostGovernanceRepositoryEventListenerTest {
};
doAnswer
(
invocationOnMock
->
{
DataChangedEventListener
listener
=
(
DataChangedEventListener
)
invocationOnMock
.
getArguments
()[
1
];
listener
.
onChange
(
new
DataChangedEvent
(
"test"
,
"value"
,
Changed
Type
.
UPDATED
));
listener
.
onChange
(
new
DataChangedEvent
(
"test"
,
"value"
,
Type
.
UPDATED
));
return
mock
(
DataChangedEventListener
.
class
);
}).
when
(
governanceRepository
).
watch
(
anyString
(),
any
(
DataChangedEventListener
.
class
));
postEventListener
.
watch
(
ChangedType
.
UPDATED
,
Changed
Type
.
DELETED
);
postEventListener
.
watch
(
Type
.
UPDATED
,
Type
.
DELETED
);
verify
(
governanceRepository
).
watch
(
eq
(
"test"
),
any
());
verify
(
governanceRepository
).
watch
(
eq
(
"dev"
),
any
());
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManager.java
浏览文件 @
57692e64
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.governance.core.config.listener
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
java.util.Collection
;
...
...
@@ -43,8 +43,8 @@ public final class ConfigurationListenerManager {
* Initialize all configuration changed listeners.
*/
public
void
initListeners
()
{
schemaChangedListener
.
watch
(
ChangedType
.
UPDATED
,
ChangedType
.
DELETED
,
Changed
Type
.
ADDED
);
propertiesChangedListener
.
watch
(
Changed
Type
.
UPDATED
);
authenticationChangedListener
.
watch
(
Changed
Type
.
UPDATED
);
schemaChangedListener
.
watch
(
Type
.
UPDATED
,
Type
.
DELETED
,
Type
.
ADDED
);
propertiesChangedListener
.
watch
(
Type
.
UPDATED
);
authenticationChangedListener
.
watch
(
Type
.
UPDATED
);
}
}
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/main/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListener.java
浏览文件 @
57692e64
...
...
@@ -34,7 +34,7 @@ import org.apache.shardingsphere.governance.core.yaml.swapper.DataSourceConfigur
import
org.apache.shardingsphere.governance.core.yaml.swapper.LogicSchemaMetaDataYamlSwapper
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.infra.metadata.model.schema.physical.model.schema.PhysicalSchemaMetaData
;
import
org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations
;
import
org.apache.shardingsphere.infra.yaml.engine.YamlEngine
;
...
...
@@ -75,13 +75,13 @@ public final class SchemaChangedListener extends PostGovernanceRepositoryEventLi
if
(
Strings
.
isNullOrEmpty
(
schemaName
)
||
!
isValidNodeChangedEvent
(
schemaName
,
event
.
getKey
()))
{
return
Optional
.
empty
();
}
if
(
ChangedType
.
ADDED
==
event
.
getChanged
Type
())
{
if
(
Type
.
ADDED
==
event
.
get
Type
())
{
return
Optional
.
of
(
createAddedEvent
(
schemaName
));
}
if
(
ChangedType
.
UPDATED
==
event
.
getChanged
Type
())
{
if
(
Type
.
UPDATED
==
event
.
get
Type
())
{
return
Optional
.
of
(
createUpdatedEvent
(
schemaName
,
event
));
}
if
(
ChangedType
.
DELETED
==
event
.
getChanged
Type
())
{
if
(
Type
.
DELETED
==
event
.
get
Type
())
{
existedSchemaNames
.
remove
(
schemaName
);
return
Optional
.
of
(
new
SchemaDeletedEvent
(
schemaName
));
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListenerTest.java
浏览文件 @
57692e64
...
...
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import
org.apache.shardingsphere.governance.core.event.model.auth.AuthenticationChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -52,7 +52,7 @@ public final class AuthenticationChangedListenerTest {
@Test
public
void
assertCreateGovernanceEvent
()
{
Optional
<
GovernanceEvent
>
actual
=
authenticationChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"test"
,
AUTHENTICATION_YAML
,
Changed
Type
.
UPDATED
));
Optional
<
GovernanceEvent
>
actual
=
authenticationChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"test"
,
AUTHENTICATION_YAML
,
Type
.
UPDATED
));
assertTrue
(
actual
.
isPresent
());
assertThat
(((
AuthenticationChangedEvent
)
actual
.
get
()).
getAuthentication
().
getUsers
().
get
(
"root1"
).
getPassword
(),
is
(
"root1"
));
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/ConfigurationListenerManagerTest.java
浏览文件 @
57692e64
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.governance.core.config.listener;
import
lombok.SneakyThrows
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
...
...
@@ -52,8 +52,8 @@ public final class ConfigurationListenerManagerTest {
setField
(
actual
,
"propertiesChangedListener"
,
propertiesChangedListener
);
setField
(
actual
,
"authenticationChangedListener"
,
authenticationChangedListener
);
actual
.
initListeners
();
verify
(
propertiesChangedListener
).
watch
(
Changed
Type
.
UPDATED
);
verify
(
authenticationChangedListener
).
watch
(
Changed
Type
.
UPDATED
);
verify
(
propertiesChangedListener
).
watch
(
Type
.
UPDATED
);
verify
(
authenticationChangedListener
).
watch
(
Type
.
UPDATED
);
}
@SneakyThrows
(
ReflectiveOperationException
.
class
)
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListenerTest.java
浏览文件 @
57692e64
...
...
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
import
org.apache.shardingsphere.governance.core.event.model.props.PropertiesChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.infra.config.properties.ConfigurationPropertyKey
;
import
org.junit.Before
;
import
org.junit.Test
;
...
...
@@ -52,7 +52,7 @@ public final class PropertiesChangedListenerTest {
@Test
public
void
assertCreateGovernanceEvent
()
{
Optional
<
GovernanceEvent
>
actual
=
propertiesChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"test"
,
PROPERTIES_YAML
,
Changed
Type
.
UPDATED
));
Optional
<
GovernanceEvent
>
actual
=
propertiesChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"test"
,
PROPERTIES_YAML
,
Type
.
UPDATED
));
assertTrue
(
actual
.
isPresent
());
assertThat
(((
PropertiesChangedEvent
)
actual
.
get
()).
getProps
().
get
(
ConfigurationPropertyKey
.
SQL_SHOW
.
getKey
()),
is
(
true
));
assertThat
(((
PropertiesChangedEvent
)
actual
.
get
()).
getProps
().
get
(
ConfigurationPropertyKey
.
ACCEPTOR_SIZE
.
getKey
()),
is
(
16
));
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/listener/SchemaChangedListenerTest.java
浏览文件 @
57692e64
...
...
@@ -27,7 +27,7 @@ import org.apache.shardingsphere.governance.core.event.model.schema.SchemaAddedE
import
org.apache.shardingsphere.governance.core.event.model.schema.SchemaDeletedEvent
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.infra.config.RuleConfiguration
;
import
org.apache.shardingsphere.infra.config.algorithm.ShardingSphereAlgorithmConfiguration
;
import
org.apache.shardingsphere.replicaquery.api.config.ReplicaQueryRuleConfiguration
;
...
...
@@ -78,14 +78,14 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateIgnoredEvent
()
{
assertFalse
(
schemaChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/schemas/encrypt_db"
,
"test"
,
Changed
Type
.
UPDATED
)).
isPresent
());
assertFalse
(
schemaChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/schemas/encrypt_db/rule"
,
"test"
,
Changed
Type
.
IGNORED
)).
isPresent
());
assertFalse
(
schemaChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/schemas/encrypt_db"
,
"test"
,
Type
.
UPDATED
)).
isPresent
());
assertFalse
(
schemaChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/schemas/encrypt_db/rule"
,
"test"
,
Type
.
IGNORED
)).
isPresent
());
}
@Test
public
void
assertCreateDataSourceChangedEventForExistedSchema
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/datasource"
,
dataSource
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/datasource"
,
dataSource
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
(),
instanceOf
(
DataSourceChangedEvent
.
class
));
...
...
@@ -95,7 +95,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateRuleConfigurationsChangedEventForExistedSchema
()
{
String
shardingRule
=
readYAML
(
SHARDING_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/rule"
,
shardingRule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/rule"
,
shardingRule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
RuleConfigurationsChangedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"sharding_db"
));
...
...
@@ -107,7 +107,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateReplicaQueryRuleChangedEventForExistedSchema
()
{
String
rule
=
readYAML
(
REPLICA_QUERY_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/replica_query_db/rule"
,
rule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/replica_query_db/rule"
,
rule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
RuleConfigurationsChangedEvent
event
=
(
RuleConfigurationsChangedEvent
)
actual
.
get
();
...
...
@@ -120,7 +120,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateEncryptRuleChangedEventForExistedSchema
()
{
String
encryptRule
=
readYAML
(
ENCRYPT_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/encrypt_db/rule"
,
encryptRule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/encrypt_db/rule"
,
encryptRule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
RuleConfigurationsChangedEvent
event
=
(
RuleConfigurationsChangedEvent
)
actual
.
get
();
...
...
@@ -135,7 +135,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateIgnoredGovernanceEventForNewSchema
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
"rule"
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
"rule"
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
(),
instanceOf
(
SchemaAddedEvent
.
class
));
...
...
@@ -144,7 +144,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateSchemaAddedEventForNewSchema
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -153,7 +153,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateReplicaQuerySchemaAddedEventForNewSchema
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -162,7 +162,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateEncryptSchemaAddedEventForNewSchema
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -171,7 +171,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateSchemaDeletedEventForNewSchema
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Changed
Type
.
DELETED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/datasource"
,
dataSource
,
Type
.
DELETED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaDeletedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -180,7 +180,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateWithSchemaDeletedEvent
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db"
,
dataSource
,
Changed
Type
.
DELETED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db"
,
dataSource
,
Type
.
DELETED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
(),
instanceOf
(
SchemaDeletedEvent
.
class
));
...
...
@@ -189,7 +189,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateWithSchemaDeletedEventWithDataSourceNode
()
{
String
dataSource
=
readYAML
(
DATA_SOURCE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/datasource"
,
dataSource
,
Changed
Type
.
DELETED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/datasource"
,
dataSource
,
Type
.
DELETED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(
actual
.
get
(),
instanceOf
(
SchemaDeletedEvent
.
class
));
...
...
@@ -198,7 +198,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateAddedEventWithEncryptRuleConfigurationForNewSchema
()
{
String
encryptRule
=
readYAML
(
ENCRYPT_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
encryptRule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
encryptRule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -207,7 +207,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateAddedEventWithShardingRuleConfigurationForNewSchema
()
{
String
shardingRule
=
readYAML
(
SHARDING_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
shardingRule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
shardingRule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -216,7 +216,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateAddedEventWithReplicaQueryRuleConfigurationForNewSchema
()
{
String
rule
=
readYAML
(
REPLICA_QUERY_RULE_FILE
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
rule
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/logic_db/rule"
,
rule
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"logic_db"
));
...
...
@@ -224,7 +224,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateSchemaNamesUpdatedEventForAdd
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db,encrypt_db,shadow_db"
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db,encrypt_db,shadow_db"
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"shadow_db"
));
...
...
@@ -232,7 +232,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateSchemaNamesUpdatedEventForDelete
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db"
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db"
,
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaDeletedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"encrypt_db"
));
...
...
@@ -240,13 +240,13 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateSchemaNamesUpdatedEventForIgnore
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db,encrypt_db"
,
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas"
,
"sharding_db,replica_query_db,encrypt_db"
,
Type
.
UPDATED
);
assertFalse
(
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
).
isPresent
());
}
@Test
public
void
assertCreateSchemaNameAddEvent
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/shadow_db"
,
""
,
Changed
Type
.
ADDED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/shadow_db"
,
""
,
Type
.
ADDED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertThat
(((
SchemaAddedEvent
)
actual
.
get
()).
getSchemaName
(),
is
(
"shadow_db"
));
...
...
@@ -254,7 +254,7 @@ public final class SchemaChangedListenerTest {
@Test
public
void
assertCreateMetaDataChangedEvent
()
{
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/table"
,
readYAML
(
META_DATA_FILE
),
Changed
Type
.
UPDATED
);
DataChangedEvent
dataChangedEvent
=
new
DataChangedEvent
(
"/schemas/sharding_db/table"
,
readYAML
(
META_DATA_FILE
),
Type
.
UPDATED
);
Optional
<
GovernanceEvent
>
actual
=
schemaChangedListener
.
createGovernanceEvent
(
dataChangedEvent
);
assertTrue
(
actual
.
isPresent
());
assertTrue
(((
MetaDataChangedEvent
)
actual
.
get
()).
getMetaData
().
getAllTableNames
().
contains
(
"t_order"
));
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListener.java
浏览文件 @
57692e64
...
...
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.governance.core.registry.RegistryCenterNodeStat
import
org.apache.shardingsphere.governance.core.registry.event.DisabledStateChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
java.util.Collection
;
import
java.util.Optional
;
...
...
@@ -47,6 +47,6 @@ public final class DataSourceStateChangedListener extends PostGovernanceReposito
}
private
boolean
isDataSourceDisabled
(
final
DataChangedEvent
event
)
{
return
RegistryCenterNodeStatus
.
DISABLED
.
toString
().
equalsIgnoreCase
(
event
.
getValue
())
&&
(
ChangedType
.
UPDATED
==
event
.
getChangedType
()
||
ChangedType
.
ADDED
==
event
.
getChanged
Type
());
return
RegistryCenterNodeStatus
.
DISABLED
.
toString
().
equalsIgnoreCase
(
event
.
getValue
())
&&
(
Type
.
UPDATED
==
event
.
getType
()
||
Type
.
ADDED
==
event
.
get
Type
());
}
}
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/main/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManager.java
浏览文件 @
57692e64
...
...
@@ -18,7 +18,7 @@
package
org.apache.shardingsphere.governance.core.registry.listener
;
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
java.util.Collection
;
...
...
@@ -40,7 +40,7 @@ public final class RegistryListenerManager {
* Initialize all state changed listeners.
*/
public
void
initListeners
()
{
instanceStateChangedListener
.
watch
(
Changed
Type
.
UPDATED
);
dataSourceStateChangedListener
.
watch
(
ChangedType
.
UPDATED
,
ChangedType
.
DELETED
,
Changed
Type
.
ADDED
);
instanceStateChangedListener
.
watch
(
Type
.
UPDATED
);
dataSourceStateChangedListener
.
watch
(
Type
.
UPDATED
,
Type
.
DELETED
,
Type
.
ADDED
);
}
}
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/DataSourceStateChangedListenerTest.java
浏览文件 @
57692e64
...
...
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.governance.core.registry.event.DisabledStateCha
import
org.apache.shardingsphere.governance.core.registry.schema.GovernanceSchema
;
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -52,7 +52,7 @@ public final class DataSourceStateChangedListenerTest {
@Test
public
void
assertCreateGovernanceEvent
()
{
Optional
<
GovernanceEvent
>
actual
=
dataSourceStateChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/states/datanodes/replica_query_db/replica_ds_0"
,
"disabled"
,
Changed
Type
.
UPDATED
));
new
DataChangedEvent
(
"/states/datanodes/replica_query_db/replica_ds_0"
,
"disabled"
,
Type
.
UPDATED
));
assertTrue
(
actual
.
isPresent
());
assertThat
(((
DisabledStateChangedEvent
)
actual
.
get
()).
getGovernanceSchema
().
getSchemaName
(),
is
(
new
GovernanceSchema
(
"replica_query_db"
,
"replica_ds_0"
).
getSchemaName
()));
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/InstanceStateChangedListenerTest.java
浏览文件 @
57692e64
...
...
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.governance.core.registry.RegistryCenterNodeStat
import
org.apache.shardingsphere.governance.core.registry.event.CircuitStateChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
...
...
@@ -49,14 +49,14 @@ public final class InstanceStateChangedListenerTest {
@Test
public
void
assertCreateGovernanceEventWhenEnabled
()
{
Optional
<
GovernanceEvent
>
actual
=
instanceStateChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/test_ds"
,
""
,
Changed
Type
.
UPDATED
));
Optional
<
GovernanceEvent
>
actual
=
instanceStateChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/test_ds"
,
""
,
Type
.
UPDATED
));
assertTrue
(
actual
.
isPresent
());
assertFalse
(((
CircuitStateChangedEvent
)
actual
.
get
()).
isCircuitBreak
());
}
@Test
public
void
assertCreateGovernanceEventWhenDisabled
()
{
Optional
<
GovernanceEvent
>
actual
=
instanceStateChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/test_ds"
,
RegistryCenterNodeStatus
.
DISABLED
.
name
(),
Changed
Type
.
UPDATED
));
Optional
<
GovernanceEvent
>
actual
=
instanceStateChangedListener
.
createGovernanceEvent
(
new
DataChangedEvent
(
"/test_ds"
,
RegistryCenterNodeStatus
.
DISABLED
.
name
(),
Type
.
UPDATED
));
assertTrue
(
actual
.
isPresent
());
assertTrue
(((
CircuitStateChangedEvent
)
actual
.
get
()).
isCircuitBreak
());
}
...
...
shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-registry/src/test/java/org/apache/shardingsphere/governance/core/registry/listener/RegistryListenerManagerTest.java
浏览文件 @
57692e64
...
...
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.governance.core.registry.listener;
import
org.apache.shardingsphere.governance.core.registry.util.FieldUtil
;
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.mockito.Mock
;
...
...
@@ -47,7 +47,7 @@ public final class RegistryListenerManagerTest {
FieldUtil
.
setField
(
actual
,
"instanceStateChangedListener"
,
instanceStateChangedListener
);
FieldUtil
.
setField
(
actual
,
"dataSourceStateChangedListener"
,
dataSourceStateChangedListener
);
actual
.
initListeners
();
verify
(
instanceStateChangedListener
).
watch
(
Changed
Type
.
UPDATED
);
verify
(
dataSourceStateChangedListener
).
watch
(
ChangedType
.
UPDATED
,
ChangedType
.
DELETED
,
Changed
Type
.
ADDED
);
verify
(
instanceStateChangedListener
).
watch
(
Type
.
UPDATED
);
verify
(
dataSourceStateChangedListener
).
watch
(
Type
.
UPDATED
,
Type
.
DELETED
,
Type
.
ADDED
);
}
}
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-api/src/main/java/org/apache/shardingsphere/governance/repository/api/listener/DataChangedEvent.java
浏览文件 @
57692e64
...
...
@@ -31,12 +31,12 @@ public final class DataChangedEvent {
private
final
String
value
;
private
final
ChangedType
changedT
ype
;
private
final
Type
t
ype
;
/**
* Data changed type.
*/
public
enum
Changed
Type
{
public
enum
Type
{
ADDED
,
UPDATED
,
DELETED
,
IGNORED
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/main/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepository.java
浏览文件 @
57692e64
...
...
@@ -27,7 +27,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
org.apache.shardingsphere.governance.repository.apollo.wrapper.ApolloConfigWrapper
;
import
org.apache.shardingsphere.governance.repository.apollo.wrapper.ApolloOpenApiWrapper
;
...
...
@@ -89,28 +89,28 @@ public final class ApolloRepository implements ConfigurationRepository {
ConfigChangeListener
listener
=
changeEvent
->
{
for
(
String
changeKey
:
changeEvent
.
changedKeys
())
{
ConfigChange
change
=
changeEvent
.
getChange
(
changeKey
);
ChangedType
changedT
ype
=
getChangedType
(
change
.
getChangeType
());
if
(
ChangedType
.
IGNORED
==
changedT
ype
)
{
Type
t
ype
=
getChangedType
(
change
.
getChangeType
());
if
(
Type
.
IGNORED
==
t
ype
)
{
continue
;
}
if
(!
caches
.
containsKey
(
changeKey
))
{
continue
;
}
caches
.
get
(
changeKey
).
onChange
(
new
DataChangedEvent
(
keyToPath
(
changeKey
),
change
.
getNewValue
(),
changedT
ype
));
caches
.
get
(
changeKey
).
onChange
(
new
DataChangedEvent
(
keyToPath
(
changeKey
),
change
.
getNewValue
(),
t
ype
));
}
};
configWrapper
.
addChangeListener
(
listener
,
Collections
.
singleton
(
apolloKey
),
Collections
.
singleton
(
apolloKey
));
}
private
Changed
Type
getChangedType
(
final
PropertyChangeType
changeType
)
{
private
Type
getChangedType
(
final
PropertyChangeType
changeType
)
{
switch
(
changeType
)
{
case
ADDED:
case
MODIFIED:
return
Changed
Type
.
UPDATED
;
return
Type
.
UPDATED
;
case
DELETED:
return
Changed
Type
.
DELETED
;
return
Type
.
DELETED
;
default
:
return
Changed
Type
.
IGNORED
;
return
Type
.
IGNORED
;
}
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-apollo/src/test/java/org/apache/shardingsphere/governance/repository/apollo/ApolloRepositoryTest.java
浏览文件 @
57692e64
...
...
@@ -23,7 +23,7 @@ import lombok.SneakyThrows;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.apollo.wrapper.ApolloConfigWrapper
;
import
org.apache.shardingsphere.governance.repository.apollo.wrapper.ApolloOpenApiWrapper
;
import
org.junit.BeforeClass
;
...
...
@@ -114,7 +114,7 @@ public final class ApolloRepositoryTest {
DataChangedEvent
changeEvent
=
future
.
get
(
5
,
TimeUnit
.
SECONDS
);
assertThat
(
changeEvent
.
getKey
(),
is
(
path
));
assertThat
(
changeEvent
.
getValue
(),
is
(
newValue
));
assertThat
(
changeEvent
.
get
ChangedType
(),
is
(
Changed
Type
.
UPDATED
));
assertThat
(
changeEvent
.
get
Type
(),
is
(
Type
.
UPDATED
));
}
@Test
...
...
@@ -129,7 +129,7 @@ public final class ApolloRepositoryTest {
DataChangedEvent
changeEvent
=
future
.
get
(
5
,
TimeUnit
.
SECONDS
);
assertThat
(
changeEvent
.
getKey
(),
is
(
path
));
assertNull
(
changeEvent
.
getValue
());
assertThat
(
changeEvent
.
get
ChangedType
(),
is
(
Changed
Type
.
DELETED
));
assertThat
(
changeEvent
.
get
Type
(),
is
(
Type
.
DELETED
));
assertNull
(
REPOSITORY
.
get
(
path
));
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-etcd/src/main/java/org/apache/shardingsphere/governance/repository/etcd/EtcdRepository.java
浏览文件 @
57692e64
...
...
@@ -35,7 +35,7 @@ import org.apache.shardingsphere.governance.repository.api.ConfigurationReposito
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
java.util.List
;
...
...
@@ -107,24 +107,24 @@ public final class EtcdRepository implements ConfigurationRepository, RegistryRe
public
void
watch
(
final
String
key
,
final
DataChangedEventListener
dataChangedEventListener
)
{
Watch
.
Listener
listener
=
Watch
.
listener
(
response
->
{
for
(
WatchEvent
each
:
response
.
getEvents
())
{
ChangedType
changedT
ype
=
getEventChangedType
(
each
);
if
(
ChangedType
.
IGNORED
!=
changedT
ype
)
{
Type
t
ype
=
getEventChangedType
(
each
);
if
(
Type
.
IGNORED
!=
t
ype
)
{
dataChangedEventListener
.
onChange
(
new
DataChangedEvent
(
each
.
getKeyValue
().
getKey
().
toString
(
StandardCharsets
.
UTF_8
),
each
.
getKeyValue
().
getValue
().
toString
(
StandardCharsets
.
UTF_8
),
changedT
ype
));
each
.
getKeyValue
().
getValue
().
toString
(
StandardCharsets
.
UTF_8
),
t
ype
));
}
}
});
client
.
getWatchClient
().
watch
(
ByteSequence
.
from
(
key
,
StandardCharsets
.
UTF_8
),
listener
);
}
private
Changed
Type
getEventChangedType
(
final
WatchEvent
event
)
{
private
Type
getEventChangedType
(
final
WatchEvent
event
)
{
switch
(
event
.
getEventType
())
{
case
PUT:
return
Changed
Type
.
UPDATED
;
return
Type
.
UPDATED
;
case
DELETE:
return
Changed
Type
.
DELETED
;
return
Type
.
DELETED
;
default
:
return
Changed
Type
.
IGNORED
;
return
Type
.
IGNORED
;
}
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/main/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepository.java
浏览文件 @
57692e64
...
...
@@ -28,7 +28,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
java.util.List
;
...
...
@@ -134,7 +134,7 @@ public final class NacosRepository implements ConfigurationRepository {
@Override
public
void
receiveConfigInfo
(
final
String
configInfo
)
{
listener
.
onChange
(
new
DataChangedEvent
(
key
,
configInfo
,
Changed
Type
.
UPDATED
));
listener
.
onChange
(
new
DataChangedEvent
(
key
,
configInfo
,
Type
.
UPDATED
));
}
});
}
catch
(
final
NacosException
ex
)
{
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-nacos/src/test/java/org/apache/shardingsphere/governance/repository/nacos/NacosRepositoryTest.java
浏览文件 @
57692e64
...
...
@@ -22,7 +22,7 @@ import com.alibaba.nacos.api.config.listener.Listener;
import
com.alibaba.nacos.api.exception.NacosException
;
import
lombok.SneakyThrows
;
import
org.apache.shardingsphere.governance.repository.api.ConfigurationRepository
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.junit.Before
;
...
...
@@ -118,24 +118,24 @@ public final class NacosRepositoryTest {
public
void
assertWatchUpdatedChangedType
()
throws
NacosException
{
final
String
expectValue
=
"expectValue"
;
String
[]
actualValue
=
{
null
};
Changed
Type
[]
actualType
=
{
null
};
Type
[]
actualType
=
{
null
};
doAnswer
(
AdditionalAnswers
.
answerVoid
(
getListenerAnswer
(
expectValue
))).
when
(
configService
).
addListener
(
anyString
(),
anyString
(),
any
(
Listener
.
class
));
DataChangedEventListener
listener
=
dataChangedEvent
->
{
actualValue
[
0
]
=
dataChangedEvent
.
getValue
();
actualType
[
0
]
=
dataChangedEvent
.
get
Changed
Type
();
actualType
[
0
]
=
dataChangedEvent
.
getType
();
};
REPOSITORY
.
watch
(
"/sharding/test"
,
listener
);
assertThat
(
actualValue
[
0
],
is
(
expectValue
));
assertThat
(
actualType
[
0
],
is
(
Changed
Type
.
UPDATED
));
assertThat
(
actualType
[
0
],
is
(
Type
.
UPDATED
));
}
@Test
public
void
assertWatchDeletedChangedType
()
throws
NacosException
{
Changed
Type
[]
actualType
=
{
null
};
Type
[]
actualType
=
{
null
};
doAnswer
(
AdditionalAnswers
.
answerVoid
(
getListenerAnswer
(
null
))).
when
(
configService
).
addListener
(
anyString
(),
anyString
(),
any
(
Listener
.
class
));
DataChangedEventListener
listener
=
dataChangedEvent
->
actualType
[
0
]
=
dataChangedEvent
.
get
Changed
Type
();
DataChangedEventListener
listener
=
dataChangedEvent
->
actualType
[
0
]
=
dataChangedEvent
.
getType
();
REPOSITORY
.
watch
(
"/sharding/test"
,
listener
);
assertThat
(
actualType
[
0
],
is
(
Changed
Type
.
UPDATED
));
assertThat
(
actualType
[
0
],
is
(
Type
.
UPDATED
));
}
@Test
...
...
@@ -154,9 +154,9 @@ public final class NacosRepositoryTest {
@Test
public
void
assertWatchWhenThrowException
()
throws
NacosException
{
Changed
Type
[]
actualType
=
{
null
};
Type
[]
actualType
=
{
null
};
doThrow
(
NacosException
.
class
).
when
(
configService
).
addListener
(
anyString
(),
anyString
(),
any
(
Listener
.
class
));
DataChangedEventListener
listener
=
dataChangedEvent
->
actualType
[
0
]
=
dataChangedEvent
.
get
Changed
Type
();
DataChangedEventListener
listener
=
dataChangedEvent
->
actualType
[
0
]
=
dataChangedEvent
.
getType
();
REPOSITORY
.
watch
(
"/sharding/test"
,
listener
);
assertNull
(
actualType
[
0
]);
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/main/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepository.java
浏览文件 @
57692e64
...
...
@@ -43,7 +43,7 @@ import org.apache.shardingsphere.governance.repository.api.ConfigurationReposito
import
org.apache.shardingsphere.governance.repository.api.RegistryRepository
;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEventListener
;
import
org.apache.shardingsphere.governance.repository.zookeeper.handler.CuratorZookeeperExceptionHandler
;
import
org.apache.zookeeper.CreateMode
;
...
...
@@ -235,8 +235,8 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository
cache
.
listenable
().
addListener
((
type
,
oldData
,
data
)
->
{
String
eventPath
=
CuratorCacheListener
.
Type
.
NODE_DELETED
==
type
?
oldData
.
getPath
()
:
data
.
getPath
();
byte
[]
eventDataByte
=
CuratorCacheListener
.
Type
.
NODE_DELETED
==
type
?
oldData
.
getData
()
:
data
.
getData
();
DataChangedEvent
.
Changed
Type
changedType
=
getChangedType
(
type
);
if
(
Changed
Type
.
IGNORED
!=
changedType
)
{
Type
changedType
=
getChangedType
(
type
);
if
(
Type
.
IGNORED
!=
changedType
)
{
listener
.
onChange
(
new
DataChangedEvent
(
eventPath
,
null
==
eventDataByte
?
null
:
new
String
(
eventDataByte
,
StandardCharsets
.
UTF_8
),
changedType
));
}
});
...
...
@@ -254,16 +254,16 @@ public final class CuratorZookeeperRepository implements ConfigurationRepository
caches
.
put
(
cachePath
+
PATH_SEPARATOR
,
cache
);
}
private
Changed
Type
getChangedType
(
final
CuratorCacheListener
.
Type
type
)
{
private
Type
getChangedType
(
final
CuratorCacheListener
.
Type
type
)
{
switch
(
type
)
{
case
NODE_CREATED:
return
Changed
Type
.
ADDED
;
return
Type
.
ADDED
;
case
NODE_CHANGED:
return
Changed
Type
.
UPDATED
;
return
Type
.
UPDATED
;
case
NODE_DELETED:
return
Changed
Type
.
DELETED
;
return
Type
.
DELETED
;
default
:
return
Changed
Type
.
IGNORED
;
return
Type
.
IGNORED
;
}
}
...
...
shardingsphere-governance/shardingsphere-governance-repository/shardingsphere-governance-repository-provider/shardingsphere-governance-repository-zookeeper-curator/src/test/java/org/apache/shardingsphere/governance/repository/zookeeper/CuratorZookeeperRepositoryTest.java
浏览文件 @
57692e64
...
...
@@ -21,7 +21,7 @@ import org.apache.curator.framework.CuratorFramework;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceCenterConfiguration
;
import
org.apache.shardingsphere.governance.repository.api.exception.GovernanceException
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.
Changed
Type
;
import
org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent.Type
;
import
org.junit.BeforeClass
;
import
org.junit.Test
;
...
...
@@ -86,7 +86,7 @@ public final class CuratorZookeeperRepositoryTest {
Thread
.
sleep
(
50L
);
DataChangedEvent
dataChangedEvent
=
dataChangedEventActual
.
get
();
assertNotNull
(
dataChangedEvent
);
assertThat
(
dataChangedEvent
.
get
ChangedType
(),
is
(
Changed
Type
.
UPDATED
));
assertThat
(
dataChangedEvent
.
get
Type
(),
is
(
Type
.
UPDATED
));
assertThat
(
dataChangedEvent
.
getKey
(),
is
(
"/test/children_updated/1"
));
assertThat
(
dataChangedEvent
.
getValue
(),
is
(
"value2"
));
assertThat
(
REPOSITORY
.
get
(
"/test/children_updated/1"
),
is
(
"value2"
));
...
...
@@ -104,7 +104,7 @@ public final class CuratorZookeeperRepositoryTest {
Thread
.
sleep
(
50L
);
DataChangedEvent
dataChangedEvent
=
dataChangedEventActual
.
get
();
assertNotNull
(
dataChangedEvent
);
assertThat
(
dataChangedEvent
.
get
ChangedType
(),
is
(
Changed
Type
.
DELETED
));
assertThat
(
dataChangedEvent
.
get
Type
(),
is
(
Type
.
DELETED
));
assertThat
(
dataChangedEvent
.
getKey
(),
is
(
"/test/children_deleted/5"
));
assertThat
(
dataChangedEvent
.
getValue
(),
is
(
"value5"
));
}
...
...
@@ -117,7 +117,7 @@ public final class CuratorZookeeperRepositoryTest {
Thread
.
sleep
(
50L
);
DataChangedEvent
event
=
actualDataChangedEvent
.
get
();
assertNotNull
(
event
);
assertThat
(
event
.
get
ChangedType
(),
is
(
Changed
Type
.
ADDED
));
assertThat
(
event
.
get
Type
(),
is
(
Type
.
ADDED
));
assertThat
(
event
.
getKey
(),
is
(
"/test/children_added/4"
));
assertThat
(
event
.
getValue
(),
is
(
"value4"
));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录