You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/11/20 04:34:55 UTC

[shardingsphere] branch master updated: Remove useless ExpectedProperties (#22284)

This is an automated email from the ASF dual-hosted git repository.

sunnianjun 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 a280214f933 Remove useless ExpectedProperties (#22284)
a280214f933 is described below

commit a280214f9338cad4f4ec2a8a99b53196b04738c2
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Nov 20 12:34:49 2022 +0800

    Remove useless ExpectedProperties (#22284)
    
    * Remove useless ExpectedProperties
---
 .../asserts/segment/distsql/AlgorithmAssert.java   |  2 +-
 .../asserts/segment/distsql/DataSourceAssert.java  |  2 +-
 .../asserts/segment/distsql/PropertiesAssert.java  | 10 +++---
 .../distsql/rdl/ReadwriteSplittingRuleAssert.java  |  2 +-
 .../AlterDatabaseDiscoveryRuleStatementAssert.java |  2 +-
 ...CreateDatabaseDiscoveryRuleStatementAssert.java |  2 +-
 .../segment/impl/distsql/ExpectedAlgorithm.java    |  7 +++--
 .../segment/impl/distsql/ExpectedDataSource.java   |  7 +++--
 .../segment/impl/distsql/ExpectedProperties.java   | 36 ----------------------
 .../rdl/ExceptedReadwriteSplittingRule.java        |  8 +++--
 .../ExpectedDatabaseDiscoveryDefinitionRule.java   |  9 ++++--
 .../rdl/ExpectedDatabaseDiscoveryHeartbeat.java    |  9 ++++--
 test/parser/src/main/resources/case/rdl/alter.xml  |  8 ++---
 test/parser/src/main/resources/case/rdl/create.xml | 16 +++++-----
 14 files changed, 49 insertions(+), 71 deletions(-)

diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/AlgorithmAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/AlgorithmAssert.java
index 03fa75498e4..799b65d76e7 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/AlgorithmAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/AlgorithmAssert.java
@@ -47,7 +47,7 @@ public final class AlgorithmAssert {
         } else {
             assertNotNull(assertContext.getText("Actual algorithm should exist."), actual);
             assertThat(assertContext.getText(String.format("`%s`'s algorithm segment assertion error: ", actual.getClass().getSimpleName())), actual.getName(), is(expected.getName()));
-            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProps());
+            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProperties());
         }
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/DataSourceAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/DataSourceAssert.java
index be403741569..7c459d0ba1d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/DataSourceAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/DataSourceAssert.java
@@ -51,7 +51,7 @@ public final class DataSourceAssert {
             assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ", actual.getClass().getSimpleName())), actual.getName(), is(expected.getName()));
             assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ", actual.getClass().getSimpleName())), actual.getUser(), is(expected.getUser()));
             assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ", actual.getClass().getSimpleName())), actual.getPassword(), is(expected.getPassword()));
-            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProps());
+            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProperties());
             if (actual instanceof URLBasedDataSourceSegment) {
                 assertThat(assertContext.getText(String.format("`%s`'s datasource segment assertion error: ",
                         actual.getClass().getSimpleName())), ((URLBasedDataSourceSegment) actual).getUrl(), is(expected.getUrl()));
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/PropertiesAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/PropertiesAssert.java
index 37f1146558b..582585f5264 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/PropertiesAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/PropertiesAssert.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.test.sql.parser.internal.asserts.segment.dists
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.test.sql.parser.internal.asserts.SQLCaseAssertContext;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperties;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperty;
 
+import java.util.List;
 import java.util.Properties;
 
 import static org.junit.Assert.assertNotNull;
@@ -41,13 +41,13 @@ public final class PropertiesAssert {
      * @param actual actual properties
      * @param expected expected properties test case
      */
-    public static void assertIs(final SQLCaseAssertContext assertContext, final Properties actual, final ExpectedProperties expected) {
-        if (null == expected || null == expected.getProperties()) {
+    public static void assertIs(final SQLCaseAssertContext assertContext, final Properties actual, final List<ExpectedProperty> expected) {
+        if (null == expected) {
             assertTrue(assertContext.getText("Actual properties should not exist."), actual.isEmpty());
         } else {
             assertNotNull(assertContext.getText("Actual properties should exist."), actual);
-            for (ExpectedProperty expectedProperty : expected.getProperties()) {
-                PropertyAssert.assertIs(assertContext, actual, expectedProperty);
+            for (ExpectedProperty each : expected) {
+                PropertyAssert.assertIs(assertContext, actual, each);
             }
         }
     }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
index 34c8777ac8f..b360212c559 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/segment/distsql/rdl/ReadwriteSplittingRuleAssert.java
@@ -57,7 +57,7 @@ public final class ReadwriteSplittingRuleAssert {
                     actual.getClass().getSimpleName())), actual.getReadDataSources(), is(expected.getReadDataSources()));
             assertThat(assertContext.getText(String.format("`%s`'s readwrite splitting rule segment assertion error: ",
                     actual.getClass().getSimpleName())), actual.getLoadBalancer(), is(expected.getLoadBalancer()));
-            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProps());
+            PropertiesAssert.assertIs(assertContext, actual.getProps(), expected.getProperties());
         }
     }
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
index d7ce41b1ebb..b0deb023d6a 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/alter/impl/AlterDatabaseDiscoveryRuleStatementAssert.java
@@ -77,7 +77,7 @@ public final class AlterDatabaseDiscoveryRuleStatementAssert {
             assertNotNull(actualSegment);
             assertThat(actualSegment.getName(), is(each.getName()));
             assertThat(actualSegment.getDataSources(), is(each.getDataSources()));
-            PropertiesAssert.assertIs(assertContext, actualSegment.getDiscoveryHeartbeat(), each.getDiscoveryHeartbeat());
+            PropertiesAssert.assertIs(assertContext, actualSegment.getDiscoveryHeartbeat(), each.getProperties());
             AlgorithmAssert.assertIs(assertContext, actualSegment.getDiscoveryType(), each.getDiscoveryType());
         });
     }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
