mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-03 20:19:31 +00:00 
			
		
		
		
	Fixes 13350: Trino Secrets masking (#13351)
This commit is contained in:
		
							parent
							
								
									16f6b73d08
								
							
						
					
					
						commit
						d8ef497b9e
					
				@ -28,6 +28,7 @@ import org.openmetadata.schema.services.connections.database.BigQueryConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.DatalakeConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.MysqlConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.PostgresConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.TrinoConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.datalake.GCSConfig;
 | 
			
		||||
import org.openmetadata.schema.services.connections.metadata.OpenMetadataConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.pipeline.AirflowConnection;
 | 
			
		||||
@ -48,6 +49,7 @@ public final class ClassConverterFactory {
 | 
			
		||||
            Map.entry(BigQueryConnection.class, new BigQueryConnectionClassConverter()),
 | 
			
		||||
            Map.entry(DatalakeConnection.class, new DatalakeConnectionClassConverter()),
 | 
			
		||||
            Map.entry(MysqlConnection.class, new MysqlConnectionClassConverter()),
 | 
			
		||||
            Map.entry(TrinoConnection.class, new TrinoConnectionClassConverter()),
 | 
			
		||||
            Map.entry(PostgresConnection.class, new PostgresConnectionClassConverter()),
 | 
			
		||||
            Map.entry(DbtGCSConfig.class, new DbtGCSConfigClassConverter()),
 | 
			
		||||
            Map.entry(DbtPipeline.class, new DbtPipelineClassConverter()),
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,39 @@
 | 
			
		||||
/*
 | 
			
		||||
 *  Copyright 2021 Collate
 | 
			
		||||
 *  Licensed 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.openmetadata.service.secrets.converter;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.TrinoConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.common.basicAuth;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.common.jwtAuth;
 | 
			
		||||
import org.openmetadata.service.util.JsonUtils;
 | 
			
		||||
 | 
			
		||||
/** Converter class to get an `DatalakeConnection` object. */
 | 
			
		||||
public class TrinoConnectionClassConverter extends ClassConverter {
 | 
			
		||||
 | 
			
		||||
  private static final List<Class<?>> CONFIG_SOURCE_CLASSES = List.of(basicAuth.class, jwtAuth.class);
 | 
			
		||||
 | 
			
		||||
  public TrinoConnectionClassConverter() {
 | 
			
		||||
    super(TrinoConnection.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public Object convert(Object object) {
 | 
			
		||||
    TrinoConnection trinoConnection = (TrinoConnection) JsonUtils.convertValue(object, this.clazz);
 | 
			
		||||
 | 
			
		||||
    tryToConvert(trinoConnection.getAuthType(), CONFIG_SOURCE_CLASSES).ifPresent(trinoConnection::setAuthType);
 | 
			
		||||
 | 
			
		||||
    return trinoConnection;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -19,6 +19,7 @@ import org.openmetadata.schema.services.connections.database.BigQueryConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.DatalakeConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.MysqlConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.PostgresConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.TrinoConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.database.datalake.GCSConfig;
 | 
			
		||||
import org.openmetadata.schema.services.connections.metadata.OpenMetadataConnection;
 | 
			
		||||
import org.openmetadata.schema.services.connections.pipeline.AirflowConnection;
 | 
			
		||||
@ -45,6 +46,7 @@ public class ClassConverterFactoryTest {
 | 
			
		||||
        GCPCredentials.class,
 | 
			
		||||
        TableauConnection.class,
 | 
			
		||||
        TestServiceConnectionRequest.class,
 | 
			
		||||
        TrinoConnection.class,
 | 
			
		||||
        Workflow.class
 | 
			
		||||
      })
 | 
			
		||||
  void testClassConverterIsSet(Class<?> clazz) {
 | 
			
		||||
@ -53,6 +55,6 @@ public class ClassConverterFactoryTest {
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  void testClassConvertedMapIsNotModified() {
 | 
			
		||||
    assertEquals(17, ClassConverterFactory.getConverterMap().size());
 | 
			
		||||
    assertEquals(18, ClassConverterFactory.getConverterMap().size());
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user