You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2021/02/20 08:26:27 UTC

[shardingsphere] branch master updated: Unify unmarshal and secureUnmarshal in YamlEngine (#9453)

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

zhangliang 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 5d1ff85  Unify unmarshal and secureUnmarshal in YamlEngine (#9453)
5d1ff85 is described below

commit 5d1ff85f5696ab61ff8a69aae3ff7cb3aae2cf67
Author: Haoran Meng <me...@gmail.com>
AuthorDate: Sat Feb 20 16:26:03 2021 +0800

    Unify unmarshal and secureUnmarshal in YamlEngine (#9453)
---
 .../src/test/resources/yaml/sharding-rule.yaml     | 36 +++++++++-------
 .../listener/AuthenticationChangedListener.java    |  6 +--
 .../config/listener/PropertiesChangedListener.java |  2 +-
 .../metadata/DataSourceChangedListener.java        |  2 +-
 .../listener/metadata/RuleChangedListener.java     |  2 +-
 .../yaml/config/YamlConfigurationConverter.java    |  6 +--
 .../infra/yaml/engine/YamlEngine.java              | 28 -------------
 .../ShardingSphereFilterYamlConstructor.java       | 48 ----------------------
 .../constructor/ShardingSphereYamlConstructor.java | 11 +++++
 .../config/YamlEngineUserConfigurationTest.java    |  2 +-
 .../infra/yaml/engine/YamlEngineTest.java          | 37 ++---------------
 11 files changed, 45 insertions(+), 135 deletions(-)

diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/resources/yaml/sharding-rule.yaml b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/resources/yaml/sharding-rule.yaml
index 5a7cba1..ad305b4 100644
--- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/resources/yaml/sharding-rule.yaml
+++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/resources/yaml/sharding-rule.yaml
@@ -16,21 +16,27 @@
 #
 
 dataSources:
-  ds_0: !!com.zaxxer.hikari.HikariDataSource
-    driverClassName: org.h2.Driver
-    jdbcUrl: jdbc:h2:mem:primary_ds_0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
-    username: sa
-    password: 
-  ds_1: !!com.zaxxer.hikari.HikariDataSource
-    driverClassName: org.h2.Driver
-    jdbcUrl: jdbc:h2:mem:primary_ds_1;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
-    username: sa
-    password: 
-  default_ds: !!com.zaxxer.hikari.HikariDataSource
-    driverClassName: org.h2.Driver
-    jdbcUrl: jdbc:h2:mem:default_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
-    username: sa
-    password: 
+  ds_0:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    props:
+      driverClassName: org.h2.Driver
+      jdbcUrl: jdbc:h2:mem:primary_ds_0;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
+      username: sa
+      password: 
+  ds_1:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    props:
+      driverClassName: org.h2.Driver
+      jdbcUrl: jdbc:h2:mem:primary_ds_1;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
+      username: sa
+      password: 
+  default_ds:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    props:
+      driverClassName: org.h2.Driver
+      jdbcUrl: jdbc:h2:mem:default_ds;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
+      username: sa
+      password: 
 
 rules:
 - !SHARDING
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListener.java
index 12bdd83..05b3060 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/AuthenticationChangedListener.java
@@ -21,11 +21,9 @@ import org.apache.shardingsphere.governance.core.config.ConfigCenterNode;
 import org.apache.shardingsphere.governance.core.event.listener.PostGovernanceRepositoryEventListener;
 import org.apache.shardingsphere.governance.core.event.model.GovernanceEvent;
 import org.apache.shardingsphere.governance.core.event.model.auth.UserRuleChangedEvent;
+import org.apache.shardingsphere.governance.core.yaml.config.YamlConfigurationConverter;
 import org.apache.shardingsphere.governance.repository.api.ConfigurationRepository;
 import org.apache.shardingsphere.governance.repository.api.listener.DataChangedEvent;
-import org.apache.shardingsphere.infra.metadata.auth.builtin.yaml.config.YamlUserRuleConfiguration;
-import org.apache.shardingsphere.infra.metadata.auth.builtin.yaml.swapper.UserRuleYamlSwapper;
-import org.apache.shardingsphere.infra.yaml.engine.YamlEngine;
 
 import java.util.Collections;
 import java.util.Optional;
@@ -41,6 +39,6 @@ public final class AuthenticationChangedListener extends PostGovernanceRepositor
     
     @Override
     protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
-        return Optional.of(new UserRuleChangedEvent(new UserRuleYamlSwapper().swapToObject(YamlEngine.unmarshal(event.getValue(), YamlUserRuleConfiguration.class))));
+        return Optional.of(new UserRuleChangedEvent(YamlConfigurationConverter.convertUserRule(event.getValue())));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListener.java
index 01482b3..7b1871d 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/PropertiesChangedListener.java
@@ -40,6 +40,6 @@ public final class PropertiesChangedListener extends PostGovernanceRepositoryEve
     
     @Override
     protected Optional<GovernanceEvent> createEvent(final DataChangedEvent event) {
-        return Optional.of(new PropertiesChangedEvent(YamlEngine.secureUnmarshal(event.getValue(), Properties.class)));
+        return Optional.of(new PropertiesChangedEvent(YamlEngine.unmarshal(event.getValue(), Properties.class)));
     }
 }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/DataSourceChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/DataSourceChangedListener.java
index 58d9a1d..867229c 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/DataSourceChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/DataSourceChangedListener.java
@@ -62,7 +62,7 @@ public final class DataSourceChangedListener extends PostGovernanceRepositoryEve
     }
     
     private DataSourceChangedEvent createDataSourceChangedEvent(final String schemaName, final DataChangedEvent event) {
-        YamlDataSourceConfigurationWrap result = YamlEngine.secureUnmarshal(event.getValue(), YamlDataSourceConfigurationWrap.class);
+        YamlDataSourceConfigurationWrap result = YamlEngine.unmarshal(event.getValue(), YamlDataSourceConfigurationWrap.class);
         Preconditions.checkState(null != result && !result.getDataSources().isEmpty(), "No available data sources to load for governance.");
         return new DataSourceChangedEvent(schemaName, result.getDataSources().entrySet().stream()
                 .collect(Collectors.toMap(Entry::getKey, entry -> new YamlDataSourceConfigurationSwapper().swapToObject(entry.getValue()), (oldValue, currentValue) -> oldValue, LinkedHashMap::new)));
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/RuleChangedListener.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/RuleChangedListener.java
index 568ec6b..7f623a8 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/RuleChangedListener.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/config/listener/metadata/RuleChangedListener.java
@@ -76,7 +76,7 @@ public final class RuleChangedListener extends PostGovernanceRepositoryEventList
     }
     
     private Collection<RuleConfiguration> getRuleConfigurations(final String yamlContent) {
-        Collection<YamlRuleConfiguration> rules = YamlEngine.secureUnmarshal(yamlContent, YamlRuleConfigurationWrap.class).getRules();
+        Collection<YamlRuleConfiguration> rules = YamlEngine.unmarshal(yamlContent, YamlRuleConfigurationWrap.class).getRules();
         Preconditions.checkState(!rules.isEmpty(), "No available rule to load for governance.");
         return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(rules);
     }
diff --git a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlConfigurationConverter.java b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlConfigurationConverter.java
index 4ddae40..c306479 100644
--- a/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlConfigurationConverter.java
+++ b/shardingsphere-governance/shardingsphere-governance-core/src/main/java/org/apache/shardingsphere/governance/core/yaml/config/YamlConfigurationConverter.java
@@ -57,7 +57,7 @@ public final class YamlConfigurationConverter {
      * @return data source configurations
      */
     public static Map<String, DataSourceConfiguration> convertDataSourceConfigurations(final String yamlContent) {
-        YamlDataSourceConfigurationWrap result = YamlEngine.secureUnmarshal(yamlContent, YamlDataSourceConfigurationWrap.class);
+        YamlDataSourceConfigurationWrap result = YamlEngine.unmarshal(yamlContent, YamlDataSourceConfigurationWrap.class);
         if (null == result.getDataSources() || result.getDataSources().isEmpty()) {
             return new LinkedHashMap<>();
         }
@@ -106,7 +106,7 @@ public final class YamlConfigurationConverter {
      * @return rule configurations
      */
     public static Collection<RuleConfiguration> convertRuleConfigurations(final String yamlContent) {
-        return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.secureUnmarshal(yamlContent, YamlRuleConfigurationWrap.class).getRules());
+        return new YamlRuleConfigurationSwapperEngine().swapToRuleConfigurations(YamlEngine.unmarshal(yamlContent, YamlRuleConfigurationWrap.class).getRules());
     }
     
     /**
@@ -126,6 +126,6 @@ public final class YamlConfigurationConverter {
      * @return properties
      */
     public static Properties convertProperties(final String yamlContent) {
-        return YamlEngine.secureUnmarshal(yamlContent, Properties.class);
+        return YamlEngine.unmarshal(yamlContent, Properties.class);
     }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
index 3176d2e..e408bb7 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngine.java
@@ -20,7 +20,6 @@ package org.apache.shardingsphere.infra.yaml.engine;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.yaml.config.YamlConfiguration;
-import org.apache.shardingsphere.infra.yaml.engine.constructor.ShardingSphereFilterYamlConstructor;
 import org.apache.shardingsphere.infra.yaml.engine.constructor.ShardingSphereYamlConstructor;
 import org.apache.shardingsphere.infra.yaml.engine.representer.ShardingSphereYamlRepresenter;
 import org.yaml.snakeyaml.Yaml;
@@ -31,8 +30,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.util.Collection;
-import java.util.Collections;
 
 /**
  * YAML engine.
@@ -86,31 +83,6 @@ public final class YamlEngine {
     }
     
     /**
-     * Secure unmarshal YAML.
-     *
-     * @param yamlContent YAML content
-     * @param classType class type
-     * @param acceptedClasses accepted classes
-     * @param <T> type of class
-     * @return object from YAML
-     */
-    public static <T> T secureUnmarshal(final String yamlContent, final Class<T> classType, final Collection<Class<?>> acceptedClasses) {
-        return new Yaml(new ShardingSphereFilterYamlConstructor(classType, acceptedClasses)).loadAs(yamlContent, classType);
-    }
-    
-    /**
-     * Secure unmarshal YAML.
-     *
-     * @param yamlContent YAML content
-     * @param acceptedClass accepted class
-     * @param <T> type of class
-     * @return object from YAML
-     */
-    public static <T> T secureUnmarshal(final String yamlContent, final Class<T> acceptedClass) {
-        return new Yaml(new ShardingSphereFilterYamlConstructor(acceptedClass, Collections.singletonList(acceptedClass))).loadAs(yamlContent, acceptedClass);
-    }
-    
-    /**
      * Marshal YAML.
      *
      * @param value object to be marshaled
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereFilterYamlConstructor.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereFilterYamlConstructor.java
deleted file mode 100644
index 292a602..0000000
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereFilterYamlConstructor.java
+++ /dev/null
@@ -1,48 +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.infra.yaml.engine.constructor;
-
-import java.util.Collection;
-
-/**
- * ShardingSphere filter constructor for YAML.
- */
-public final class ShardingSphereFilterYamlConstructor extends ShardingSphereYamlConstructor {
-    
-    private final Collection<Class<?>> acceptedClasses;
-    
-    public ShardingSphereFilterYamlConstructor(final Class<?> rootClass, final Collection<Class<?>> acceptedClasses) {
-        super(rootClass);
-        this.acceptedClasses = acceptedClasses;
-    }
-    
-    public ShardingSphereFilterYamlConstructor(final Collection<Class<?>> acceptedClasses) {
-        super(Object.class);
-        this.acceptedClasses = acceptedClasses;
-    }
-    
-    @Override
-    protected Class<?> getClassForName(final String className) throws ClassNotFoundException {
-        for (Class<?> each : acceptedClasses) {
-            if (className.equals(each.getName())) {
-                return super.getClassForName(className);
-            }
-        }
-        throw new IllegalArgumentException(String.format("Class is not accepted: %s", className));
-    }
-}
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereYamlConstructor.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereYamlConstructor.java
index 1bc32c0..f28058f 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereYamlConstructor.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/yaml/engine/constructor/ShardingSphereYamlConstructor.java
@@ -38,14 +38,25 @@ public class ShardingSphereYamlConstructor extends Constructor {
     
     private final Map<Class<?>, Construct> typeConstructs = new HashMap<>();
     
+    private final Class<?> rootClass;
+    
     public ShardingSphereYamlConstructor(final Class<?> rootClass) {
         super(rootClass);
         ShardingSphereServiceLoader.newServiceInstances(ShardingSphereYamlConstruct.class).forEach(each -> typeConstructs.put(each.getType(), each));
         YamlRuleConfigurationSwapperEngine.getYamlShortcuts().forEach((key, value) -> addTypeDescription(new TypeDescription(value, key)));
+        this.rootClass = rootClass;
     }
     
     @Override
     protected final Construct getConstructor(final Node node) {
         return typeConstructs.getOrDefault(node.getType(), super.getConstructor(node));
     }
+    
+    @Override
+    protected Class<?> getClassForName(final String className) throws ClassNotFoundException {
+        if (className.equals(rootClass.getName())) {
+            return super.getClassForName(className);
+        }
+        throw new IllegalArgumentException(String.format("Class is not accepted: %s", className));
+    }
 }
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/auth/builtin/yaml/config/YamlEngineUserConfigurationTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/auth/builtin/yaml/config/YamlEngineUserConfigurationTest.java
index fdfe10e..0f7d6a1 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/auth/builtin/yaml/config/YamlEngineUserConfigurationTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/auth/builtin/yaml/config/YamlEngineUserConfigurationTest.java
@@ -36,7 +36,7 @@ public final class YamlEngineUserConfigurationTest {
     
     @Test
     public void assertSecureUnmarshalProperties() {
-        Properties actual = YamlEngine.secureUnmarshal("password: pwd", Properties.class);
+        Properties actual = YamlEngine.unmarshal("password: pwd", Properties.class);
         assertThat(actual.getProperty("password"), is("pwd"));
     }
     
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngineTest.java b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngineTest.java
index 86088b6..bfe178b 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngineTest.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/yaml/engine/YamlEngineTest.java
@@ -27,16 +27,11 @@ import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
 import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Collection;
-import java.util.LinkedList;
 import java.util.Properties;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
 
 public final class YamlEngineTest {
     
@@ -72,8 +67,8 @@ public final class YamlEngineTest {
     }
     
     @Test
-    public void assertSecureUnmarshalProperties() {
-        Properties actual = YamlEngine.secureUnmarshal("password: pwd", Properties.class);
+    public void assertUnmarshalProperties() {
+        Properties actual = YamlEngine.unmarshal("password: pwd", Properties.class);
         assertThat(actual.getProperty("password"), is("pwd"));
     }
     
@@ -84,32 +79,8 @@ public final class YamlEngineTest {
         assertThat(YamlEngine.marshal(actual), is("name: test\n"));
     }
     
-    @Test
-    public void assertSecureUnmarshalWithAcceptedClass() throws IOException {
-        URL url = getClass().getClassLoader().getResource("yaml/accepted-class.yaml");
-        assertNotNull(url);
-        StringBuilder yamlContent = new StringBuilder();
-        try (
-                FileReader fileReader = new FileReader(url.getFile());
-                BufferedReader reader = new BufferedReader(fileReader)) {
-            String line;
-            while (null != (line = reader.readLine())) {
-                yamlContent.append(line).append("\n");
-            }
-        }
-        Collection<Class<?>> acceptedClasses = new LinkedList<>();
-        acceptedClasses.add(URLClassLoader.class);
-        acceptedClasses.add(URL.class);
-        acceptedClasses.add(YamlRootRuleConfigurations.class);
-        YamlRootRuleConfigurations actual = YamlEngine.secureUnmarshal(yamlContent.toString(), YamlRootRuleConfigurations.class, acceptedClasses);
-        assertThat(actual.getProps().size(), is(2));
-        assertThat(actual.getProps().getProperty("normal"), is("normal"));
-        assertTrue(actual.getProps().containsKey("url"));
-        assertNull(actual.getProps().getProperty("url"));
-    }
-    
     @Test(expected = ConstructorException.class)
-    public void assertSecureUnmarshalWithoutAcceptedClass() throws IOException {
+    public void assertUnmarshalInvalidYaml() throws IOException {
         URL url = getClass().getClassLoader().getResource("yaml/accepted-class.yaml");
         assertNotNull(url);
         StringBuilder yamlContent = new StringBuilder();
@@ -121,6 +92,6 @@ public final class YamlEngineTest {
                 yamlContent.append(line).append("\n");
             }
         }
-        YamlEngine.secureUnmarshal(yamlContent.toString(), YamlRootRuleConfigurations.class);
+        YamlEngine.unmarshal(yamlContent.toString(), YamlRootRuleConfigurations.class);
     }
 }