index 68b8e5dc3e8..f9f50f24a00 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/asserts/statement/rdl/create/impl/CreateDatabaseDiscoveryRuleStatementAssert.java
@@ -76,7 +76,7 @@ public final class CreateDatabaseDiscoveryRuleStatementAssert {
             DatabaseDiscoveryDefinitionSegment actualSegment = actualMap.get(each.getName());
             assertThat(actualSegment.getName(), is(each.getName()));
             assertThat(actualSegment.getDataSources(), is(each.getDataSources()));
-            PropertiesAssert.assertIs(assertContext, actualSegment.getDiscoveryHeartbeat(), each.getDiscoveryHeartbeat());
+            PropertiesAssert.assertIs(assertContext, actualSegment.getDiscoveryHeartbeat(), each.getProperties());
             AlgorithmAssert.assertIs(assertContext, actualSegment.getDiscoveryType(), each.getDiscoveryType());
         });
     }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
index 32dae6e316c..e1c50621be2 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
@@ -23,6 +23,8 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import java.util.List;
 
 /**
  * Expected algorithm.
@@ -34,6 +36,7 @@ public final class ExpectedAlgorithm extends AbstractExpectedIdentifierSQLSegmen
     @XmlAttribute(name = "algorithm-name")
     private String name;
     
-    @XmlElement(name = "properties")
-    private ExpectedProperties props;
+    @XmlElementWrapper
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
index 8b6b4718fcb..0ad275f0b9d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
@@ -23,6 +23,8 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import java.util.List;
 
 /**
  * Expected data source.
@@ -49,6 +51,7 @@ public final class ExpectedDataSource extends AbstractExpectedIdentifierSQLSegme
     @XmlAttribute
     private String password;
     
-    @XmlElement(name = "properties")
-    private ExpectedProperties props;
+    @XmlElementWrapper
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedProperties.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedProperties.java
deleted file mode 100644
index 845cbacb864..00000000000
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedProperties.java
+++ /dev/null
@@ -1,36 +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.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql;
-
-import lombok.Getter;
-import lombok.Setter;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.AbstractExpectedIdentifierSQLSegment;
-
-import javax.xml.bind.annotation.XmlElement;
-import java.util.List;
-
-/**
- * Expected properties.
- */
-@Getter
-@Setter
-public final class ExpectedProperties extends AbstractExpectedIdentifierSQLSegment {
-    
-    @XmlElement(name = "property")
-    private List<ExpectedProperty> properties;
-}
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
index 2f9ce873e58..dc3a1dfe5d2 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
@@ -20,10 +20,11 @@ package org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.s
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.AbstractExpectedIdentifierSQLSegment;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperties;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperty;
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.List;
 
 /**
@@ -45,6 +46,7 @@ public final class ExceptedReadwriteSplittingRule extends AbstractExpectedIdenti
     @XmlAttribute(name = "load-balancer")
     private String loadBalancer;
     
-    @XmlElement(name = "properties")
-    private ExpectedProperties props;
+    @XmlElementWrapper
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
index 89a06dae30f..f44f5571a35 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
@@ -21,11 +21,13 @@ import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.AbstractExpectedIdentifierSQLSegment;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedAlgorithm;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperties;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperty;
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.Collection;
+import java.util.List;
 
 /**
  * Expected database discovery definition rule.
@@ -43,6 +45,7 @@ public final class ExpectedDatabaseDiscoveryDefinitionRule extends AbstractExpec
     @XmlElement(name = "discovery-type")
     private ExpectedAlgorithm discoveryType;
     
-    @XmlElement(name = "heartbeat")
-    private ExpectedProperties discoveryHeartbeat;
+    @XmlElementWrapper
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
index 72004eb1889..5bdf48f25b0 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
@@ -20,10 +20,12 @@ package org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.s
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.AbstractExpectedIdentifierSQLSegment;
-import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperties;
+import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.segment.impl.distsql.ExpectedProperty;
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementWrapper;
+import java.util.List;
 
 /**
  * Expected database discovery heartbeat.
@@ -35,6 +37,7 @@ public final class ExpectedDatabaseDiscoveryHeartbeat extends AbstractExpectedId
     @XmlAttribute(name = "heartbeat-name")
     private String name;
     
-    @XmlElement(name = "properties")
-    private ExpectedProperties properties;
+    @XmlElementWrapper
+    @XmlElement(name = "property")
+    private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/resources/case/rdl/alter.xml b/test/parser/src/main/resources/case/rdl/alter.xml
index 64f16f4b37c..fcf999f4873 100644
--- a/test/parser/src/main/resources/case/rdl/alter.xml
+++ b/test/parser/src/main/resources/case/rdl/alter.xml
@@ -156,9 +156,9 @@
                     <property key="groupName" value="92504d5b-6dec" />
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/5 * * * * ?" />
-            </heartbeat>
+            </properties>
         </rule>
         <rule rule-name="ha_group_1" type="mgr2">
             <data-source>ds_2</data-source>
@@ -168,9 +168,9 @@
                     <property key="groupName" value="92504d5b-6dec-2" />
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/6 * * * * ?" />
-            </heartbeat>
+            </properties>
         </rule>
     </alter-database-discovery-definition-rule>
     
diff --git a/test/parser/src/main/resources/case/rdl/create.xml b/test/parser/src/main/resources/case/rdl/create.xml
index ee1c3bff771..19ac01f032b 100644
--- a/test/parser/src/main/resources/case/rdl/create.xml
+++ b/test/parser/src/main/resources/case/rdl/create.xml
@@ -296,9 +296,9 @@
                     <property key="groupName" value="92504d5b-6dec" />
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/5 * * * * ?" />
-            </heartbeat>
+            </properties>
         </rule>
         <rule rule-name="ha_group_1" type="mgr2">
             <data-source>ds_2</data-source>
@@ -308,9 +308,9 @@
                     <property key="groupName" value="92504d5b-6dec-2" />
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/6 * * * * ?" />
-            </heartbeat>
+            </properties>
         </rule>
     </create-database-discovery-definition-rule>
 
@@ -323,9 +323,9 @@
                     <property key="groupName" value="92504d5b-6dec"/>
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/5 * * * * ?"/>
-            </heartbeat>
+            </properties>
         </rule>
         <rule rule-name="ha_group_1" type="mgr2">
             <data-source>ds_2</data-source>
@@ -335,9 +335,9 @@
                     <property key="groupName" value="92504d5b-6dec-2"/>
                 </properties>
             </discovery-type>
-            <heartbeat>
+            <properties>
                 <property key="keepAliveCron" value="0/6 * * * * ?"/>
-            </heartbeat>
+            </properties>
         </rule>
     </create-database-discovery-definition-rule>