This is an automated email from the ASF dual-hosted git repository.
wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 1a3cdfa Remove GovernanceFacade and replace it to RegistryCenter and
ConfigCenter (#11421)
1a3cdfa is described below
commit 1a3cdfa489962dd13c13a4624645ba7a6ba60fb9
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jul 21 00:01:18 2021 +0800
Remove GovernanceFacade and replace it to RegistryCenter and ConfigCenter
(#11421)
* Refactor RegistryCenter
* Refactor RegistryCenter
* Remove GovernanceFacade
---
.../metadata/GovernanceMetaDataContexts.java | 12 ++--
.../metadata/GovernanceMetaDataContextsTest.java | 10 ++--
.../governance/core/GovernanceFacade.java | 56 -----------------
.../governance/core/registry/RegistryCenter.java | 16 ++++-
.../governance/core/GovernanceFacadeTest.java | 70 ----------------------
.../GovernanceShardingSphereDataSource.java | 23 +++----
.../impl/GovernanceBootstrapInitializer.java | 12 ++--
7 files changed, 38 insertions(+), 161 deletions(-)
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
index 368b0c8..911a4c2 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/main/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContexts.java
@@ -21,8 +21,8 @@ import com.google.common.collect.Maps;
import com.google.common.eventbus.Subscribe;
import org.apache.shardingsphere.authority.rule.AuthorityRule;
import
org.apache.shardingsphere.governance.context.authority.listener.event.AuthorityChangedEvent;
-import org.apache.shardingsphere.governance.core.GovernanceFacade;
import
org.apache.shardingsphere.governance.core.lock.ShardingSphereDistributeLock;
+import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangeCompletedEvent;
import
org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangedEvent;
import
org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
@@ -82,15 +82,15 @@ public final class GovernanceMetaDataContexts implements
MetaDataContexts {
private final ConfigCenter configCenter;
- private final GovernanceFacade governanceFacade;
+ private final RegistryCenter registryCenter;
private final ShardingSphereLock lock;
- public GovernanceMetaDataContexts(final StandardMetaDataContexts
metaDataContexts,
- final ConfigCenter configCenter, final
GovernanceFacade governanceFacade, final RegistryCenterRepository repository) {
+ public GovernanceMetaDataContexts(final StandardMetaDataContexts
metaDataContexts,
+ final ConfigCenter configCenter, final
RegistryCenter registryCenter, final RegistryCenterRepository repository) {
this.metaDataContexts = metaDataContexts;
this.configCenter = configCenter;
- this.governanceFacade = governanceFacade;
+ this.registryCenter = registryCenter;
ShardingSphereEventBus.getInstance().register(this);
disableDataSources();
persistMetaData();
@@ -103,7 +103,7 @@ public final class GovernanceMetaDataContexts implements
MetaDataContexts {
}
private void disableDataSources(final String schemaName, final
StatusContainedRule rule) {
- Collection<String> disabledDataSources =
governanceFacade.getRegistryCenter().getDataSourceStatusService().loadDisabledDataSources(schemaName);
+ Collection<String> disabledDataSources =
registryCenter.getDataSourceStatusService().loadDisabledDataSources(schemaName);
disabledDataSources.stream().map(this::getDataSourceName).forEach(each
-> rule.updateRuleStatus(new DataSourceNameDisabledEvent(each, true)));
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
index 0a54275..0afcd76 100644
---
a/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
+++
b/shardingsphere-governance/shardingsphere-governance-context/src/test/java/org/apache/shardingsphere/governance/context/metadata/GovernanceMetaDataContextsTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.governance.context.metadata;
import
org.apache.shardingsphere.authority.api.config.AuthorityRuleConfiguration;
import org.apache.shardingsphere.authority.rule.AuthorityRule;
import
org.apache.shardingsphere.governance.context.authority.listener.event.AuthorityChangedEvent;
-import org.apache.shardingsphere.governance.core.GovernanceFacade;
+import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.config.event.datasource.DataSourceChangedEvent;
import
org.apache.shardingsphere.governance.core.registry.config.event.props.PropertiesChangedEvent;
import
org.apache.shardingsphere.governance.core.registry.config.event.rule.GlobalRuleConfigurationsChangedEvent;
@@ -80,13 +80,13 @@ public final class GovernanceMetaDataContextsTest {
private final ConfigurationProperties props = new
ConfigurationProperties(new Properties());
- @Mock
- private GovernanceFacade governanceFacade;
-
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ConfigCenter configCenter;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
+ private RegistryCenter registryCenter;
+
+ @Mock(answer = Answers.RETURNS_DEEP_STUBS)
private ShardingSphereMetaData metaData;
private GovernanceMetaDataContexts governanceMetaDataContexts;
@@ -97,7 +97,7 @@ public final class GovernanceMetaDataContextsTest {
@Before
public void setUp() {
governanceMetaDataContexts = new GovernanceMetaDataContexts(new
StandardMetaDataContexts(
- createMetaDataMap(), globalRuleMetaData,
mock(ExecutorEngine.class), props, mockOptimizeContextFactory()), configCenter,
governanceFacade, mock(RegistryCenterRepository.class));
+ createMetaDataMap(), globalRuleMetaData,
mock(ExecutorEngine.class), props, mockOptimizeContextFactory()), configCenter,
registryCenter, mock(RegistryCenterRepository.class));
}
private Map<String, ShardingSphereMetaData> createMetaDataMap() {
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
deleted file mode 100644
index c41253f..0000000
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/GovernanceFacade.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.governance.core;
-
-import lombok.Getter;
-import
org.apache.shardingsphere.governance.core.registry.GovernanceWatcherFactory;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
-import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
-
-import java.util.Collection;
-
-/**
- * Governance facade.
- */
-public final class GovernanceFacade {
-
- @Getter
- private RegistryCenter registryCenter;
-
- private GovernanceWatcherFactory listenerFactory;
-
- /**
- * Initialize governance facade.
- *
- * @param repository registry center repository
- */
- public void init(final RegistryCenterRepository repository) {
- registryCenter = new RegistryCenter(repository);
- listenerFactory = new GovernanceWatcherFactory(repository);
- }
-
- /**
- * Online instance.
- *
- * @param schemaNames schema names
- */
- public void onlineInstance(final Collection<String> schemaNames) {
- registryCenter.registerInstanceOnline();
- listenerFactory.watchListeners(schemaNames);
- }
-}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
index 660c9a3..56b9b0e 100644
---
a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
+++
b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/registry/RegistryCenter.java
@@ -31,25 +31,32 @@ import
org.apache.shardingsphere.governance.core.registry.state.service.Instance
import
org.apache.shardingsphere.governance.core.registry.state.subscriber.DataSourceStatusRegistrySubscriber;
import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
+import java.util.Collection;
+
/**
* Registry center.
*/
-@Getter
public final class RegistryCenter {
private final String instanceId;
+ @Getter
private final DataSourceStatusRegistryService dataSourceStatusService;
+ @Getter
private final InstanceStatusRegistryService instanceStatusService;
+ @Getter
private final LockRegistryService lockService;
+ private final GovernanceWatcherFactory listenerFactory;
+
public RegistryCenter(final RegistryCenterRepository repository) {
instanceId = GovernanceInstance.getInstance().getId();
dataSourceStatusService = new
DataSourceStatusRegistryService(repository);
instanceStatusService = new InstanceStatusRegistryService(repository);
lockService = new LockRegistryService(repository);
+ listenerFactory = new GovernanceWatcherFactory(repository);
createSubscribers(repository);
}
@@ -64,9 +71,12 @@ public final class RegistryCenter {
}
/**
- * Register instance online.
+ * Online instance.
+ *
+ * @param schemaNames schema names
*/
- public void registerInstanceOnline() {
+ public void onlineInstance(final Collection<String> schemaNames) {
instanceStatusService.registerInstanceOnline(instanceId);
+ listenerFactory.watchListeners(schemaNames);
}
}
diff --git
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
b/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
deleted file mode 100644
index 687ddf6..0000000
---
a/shardingsphere-governance/shardingsphere-governance-core/src/test/java/org/apache/shardingsphere/governance/core/GovernanceFacadeTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.governance.core;
-
-import lombok.SneakyThrows;
-import
org.apache.shardingsphere.governance.core.registry.GovernanceWatcherFactory;
-import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
-import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
-import org.junit.Test;
-
-import java.lang.reflect.Field;
-import java.util.Arrays;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-
-public final class GovernanceFacadeTest {
-
- private final GovernanceFacade governanceFacade = new GovernanceFacade();
-
- @Test
- public void assertInit() {
- governanceFacade.init(mock(RegistryCenterRepository.class));
- assertNotNull(governanceFacade.getRegistryCenter());
- assertThat(getField(governanceFacade, "listenerFactory"),
instanceOf(GovernanceWatcherFactory.class));
- }
-
- @Test
- public void assertOnlineInstance() {
- RegistryCenter registryCenter = mock(RegistryCenter.class);
- GovernanceWatcherFactory listenerFactory =
mock(GovernanceWatcherFactory.class);
- setField(governanceFacade, "registryCenter", registryCenter);
- setField(governanceFacade, "listenerFactory", listenerFactory);
- governanceFacade.onlineInstance(Arrays.asList("schema_0", "schema_1"));
- verify(registryCenter).registerInstanceOnline();
- verify(listenerFactory).watchListeners(Arrays.asList("schema_0",
"schema_1"));
- }
-
- @SneakyThrows(ReflectiveOperationException.class)
- private static Object getField(final Object target, final String
fieldName) {
- Field field = target.getClass().getDeclaredField(fieldName);
- field.setAccessible(true);
- return field.get(target);
- }
-
- @SneakyThrows(ReflectiveOperationException.class)
- private static void setField(final Object target, final String fieldName,
final Object fieldValue) {
- Field field = target.getClass().getDeclaredField(fieldName);
- field.setAccessible(true);
- field.set(target, fieldValue);
- }
-}
diff --git
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
index bc296c0..72b5982 100644
---
a/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
+++
b/shardingsphere-jdbc/shardingsphere-jdbc-governance/src/main/java/org/apache/shardingsphere/driver/governance/internal/datasource/GovernanceShardingSphereDataSource.java
@@ -21,7 +21,7 @@ import lombok.Getter;
import
org.apache.shardingsphere.driver.governance.internal.state.DriverStateContext;
import
org.apache.shardingsphere.driver.jdbc.unsupported.AbstractUnsupportedOperationDataSource;
import
org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
-import org.apache.shardingsphere.governance.core.GovernanceFacade;
+import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.RegistryCenterRepositoryFactory;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
import
org.apache.shardingsphere.governance.repository.spi.RegistryCenterRepository;
@@ -68,8 +68,8 @@ public final class GovernanceShardingSphereDataSource extends
AbstractUnsupporte
public GovernanceShardingSphereDataSource(final GovernanceConfiguration
governanceConfig) throws SQLException {
repository =
RegistryCenterRepositoryFactory.newInstance(governanceConfig);
ConfigCenter configCenter = new ConfigCenter(repository);
- GovernanceFacade governanceFacade = createGovernanceFacade();
- metaDataContexts = new
GovernanceMetaDataContexts(createMetaDataContexts(configCenter), configCenter,
governanceFacade, repository);
+ RegistryCenter registryCenter = new RegistryCenter(repository);
+ metaDataContexts = new
GovernanceMetaDataContexts(createMetaDataContexts(configCenter), configCenter,
registryCenter, repository);
String xaTransactionMangerType =
metaDataContexts.getProps().getValue(ConfigurationPropertyKey.XA_TRANSACTION_MANAGER_TYPE);
transactionContexts =
createTransactionContexts(metaDataContexts.getDefaultMetaData().getResource().getDatabaseType(),
metaDataContexts.getDefaultMetaData().getResource().getDataSources(),
xaTransactionMangerType);
@@ -79,19 +79,12 @@ public final class GovernanceShardingSphereDataSource
extends AbstractUnsupporte
final Properties props, final
GovernanceConfiguration governanceConfig) throws SQLException {
repository =
RegistryCenterRepositoryFactory.newInstance(governanceConfig);
ConfigCenter configCenter = new ConfigCenter(repository);
- GovernanceFacade governanceFacade = createGovernanceFacade();
- metaDataContexts = new
GovernanceMetaDataContexts(createMetaDataContexts(dataSourceMap, ruleConfigs,
props), configCenter, governanceFacade, repository);
+ RegistryCenter registryCenter = new RegistryCenter(repository);
+ metaDataContexts = new
GovernanceMetaDataContexts(createMetaDataContexts(dataSourceMap, ruleConfigs,
props), configCenter, registryCenter, repository);
String xaTransactionMangerType =
metaDataContexts.getProps().getValue(ConfigurationPropertyKey.XA_TRANSACTION_MANAGER_TYPE);
transactionContexts =
createTransactionContexts(metaDataContexts.getDefaultMetaData().getResource().getDatabaseType(),
metaDataContexts.getDefaultMetaData().getResource().getDataSources(),
xaTransactionMangerType);
- uploadLocalConfiguration(configCenter, governanceFacade, ruleConfigs,
governanceConfig.isOverwrite());
- }
-
- private GovernanceFacade createGovernanceFacade() {
- GovernanceFacade result = new GovernanceFacade();
- result.init(repository);
-
result.onlineInstance(Collections.singletonList(DefaultSchema.LOGIC_NAME));
- return result;
+ uploadLocalConfiguration(configCenter, registryCenter, ruleConfigs,
governanceConfig.isOverwrite());
}
private StandardMetaDataContexts createMetaDataContexts(final ConfigCenter
configCenter) throws SQLException {
@@ -115,13 +108,13 @@ public final class GovernanceShardingSphereDataSource
extends AbstractUnsupporte
return new
StandardTransactionContexts(Collections.singletonMap(DefaultSchema.LOGIC_NAME,
engine));
}
- private void uploadLocalConfiguration(final ConfigCenter configCenter,
final GovernanceFacade governanceFacade, final Collection<RuleConfiguration>
ruleConfigs, final boolean isOverwrite) {
+ private void uploadLocalConfiguration(final ConfigCenter configCenter,
final RegistryCenter registryCenter, final Collection<RuleConfiguration>
ruleConfigs, final boolean isOverwrite) {
Map<String, DataSourceConfiguration> dataSourceConfigs =
DataSourceConverter.getDataSourceConfigurationMap(metaDataContexts.getDefaultMetaData().getResource().getDataSources());
Collection<RuleConfiguration> schemaRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
SchemaRuleConfiguration).collect(Collectors.toList());
Collection<RuleConfiguration> globalRuleConfigs =
ruleConfigs.stream().filter(each -> each instanceof
GlobalRuleConfiguration).collect(Collectors.toList());
configCenter.persistConfigurations(Collections.singletonMap(DefaultSchema.LOGIC_NAME,
dataSourceConfigs),
Collections.singletonMap(DefaultSchema.LOGIC_NAME,
schemaRuleConfigs), globalRuleConfigs, metaDataContexts.getProps().getProps(),
isOverwrite);
-
governanceFacade.onlineInstance(Collections.singletonList(DefaultSchema.LOGIC_NAME));
+
registryCenter.onlineInstance(Collections.singletonList(DefaultSchema.LOGIC_NAME));
}
@Override
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
index b8644a7..68a77a2 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/java/org/apache/shardingsphere/proxy/initializer/impl/GovernanceBootstrapInitializer.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.proxy.initializer.impl;
import
org.apache.shardingsphere.governance.context.metadata.GovernanceMetaDataContexts;
import
org.apache.shardingsphere.governance.context.transaction.GovernanceTransactionContexts;
-import org.apache.shardingsphere.governance.core.GovernanceFacade;
+import org.apache.shardingsphere.governance.core.registry.RegistryCenter;
import
org.apache.shardingsphere.governance.core.registry.RegistryCenterRepositoryFactory;
import
org.apache.shardingsphere.governance.core.yaml.swapper.GovernanceConfigurationYamlSwapper;
import
org.apache.shardingsphere.governance.repository.api.config.GovernanceConfiguration;
@@ -57,18 +57,18 @@ import java.util.stream.Stream;
*/
public final class GovernanceBootstrapInitializer extends
AbstractBootstrapInitializer {
- private final GovernanceFacade governanceFacade = new GovernanceFacade();
-
private volatile RegistryCenterRepository repository;
private volatile ConfigCenter configCenter;
+ private volatile RegistryCenter registryCenter;
+
@Override
protected ProxyConfiguration getProxyConfiguration(final
YamlProxyConfiguration yamlConfig) {
GovernanceConfiguration governanceConfig = new
GovernanceConfigurationYamlSwapper().swapToObject(yamlConfig.getServerConfiguration().getGovernance());
repository =
RegistryCenterRepositoryFactory.newInstance(governanceConfig);
configCenter = new ConfigCenter(repository);
- governanceFacade.init(repository);
+ registryCenter = new RegistryCenter(repository);
initConfigurations(yamlConfig);
return loadProxyConfiguration();
}
@@ -80,7 +80,7 @@ public final class GovernanceBootstrapInitializer extends
AbstractBootstrapIniti
configCenter.persistConfigurations(getDataSourceConfigurationMap(ruleConfigs),
getRuleConfigurations(ruleConfigs),
getGlobalRuleConfigurations(serverConfig.getRules()), serverConfig.getProps(),
serverConfig.getGovernance().isOverwrite());
}
- governanceFacade.onlineInstance(getSchemaNames(yamlConfig));
+ registryCenter.onlineInstance(getSchemaNames(yamlConfig));
}
private boolean isEmptyLocalConfiguration(final
YamlProxyServerConfiguration serverConfig, final Map<String,
YamlProxyRuleConfiguration> ruleConfigs) {
@@ -134,7 +134,7 @@ public final class GovernanceBootstrapInitializer extends
AbstractBootstrapIniti
@Override
protected MetaDataContexts decorateMetaDataContexts(final MetaDataContexts
metaDataContexts) {
- return new GovernanceMetaDataContexts((StandardMetaDataContexts)
metaDataContexts, configCenter, governanceFacade, repository);
+ return new GovernanceMetaDataContexts((StandardMetaDataContexts)
metaDataContexts, configCenter, registryCenter, repository);
}
@Override