From 00604534ea09e78161aeed23976e757d3decdb07 Mon Sep 17 00:00:00 2001 From: An Phi Date: Thu, 16 Nov 2023 09:56:34 -0500 Subject: [PATCH] data-push: POC server (#2368) --- .../new-connection-framework-metamodel.png | Bin 0 -> 1558928 bytes docs/connection/new-connection-framework.md | 166 +++++++++++ .../pom.xml | 17 +- .../test/AbstractConnectionFactoryTest.java | 91 +++--- .../test/TestJDBCConnectionManager.java | 166 ++++------- .../test/TestPostgresConnection.java | 48 ++- .../test/TestSnowflakeConnection.java | 46 ++- .../pom.xml | 15 + .../collection/generation/TestExtensions.java | 8 + .../legend-engine-server/pom.xml | 21 +- .../finos/legend/engine/server/Server.java | 63 ++-- .../pom.xml | 4 - .../AuthenticationMechanismConfiguration.java | 102 ------- .../legend/connection/LegendEnvironment.java | 129 --------- .../legend/connection/StoreInstance.java | 221 -------------- .../finos/legend/connection/StoreSupport.java | 122 -------- .../impl/DefaultStoreInstanceProvider.java | 85 ------ .../InstrumentedStoreInstanceProvider.java | 45 --- .../protocol/AuthenticationMechanismType.java | 48 --- .../legend/connection/StoreSupportTest.java | 254 ---------------- .../pom.xml | 4 +- legend-engine-xts-authentication/pom.xml | 4 +- .../pom.xml | 73 +++++ .../ConnectionCompilerExtension.java | 51 ++++ ...er.toPureGraph.extension.CompilerExtension | 1 + .../pom.xml | 14 +- .../connection/AuthenticationMechanism.java | 95 ++++++ .../AuthenticationMechanismType.java | 4 +- .../legend/connection/Authenticator.java | 21 +- .../finos/legend/connection/Connection.java | 271 +++++++++++++++++ .../legend/connection/ConnectionBuilder.java | 2 +- .../connection/ConnectionExtension.java | 21 +- .../legend/connection/ConnectionFactory.java | 138 ++++----- .../legend/connection/ConnectionManager.java | 0 .../legend/connection/CredentialBuilder.java | 2 +- .../legend/connection/DatabaseSupport.java | 165 +++++++++++ .../finos/legend/connection/DatabaseType.java | 4 +- .../legend/connection/IdentityFactory.java | 21 +- .../connection/IdentitySpecification.java | 22 +- .../legend/connection/LegendEnvironment.java | 209 ++++++++++++++ .../impl/CoreAuthenticationMechanismType.java | 39 +++ .../impl/KerberosCredentialExtractor.java | 1 + .../impl/KeyPairCredentialBuilder.java | 1 + .../impl/UserPasswordCredentialBuilder.java | 1 + .../connection/ConnectionFactoryTest.java | 212 +++++++------- .../connection/DatabaseSupportTest.java | 273 ++++++++++++++++++ .../pom.xml | 140 +++++++++ .../from/antlr4/ConnectionLexerGrammar.g4 | 10 + .../from/antlr4/ConnectionParserGrammar.g4 | 32 ++ .../from/ConnectionParseTreeWalker.java | 73 +++++ .../from/ConnectionParserExtension.java | 64 ++++ .../ConnectionGrammarComposerExtension.java | 90 ++++++ ....from.extension.PureGrammarParserExtension | 1 + ....to.extension.PureGrammarComposerExtension | 1 + .../pom.xml | 69 +++++ .../pure/v1/ConnectionProtocolExtension.java | 61 ++++ .../ApiKeyAuthenticationConfiguration.java | 3 +- .../AuthenticationConfiguration.java | 5 +- .../connection/AuthenticationMechanism.java | 23 ++ .../connection/Connection.java | 28 ++ .../connection}/ConnectionSpecification.java | 5 +- .../connection/DatabaseSupport.java | 26 ++ ...ateKeyPairAuthenticationConfiguration.java | 4 +- .../KerberosAuthenticationConfiguration.java | 5 +- ...erPasswordAuthenticationConfiguration.java | 4 +- ...ol.pure.v1.extension.PureProtocolExtension | 1 + .../pom.xml | 158 ++++++++++ .../CoreConnectionRepositoryProvider.java | 29 ++ ...lesystem.repository.CodeRepositoryProvider | 1 + .../core_connection_metamodel.definition.json | 9 + .../core_connection_metamodel/metamodel.pure | 19 ++ legend-engine-xts-connection/pom.xml | 36 +++ .../legend-engine-xt-data-push-server/pom.xml | 145 +++++++++- .../legend/engine/datapush/DataPusher.java | 32 ++ .../engine/datapush/DataPusherProvider.java | 22 ++ .../legend/engine/datapush/data/CSVData.java | 6 +- .../legend/engine/datapush/data/Data.java | 26 ++ .../impl/SnowflakeWithS3StageDataPusher.java | 183 ++++++++++++ .../datapush/server/BaseDataPushServer.java | 65 ++--- .../server/ConnectionFactoryBundle.java | 113 -------- .../server/ConnectionModelLoader.java | 182 ++++++++++++ .../datapush/server/DataPushServer.java | 106 ++++++- .../ConnectionFactoryConfiguration.java | 2 +- .../DataPushServerConfiguration.java | 11 +- .../server/resources/DataPushResource.java | 183 +++++++++++- .../datapush/server/TestDataPushResource.java | 43 --- .../resources/DataPushTestResource.java | 61 ---- .../AbstractDataPushServerResourceTest.java | 7 +- .../server/test/DataPushServerForTest.java | 63 +++- .../test/MinIOS3TestContainerWrapper.java | 86 ++++++ .../server/test/TestDataPushServer.java | 92 ++++++ .../src/test/resources/config-test.yaml | 18 +- .../pom.xml | 5 - .../pom.xml | 7 - .../pom.xml | 6 +- ...__RelationalDatabaseConnectionAdapter.java | 8 +- ...er.java => RelationalDatabaseManager.java} | 2 +- .../RelationalDatabaseStoreSupport.java | 101 ------- ....java => H2RelationalDatabaseManager.java} | 7 +- .../{ => impl}/JDBCConnectionBuilder.java | 5 +- .../impl/JDBCConnectionManager.java | 67 +++-- .../impl/RelationalConnectionExtension.java | 31 ++ .../impl/RelationalDatabaseType.java | 38 +++ .../impl/StaticJDBCConnectionBuilder.java | 16 +- ...inos.legend.connection.ConnectionExtension | 1 + ...rg.finos.legend.connection.DatabaseManager | 1 - ...egend.connection.RelationalDatabaseManager | 1 + ...a => MemSQLRelationalDatabaseManager.java} | 4 +- ...rg.finos.legend.connection.DatabaseManager | 1 - ...egend.connection.RelationalDatabaseManager | 1 + ...=> PostgresRelationalDatabaseManager.java} | 7 +- ...rg.finos.legend.connection.DatabaseManager | 1 - ...egend.connection.RelationalDatabaseManager | 1 + .../pom.xml | 6 +- .../connection/SnowflakeAccountType.java | 21 -- .../HACKY__SnowflakeConnectionAdapter.java | 15 +- .../impl/SnowflakeConnectionBuilder.java | 19 +- ...> SnowflakeRelationalDatabaseManager.java} | 14 +- ...rg.finos.legend.connection.DatabaseManager | 1 - ...egend.connection.RelationalDatabaseManager | 1 + .../pom.xml | 4 + .../pure/v1/SnowflakeProtocolExtension.java | 22 +- .../SnowflakeConnectionSpecification.java | 4 +- ...> SQLServerRelationalDatabaseManager.java} | 4 +- ...rg.finos.legend.connection.DatabaseManager | 1 - ...egend.connection.RelationalDatabaseManager | 1 + .../pom.xml | 2 +- .../manager/ConnectionManagerSelector.java | 2 +- .../pom.xml | 4 + .../pure/v1/RelationalProtocolExtension.java | 7 + .../StaticJDBCConnectionSpecification.java | 9 +- pom.xml | 58 +++- 132 files changed, 4108 insertions(+), 2041 deletions(-) create mode 100644 docs/connection/new-connection-framework-metamodel.png create mode 100644 docs/connection/new-connection-framework.md delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismConfiguration.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstance.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreSupport.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/DefaultStoreInstanceProvider.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/InstrumentedStoreInstanceProvider.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanismType.java delete mode 100644 legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/StoreSupportTest.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-compiler/pom.xml create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/java/org/finos/legend/engine/language/pure/compiler/toPureGraph/ConnectionCompilerExtension.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/pom.xml (85%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanism.java rename legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstanceProvider.java => legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismType.java (88%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/Authenticator.java (80%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Connection.java rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/ConnectionBuilder.java (97%) rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseType.java => legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionExtension.java (68%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/ConnectionFactory.java (65%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/ConnectionManager.java (100%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/CredentialBuilder.java (96%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseSupport.java rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/Database.java => legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseType.java (91%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/IdentityFactory.java (80%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/IdentitySpecification.java (85%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/CoreAuthenticationMechanismType.java rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java (93%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java (97%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java (92%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory => legend-engine-xts-connection/legend-engine-xt-connection-factory}/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java (68%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/DatabaseSupportTest.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/pom.xml create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionLexerGrammar.g4 create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionParserGrammar.g4 create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParseTreeWalker.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParserExtension.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/to/ConnectionGrammarComposerExtension.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.to.extension.PureGrammarComposerExtension create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/pom.xml create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/ConnectionProtocolExtension.java rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/ApiKeyAuthenticationConfiguration.java (92%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/AuthenticationConfiguration.java (77%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationMechanism.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/Connection.java rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/ConnectionSpecification.java (77%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/DatabaseSupport.java rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/EncryptedPrivateKeyPairAuthenticationConfiguration.java (93%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/KerberosAuthenticationConfiguration.java (87%) rename {legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl => legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection}/UserPasswordAuthenticationConfiguration.java (91%) create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/resources/META-INF/services/org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/pom.xml create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/java/org/finos/legend/pure/code/core/CoreConnectionRepositoryProvider.java create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/META-INF/services/org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepositoryProvider create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel.definition.json create mode 100644 legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel/metamodel.pure create mode 100644 legend-engine-xts-connection/pom.xml create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusher.java create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusherProvider.java rename legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanism.java => legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/CSVData.java (84%) create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/Data.java create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/impl/SnowflakeWithS3StageDataPusher.java delete mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryBundle.java create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionModelLoader.java rename legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/{ => configuration}/ConnectionFactoryConfiguration.java (91%) rename legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/{config => configuration}/DataPushServerConfiguration.java (73%) delete mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/TestDataPushResource.java delete mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/resources/DataPushTestResource.java create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/MinIOS3TestContainerWrapper.java create mode 100644 legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/TestDataPushServer.java rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/{DatabaseManager.java => RelationalDatabaseManager.java} (95%) delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseStoreSupport.java rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/{H2DatabaseManager.java => H2RelationalDatabaseManager.java} (83%) rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/{ => impl}/JDBCConnectionBuilder.java (89%) create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalConnectionExtension.java create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalDatabaseType.java create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.ConnectionExtension delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/{MemSQLDatabaseManager.java => MemSQLRelationalDatabaseManager.java} (90%) delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/{PostgresDatabaseManager.java => PostgresRelationalDatabaseManager.java} (81%) delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/SnowflakeAccountType.java rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/{SnowflakeDatabaseManager.java => SnowflakeRelationalDatabaseManager.java} (93%) delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/{legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/protocol => legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/connection}/SnowflakeConnectionSpecification.java (91%) rename legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/{SQLServerDatabaseManager.java => SQLServerRelationalDatabaseManager.java} (90%) delete mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager create mode 100644 legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager rename legend-engine-xts-relationalStore/{legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/protocol => legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/connection}/StaticJDBCConnectionSpecification.java (82%) diff --git a/docs/connection/new-connection-framework-metamodel.png b/docs/connection/new-connection-framework-metamodel.png new file mode 100644 index 0000000000000000000000000000000000000000..151efcc4de27dc35ac497ce66a62fa3f97e97e5a GIT binary patch literal 1558928 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ßTWXcjBqpip+zQRTV}xNyAl+>}RF_!PgW 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

6A+Ng;O0hgrCvVSV~B>r*8J6Y3?6?Mme|+#nl9 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 z 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∓ z;l%Q-NNOV7&|Sw%E!qr5i{|%yW9y?@c|-kx z!M+auwx710TQUybLc7xXu8OCo{dAK^^u?5I>WAsBWcr}84=Ck9Yxb{^KZ_Sp6>+K* z%#2}}2&)17g6mHK=46kMNiDQ0$>2BO3KS?)WXp<<&&y-{E@p7>Fi{*?eD<+}Nr=Pl=(&zm{Dx*5b#>5|1%AZl|;nOH9#GF-hGVmJJ_`7G6xP6Cgw1TPA z49Q@nPnHKr6_YS7VR~~bfpj`QDZmtS-H^lP%h>~EVF=N0E*t zikjodSrc+f)Ct+oDvP1pkX@r+3ft38HJdvv5BkqF!U!jd6C9wDyll0m=ly`L`YlV> zb((ALx9kKW;)QCn*ij0Eio-IPQx#2TI_0>P>W6IXilk$+I_0C?vqrXM8BRN4;F$FjRKsH4(?sQL{EQprT+2Lr zSk=Hz0~J2d6gAg~W8#Rdj&$kHVluebJQBKuHWU=$3LZ+~Q{w}j;ZyYWrgoO5Eo09g z{5tT4|FW$liuGez-JS^v4Plnfx2kB2u^I`6_*Q{kOP{5%Abe*^wWZtJ7;eY+7SA}q zYc7*mOXq+Z7jlrU-;pUA^Mqv~zG+Z9!Tb7#-Ri5h564MZ!_1$netNig`3%J~u6G0F zRi+bP-ufsc=2*6x7kzJRu=2{cGOUcT8LbU|P?K;E-Ie+fa2!pE54@a5y$gJ3;)wCU z6?+?s7ujr8v`NVCcv|pJH2l?5LD=^2~?UZ>!?=~Nyft|cHmip4*$05LtyD23J z_que5mh1+M*^gl=_yl3B4zBa&pq;$Z8%7S?nDm(*SnV zS1U;HWrmu~)USzW!=dd?a~ovRr~aF<6MA8|*I33*#`T*zldcTgL2}j1r$In!OWtZ~ z@#36ge9}~Kgf}FZOh5I%Ijleoq^y@en){)_%M! z2y(k@(N8DTWg@CSo2(#J87JeU#>$hdt8$2n=}(#Ya{9M!rNP&_^FHJnY=b{#ep=Yd zIkF#sy0?hzTv`Zjb-OozJIdJ#yvDWkg72d)gly=y^>{w}Kctc3apNU-Zz`hBa71mJ zxCpr^u0cI%+1yO)@;7nZ`XSOb9H~s59uP1RXIhpc{dsw6Z7^O7ufTx)$xKNjMnTT3L=zrG&Fk3_}A}gd7aZ1;b ziR*=(_ftP;6cxAhj8(E?0%uOvP}Yzkl(WBdQNv`#j8$|Aqp5%mGkl5_@qj;9cC)iz zO_CSH91)%tStiGS%8xn$|!*K30TcnkJ77;JWRw%GUGet7Zc#r6Ny3CJV-s;eSM6SPt6uI zZ^g$cC$m{9A$x5IwDZ)y6BKCIz1;`3NBL2VsHTn&Q$k*w{|<(YL>{yAlva1ORowD; zVu=o)?N}IVwPM>-@HPkpDbWZ3^a>7Gk!P$wGny5B2=CbMiPE^y1@kVzjSreA6OMib z`;V+a^=Q-z!a$gp9|@0+{G56xY|U-yl`)@dO_N4rkmGJEbfu8?L1NSqsd#sUYW}P< zP}J*94-D-HYG`pKK`7pUIPg2+Ylwt;-+dO@1jLy=FEv9@&3Izs5#&C4=U%NKn27bE z9S8u^W1$B(wdhPDD*&SO@7{>qZJYz|v;0Cv9P%%HF7#rd@|SUHG<3hZUKg){K^-lg zc>M4J)JHEb+qidXX0D$Ydm1Hqwmxl6Y^vIK^ukUCs*SjS+cpu^Gh6H**Fv3j0|Nc4<7eMLAtrX425!Wr zPf*G<6sYMl;4tKC?@$0(<47n);Q&p{HUaEkdw2p-)eFeMfOCm2;XwH5YxCmM(i}O@ zCO`WvK3#qj>IQ$mjjMB18jSYP**MRdZTP`LYnmPBFKDj_b?UC2(;O%M-T0DO^U$;y3b`B{B)~OXVncH*!h#-AvNyi2$ z7ks^B3&NRSG~+%0sc#;2F*~Ev;^RFib2C_L`CN!RaNrJMv?(-R(nuKaZs$GCfwtMa za1C%&H0kE6Ycl*DQT+0=H(+uSwc~F2@9sYI=!M6^)^*xXi=Q<ogfS}Lo?})Dm^D4Wt=^0o2TSB$a|NHK41ibKY@=1)f5uU17Wo1mzNCZEs#wy| z|FZuaFj$UuSJN0h{hV9Nghq0~%$Ri`x2&+pEAwAr-3#fko8@HnKCr4o=mZb>Kt0wT zOJABhA=RO}P5R5`kC`m^S%N49ZrSZoiOJKGpKTKzX9I^Y_M;LKp)L0=!j>a_*UU8R ztO&3|&68A#$LH+QjQM@t%)-LD_K$tQQ51k~Ge{GA_Yxq*mc70*iOz^;DLEm}f*uxdJBs%zlFvy=CY9i2FE{>d?fUm^%Q)w&e2Ztv@)xXcY zJe_`QCGlK0o^_@Tiw+R|I-qwB^%4|bRi$l<+0e_c!mk#p>KYLX79{RPKdJfM?L+`p zKQ)sFbw9NWxpS6X$Ew%Qh-L}Az1$AwGOQKAYC8BG4TvGa21DEnV3P3J(7gMd|7T|A zhN+UYWcsZBG~X0(HSGLUMyjJ@@Xju8yW5O+({N)z$2<^{*B!igH=udDWj@H25K!uc zK^&B1y56B5_|p8A39o*|M$fhz)0n&KsL)Vrzt@T zu_oa{d2`6o2387pv%0jQ77-shX#eI{h3#d?2r2Dp!N%A^Sph$Y84t=D)-z~`j%vWA zEFfl+F)SYUxgJS-d%WTX4GzJY9zfx_qbt=h9hB~b@nr}SA<@@Wae{&k&iH<(Qsxn=R+Z-N`P=4zy}J9J-mUFnBf`JkRc`6uM3E zh0=di)beItLR_MdX{LDPv`%(VHi6opRGzav+uH!!`w*Fdw+4;y=;G>wg3cpS-_uZ; zb8C46d~Rv%+t}ur%AYBeWa4qZNENN4oVM-fc^6{7P?hHPFz7!>Z0@QS)3(8 zB-QVN_iX&ulDj?Rgh3%i_PJlBslYpgq?O9~WJ)ZJ(;^sz9I|!F{h!?2qp}4BGEZ#@ zj)yC@yFEUkuz5r$l?I%7*!}VNL=6gD6h^rXDQwk+dPaVP$F6H2#895>C&Nin)HcRa z{J17dn;Us>N74?8Oszd*jSAx>k)nO5t%;{DaK1&|<9cq}Yvf z63Yb3R)6$HZ$bBunQn3cyljL?+I}RoP`vkPXVB9QK$fshvCVyv>{5+TAxQwv4zcN5 zc2`(vicK`$t%bgY$(Bi(bF$dL8#LVcww}aHRtYB*e*1 zw0H5wj?qogC1b)nxkBW?z~ljDf^jyj(;PbnB5b>%Ko(8xL864B5RBCgxnx>(A-;@6 zJTk=E!?S1PoT=jEUBcQ}Zu2J*z-l9q%idkedFtFL@~Jz{ zwxRDEE(+A47+6>mZrCd=Z_9Wz417MbzH%yw3{YpynRY)<)S#uqQE0FZP(l7YNngjO zDXGGF{9gM2gShM6?fuoubobl{qwQmge(F~&X(vzF+(w?hE#@8tnIH0{gX`d<9=}1{ zmjGO}H^{9H{_$kDAAjZ9Cu1rjYx>H1f&gN~D+af8_9M^qPn*SlA!{|zh(iQ;K>p&k zkCkGG_v!FDI7Q=#Oq=5`bShw)D|`HYu~nPV>s}3h|7Gqr@;;=>NT}EJ_u%o-_qCAz zG%b+*4zEt~TqyC}lD7cHOCT0*>&JD3pRxIE;xX0LB>3zE`PtaZITW+sMbA8X%XHm( z4<(#sxKkA+T!AMHP;v>_`V15z-lynK)5&kfjOFwGsPMM3P&k#^aOGJxcp9FvyWWV@ zxra0&pC8uVzef0MZmVA-JLO=A&~=Rrev3_NBX$XO@ylhQMw!+Y8;0Dj433G5Jw zRYR@CY2b@XEIu0{_-{&p>A)6@nkx_me(ou+V7a~FAN=>g8vuctKk06u!};1Y&8M$D zX4)|60PNp7r;fotcWvtgn(17q1tHp(kocM=+f9vdw=M|f<$V;4qdwrjVr9w zKG&Vl31;L?l1xOb{;dV96py`4UNyaR<32c!s@?*PF8IO3RWi5>UWpq)!JxX1Ddxpl?L z)He4pN@uy;rkvMmrwsDz$F4v0WVCU3V zqiF_2seV`mDkjq8*j@ExWUrJ8KF~dNici7^ekTGuWGbtc9m?6W27K%%V^E zM|xT~sbT2rJn!CsRh*-t&%Dw9VV?Z&M@kMuc?8Zf@FxoSb2atZS)U5WPjlbWmT(~{ zewn0(d#dwpD+_1~p*L3`9H|4?Fd65|17G-F#54YyeBqoX7aA^t-SzZ%>i)HN=QZ@HA{5pR}2LYHNYaDX#gOud94a9QhjwiM0g>98?-HC zMW|a^%O~d+LM0SJSLvV(c$cPUqD{?RP5UO&btGLIw_+N9%}0#xfABki|L-pGVCl0+ zo;TGfL(tAm{Z|QhG08SAwkYPcOSdJ^&Hj_ z^z9k#tum7#w{2@<7z~j5hJjr(uuEm+0r(7H=Ff93iWFy7wkK658m|AW_oU>3hokBD zD)2l(TFwnJn2?&^aSn@Pf1q0vSHNe0xJG6m6FOIT^EH_4{2vw1@FHaY>zd} zno>*!m%|(xGw#C7v-6ph!ddodCC~&C9wX#}(oU)$%EH33J-a?$L)DSwuPfe$lclv~ zCqX{(1JB1$od}C-`y>xVLMO&QVnyBHx=S!k44)d>douw+rpSb4L>LBUBZs_rvgLSu z96v1m(A7pFa@nFT$U2zjjLp6{3V=5tQ+g(Eeq8UxG|*9QDKgh4ZEg(-$#CVFm4nrZ zyu5}p;ltraRxAbfrQ`;>#U)Mw46speiqSntV+fQ8X;@ikODV8A_E}~n0DN5JdbRq5 zhc<0r*6mkC9M@OmU?IQDbJ0okeAKD_PBHK0pKTxmM*f-$h}@Q?`FSDJkJL+YUX4~B zJ2v`}Twg|1#9PGhndZQkFS#~w%^jV~iGPzdX+b$R?fd2Oej*r1>z%PAHOm%*81;B zB3b=wbK>Ki#m|%G-e$#ATIHyI>Y+fvD?+Mg45;ZF$SzbIRd%UkiW<7FYDBix&O;5& zmm(Ple7fm`y3HHx>izC29Iap8i|{ML59~H1G&i-6oS9`BE)1Ec) z5bZsFyseB^s<+(t|BgO?Z{tK2HuhO@$i_Cf3#y0zoy>XZer*${H4xg+DPCD2N3%$x z_bV9!=O>op>dlgJM2yMAOtN5A9`qZ81*@23I{$tm(n-14=#z5z`*$2nGut##hfhZ@ zf0eNijdECu{{{$e;}J-iD$kkY7PI!P0cZyiaKBoh90?*26{wL7kz8aysoa*K5Hof|KfCqJonb+k*xIq4M>rm8%K(N#;D4Si_3O}gS++W$YhTuF2 zi$Jtpnttqpi&XP*t$)4r>Yn9#rv+)B%i?LW89^+ce{^4tfgBjI+9!^kMk4*KvYKX1 zHNn{y;yxT`jO+s*a3~sM)L~+o6X}SO7%Zs82e6c}t0OBAC0CBV&jDE0GQ=CE-pS6H zt@3aFoJ*6a|J^p7O`^Qn)cG|pE{E=l>;rL#s^)6+D>8Ab1uQJy?JOnt=)M_x{vFJ_ z;h@GkG36&%vsDf3Z* zUPV{sswP8Wr!^k>QUe2x7x9oQ$ex^_S;FvogVnd)rdY6nk{eyB<#MtDfqHacQfpaOYf8s+;HRh#0`lLpJBYr?wbB0pL z3_0vHdG|x5$hHoVDFxdcWc&1F(hho}Vp=;HVObs|NOODdA9=~Q1=IM~3-KPdgj9wH zL}8i6eRb}dTY4v7F2cULEy-)>oqD>BrR6l5!+Z6HvC3; zTdxYCCpi{g%L#czh9yLQ@%XE2IF;bev~dyqIsPz72Xd*@m}NJ5{^Q~uQ;0P#u8D+dViR3XI!PI)G|8U%DR3`yz7&W%!dHj1y=O9b6ev*@yk7Zr)60|ksrj^UbAyXQ zIP`hS*{5cfd8-p&q`W=*$PS4R*Dq9;TF6)NlOSNV!c^;cu{v1~Y~)!zhd90PS+e)W z5YsK5Id&CtbuL?k3WHeTg`lp0ES7|p1#6mojnv0s-}79v_(Tdzy;c?Z#wc^~NcJ}X ze~w?@Y4WfcN^26S?v<33Y6ZBT^N`~yaNLmbtpL`&a%`qMu}0SB5(o4a4Ep35-`?!3 zN3JY11NV>Qa8yd(M4Ajye;Vz4I~(gC zyDy>oHBERsNRUow!XM7b1ZvEKsfQEg z;fo!YS2?cpV5MRb>0@Hta zr(9VDrnj%}K~i+hm)bs(@rPJ_NE`A0?tMmaeIYi{?31VjvZq@B2c{FbEwnH8o^-S! z8@OsZY&CaSD=yuV!JQv9k0zQTgl_V>T57Kr`oiXhc>%L|7Q&}22avtK zCfAjb2|ib%&e|`>#^Lb2chXdwIS8Pi6>G~0}=+k;p0@Lkm8PhaQ zS7P6n#KAWHz{nXel z-uw37Luiajbv#qJUtFm#+(__q%Kh}k_o2d1^!Ja%nmk{4_E2d!UC0olc6%WHu~*Op zexZUl1=yMYU+9T+#QoI6lkHc8(Wi>wI`iZ9 zT^ltbn8t{gN3)*Fr(koszPDz*(=U^ghugwyqIlQr1 z)G>XF1n$q!5aSrIQdWtquVWlR>PROMP^S7~3dh_}^s)Bnz;ymP##))cKl0=b6Ih-c zy!b31o>)$6?;nV~-TR3ao1hqkM%Kc`wuwU#{N2Wb23b>`r) z^IbOPc|7EKdd8^9%JrsdL-Swq4xUYkHm<6XDC-rl6)Tm|DMqZ|`L2NHhnq|HBr||< z(Db9y@^$2(*=|#z6Ny{6-$AOQaH`7Ny@zA^Ay^)j7SlZsrkr|yf zpYvUIBRyJLD^qaEWo^?-8KkD>r$CY@3mNj4-wS2)vJ{@bg7r~txgm~XsWQ;T>-0Ze z=_P4aqIe1VC@Oy61>gYgZ+)n{lem^||BlnWiy9)zARJD6ogR$LCPd<-_(i|Cm z^a^YFwDbI2CmY-|OYxrce`D?~qpFO)cTrI3lt#J)X(W}{q;z+KN{MvmM(L84ln@Y5 z*`%^*=>`cw8a5>$Exq@C?~DF_=ZtgjJ>#BpKiqM@00S8BUTdy7-?iqP&+{z*C|h(< zPew>R-1DMZGD`UEq^-wBeMhLSKQj{swgg9K7(`rnqpIBQR$EG~3t=B=TYt|trC zw&CV1U^F%kq?N< z@Z)(bhTRn=UP*0Pc&SX1xTfe*=_r0$_B66kai&? z<(-0kj&Kv!^v9IO{e2Ub>c2L62(ATbDYuc;?v2H!BM2~+ zM0VFL7n(GB_?Ifj(AD@GMYq(^-8G;|(ITp4{E7GC{&1oX;y z9ZL0At|T3S9&PoW z=I-C)g#}+6DeqT`FZ>Rl&)q#O$d!9F-sLp8H=rv-Q>-8*2Z*bZ2p3 zZ+A6PW^rGT`03%Ik1$1dW+!4W?~zwZ?iA451aP3yQ^P6+?c4zdHC1zkk5DL~^Z}lc*{wcSg8zMI5m&@4G+@m18eviAbN`?FpoqXN$?5qunV-;a z<5v;_x6GSeTibOSo_q#FA4?A_F5zMDUyrobjDh|0$o0IRUn}Lgx4Iq2Wf&DXJoEJO zYd0)P1}a{hoU?2;JWc_ts9bSMH!qPVZzD|tDz}nL`6<1h6e82DP;cuH=^wIo!H35p z2Cu=lDsE=@d84wskdMQb7i?lK?zx2ZrNPTN`YyLJVD*Hw@17$tK9%(V7DI*y4}4n9 znvk2_Gg3Q+dnQuZZ_WJ~{sj4bgT#`o@`qN-5Mi9Kh)ZzQt5=Z)c;<)fq)K;Dg-Mu_G zOhElw_1}&!IGv8^gp{LBS=ASJc0zu6R*@Yb^>_qgudzWNe)bxBYJM_45swe{NA>oL zjt=A-Lk1HQ!<8yjf)B99hcW-vMM20F@ok1m*Mc_b6bb|ApKISV(L9QUAa`Ka%~re_ zQ*UKHlAIbRp#Y4*8ZT-JV-P}1j)Ui9mafJmT$r3z_2A^pVRtw))0XDvq4;;`FXwJE z2L56Zv8J_PkzamW`iS7y){eQO)XSxkr{S+^PP%c6(3$NdG2!u^q>t%XLng`+k`zfFzyW?z)#dG~wH z1#5IP^dR)ldeYBd8v^FC9_4~bOu|p|@J3~6o$m^?0)v}OgIMqN8w0*0bE;R<0W|8m zh^v*L0dlU8^1h3&FVV*0lW13cYXWd3DUUq(if*n+x~qTIzqL7%t9TjpEOk)G+0}5= zv7z0H%TsxG^=;hmMzcb8c4xB9@BKfgT9k9ES3d*I8SNu=)DIuxU;4GHt4o+O@QGKN z*7bh*GLFC>uJo$ueZSL0bgli?dfL7C0u4DD1N)NymDH@7@g}z0sty^>s)Ryeq5z1V z?Xqn2#iBBn@pWrI{g5jPw$riVcs?0@7ID5eT9c({H&HS~YsdrvdL@X47RRlC^*m|s z_T#Pd*RXv*uohAPKUvP}%MN#{70V%r=cxcTGy^|h75G+kLtpl`vqK^EWoMal%O;;8 zdH~%#+V6N>)x@F*F=#gv=k_$7TEItJ&ckl0I4Rr5$_ywy6__5MGo8Fzekm}4E@NDV z=HinbS}ge;!G$OzUiAS7XW9ncdn)$r+Jj`G6l1)PWIUN8(=bI>>TZ-r)2EjB*GAtt+`tFC}gn7slcHn?vRIT`lo{JD8wkt$`HX{`c1BH!YTLR~KdOQ;b5E&el^(Ko4s@CpQ>E!0Ps zArN6Wx+kBV+p7pp;#O);`)tmjSM~{exUr%(2z#?}1p(TD+evx!Hi%g04a_pQD)ow~ zm!6jCp=tHA1)R09$aw0-imEp6Onyrb^7|sI?mzU-p37Ift` z|4K1E;^Ax<{*|*Dr~mxHy8M`98!%>aAN?<-%)Ch=r+bhmiz9UVJCs%M4p{-&FHT&EKV zH8a2_@xiXbU|f<@mnj_+?1U*b*bMsNR3InI&BY1$o3xf3WyXK1$%VFE9GA>T*Tqr` zbRzKiMNM1$@pxfUYn#$%T%H-z&|vF3LKOM)?a;JX*yE>pT848}9u5cX@4v*eKbwr3 z#kT(Iu@$H?G{ou(XherL4*LVIP_BN)AKa^N-EvuYS(E&I2G>OS7b5-cfsAB3Ic?|N5OQZ8eRD@DBriERfq zz?j>Lj>RK<6rZn}h(FhxLu|`O{1Fi`E{cx6sLGc9WFkt1L%rK9o^3G%cdrW5SV@iu z|J37R4hs@{Yv^}MW0De?(C>T9H@Nx1@IX+#i~Fa1%heAfj=toaTF3PP>>m>PnD6`v zMIRq+lMilF=w%iittq_p54&9`L?|zNuq9B?y*$J+0CD5QulPhZXvy@n>oz?`sTeM1 zYe9Rk-t~#6%AUag?jPHu<9M2FP2V?Y<8Fk>P@QL}aeTg`p`pp^6%s>4;*KE_Cx`nB zh1~Ee+k?EePw292)a5Sa9FwHa|cjlUv&q zi`0Yjqq^DnZqp22AXf!i7JRR06osUc)FF@^TpudPQCSxA-OD=9bG@>xROE?RI(PwE z%oI?26ps2})mNYnx>3Anzu!z%GY+S=?@(q#Gd1*5y}^4x&;B06{JHCcxGE#$@sU5l z1`UfKB;X#s@#UR44F489Riu(w<8LmOjDn1`I33H3=le^qOFP3|w?-NErFf}f`@h2w zYLe5rm9R!yuy>@ZC{*!x_0rNdz40q{AM90;)U1NHlT6S>ge@&AVFd@9ut2NA+V3Tg zCHCqV>;Ipf%GEd&7JYfQ{J=y&adw3pu32}Riqf3B(x~>)%b$4RQqL{wq5H87FBdnj zz!NtXSp5b==kOR3G=AWq1gq%XL_rZ_*l+)B^3RS?LWv-{`2iiY%DR0OX4$$U(;1Y~ zuoOB!(%qb5Ebi*fQv@e7qOBD>B)Ee?N z;U1K0yB@8&3pV$`FXIsC+umgn^xF|gi!Bn>dR++j#5{=Nc0Eev*v~F2@J*8Q;P~vx z)$|8#xGtxANGq@lDKJN6#3j6)V+=pU=&nbkRZH=ER3LwN>fQbLiJ~!gNN0oE@pj=9 zHcR38NoG=S17(@e)M@$|IFB`)ISj7We-TxDL=ISJfvdt{2mKdo=}Z6O|G^-DYz#f8 z9gR48TJ36Lk^L%UY3|D|n0hktfX@gbl)t_5fGr|o!$Y;`i0|F~BG`xY=74+mAm8m} z#h2FH=4&$~IfAWcSuVTBn0K6&a#PHFrGyo-GIKE8G@I!uS3QCg59cCdd~hm~K? zhKzgacXbN&L#_>-#PX`|;eb3Z)7aVX*{!c#2sJi$I;*7>qt7NROwOE|dAJXk32)6~ zC@v_ZVw#tbx3db1`>IV~$RPw+4F{ZlU_Ig?#eJw)VV#mqC#j0&&S%zV*1INmx-))9 zHc~_-WXQMUJ`Cyt0ehSe#UDcT|gE0jSj7_I1_f?u>bE!^<-|GT&Do(`cvcl7@5PM`1II zKlsFzs;r}Pi5ye)6|D=7XDldZ#I9?`7r%H>yMEixoG+gDNUpwBnzSwa!Qpnghde7S zY^th%IPsmv6ERKF1-a`gQM6vRqd4)->Dejs5%wP(@GvP)J=iH>Dn?jnN5hCt%@Neq z0w);T9>+-zIGzH_sQq&*53D#d@U4^HI+OlD$0A_mm82t7VHrp~MGGHo34VKpK}4$M zzwd}vJsm3wt1qN9@wN%}TyK>F8 z=FIX(7`|*H?bmB9MqBp^s7Jp62N2tCV8n~v0EJML`swQ4i{ts(P%mJ<$z54l`^IR% z@JC9V1nKh_y}wJeABgHnk~g>Yh_st;!Ta#LD43jaRkRj~Gmj3K^cCkN1<{QSB438b z&SGZ+CB}r0B?))kRNV-Nw0TO*8_@WJZr07B&Q=uhnu+!BPAC^N2m15rB6vf&?su(sZd^i3^&T@EXBxuF z{lM91MZ-i|+Q25Xj{$^kZ1o`UD@{jVA>xv}I5)J{pgF+L$XYR~D}I#!1Tv{+{r;Vf z)AT{ywt7J2T7bCD35axMdA;JeS|At|!T1b=LvKz5AUsEcj61vr67dAe1>eyd^}O3NKxW#F>76C{_R0RoNYy`wgpugdNup zDtO4h?#SGydrXkBD*7O{z|decJmv{6@p;o;Rr?#w&kgX}TjFyf;@W;`_cha7xTF_r zIn}A;9vPIRC4aOD|9*>#l{>O2(&lK>_CLQzerp+QmQVIU-WY^>oo?fkl>M`3n=T zZ(lJmfQ{k{?~i0cF+#tgi&7@_cJcK9B1+M#+|_XPRezUfxeDjaCkPR4K)@g`XRm<* za#ISK^zajLy84+fNF^hVjV&S~N#DIrm*7T(8qb`buWc}?AzWWLL%l#`%dGq7>NWM3(fvNOt|Q>7jm+Kn-jLAQbQj1U9)ojJkC zlWO`2L7$sPu!REG%gybV+Q2|aLM{b($j!Q58qRi|t9SYd)jZy#a@nM6dvwgkwyOgk zB>0mgWjot4(w_Z(mTVw^7(6#0N!MPyuD!}cacpyB3~M6OkRW*obs)n4y;%J-Wn8vk zxPV4}i@<}qm^NSc2!y^Osff4xJyr9NNwf=t4x?xQPq;;{S_Uug7txs5G2@8(d2>+gD;3)5TEE&OkW$~Oj&-xCi2LZ>Luyp zj{mFs!AZblLWksmce6H#CbXaVS~4<{t=t^)`Qo(Y6q{LfvLhnO5;rh4?CwuL|pxNry6f%`%}D_1W!4;SJ*}58uWah%Zcn> zb;6pQ^;K02tL50yZQ+z9pUCw7N4Hi5GcfuUf~2pcJ_H?z5zufGM?v@k4_0B1??|wf(tNFPERuR~@7p1%{ux(} zRpd77T;-Fjh!(8L!ixq!0SaSB4=m1Nv6ud{mHua@Gg8H~nmG~!oa~L~Hb`>@oy6E@ zF(ir&%$RWve;(Y|`xCA51M^3gY~F2Vwg2*D0VWDU1A4_cw5%EU?|9vhFhIqFlA|pv zI;ej*e`Tf)U6wWh@uuJRTE$XU^r61Po;8K>R~MzS^{D3r$1QVJnIc`^G6f7j-u@_* z6XPK#LWTmQT*WR3ecVa$nLbBv3){ne4DUZmNxF*|BO`XWB>8r$2fT!J9s9QyJ-fwM zdU2bv1}fu^jfT$>7AWtGtMs=UU2YUI5?2inO)|eP%`jy6WZ_(D=ta@oBTs>P)%3XV z9(jxxhGMZPI?n@}1D%3g4myxNFMy&7EXN$A_mv@6LRJ&Nw~>gAjA+K-egeYdPB9XX zm7XO{-z2#E3RS)7y?eAP1M=19S3*1l`swg&Bwcn?B5%D0iR{+`!>ew{0OSkgPZU`A zYd(q=f5NaUxjC9Ix!cz4yC{9s&3c{*y<`$Jg1o}+&=rSDMD%7!@ygC#1XWc6rfo+S zXq1WD{+wz&k4}0o!KyD8mm#-_8-lFhSgn%ZMfCnuAaQ~Y>ZEJXKG?+ex{k@nvzJyx z9+`b*Gq^mI`*nHGw=Xbh;3}M&{`=zu6J}oZ68rZzYxa3~8gtwc1~nBhZ*U?1r0G2U z*~3M>2>!6BLv(fd+pfSgyKwv_j$q4XX00G$+TC0GXDF!3o6cvuc)RU?rvz3qCvG~U z;{{+KgQZ4r$BZSh7Sp}SF?R{ZcLEzj70hMtU?Is)aqfmfJ zm~8qqbQ?KhQUxUk;0JSPTA$sVcYl{&Z{*b!pzMPrkLQudRE$6KEOI>|Z16>yUACnf z$GwWnF!_Tsu@m+}gLxE8{_T(lONr+fxebHqY+K##QJf1*$0 z-@#d$4+cO9*+EKUiP%N?JN$3HJP?Ul&SyT}PJMNF6hO%i2^$}bD`9&jn?@{n!V>-N z4tAvAfIrJiCa@sVjyZ>YJ~0GJeo)rK<$E$>WiS;5LT*8=?T^nN4VC}k;fJayqcO6m z4@mczm|tFUtntcL_OY+Xh1<}d#tjwxXE_B)L9Q@i(nGZuLLnA07RVbZ+L?>x#pC#5V4{t!sKm@`~=(X1b0clsu-%tnOy&?O*Qi}JdDykNG zhB6mAu?QB&3ZRVmyxLJ669P)ZuOs9QtKdi$?pA2|%sC0pAy@!}z1x?X9%uM@yZ%}0 z?8KGCbnb|rpCQDoU9ajTKDOM`8v~|P0*g;Q>~iY|Msmf5a!jeRio2oJ8wcUwAvO7r zjr6c6Hl@+yLQroO(F#YG`eeJze}&hfs^Q0-@vgHIcCZ>eH`+q)JeQ$~tN2#VN=Wfp z!SpinNyZr@lr?3$t4drj|Ac|VS{v_M8yio2Q3&vC&Soctf5VgB01*kE zb?(`HJXK)magZde;O$w-Xz(cxN5eVUY3>^p89e6=K79!Og`kCXp~;VOWh{X zb)VkMq9coa_Z5gkndW01z(x<_jYuZ~PUy9M@MZzizJ3HQ3Jdj2aI4_?=b}FoXtq7b zci*4EC7LCd4jSjyEw;f2ZRZSpRws+!Q+whU^~b=`)C9D>?nHvyt`)@-=Je#io(&RR zCzQFsu5~421&#Hi@e3Y0q&J!?rVL;3)}KPT=f~+C7T=Modr;n+BA^$np{nnQbq)qw zeA*GZ*yIDN3^C1et{be_Jsb0SYFauA1#bC#f3XBYDykf)jK$!TIu_Yc3Q1|4nuB^{xZA>ow$dUx zlX^2HWW@<%VNt=3g&#^`svJ*f3owZ;zsqW>Tc)WcJe0Y8@3`ny&fBK@88mjm*dpr+ zw?+AUG`WQaF9;p`qp@F@?c^9dO+TXjo=ieCRX-(K(ap6cT*$(7uiUA^Sua+%*Fjc6 z=Kre?;%DYl^InrBvH&hSuiOpiyw{wu^;bNVSp59pkO3>o&faD~!H^g^c_?(i$ znBOu2G1wWoe^~%I$S*+*E=tYy{}6TR`CnMRjK-VBo%(d{*20V6bjQAE%6-cg1imB_ zW8zwf-}#Ms^y2@nJh&i1FTp;FOjFWb?MfzavI^9H-3|Fh)|BL6-?vpd=5?FYFd}L^5z%AW`*RezlznG6 z7^4Cgo}l;kZ>J$nsI+OQ6KbdtA!Bv}`P%vMX}>s07(9Gf#PY#@IX+S}#xeELeE9$9 zzGOe=C)buba!%6}z_*-cyL0|@!k4=@T?US)X*byJ(o2C6==m(N4>6e53sQy_qu0Q# z>}+p-i(lR&@*s-J*wkX2_@SaPHSJE$^Z(yOhz#>jkQCeJjtvg5$!3b%9zmD&C{8%G_C2Uaff5}(>@7@Uq*SDyQmzF^~ zsl}ghP!i7lL?4Cz?<>AX&_NMs=-t|9w>T%I~Hj|=N92C%nef~SnVbMEl54_bXm2;&k zG4Gjh3m%~jhWr%0zT~5V`qJU7j6!zB!~23^m?}sXE|)3q%k_yP^hE=E{T&XEJ8rjb z(}aEF>0?J5QPuq3=E38WC4V zV0kV63Iy;XNaRY7I9nA`f6BZB0XyFPa;QKUbTh!& zcST)f+m@)S!9@STnk>3rV{7k1{m7 z(-pL12AN)a(zCxD;DaTbsc3H85yW^V16KTgSuP0@WuEGE?8$w4EZKdmX0-A;ZAc5R-OZRDlVH@(q6HsRK4W`)x0Y-nZzcTm1!q_7H$8e@TPQoR&Q}nLy+878>0xR#h zAiSL_o+qA)*BuhxlfhXKfr!)Kwzmg4%R8ZHp{JwYqz+g<-{G+RYq4+e2kqRjKj4{U zc6OT&Y50%;8sPC-Wv3EZn>1T%ct4FVSG?n+wL`v=>{nc>Hw22-s*ZSS2)w`JW)bb_ zm+=rki){@_RXoMQQG3vVF1sUYfKD*xY0MdZp+x$3>7Q%2xX@7=k2X=yd`{`gCelnK zJ~s;Rz2GPjnz*pGUW4#B@oxP)Jwg(a*#4mOuc$*OEvJv9#b1O0k8WC9s2leP&F!TG8Q300Y=i8|5NP@eqb z`U1FN)sLAZwM&&Zl4QQHZc>Top=@|QkUESQd^T|!0yu1q%$V8MWZcGlXn>i?`J6>P zdsSVBjMbl<<{QQxt4F;_*7VL`KAx@nKMYT@P2aWATQM%O;KmUY$^KgERuz5Pg}Et3 z1c@7HX6^xNCA$c6@F`B4S$cT6FRE``UDV|Ayz8~}SVSxWf7EQ`TVu%=VE6IN8-l#S z0y2A!@{Z$~@|}nIk)Zj=@F@iBmYRIx6F73k9O8K7U;O$PT!e}3g8cSIWTFp13S=zg zxvxM1z^RoV!FpijM-#_`j1pT*q1|sJ=7QCKEqqh=Bf>z^_#k`+ut}>0TQS#3c$)9w z#}9Z7#Jg?!9ny?T0q-Z zofp<})Juo!<}T2RtTn&SpOlNBf90k0LLqLyG~UBT@Be_6R#)pSNuH2U z>oVdidbKMaxv!^0||h4ooUP@y+vnsraNaP9$8TF zkl5{Xi2`~akv=QpF_ur&+!^>_-{QidFResKy85j36D)@&JJk$xA$)zm7aAvzdZV-! z`WLW=geoba$vXOa#`>Rp`644TYQ=y&#C|XI42O~Xx8!vEj;kzGwjK9v%#(a*n>D>o1dT?n6O3vM)zphE?ytgTk)-*sC*hdyfsG?0D102uA-khcc~ zJFTdY5GpFL2?L^i_4g-Ahg@wxz>mRtV|wDRCfCEilP|q2I9*QGOxYl7YCfH@nPIXJ zKUnxO`7YY&`iG8H*{SfpF7nB; zc}05Nt+inF1nccF{TnTmJ}X;C0aMFYP!7`6#MSJiGu~684ikj^w^^Qp6ok`SruYM< zQyC!P&v}6Xx*o0mR|x9-$K*xO+7(d^{FsHpcq#N+Q=I%jQOq^?N2OWg!{JH06Va_B zWDNzCQQWvSz~ykT)Q$`)hfkam6F&_`v|VntaKU&jr#HbG2jBZ6=e<8@o)N$VNLsnf z{O=vRKyzT>;ADA#91PAeOR(RG6)g;kg#89DWuz59sOg)yBH>{N&bXk>v{gJm9A;Xm zM!R-5P&{4+`CU7;-0zyqa$d~nnV38{SUzpYl;wuL0NAck8w-smp8VSw{O|YncYG%u zhTV6kcN$BMCeclYBTvoGLL$KsvDX!Q|EvE!iifFasJu`6(q*60NSwd!)D)k9N0S?{ z=_?Shd9@D~-iR3d@jzvpy*2)1{vWQI1a*X8QU_rRcpGumTks1j&ayZgD*@3 z%7Jt|0QILLdNPPW7y*xwo`+rF2YBiRhgbiDgBXm1L%bTyWQf;B0k2}7Y$S6$XDQK% z(80QRH+J&hXew*%JFEMyevGEl!TcWMw;uHqLl3x-u7K>xn2wQh{z>)t0j$fC5pRFr z&<{z2Ww-8@11F?Es2nHi#9f!}Xa;hru1gDlir3-5#29%8VG#>kWdvFfYD^$9lsS&< zX{y)WV=mabI9&oe(4n%Xbpg^0xM0;5@2VH-Uebc#pV8=^4BBv8Lp3i>WXLU3Lb~zK zX6o4#$*mz0u9&n=LNCA&wU^btTFZ-qx4%F+Up#y z7ss{1gJ~vz+|$()2y{vM=ngMzVHG@F?p%(=3#KJV$f@Dh`s>XJGM#9JD!jz#IUPfz za2EMZ-OfOm-)*%L1B+LY?e?F=T@>qHG?Ootd>Np)jDH@%tg|6>iyOo6b1Py{Y{ji< zB)4Iu)K{5OGls|perYVkBbN+iI*VRh43!?ftf~RjbZdl7D75_=rp4IF{ocWg*KlV7U?opTyrP}p4jsRjj zvCua3!S-It`BcFQ_IN1hQc*n_UrSwFM=iKvg(qcbl1C*+0+kSu)H4E{FCz#qU-Dac$pbjBLL= z62^R#gH)g;5~M%})^(s!@L7!L(hprPmI7ar&bxcnkLKnp8SX@R5yjn2hf;bmXLW_c zF@tbO$eymv<0&PHnG`!_ghx!;tx8+~jBz zspjYg@op8gC&~q*_Z#vs@m=jy@>F@YGxeY-z=lrz={00|UW#X1pT^Nkp_o?YNc)(n z=$r(UH}JC4-hq-TzDtBSjOP0kFo2uZWEprkO>KZ5*A+A~p?=|2h)!G0LH!@lyt;6; zJVV!LEd#NU5U^AJUIe06udv$uT6E4k>#M_CN-4R2Zm2yewbROJI)HyND1PJT*S`C;%S4p=7oMR0?_ZF(#{H! z73QEbJ;-Yg;urgrJsI(yv&%`D{Gj>DT6-u(X6w->A=6bqkX1Gm6b+#>P?_`p@(uSY zh{7C)EMiPLBOn#*1uBGp7xUoU(!Q=~ShF*1iFxZ#c_D3wYC46-h_&m?)Qe#5)&M@O z>OnJ*EZIxJ5*mK3e(QwtN9KJl5C~xPeQ**X;@Xcok1XxTZ$q_{0ubRGQ(+1#?f6 zAIW(8_EI8wYLz=9~`r+HxBq%PEA;Q33011_G=o%kP$HQ*CGZHlK;Z#L&E%2NmlfJx}ZKrsQYk1*NkN4jaesP+$UHv!!OpmAy8i?LL3Cjsp^*;|E2x4T_ksgGMy~qFAyg&}T-~ltyN4r)R92CZHdA&3>xpFDSGKJEW zCM0G~?2uXJf^ajDTcCuxKT@pS$ll{o2IE7~U#X4v!Fu(U{?23k@i24an&$@uc zR$)Ia%RK;2wNWqYwB2k>_Y+er>2USXYqJz8~YEi$-3@ zd4c!vrV6VTxhRKCe`+!<1U;Iea~PU4Ds2FmmFO%Opjl1nfj9DU)9?ZUW=ZJmjv-vxw6HciiRZp4GFN3b;Hd^U?^`5h5FWZaU)T zDq(aIGDWRUWWAO6Jk0o3u@B&>81esU({ za9<-4=WID`I54UD3;`827c5%LsEod9JBd?TsD>#eJ^|J`-n&Scbc>Qv8XNg}_mjn4 z(i5RyncmMTdJ9O2#YjYVqI14aH?kb_b3_>x$i|KyWOup+& zB>E&NxlsGncV=!5;r4C%i2>jGk!oi=p4S>az^L(`$A~p80>`%_wKz1<)0sNUqimO*DOH) zfut|bg~m-1Lm%BcfP!2BH~`9d9LS&u<9Mv!-SE4-37D*Z&wU2;MH8t= zvD_HT*uTA>KtckqwaqMMS>kxMlvdk9E+2ByHuR4?`7CHIp!aICjQevKmp{jc6}4Nu zJ6byhgX5qk-&*e`KtyF+Z9m=jfp+!pUoOI3&_5N!zF0M`U|e@wwFGZnHB8_ux&9{q zajU450S}#{y80~J?q=@D9x~#;vK}|;JqUMuy3e_j2z>NI`x{~x(=y}`Z;xb;Z3JKg zP&}1TY^$3jt`C&o1!^x3dJ}i||5aW<+C>|R3ap$oCRVk95=jRAi3Ni8+)dzUBh}ph z8uRO@g7SkweJdqG~Il{gR5%-y65}66Uf+T>{%>of1 zeFXB78tgw!FFT>)TOVC_;=Y4?7DeYv1$6Gs*3DS9d7HLn^IL%(&oL@q|k)Wj)_*X1q2 z18q21Ndqcf3S3*i0{p>sr13oc&)_Q(L-3KhLj0K5;+zlgs>`R)pbEHy-TdQ>LE{@Y zoxK7O1R!38iOQImp|_z<=DeRx`0!or4*Uu_1M5=P zzH%-<4{OcwdNRP{WFh>auAbc#x4o#2nsO*_+(!yP&rk2f|G7_u0V+V?FKE5*i z6o;}AzHJAr~9V{kYYF>+#d?+KxyOj0lsfR2Rb`8fff53aq zs`;)G`UQv~d_QczmPBeI5wH7tLL`_pv`_aE+$DQX?^Aq}w84CCdj0V8xS6ohc53I_ z!roeBeJwm-*M7?8w(Fhw1iB8RnNnm>P~gJ8AIOP66=dT6tg}?#Lgq)sV?&@WLg}-q z+cz1x{MZrNyj&`O)4jml?-3P%m#Swr_2R+5sG)1(BxITU=&2umW`Kspb*iYVUD}$Q zm0TvV?Z1NpD&R6|Ki1!Y(x@WK(|eiTREJ7wtqCZljA^D1ISxZ+!1mYapy>H{A5&w) zaxl4(;|&qhu)*_(8f4Ax$C~ujZpvx{@g~#>k|W*Zgi5mgfEk_bK5jT8377jr?uVA5 z1c}c#xgI}-@x(yOb2WnwUJ0khQWJ)b5QthrGomoF=d5}8 z*~+E>u6rshiI9Dy_?88Uz?8H*2KA2bD)J4;jme}+11KcZZ@d^>3$5+&L&=2WEi8kU zl`N@?kjTujCtZ=xdEB*53+908ukGZVg*RJPH1R;Go3OnUBEM_HJ7e0&DWLciRaQ}P z7Ys^y4<)yZWGh+y2g5j_-?#5o_rrhm6RS)L{HDOQ^`GXXqvgMwqM%qqMpW;U8hGu~4g40xoc;TndF^T~v#AuHBPUGyWc21?F2 zM-(2LE=|VNrK+Kphn_sAJXK0cv3AnCz;hXnz|^>*+6LJox5JI3MR!hR^-4kho4+i` ztoq@0eb8yYV?6KZ5t;KR*FEOr?e7QnY>|i#? zY2(4M2Yu8ybAGk!ds4OEeh$hGz$_&#Km{yso5dE3GyX{j5p`NST7AR0s|SFq#l7lC zCLUxxKi1~5c4shzmxKqrwy`NIJvfoO*918b1ib^|*`own1>xPc%9 zZVF==Z@1RVuepzcKFnVXK52OIgWFVm{nP89XQ&5}$MK?JrrG?P`3NeMchI?F&{0xrQyYdhKq zujIJwgqke?y>0Rcz(j^={g&Y10gu%D4aWh9 zXk^Wa_wkOD)Hpey<}B03yk6$Z<9rG}fIz};iSqHEf_T0>ZcA;@_9PgavVd!(U%zB{ zh$&SYIs1*d{3T6WBJv}LS@O0E!WfId`4Yswo0XI4WOqNapx`*}_WomtMV_)#Ag{8g zoqKCR1g(b~9`s&@GT`HyG1f90YK%!`$2UZ}Pv@68td#OCM`4Clg#jzel=)?I(R$6P zv3auHl0i$456o)sgpLYV_e@<{H=9*kG{8{sZkHhX_`@$5di*ua7S~|XJmPqsU0bk& z#GCQcq2wYhI_7iSs|}fp%dKx6w_W>28Q_@LQadGV&6v%pi(%5TIbGdQcyIfX%mOc1 zYYOC;lq&Djbo+D`Z~GB?UncLE33jYrG@@;Iy0Epee6qxNKDXNrmfXfHua7reS6@fE z5>pt1vMSaU|JnDFhy|mr!J`>FFoph(U5#D~`hvJ_5Ox@A8hbInm36{RS<83@P z!2B=hd_7G&!ZcBz20UoVT!gup14Q{2S z#LX|)NGVe>Ewnon%&?|p|M^AkNDHIA6Y(hoC z>d~DN1~Nd6ei;f!Sq$ov7p=&}DtvXYc@5@Ge@Ue-g@Wh>c)+4%qbEll{1~J>4ucXY z!<5FqhesdekzBv$Wqlnji&U&9WPMLOT`(NdkAK1u$>M&^$*sR$@y48zKI;uXwC&So zsctlQ4~ls}nPx7(b8(~pIY(sXW8LIVm9;8^43%5Qg~8t)xUxln3nM;D?1w2@dnE9S z(Dm?F=Zo)PB-k!y(6UoEGhoO>?+hJ(Tf+>v7UD>3f1IaQoGhj=kkF0vIvyhT6gxtc z#=|H507ta~PAtPnw7N*fTD z&hdjh>&^a^FonR;7DiH>+A)dds}V7gUAU6>``2X^guKY*OB?g_I>#k&ZmUv96DL%3isp=(6X zi#kARaSd4<&xq>;yP<{LiyypMdYWjma!5=NLH1#l$+1a-OHIDiGj_%SzQP+^-3#ot zij|p$x1UFTejw+P(tQE_T2@i02h`~uX+E)2V6v6DQMuBdA}ldH?E7#3HjWZR$JoXC z*_z%mf?U*pdmjN-A`C!zqb-(?mDTW05}GB1TG=|ZDz3-K+zhy7uYy! zBlWc%b$#A!3D#;z@gEudS$Wb>`sK&Sw>g6XPD6!=ivFJSG3mY?9lHIY}Iu}bf zVX0$rv^!!4(*rr^gzc0z)Jh)D+frXwK)R@I3+Ie;w{xwy&2w9bPo_&x4P#{zmZS_h5}{Wl7ro12CJ??N0Z&VS5)5m7qC` ziSMK|J`+Y;w1+PKl`%q&EANjqw1Aj4!80oFD*oksqCf8WxarAeJ@>-De>4bT|A zbC_)GV%zT{K)G-@;g$ZH5@$apHl-Z#X~wj@I+ znDTY#-EuYQF2NaL^a*LnwccI_!JC8E*b6=~)t3z`J7ZbATPfllA1*OaUw`!~aJ!O| z?%9cYjNnMZlgAsZ(r$t9>+ixX@FlNmX--jI%hcbnt)#2pOAVapW1FW?yCDL{ce0dK z0!vox$2^QMY0B=-HW`%jqk}sC8dfoX#Ty_xf>P@cd zi3Kk`P4L)*IWCiwEHbIK=HpNeEnawskm(iOlgcW$>*eSupuLIObn9=IXoSSDtA1*70xBPXSpd5@d!_3u(okv`phge&!9WUp_7nN5H^-R!ZL} zIoa{X9CHo99Re6vRsBU$x(;vx;2O zlET=^>U!OJ)qAH^MnMK9h1_8Y_KiT*jJt0;ux%%OfC8f6s(|N_nzp!9SRI zVZ;qAU}vn}V4zlj@o${iM(UB!nULU(luLU(oXF6%ac*RHp5^Q^eO~*oftWg zz;9Iy!S6(^I^1)Qz@pPL@_>A%HoL}k#z~Qe<3GHBnURpXd8Q{5#Ss)m2yL5@ zl6yS14nHh~;^$;NXzj4up1`LO1&Pg%U)f5|_wPu}YV1qguJ+yI)^!3Oi<6U&pspO% zJQh6tB2i0*&#~%(!>}KRXMpb20Kf*?2{EKE(bO%C-eqXK5GAmu#2Z5~(2HQnq z#r->y({mKyTaAg3GG8fqPP13wc4yS{2u66vu^8yP-tEc0TmpQRS7c1sy+(~{|JahL zy8L(_;NfP=*Ohw|K2&*zo$-G!9I_EU-`M-iZDFv+zW2?+SDGnlWUaYtZjf6~N;=K5 zh)zKel2#)0IQ*=3Aiw7gnUsLytGzmXS_vtP4MRk_wNb#06*BDasEvn5dW$6jBrEN= z$w4mEfzkjqo&ov-s1tU-UP`X+LwO(KqgQ*$_z&$6fHR1|qkKje{MFt*`E+sL_h>7a z?ef}IOT@R4-MV_+W_7v4e~fO@f`fESe(vrL&zJ<7+v5DSW9{K=H2X1aA@d$dU+8zv zmY?m(v~}zO{^S<-d}M+>nWT}kk~LUKS52CJnWTUwwwVO_r*K~H^jKNE`4?AKV&u03 z{xj?dlZlfFce|wOTa{#S-CJ21O`@0X)5OwL>vO#f?K?{(1@7|RkcM<6@K>@b&ywG8 zI%=vCl5Kk8z_i2)`?;)HzhS=TPu;{)U*+SSsbNOTDwdy#nK54fo$S&ca-411dCCF? zv~+oAxmuyiv-xOz&D3xQuWS4%!=cdHOy(qBb+$)OQ#EbzbC{3C+$FUpwzSCB3P6S0 zutkW|?{20LXL$jx_yT1B3CKFq92zoUnXPu{XVYv+V)#1p6Q6NcO&Zyla@(>o`sE86 znOE+QYEth^E6?_@A3zUY%lF$IZLlCvPq}X(8A_PElP}XvWW&@>_EX>c)m4D63949B zI7DBzumy$^_~8HsNDSE*Ldm=T)ES}#en+ixY}D@Iwt@SWi&C2gItmOGq$|YDfQNSS z2ze7cGFYa22cC>7fj>)%XM%)I<11ngH|8nC0852IoAV8kQ=(E@hm*DB9WOQJ_TI?vR6Tb1Lg1b z>qW0WK+7&~K0YLw){VRN9F=jjS;UIA&z_<2sJK@9+OL={KxZTV$U;5JCjp)j#8%TA zQXHV?5{t^mSC6LB;80G@Ucx(2U- z58@?$0p+8}A~)2@o#2CAmDT92+P%F^Vq~(bZ0Ah)5nf(ePe)5@H-TTg?j=3vL_KjR zKc&HJ3=3LvmKQmTwK{;$0X*=Mmpmkk7&!8snbt*lp+QV)2^>7?_^IGSgfSy+L&tGXmHMU~AtSG3S1}g^A5A6Y)R3?3X z&ivxkkf|q4XV}*Te%p?tYW$s5G0kzXJ=08^ll)YZiLS3S{qQHdOPfN*Se1qjO*W}- zeFve0NpF+HAE(Yx@_wP))BzE_3fw(R9noGEs3ha#ADxcz@vGOr$F9d8>7MEKq^{zg zOig@pT7j|DDi~dUAoGjlRk#t^&3754*Qk_t2bmru8GQJvo%b!xTTI`YY$@oNmnf^vR27^f`|3(*Tk%M|jEXw?WgOt?x%&T%0y}a;yi{ zPTzgrQ2BoIuiDBcfH}4?7#$M&x1~0|9~=oA_gIi#NqqiEVKLj+LVmVKjR-6p`|Unq z$IpDM!72dw1~6`Js}apMhPI^irV7p7@?hZ?wTIWfXa;l@P^Y_yQiU4CWaNkYY5kE`dGBA)_gnfLm|ciO@lvJ@q08bGBuj7brDRA+@pnqn z3P1Y3dz=)D;Eu-_gQkWI#V^#^^+2cA%l%Mi1e@Qy`emb@msE^Ru|R-boi*q^wJpg` zD}5r{Gt*SSLSZ(85$HPh@_+-eyS_E3@G-!m!ACIIYw?%&+He<{#l6>TemkKDdm5Dm zQw_emRN+}>%b`U>3EH>xpI>0_obi8af3^3UXdLRX!{e%Xa$+PX%AonF=N+P7o=&}C z>rCJu1XKVWBSQ`DT>T2WGn)BqMnGWctdbE}{7K9{jVc5nFYuVjlYJS<-StY;QioQ^ z2k`Le$fVqH3*qd9{}k)lFZ+SkBag)nsFR1$vR{batxOPRk~53kbvuUk%uMM5j`9yD zJQh>AwXNB{*MOe03BOP)U zt`y4u(d*-f`JNXWwYH`-uX`bgb&;GV)3dJ41YoqHBkxIe$PxcSMz(7+q>k(nY5r&{ ze}C5Pi|Jg>#b&Fi8pYm{iQF%psKtW2UuCr13gny(axJjihUiqH@KSqh>OzgRLVC00 zPk%Lp;AAtRzEl#jHJ8X8b$HokqdyPxMc!nIc@#AKUX#}#myek?G=}cZ*LU9fQDv@u zJ;|bUWgq0JOH6DOGt{`Bm8|{ze~&%3&&+{JO194G6GDo~u%w6NL5^(%g$GyWaBi9TN6|vf2vbvEi`6(A~X4jNBm~a>(_#8P9HQA7q;W?Oglhsjp>yVyLgpJnz=1SCUOD z1;4~cK*ulsDQ1rBKbZC^4uepe?J)&Es*qdm_TWvHt2$J*A6T~G{5bseqkU!{Bi%RK zIOrJ!zud{wlTGn}Y;fC+rFL)CVHNDriz=FdJUIH!bQ6v^fsi#HBrMhBwctAn9M2oE!{EM7LWK$KRt`=TqxLxFs9eC&IOucM{ zX%qq|KwuGg$y2M_QfAg~d2l+bwr`d&**tJPeBN0rp&noXH0*8mOMsH?lbk6)@VYN< z`c}Q|B3z{-LT*fa(m;L;u(Sx@o?TH)YoI~PN+qDStQ>?wj(^% z0spWDI$^LzTpk^`8FMp}jfb5V4gEi&SzI=tg^K{s!W zO$?8Vso)j8)ylCq;`bu%Xi`UXSX`z_!N>glWn&-A82|dR*gASHJ{;Yz*IdN|k-T|T z_Me3R`Z9ViLCwF;rPtXe`Y$gNSTcM2*SWkIX`}kf%S^t168`I41j{2h_?|u>x5&+u zdrVCcmwQR>PQ3N4DUbIB(qUh5oe6LxY{?ctu| z+CO9?W}p(QZmvfN)3zpyue^A~aafBYUKV11O%36r4FN3V3}#4frs8VLiuzMQyi3zd z{_gcuKhqFjkIpOHP2s=qr`uJo9T?OfjOHgm(7v0t5sk(9Cv&y3f?cm9&Kl{tlz?1Wz zuAC*;iRE~!VQ9=_Q9P_eXcx0qVg9)&imj+6@y zPvb8KGneUq|IfU2-m5q0dEaW( z#1TMMHD|11%JFJyGUJdv&SkKnjBFAH>S(OtM%px zKF}Jmc$M-|?Yc-Ak4d?*sFbk|R#Avsytep~nz#FG&#~XyVSwgP_mS9Rg2a` z)+&bABg;Un32(qvC<(e}koLZ~OdP}4ra-D%1%BplBGLHKC*_qp%BNlMv#tXxU>(Rr zTH+K>g@94GnvNZJOW-J=XNGC|^xhexuP5>4N1%NVgw&h0LrIp%XK*AwPcCkgt^INr zSxIi^t+hj%g7Afwd_V+N(mQOh!S%${8TqYeydaLzh_);!y6FH92gb0g+dwu-=lm|; z45Sq*5`lk$mYu;`n#HQ2X`|bq1OtV?XDM-K`4^@a4>Bpms}Gv=)D3ULE)*%R%I~~T zi_G9~tzPITmzd3p;-N04z|O&MTNs{!Ms6zlH0rhP#1-eDt%alIwGp@Kp&rRq(y@!N z#`wTBc;K~AejxC45CPZJdL&m8%B7yW_ry_OInGnP=ccO453y6YSA^6<*;^s{>bdUe z4oRZ6wB>p&81pfYh|WP8JG-$tH|gnz$|4CMbi%g-jX$Ae%lO)KWlpwe`kp?{+IP|e z$jfIUS~WS_^QE7k6 z&L{;64v3M)gO^x!W-Z!*w#ps@giE*Xj2A z+bT^0br(c(bNMq8yrUL8d6}IZTrE=7)V(i{swuxqWOLmk8GJ+{)dkIAg;}c1_D~VP zjtYyjr&A&Y-6PO%i8(gj!wLt8;#N3$)wP7$A88ZKKDSOw@+pQr3!7rhc$7q0(I`7Woc% z6AzzHLZ=p-1>n=^!7|_bKh_Y+byQ%1?{H`)ceo2GUOhq+jAgwJg<1OhJ(s~})AKY!^N2nd!3Tf}Wc^?)}uxH<@A62i>-;C}m6 z%`9d`C?1tlU?BZ|Qz+%kQwfN*%!Z006Y$vt%`^9BdkSMycc(=oA;vzlQ-xiSXsnEl z%tos}o`oHZ@)?EfKm;#=O$q4#VeRk(Tb2p+K) zRrG9p2A+=>bOsM7T_`^cS%83ownBOv4A4RkdNhRg6Zp}iYbEz>rU<)^1FO1b8gu#^ zwz*F6&vwzNPVK>%!lz@bV5)$rHqUMyDJk$;0*nQ5=EJA3>8EYLCOub=)iBBtuFf2K zO10@$gE|mQ#^>J+8r{Xzc`Xm^&Uc|JD0uiasc~LC4){hm!Ou%uxpJ=)70#GL zmihNy0J8W(>K8I?Tg%1$gTpf69$Lj!#?i}=emGS#UmoZ=kUOAGq4 zQXjgs7(T{)Wj^rf;U3mxXUnfI8pi9aKY}^il06g7@b#&me8EMtY{j9Epjb`| z_*_PYu^{5{H>pp~KD1kT@alFZ0j$$Jl>aq?ORs^v?_Y;4dl*rsei&-}Bqyb4HGGR~ zjksb(EAgt96%AeL1Dy6B6KVdJiGcr6R7T!e@=D$11;-~((!w-nSZ--qn22-1HD(*t zib?s>q6s6%vhzvQ1)X@F_PK>5-L|ZK3nql2)@LEC_IaFndpgNYlM4%Nz}7ar<2B=N z-;yews}4F*K>pbST>jegwEOYqa$BE|mIE=9Ng+G9?fn?N^gB=6t_nb{bsVv!o6QP` zNl(<{7pb+Z?0r5e-6qtk{C6Vz&u6OC!L6O43UVNg>%C9(netmwHgCBXYU>%KS%Ru3 z_%EuLk=B*~GIDbgu5wV##HSkN-W04p-<7}YA%~b_+i$(ND5qRPsj|#_TBC^>Wl-I7 zz1A=JH*zT{JGkuwx)i#zJs+WP`tlezohQ2$nZFEpoC1E5QqK$RsqL!Ap$g(AH*s#0 zz?3XLW*P1)3n#az^IS9saZD^30qliM&Vfo%Ae3WxhfN5ujCXN=$n7R;GX zWFw36#(zG}bcC0pdV=*2put!Olctu9!nMs>g)XuipKs8MG7G}*h)ag7$+A-SJc(jX;3-3KH&3I>&>25 z>=Eho{Y;C9eyd;CLK5yutj|1~96Ee5dVHz!D>j=>VYs|XXM4m?wf7j$itlFw`7MW( zPv>$*QMnRhf;O8}^ii#n_33Qrz$7!&(ToGf#I5+kSUd!2GJyw(I{Vz3cOTaWo!mf3 ze3^?%(Tf{#jHnvf!FNdq)(|vlm@*~rNs39PPq#~tPEN9 zIjIO%*tB*!+gLIfV%*yBQRUB^UK8<~&tAen;M~5ykBet8m8NHwJ6jC~t6*-!diM<$ zOhwQ&49cDj6dmKQ&17#x_?IrDOmMLv?mn{uuK-3UjX~$m=N!x)CyYPBuv7{su);zx z5=+-)(mu;IOUUjn&^YZc^(}o!2Qlq+N&MR0)RZ_r4(k@k4rXfKpdTkj@nu^FRZT2q zzxT$Wyf20F`;F$$z!J2ziYb^S3!2`h*2wm2>=jn+J)<{lq&t8L-j}#{ue*PS6nVVv zHt%`()!|C9A251tyx+XTVM($giU0WQqzpD7N4jU5^h!rN8w8AKYd=s+BQ-g*tX^g- zGcW-*I=LcvG{G+xpb|SR`)rn6;_bDByuu8NTQU|5(1NC_?T#9+Wo?&V4IC9H-zFa2wjf=;!h`Fg z{g(~LXB!oUUdQ&=nO{>h={K;k%7*6n#_gBn?2~7H9ugZ)+=0r>Hc^9NQFaaLoJS-- zpTnB}M34BeLRn*lQM+IF{NKWV;=kJpKWHVPZBd8<(bHD}$1CCpFB6#d*47n?7e+Fl zOfZ$9{NnW!{pR-*8X~97yADI^w(jl|m~PoSCd${2A3Ctw>>Gq$80HhhmND$|&yeq&DP6z6kbf3A7tLLumR( zIQ^iy+w7ui&iU-ktvyGPF)CSAvM6$|=lfVlncpG)tyf|yVMx&TT<^|#nZ(4jsH*-D zG7$8OJ!RO`aiy)eRfKptfk$tBowV>wPfs^+R+OeZv@aeI$;`@)tja2GlRImU#uwAI zP6w^`DM>Tv??~aQ(26@aVfx)cyF?rm$JW`KM0%pX4lzD6TF>;BFLo&5$Y?RREC{D< zkq!2aA%vB9#t-;0;<>CeG6{thBL&ief0XPmxLkMs7Pbjl#Jp8pZR=pE1@Stbo%l}o zpzIT~f@j_Fs&~p|e%~I!z@J4->`9h2f^iRGFZBuG8kf;j$0-=*XZzj%mF5Va4Rr*D zBm|Z`7JIgbR3O>v+bs9Mu{>vckW>0fp0bZ%_HZ>d=d5KqDf{!e+0raeDs~-1kb@lG z6+(b_t-gc2S1s;^x6p0WhTS6tyUuD*${y$@0~Q-KT5-FuIF#)f-Mr8#Ug_!6IH=uO za4`y=Aq|%cc0a=%G*mV(&8UNSRNMf0gdj&r0R^qQXhrzUPF9iP&KK#ZPU*3UveK~~EehUPdX{!gNI%u$C z*NJbp16OA?)t;Rw;1IeCF(WxJ4~Gx*?9V`&zZm;k*dRHVNt2usz7r^N^A0j!hO_@B zxg zu#Zk3s~Ds^*%+(I_RgnVqq&i3Rb1fgEH?FO?4yjOr@m&v{(1=#?AO$1!l5Vu%a!^FNsiNzY+$|?iVm2+Hcpg(wgDWgz zIhu=M1X9p#CL9$xes8+8TB%zzb`HjaB)1vKBoIgq1)6zx7Op*52r` z;uQoZMjqqfKS_J#&tVoRk+r5L(qKsMR@lp^GNk?Lm#{0_=HcB7jeh#ot@}_^m+mZi zXY#Yz9_x7EKz3K4v*Q3)*EAnxUnGJ@`TeVOw~ovCE=y=fUZT7j(J%T}{J@ z8Q-f~IGEm*7t4XPM_VHQhQLwUvonN)!EUr8d_X*()pBjdDj(NJSE&aeZ@4f1a%)zD zWJ{%hotsoAYF7W`!8~m6Eq%;38rIl7$Ra2#_?@rN!M{=8RsmdCvZ2<~BI#>^Z@M(J zV_t%KGmsG7YcFk@!($PYtYugd)F?oSe8JUIuvCSommq*-x0B^uc zJcFR5E#jFlA-*8$m=dceWp&?1vNTVEqxl z2P#|-tL~X~k6em>QXv@7w(nQ*z)-B~bL6u4r*~Vzpe|tiFWp9;JX0?NwS)B~sQb6L z|5Vq{O&zOJf1NP}R?AIfYEGtq&u_QD7Swc=XYIhh`xERZaNvr060}|%(dr00rZ6FM zp`;(4st(4MIm4f2F+RJF^_N2{9YA*;>>y93Say)Nh}qAm?NU}*^yRF7n=t=)7xG0KZ}ml+5SIA*=Bn3K|H%xYP|hdp zbyu0LU9&76nfP{nbYI0NJB%(zh5TJV`@HHcp)l{%Yk6KQAeGYR*gX&ArEdmuY=WWL z0kxAX0qh%jMB@OR8MVYP)wi=jgpL%S0ne&)*$@7W^O&-Z$+m=}xvf^}r?ptA6K#yP z)`>UhM1j;^?g_}K0;4mTB%?UTOW!wd)8}@(zU9kadEcpDISO{1DbnM~OY>Y~6cTub z%ePKf+t`pVY~;UhTe>+kb-NR1)pq$trHlLTRFgqQp=et0ez)=ag1i>~0Hy)%ub1({ z?PozZA?m(qnxlnFFy)Pn)O2-;_%`J?Wsi3nQlXh8l3f=cO6o$ChsMTSBb|$ynHH~| zZ5;)>78Z=qKj|qZ!*jBmTd-obaEH^rV^_Pe;^Bly?xP3o$caNiXGeGLO;AU6# z4HK-c4nJ*t+FmI=3YQIHtVO#>Px?qBsnkBkd2^R~>*s6>; zK)1I_6i2xUQZ~TwCCHnP)qi>OV3v@wDAmgU*5>rf7P|kj>lstNg*fa%(T66 zr`{FuD-vJ1FH9qJoWUJcd!p{gXNuf)OXXe-NbSL2=?tx(Cl79z7H;Ht`m0_-HjWkc z4YG)b6`e%{@3r)d06TDyS_T4gDNJxB?8grvD+7#LrH?{R*UD$+r6==Oce}n6aAybb zJ;jR=A-^6|QWnpYR70$?itkqbEal}r@wBYpwF-%L;o1mvdjZ6f=A8+SU{i%WG)w^( zOLRAlNr^Sz(}k9l<)NcZ=?xK~!eFtsXfu5tblM)T`boaOEh!~yK{gD{8De#vd4{3` z`DF=TmvX1!XKAS`_Hl1A#qOo&f89Rgz>|I7k7?V$vQoF_ia@_$TV zm*3?cdqA|BvlmSeGn48nfe%MJ@)ig2koLt_Egc6^1XG?J3|YyOmX&F>ay5P@8hbIH z__053Jfp5>?80rI=po&S*NH;0$4{Ow2HFy<$LZqjKx*Kb6ag$TWahF^Q6?Du?*xOL zgD^3L}qQ{Q8kxneu86D}e+$F>j*9IsOl?2n_fnuNlo>xbdgm zGezT5L!tvH!?C7mIS4*U(TVw#Sf{;F_EBgE$6ThYYXSJpn!EgKyDpS$XDi>?*1es7 z3fN2Fe|yE}_kz&SAjpz&0n0J`?8A-5@F~k^OZl{{Z#gHZnf>ha%vY?is-~OqC>1>j z2n}0Sj@HL|8XQgy;_e{K>=t{iP}pVePvpH;hn8q>xs@FhMmHJ71MK4Iwyo-N-!rLD z4dT17qt8+BLE|GZR5Q-=I5_^w=w`2DS2H&^moN?AIfYM*Y!AqT)CSC3!V}rZ+rd?9 zGn11RX`PfNM5_~z9DaCQr!;S{A)C6ttoP)~)^WJ;JL%|U&pC9*!N!bi6lCMG%`2XR zl;d8F)t>t?uF=2L*bkU5%-vnk%qpYIGg3w~D}GA?_u)q4I0pVBLNrg@#wrMcPyL`9 zqn8XlZi66WLRtSz-!Oax>W-q;S9?b(Mt1B(@-s#fk0}Dh64cUJ@=N;2jD- zA;t<+la&`QJdj*XP=8hCv1Lf%Q7>Wk$L!pkFKojjn`5=L3dKOA9KERF#29PuI`u(N zR!JJE1n}D%$KGU5k%ZUuSj7RhXUy|(L+arxuzSC8q`@>Pv2y#U+V)rslviw0CvQgy zAcTLruNI|YSa>#9#yA!W;JxtsGeve?)$=_tD;wA}8yKU{_ax~Q^`%Sh+t+M#9Se1$ z%JtUPtTgF_mfF4nD~TKU2%zYm`nZ*y`O~^t3*}fYaGkIXu3vgzatL z*hT|j`AL^k7uca|$n<+P3ka0=Yibs-bt)So-mGKSCq6v^>0$-}UtQjA$9V*dw7K#{ zyX3CCTMH}sxj<|0BB)7sBC4o$$@AO2!G>5v;eb~h{N9OTS5ZeyA*%VTV0tJMB!C33 zP9K8Sz9cc@Ms_1dm)nOF`j!6M)K-_LLRmVTTMZwBl()zt!7R>%GXLHlezhms)n-+B z>D5v%U#7bh5}$s&burJZjoZ{NpEYrjm>hP=GWNEZZ+C|vbId${lD}*RNW4WRoye zYof$H6``zUlnq^6*NCf<^R`ETfNkZf%O^ zv7vWxF9v6Y{Nl->fW-SI$lpz$$&Y9%-771zYfA4JqxLvz7GrH*4TGhG86#Dg9X%RVLc6Kc61NAE=g zn(R?4yW6df6MM%x=SF+=l?tbO2MPV_(9B>BZOuRIlm}?0@|(|7u=zAn=%iG(@1c{MsehRl z|52=K=ft}zP$r=5#S@bAcy+cG9LT>5QAMju%wT6GB*2Qva8+xgWSbcG_us!Kek_2I z3GcllFh(g>nk5dh2X2#LIi+mNML()q2hnv1XEN4hfs>&QAb{wbrXSkcQ-1C5T%4`;9r~B_%2|n2|8Z)T<m zu_+Xvm!E8sgiqjyG`2Xog7hlAcUnS-b_-pe_)`t{V~i*%(ZupWHOJ-@qyx??4R&u0iOO}-0rOon@s1#+yRQYg00#vwcc zDOM%4q15wM%lt^w3WFMyJ2eAHi-CQ>$$I=&3Rv&^QgyojfJi^CINSDtFjM){mY+v; zi_9xWZcN)EjVZFoqYItAEGx3lH~Tl<3%Fa)&%I(prqJK@1N(?RtDiJh{kZnSNLu5m zz%a=yuG|U>0+O3Ayo4Xtx^u{a7ZE!Bx-;QH{HtO}V%`K~RM|j*rM4t{vF11w>IKja zpo0b(eMf1h3hTX zk^ve%0^3$>}db!FnY#+2IVBF1;U2s=`fp+v7MdB8q)pOK467t`QnL=ortv= zW1LTltUDE0EjLRZe1JHDU9MVBE%ixq)6J@=ykUto5$w-)eF2fkK9E~s3thKvs)xN6 zoW^BKtIX$8qThiv5}w8cuod5rgO-&x*|)=P^Zi1pfrUIFfJtniAo#V%y<&ZPlayl4 z39ZfFL#-;#dhK^>H9svalJr{AlV=qd_^7OB*@S)rkaYN!mq$?#=gw>vi_ZVoPWTrj;9jl~9L&%& zy^-mmdEKdx@O|@*&i=wSicSsDYP~9bSa+ov5VElkuQN3ppH&2T&Wh6>_FYF$YhSh= zq5^8e+$AdvHKpegm%06KOe+~*|Gp>0FzO08>}on<7|Hqa(sNJmOH&^PGzCFfTNoti z13TC1filtEr^kV-wZ68Wz$I)!JHay%v&%j4aFa_<;VLXnD&@4#^}lk|RYci*7zU}-5Y=(4rYX}actHEK6XQhh95?oxKv z%E)nA4bEMD5eH{@f+ux=%=a?_dC_W4u^5CS{JfewwOQxA1+ahO)?YmTHvM=6Hs(Pb znH5il$|B4R*am9Pwi7G@R#hnmQvlPl$5)&4Lzc4k5DiA`#!Dv#vpw=e zNZni0aO-O*>iFdu*xF^pDFQ?4`BGL+E!mNOJ6rA2&&yW7fCnd5LyQ&Q6&i(+3F28{AVZ@4dz!G+#^eXTd*0;apmfa4%jJ4+er{)Cyu51 zK%2y-zIZ6sFJ~RTW_TFQ`TK0KM>O0%@4kanjI&zFTZO>`hgW`ebCD&@cEWt(nX6z) zIVq4aY)5XC-|}1WFng6LZz7?!WWc*faVQG+o4bQHrufX1)6%t;qimZoj$F$@stv4K z2BG8(o+4dY!yMJdNq0rVUm}cjX+OM`PH3Q$PZ!-H31A7f4ll>=`CQN$=$dUFT_3M) zPhokcA6a~a$p#RDt zh;uJ}(J}Yb-x-Jk*)lI}n5#d8x^|bE@(gE?)4oh)c8zwHCdpSAdUv%cWLbW{P=mL} z=eED&DQ|KijJulVDoGtF7q`D>dP#!?qo9)-aurn`{Lwbr^8KGPaGc0)7t0OI4Um`0 zCtG>ll0yA6)u3B(=rXCkqT$q^%W@3J)-~Xv)q;cL1`J6k9kPb&<*sT*6;Wb4bYggE zbxuD1DTbLppML>#Q0n2;@9Amg29(_YQ{JEdd|mV&cS!UetmmaI`G_KM%-3EDNu^JJ z4yTd~-BnCR>1)#(l(6ybkofSO2{)ZAF|UgH+-6B<1lf%V2V>tHC#r11g$z}Hd)gQ} zN)1)(FS?P3@*lL5k1tnjbaibwFOZk>7i&CIsUvL)(VBOIU3<&vV1j;aF%nt?&C+@>*})ai_{w0;|`Sh4bqBiUtjFEzBO1N#wz*IY9UW(`E^uJ1YzkvHeI}l ztHAencX$-~0eH#;KvMY+u=sx-jvqjwXMlD&*}4=g?iN@Icg`SiD-8MLOSm@j1Wa(l z&|Q$=_1?luAJM}~Il?&hi7237O3^`8e2 zHV{v)y;PsQ_!bZ@S%hvuv*5{aXEI$HvRO=B;ahz zga4;>oR=UmGU#Z$SQ4oi zer5e~8l7&4O_DPwg5;W_rUq5eYHJ`Xj1O7==FPR)93go{mSzPayvaMbOdx=pUlsPT zFeRLBX229?O8f31KCN%pkve~Iw)*hZG-2tPXvKG1s1?b@hW8nSjw=ztK2ZVMkjxWR zYJ+ca+Gg*r|71U_+!DzSqh3Tb*&s!fGR3X@y`(a?t>SW0qu+8?~<-WP+2kKABHWVaC@ODGzAku1m5msz-AKBqWkY#qCfxyJ}Y<&`mP=T!TmBaV0B?&b@6FOK)d1phB zaZ{X<=Sl~b!Cz4pmbh_~xG3>@W{s%W`%tkw|N9(g{Xca3BY?T9rLXG}9Zj8f`fMzb z->*EOTGW}!&x${SPGsA=z;!b2zMBrXe9mYipEmb#naK*s&zDK~oaYoxuWyB7tt{<2 zAF|aK2^{28ZR)C042R;zde~YeeFVaBWeR!ECOC#kl>e{`hrz^Bz2N${5Y?C#-O?zk!r_rq`fl6(e zX7`LgB>9|ay9b{sinp%ZXXRPo2O9^I2O3)JrHSK+0i{O zAGcVyOIs{JcJVG1F)|~U6}Cim;j@VB{&%IdLuEamH`~~*`t1r0#cc3y8VgNeH%dXB z?k#xv8X@DHb@^Lt$b?lyjcU5MNz`kq&K^D+E{BeBhYs6t#wWseW#0S&rYa?|!hCEW zq*E|Q4xJuiOr|@Oe+-4*;D1Xa*7N$!n8+l1cd-#ggk_Q6D>_Yka#Qp*Y2~rh5BXPn zb!7{xI39oaM*efyPEBKjaSqsletH~`PaH!(om60EjUI*A3F6IGf%bu95ek z79imClGToS3%F){Cx`td4Y%A^ueZN1`F{A&nh<&f#g@(ESL-y<2aVUK#cv(Axw?BPt*aiBA=>%-?f|&yCk^sN%BjR#e@oaFZ zZE~Z4HmVdzYtv*9qJLld$NJlVIk@u*Q`8%(2nvy;2gX%JY#L^^UFQv#gnFz#PACDF z5xV6IW--ljX*y3NYM|V5pu5dXW>KdJvf<9!$%$u%$Zg8!@Ws`R&t2@H$z0ScTHBTZ zS6&0FtP#Ez@6uZrDQsloSjj}Lf0C3cOMRk?Lk#Ocr5eS$Y&CEoT}v(cKLyL4ftsVXR(&=E+uhu}vE=ob+nO{T!_#u`M1 zdJ|!cxOIY)n3&l*!c2@n3&76XcQQ|p^AEtrRd>J|ti^;DI%Ixfs>6GK+swST9SOOt zE;nD6Z9JrKR+FR!xr$C0G5X<^a<5a1q<`= zdF;ASmU(y?9s16SKruSzG4~)R(!#fv_2+34-7N{VXzFb+BD#Ms8sp|_tv*E+S048h z(z56R|B;QAX+pH5%z(amJ{SQ{u!2`4e4}f!)~u&F7kBODE-N&C(5sUgBgFdNul)zO zcWEsg4~&JmA19w{*?AzpCtu4a1^!^%ruk2`xzr26Whunc21Q4-7A0uUW0Jx4Hg?Rn zy$)-jw6&gOGrQeSLb6PDZCgpY0dK(|`-)z#xLZMZ8@R_A*cc3AE#tj*;FP8DKbU*# zpen=nZxCr|1L;s{kQ5Y&0|L^ZpaK$y5Rg#1;}8NODcwgJq(egD5YiwL0#XNrLnB?M zo_+B9{$_tW`|j?{&b&MOm*bq_iTl2v>%Q*m6PG7|W0@enRm`#(v-ax!`T&PR>M724 z_uJmHrNQFoz6E&k6xB$qyh<|ju&dmkE1E&%z9t)V6+E0O5~gIs+QCB;DBZ_gEj4ST z4Z)pLLFZmOj3BeHk6s7>&t*||>l3>F$ap7b<+hsA4xMEZrqxDP>Y4i7bRqAq-Zgi1 zS|1xOP&dwN_&g$p3Q^$y2dJyy1Y<(FGh);drGEX_5107g-}=*tmp=;^H2Ij*Vy|fp za};ND`^pvV-Zw|Vi9pM7<-!7n1a*@mL%H%R2)~l?TlLbO(L=x;fBrcJZ~RNg0Ea;LdSP63>Z*I4e%ANcUujkyp$q>D=gw`p z`x;v0xDWNwpgo!WOayHgphuSn(&Iq}>#pLvq%mQtXLXKm>!s47jxd6#Te~9uKi|Nr zOxsf0n-8_YZ!B&CtRAV;I{Fd>3xaTA!wLoW=Lo%6sp5XB&~evOz{cQH^(ekL%)e+c z;6b*$TX<-XU5yqqi`;vHLPp?o^_$Sp!|S`cE)mb~emNV%3-@9CorF6K|wxNi|^h~Z-{ zR1Yu=)V_~mZMf~nQwr|Aanow%eEKbOi({`T#7Dh8UrwZ?#lp%raPJ6<(Qx_LouT76 zUNrk(L-rk*P(5G+Iu!r9dgm~%foP=ubZ+4>%qQsM*NU&wU$&PB;fSHz`EMQG>d4Rs ztiMvbknu9}G?5OtbQ)`{TaM|r`;#7dY`7=Jcx{L>5?B%}=uAl6X2XmONycaAu z89A>&h<=%?V)4N)Fm$Q)B8gg5RAc~6=)UG(OJhn7+c%fHvyt(+^GWT!>NqfHEKldk zB$;`;Kxe;#@@mk4#E&b~vaRdx3fQ}oCg2=O3vB9YJQHfB^#$cmN6j> zc|=t@uRfes(a}A65Cw8GkeYS2 zw&{v8mC=Ov5f;Uzrou&D~x=o86Z_?$47m<<=(``3F^HZF+pA;u3zSzi{5IBc~&nr|qa0nAAvVqm4*J`|$_p*UFu&xnt zUPNOa@%YvKASdVa9pu)zElsdsJ>>vZZ})LbCgIE8nr`Ygk;TXrs4s(z`x|l7rVpTm z5$7}8?&0^U?iRO`wlF0hL&rI80tvVV0L89MV2&hs0&=B6*RxB^W5N+uY1$?rQwb`( z`aj*>>?Gq*6KM=K(a+LF8MENnDAb zHdF)Dif(e0^C~qZsTn=Ql~oE=GPLY0sU9;05l1@_&(C zFf$2AJNDi~pGfbOt0gJbIWH?5>20`vF^Y99(T6gA@!@xGo)l7*o-7ri`qg^#n~8l& zKI_&bL%6*eg{iRQ&@&p3ElMRxkuc%Z3>06)qm!`QjMT@enj@}BO4;bHrz4uVLxncd zgSk2Z7A0$iKT&#htf;5O?V`^wZ&Uie_%=WIcKO6&uBz8}6SLhHgL{f>Uh!lHpRf4& z|9Fb~>yk04rJ+?ihci#WgXze_!CXp-Ej>Fk3K``tR|@duqQ}7{Va2K4k)K*l{h@!c zxmcV+KVTyTk5|7UXLMIOcY12wLi?DX*5BD%}Wq zT2x|KaVbQNi>MCy59IR<|Fc?eE+g(sy6GPzBp*+0b4iu_r$W_5U1E58drf(T*1=CH z(;ug5|358mPIpfmp0+5l?et6dHkDx_93y4!`2OE@(j(C#R?5tR!kyT-HvnlJF28R? zH3{GYG#>(jV4oL2(I5ESk-X9uS6l@e4IsnWopzh@s8TVRykdb@4QIQIH*VK8r^u|rSM}f3=NMo%SS=$58C0FZs+M1l8 zzP{@dh82Df7wQ7r__6Lx6hH(!1@XcoMy1QA!5?-%XkWLFX^dU~)dmqkhX`uHIzvXZ9(QjmU+q~xe z#hrqC(zg3nO9P15=YxssuWQX_wUi zHCqa5K3ViKIgoip4&L*teh~T`ONxPDcHVFDj|$j?bh`a{?@!Xzy?AJW#N?gIJp%_~ zDtiq^ZPM($c}JdHcfZL9q@~H2ioZDuwKk z6iqWAA%8G#{xGw4B%`d0*$N?ay1#E^Lr5L_;2_G_tW}I%6IEU=R0S_MtXvo_^-!AOs63*;84S}7! zf9(5?z0uZDEuucOXY1c5C1xB}_h=U`17i#_u% zC^uj9d7^D`h{SiFpW5oaV{M(_^x)Ck@w9~uX8vNkzG%CD(lIC^=f!cbAXm{J3ht`P zy6OF&@V*xos9jiSTpiS`Ju49S@Duc|AW$GsS5|yJ z@&M~P8;JKFd@k>N@mqV1xB2d$lyxnyCt-1c%qOD|1a6JR0NRfmh2sCmi2}4B01xA5 zVB52eb%1XnZe!u(Y|#Oy@t2D+DJKtk#PF6`i>>ElHV*v)hB;K1` zUYg(7&2t(8)MqpyY~#un$5SC+Xz%;H{ktRdXzcbR*(Bv$0Ppo0M=143<74&#=SCH=nV&W2x0EMgtN zf5bpRhnMF-cl$BF-~mSSKV0$>*rbdKCbY&7kHgIVascU|pfjV-dUoRk5%})~%3%Dj zX^Ugl&tLftqryKOyiLBQv;%Q_P9x9i&I3VcvuLqLIa*?KNJPYKX>e+HZoE5FswSl1 z75aj940r;t;GB*@uc_YiyS-3r?ALMJ-i6!!XGh*>HbMj6w5*Hs%Toi~U*K)v>L*6P z;yo8MZg4|SwO;br$}FzzWi)IBwRb8{I7xpfcD2A4w%_fF%PrLZK*dH#bL?}Oe`?Xf_)C&t^N79 zwy&pWZaWHRS9+D;{)boB60&=;Mq7U=Kr3>eFZW6 z-?s2)17X3~r%bQ2RAWP|^pja#bX!~%f&kx&0-kFRq}kRjUJ zgZvMnws6q7`=34k4rtH+Y>9%Wwh}rj9aWPBH{6nq<$4&qm@-PTBNKah-Q=5KW?Wr{5bDhLNMj#&=?6NJi00ZC}*=vKsC}|0*hws_FJoevnX^r1jQ}yFEP0h%l zO?xWHbGz@}PkENMfyg>uHd{E)GwnMGIh9X5PZ_OPd0C~ybT=wrxxd5h)EVtyQb8*h z5cANaNm{xm4H`XkB!d-ay;%gk$b4+TVun6^NTj;!%3hPD^!&%>l-NSj+8MkP(@^wp zX{|{m=bMVPqgPD913c4ib3#&8v|_Jx+xm^}A;aYcofPJN*98QkqZ&Tfdg%*(WfLd} zT+0~fu;>5pqo|BYoFnx7d{*aEdOl|uJ|8=$J*`J{6^H=HEU@>&BvQ3VUuvX&#ljyR zSb!|52M0<+D#Vr1#cYs55CGqiZyS^J!_St#S`fD^4HojmC3Yk$HKlBCg0>|7lk85W z(|WT`Oxx!1IO$dn9o-@CG@j@&`wS~9pJ1YPg%*uBw)2MJ?yG@rDgRz=&lbnG7)h(6 z0ZLA0T&&4n(ibm`@V|QBj;J~Yvuj;snd^XgyvsXQ66hcj3f9d*<;gR^`#$q7?L4RT zvH+-|Kxv@Cg7Km}sLhlrOf?JS-(75Lfg1Sf2MSxumK#>$kw1O+EYS(GIWT5KGe*)VOMz7aa-%Z_N1Uj#Y;YXCTgf*I9i&pCqMy@C3rMh&@ zJurR((c1~Y4@nk!t32QOzV8KLRjn2Gy3teMf}1q10qal@Lgw9mj? zm$k!ze=QOf=Kiayk;0%0z|VFCUX)jxpkOsvSS+Cr#2b>0U!@WWX}t!50$`^1=%ZPr zeS*Ac$U}h?I<8I;-Q&Tb6WDFgG{Cg`vO*F@oxnZw2a9_ml1^K(eV!W?LU9gh{qc=+ zBX4?XC|rk~R~pBcQc2XQs*s@H;2HGb{c*t)FV$edOBRVkybV$wbYPuN{yXOk{gz5( z;3^;Asn5x#5HHEqj&%>fARvcAxWcOxRO~(Jk~-bRq`NC3o1rR!?1)_3YTY zYC3-^ht~eAbgx>8!^y@Oh^JRRBPD#f_PQ@QU7DROM)pz2fPUI%BumB7AG5;2g<-y0 zI*eyeM%wKY*O&v{?sl#7NBu>#tM@o1DcjgJ@)iURzWs&eo{oeo-LixlNPVs$ZhK8_ zHQn0gtvDZ^obTY&=<1b1^46}r1E;Sr*4f(Cxr!&Udq8M#EKfQH;Bo-1N(Q$e_h@tR z)$eKLqW2cx!O1#-Er<4R^xk+2WOCF#(9wv%Z2==_jWe4*`x4Dzc_?lg^8zVZB z-_A7_eN}Qea4eC`ht%?r)$QjQN%@ZYmk9m(hXq|SIpSpLc4@QdcJ~yHA=4l)@d0RW z{LFW~|I;zSEkoZ6R4Qm@asRi;%T1SO%_Fv-2m77(dm$*o3ws$|S6vtO3iQu z2K16ITFln5{gJiy!e`U(Wa_Q)L^rLREC_x+vGM&mYAl9NFd};XYvX}%DNGO1K7_qd zO8aMX1GW^g0n5YZC#YcZD@1%#-oW<0;ny3}N_?V;4BG$n-~($tD8VX~9_ZBO^WgwK zN!xU%7a@jU*X!VZO!1zojC3F4)Go^38t}uHl81Cf#}BCS+gA8nfI)y&$Tu}#Zq%<( ztR4T{m52EnvM*-jXQt z*0Ye32`(9+(d+ldQr|E+y^Ov=mMioSN~R>fDj~G66m*OE_>)ShMIV@&ciX)g$vD3A zuOSPp7IZK;GaIQU+4VKPZmHHzVpDj_n5iIr4|;SYaU*HnToXC)aUlT`mHhn8baU+~ zfO>#X2ab_=e%uj+LrM8pjr($x$T)4_J}>J-he|koXG}A@^=xz5sjtX7ascl>V z0uKcq;YLRBJfO!lMEF5n5I)uORj#S{26q@5{^^sd*ljyjqOzRTvW1wgE1R%Q>yKci zeNmUl;7k9_X7rZqhZWl2E+ir!Kq=ctbw`%)YhZ8pHqI|ddYTWwK+Qc^9(GKlCoyeb zCDm?}8xochxU$*bH2v;*frfxd5vJHzQSl*&$bk{5KmXA)C*o-pqVm6(Mv=PmXYiL3 zxVhvqB)xDV*xBVY2=rS!=ZK9&s}|<}$`Seuj21?_u@sz6S85Kmb@2ht+DR}0j%WD2 z#XTo9RyPNPjutz(9$f`n5)ihlJ^||q3&okLWv$OCW;^(XA9K?SyJGYS_npjJ{pt41 zS}Y8=9zcUO5eG zdnmdaDgo#L1@t6sOvEOXYu@Wm3=qxI3@J}12OfQ8Qq1RLqEDCLGD9_ zjxffTCS{-up%IiJnCcp|wYx4v>CA?r(lBBuJqm$sPZ-A&VSE}X?^Q}p(mb(95hxW!!(W_WaT4#oPMf_M{l#9d z2CjME#wk2p=1ki2GlnxDgw1|^&1M1za`wMV$Vz<~zKfiT1U}b$LdMxfF*xhpSD-_! z0l7)AxOPUt_XPFIA4?blLNio|$VV#mmM6O{MY*N5S_v-Sg{XpWyABvvMc#PrcXJ?+ zHMG0C3e09f73^bQ5R>}3#k&ngMe5fI9Pu0GnF&oE?*^EoNe4F5r*H34<4|82w$JAUG4*z6rm_Oe}f z)M&^%Pie`h(F(zgJl8U>Ry^burRB{qbSJ+N^#-eQ<+|0%$|Tpv9|FvPNiXFcZ3>x# z+hB0s4{36FD2D)x)>fEUpFQNemwQakbbsMFL#x5+c!gHPfyrSZ^BXxNX}+TCqcsn5 zSqHH}q!8iDqT=Fn>rh!u5Y<`-BP#aoj~`wuMo|{<+7lleiLPxr@0T-iXK-&Iaq8zZ zWrY%jaqZh3yfCB zK9`7d(Ajq*fB)hGC#Rdi^WM6wnu|{=p0_9N|5N^a^3!6)o^wmp3*Smmo`Alx=C!s1m8WPdju zJ|fQX;GHW5VM1_0+3hsBGL;>^1AR*y3bes@dJ%^KU23hb3>0PnpqH^1Mkx>kr%<{K z&M|1-w)5_YF|Pw6Ciwd~ zB$ik6njt%92;bJZ15+oKAi-?{lTSn*%P!VDvXvWWdr$SA8J!ee*xqYjiRz<&E_K9d z>SIcsc}@R=;q!B@dz#_!$;{ckX+g)5Lh(b(t2J-N1Jx8>C#Z-9CLn>n*v=ISR^y$; zuPlh{U+JBpLkBV_@kE{CRU^5tfUv;(zU0vTraNXY4C`A-oGFVr4nlbPGeZi~`*^7ELKIJN!v`~sBxpJu6ihhA9wDTn2uzqn zoe6>jd-{J7o)Z@;9u6iHL`qS@0sym9;ey+81l?~Es8?u@SLE5|lestF2?71j2n^cK zyLM)qyIG}OCzFy>(n01~+Nb;{dAae@J%2Yz=lYBKP)>f0D>$$hs0csw(Zlh+h6o}O zT{PrQrZSLt03U{B!-3JRd=qUpVpqh*r?mh4ZllzatB@4ykb(5id2CANMPeCeJb<- zf4YQU{}UFq_H^NPoyU;W6^*1DVCqw6Bc&4?Ytp8Lw^+y%=b5pRBv6?L%Ka~_e-}iw ze$LxbOi7e|w{3JWNAWsEmy-eND=lwWT=UQ(<57x6VaOu~I;VJ!v&|rgW&%Zz&9W2i z7Q7-^uz9+lgFe#CD-!PjMZ3n_=h_4|T)Df{kK-P@=&AL>iekA|IK(4$KeEamT2x2w}C4MaB?KUrxpkR1Hq60KA7Z&WB$%XgEWT(yzY0sllL)=01|NO$*qx zc0p|=r{RvA@62dqkv9|=#3E)hnCk+Gf&^!1kM5X<9Tu%8Z`b^CPYI7H55*wb z%<)Eu;GjF+CepA@?BQndFxaJ7EAX~XMFL=`LPIz8Yic&IkNfS4dDN;{wseMeLTa1H z1%7S}3Auj3i{=gGXM%MKb)7}L#=G2b6bByP^t|_nS*iK>J9>g*NkiYN?sqU!1sQmx zE#b}=Bq-AU`qn+O@2DRhaWNZEW8JexhH~JJcm;d6**9S1W=V2h#W!8Dn1O_X(Km5e z2k)Q1W_6uIHrU+`Kw}}I;bA6;5pn{9go}vlRK!`s5YOR$n#T1txH3KxKY)27j!!u7 zB0GgZjxW|91_>e^!~2rU3_y-!`E6(GPAo~0tGo4&dy#|Xa+o-Ch82=d|8+fVlP(#R zQ9{CD#nXA@Yk&<`p#Dq!6o|jd@avqO<7wc0aVVyii+g31q6fE2va@I@{l`Vr63sHrr- z3ZYq|kOTXIa7VN!r_xFdxjZx#$WFO3rjGz_-dyco8B`=NSW0>R6qjdlzO26Hj_oW+ zB;#&LkF#)|2zh3xbSA@Kc$hBopn4WNM!}Ko19?|-1>SA(o%kmf9!KfQ|`*+m>#iD{H<#+mqtne<%#{QnBjQ(@}lvDg*%z2_mjpYe>?E!qyFSP0A z^^{dqwF)xoFpgE)QtC=m?G3drcU8Bv>_B%%w~>-h$#Ua>*DE05aBt^acNN|b=u|=? z@h9c@Y>40D4w*A*cvHWqw0R(!18SY)AHr_HW1)ijGFY~Us0f~<~VQ{Wh%>GS5 z)cVz7I{i=)wckXzM4=-U|LsKYVtorVHZl3Caf%RxnsI+q&PB`gv{(S@A`iEh<-+-V zUdl^KF)|Q%9t{2p%#1{I*4)f{60H$#&!V5tujt9xA9L=OdV;vGkYPIqcE^5GF;W+E zvRQrMsi9;x9;nNAJADI5i@`~NbtwSWkAz;w=^n$;2oiP!GZ^k{jZl{1kj?zGT>9{@ zc!@vfEzOpR)h|p7Z!i34;55_IIkT{GvY&p*M7}E#^geNla)$Tto7@-#Crx*fRqQ#fua#nJM#$Z`0w3%EKB8S2zsg1~C>e$)5dO2nAucxTvXyFH zpVJ4<;&O2KYXI);M9;vTbq^IYmsQIh*6cT~$H^ypxLB)m9sMP*I@B}{wc`xEeZ+K-)PL`jT9$<7Nk5Eis5muQJ5wqH zWb&tX|8Xgt93}##Atn|JhH?~jerP~v8>%ONbDt&_0K*mb1}>DwJQn3UGqLTY8;5Y) zZ>j}40^LrBjV2~1Uwg{eoc zD-;&%mG;Z6qEHQFT1}zbdyj%-UjjDC$G{MHJ;#CTFGtHh$26Qg7%x)eI;xCz+uoX#sd7vLB%zSgauh(X1og#iLDU2enIx=(*{%=;Mt}<9hn<;s6yDBD^UjD zoLbQk*l)W21OB_DKZ`l?wX5xGud#DbBagHq35uIYt2JGCAwQHLEtwzm=AQTXsV|oN zxhm&_znsq2o3%XzR|~rff658@I#n7L^n-64d-=xs_#;uWE0tLgr<_2vorKkzRw5kk zM6pkq#u$ZM-UH-tI7L(y0>Xt-x-)Qw-U3d@ zcAOS7LWQa~velJ@(DH04TGu^sS31`@zPK{|^^gtFK?Fg0xrx6imeC8`RHRBb>VuDT zL7OG{A)jD*uz~Xx|M+1D36y#cCX?dPmGfi*v?DxY=kyg zkTuG8^YF*Frmtpq2Cs!*GeZGa{vxux`Qi(3H$zHdKZN)$6Mt8mGf*zR^Jy3(UV8)F z!O!H_VJ8e%Os>TV8ZTMg=%AnBmctB7*fh*?FL0wrkp{#~A-A<<#C#*C1;vZ*UPF<0 zgM;cHhk-aY7bctY) z*>u7m%fyJpQIZ5sQQ<&^T*A4VRpj?S6^eDlnNAITeA}u$r8U&eN}<9YDkOhMDwTer z##u~roq1!CV7-x`vh{GQtmJXdNz>ud9RdT=j0Dg{&KpHGx@P75J7E`Ekw0>Pzk}fs zu(&O?Y}z`f`_+qhG=bdC47qn0*SRvtka@YKO|VM)&Lo`(O1N#fSWl|W`6F-(KY__) znNpbg#pO4-!Wwb$mu46kILBDTfai{@Cc%Bl`o-E-`gQ4|S32muP12v6QY*R#;^;@O zvn&}AnnAo{LRGI`sq8q?a54kzl)o~w8$869_a$5F!2~H2STjFy_D`>}rVobg`?>m zcjVpf-q1;J9wzVGa!deTqc}vP9XQu>8SFaI5gv>*5XbvkV&9T1VZKhoL^|mIj@pdo zSnKf<8Vq`Tc93*zT&nuDssMjcVfs#ivyHbGL9jnvp7PjWJXvm*(||S^ew)?!8~K0} zL>Fq@7#J!Y9gl=h5L5~oHE6ZYl_;C`gf+FCz~mIR%cjc3Pu4}!iU~~8r5#9v1W68C z21E29-i`9?%dw#jCT`qaeHTY}%uIaX}gF_i>dA(a7&C#0i zEzo;WQzX47>K4g%s4!(oW235Py2f!WE^aDgnbrr;jT3|~{Vb95Be#24=6m4;|Hi9_Pv|~fn>52lL^sf2@z0autYm4x&N*gOT6=0FC<*O`9<`-CqYFp5 zBf5O>iHSS5=z7w}}sadNh-a!~dtR$<-i1 z|H?%U*&-#y)xe4Zzt1Ddh-yIIpr^;v?S?#Bs_U0$-GE^K10wWUAEiR%@c}j87j?oLwXT@Z z7=^Xhp>?h4*g84x%P^{DbHE(kwmmRoxUJ-}A`*8Oi`;$$hYr2K`z+kS^zTFdmhE_c z)L@i=c6vjD$peE*GqI78k@2`N6_uj;`pKKOho$f`#_~hk{aB?`XY9iOqC+vC^8xlF zZF%=Z$WxPM|DO8$jcKh|*-~3OyL5hGft@70{w?2{Sm|}h+Cu%ILzuB|&X?!!#jEmj zv>$FpE%Ie>c87!zO1$YH&>t@@FkVBN93mnE-?q7!Znr`I%G}P!Q%b%(s#D(4m zhW+Iku&9!n6Jg`aKw98zp$!UB)CQGH&+8q+-DuXM6WRkf`}`;7Lwv|a_d;vT-uo2O z;%k0*=>dG7ekADzv_)Pdybb?mF7`u$#IUtW$w>s-b57IC)MtP&&obJqvz_~in2U$N zMH+|TK~s<0M2#F7%7Zy~yQgZZ0(I*OifmwW8YeZo8WBKSyVJU~3)K>JS3U{1P0;5ZU-dd~p zjr=+KsCjsyKZTO_o#^F!H?9b(DB>nBA2A`|={(`}FEAe(v|-*Pwn}#!PTLua*3*og?^?K@O0>lVzy zLau*LSo{;zNC%Wz-BkJy32$1n5X;@x5Fa^1>YWTai+V?F=3VL6 zO(gWq5PqbFU=+5Iq$8Q~grNpPGrncZ#iz*ZxJ$fihv~z-DG&h zu2xj)Xejkm1vE-Oe~Zh@M8G;_Nlr{o7!^agXjk=b5JX)ecUw&&W=$?w{`Xt;1R8~& zF)~|V5BYsf(!=)5W_Fil2&Y|MJ{eknaARC6F+Cfj$>qL&1{7c~57`zs70CZ9JhN@n zBB~zz@fv0WcW2yGX6<_5a@Y>L!RvwH1JyODk-F?5ZjmO(N^Fd%J$|F3bZ`kU9c5iF=l}QD_s5(=YhQ!579VE7kZw@*K&8__ItE={&GI^PNO8GtwtgV zb62jMVwiobBYLPTJdntQLzSjTtV)2g+z!n(m$7@l7~V(X6?rb7jAOWwm9?{8kY)2V zKKUw_5v=LYVeO;w#gj80$FPj$w_y#M$q&E#3?}ifwPR}iOg{CkpXcj0yq4%1dP)BN zGFm-ZPJl=!D1{q8{e)p!PEK+{#rH##6y3S<_=3IZR@G>j-YKg5wS8}p2YX2qiH{Wj z5UYHXn~pZ*KQWH-- zlO%^1ydufL9jB0E+F_sp(1lk_%?Le5%^nl=ZeDPCg~5HVwt2}lXg+%yQ2%h z)c)UkM&uYll@mPB=Fj)5HXGHsMJ3hb<`LU#AUi2xG%h05c~)CKdQfobV~ahOSpS(A z@sl;tm5AK%r18$f7m`;?K4Nrvz!QaM$4!Sb zR&kl?iM*wv`4&?bkijm->Fb0%TU+*p%g0T3NYzVky87**5$xeAhmS*I`_Yfbf1Kuj zVlvSE3)?yf>6f3W^(f12Oi=Vz1SRse7D2X9x?QsFXo1=H)p_YuUL`ooeG(^wPCSau8rXi`?$V&$}Pw2##$eHl!Cmktst=uW`FdQ4UnZJF}@)6rHSZsj`r`{gv z3?;J;Tz$l9v?r#!@2)zga?GM6Glt1ln>FjwBwbF-4E2b=+FFv?Ph)mHJt5-jusk*D zDgIk&iq`jp!y6aIFEoyId+8%S#NME}K7Ojv3-=G9D2jiL&&~Ppr9Vr9%?^n*ejfni zAUGYhT*hK`^1{O)Yo2Ma!tt=N|nOV+XWBM#@y zx$gfgRnEY(vb^;7AcDlo=Jag}f*mqdVbnI5Rfgc~NKSuf7mIxIedcPRi~r!QJ-u|fE~oxwd_{|2>@TX$gB)(a}xe$W}{$#W<7LoT-=k5i130Sxw4LjT;rMqKCl z0M?0jN8$eIS%pnqK%eJPim!=Jja3J|Db4wk@h(UcplabRc;|+*1$a=lgYcXZ5SNWY z;%PE&vF7w6UpARz{A6XM;?rt?MAqd-+^z5YcJZgU*xx%IR6?>Co}jJ_cK53cs?DaS zP;@_MjBG;ES0Gv1yf*8!rWO7%Lh!#%w*S(6?J0O{1;Rw8hCj$uy@pZ7;Khsdiz69Q zlV$PY`9-W7mQk+K-^!DS*SYDmn(2Piyb$!8(D?#r z4e*(wk1jRFb$Y@B38VBOzy)5Z-0$SO!)Hv9G>~xfXa{P{AjKZut@z5hc)tmvSg4|P z9%4x!Zn4iA_+pucle|5*FWDfF7gBVs=?=RAAuZ9Xc0W&rjk-UZ*KLc;8qmy?T}yvI zV|Rr5lcLL;EAQ2i&25;z#6R;jxvsa1P8U8XOZaL@#$%RghY@C`t% zdN5WWb}!}5Dv9>)Io%RAA>Z#Z6cgsHUS=e{@+=->k)_%l5c0CObHjHlsnq7Y+Tt|g zMGm<)3)(ANA#Cl5eyFd1jmzEEAQQ=7zkcy#>!d$RPPS3_9b|r&xt=B%vosxw7Fl^e zzMFSgrO;k%annp+-^%mv?9~S|sY?e%TG6w6&9>~b@)SBO=VD}c)2%;7&q49p{_hLL zaNGp?GjYe|;&cji!9=8kMN9L|N8wiJ)q%wQzk1|y%+}x;^ldmT$2-lBF+gkza_l04 zJxo4ho?e3Gb&55FP3j*|fEMC23HVv53 z<<-f)?xa9mozyuo#uwC6(&%m#c;0W}cDx}bMgS!id2S^d=;-9Ji)Bd#JhJYO5ynrG zFg^lNs+%6wfUrpuC&xKI;2)GUNR~|0B!0_R@@4NkX#$8P-R(BkjTbDt#e-f?fXW+b zBqD-YWhJ)d9BpgW5HLI2I9=|J=n)NlGE3}6XD&f-AwKSB2)z4>??J`s+_JL3o2ysT zFU)X|Ie%F6A}?YlUiwYo*e*T#u7|&^_(xW)uMDfNOu#p$@QcLhisP!f!@Z63s7824 zGLFzhnmSHU+otRN)ioFJxOv|$VbU1?eGMtvt!EN7lZr=CC77R&2qt%_fBRAQew1l` z_jq)aaziI+FQ=<-o4%@`Ky`@MIgAwQ_;avhX(+J#j@uMj^|tFOXMQNk_FnFd-DwY) z;F=yLgna3v%3*wC7wduX!cTW#S2y4~#|S?K5eGzB>RsPP{O(Nq0v4pGM*O~-nnmnB(GmZx z$dbEa4_c|t6=Ea(WU=QfO)3mwrTnr02q-cHFh&K5hjqhXnb7JZskZuMIb#4j!F?n$ zO^E+6D2Go3&I{7TeLily?B$R_&Arx{VlohY*0Te6vF=zv0V=LN+C8dctU4djm zzJRN*vnk4c#-Liph@@3cp%$C{3Pt_GWdt(!@!o0OPWypAG!Z_sxZ?=|<&lmD*LMUD z;P>FxGlwClSM88<6dCJMV#_>UMC(i-PW51`0?FY`SaDyLeEu(UjQXq-<_Gi8oY^Fz z!8j3*SlEL`;<;Bu(qW>%PY*9r5#9HtBv)jHX$TA!6OepR|7Gqv?}I#=3WVpA6Tp?{ zWNvSr#GRoMNY~XJECz`^4=vimy!Q3avl9mS^p-hJW4@m=Y_sLN-jB1u)E2O8O*WMojyMCc>#P{KUlsE>kf^NaXR|n8{hm>?H5w4t0aQSdg zMSXL))XfI_+Lt743D;&y=XhimPMSknt{s0r<3PODWsJs-8!p z=osQD>%cjs^>WFN5lDSDel639q)E@%z(KB3sE*xWK3|;}J#7kNWaFhh!J(KMGAiE( zZ{jM5Au}Bc%yt&YBMF_r^Zb|ZA?4q)rlM@cS=J8zstRMc3TkC-`XjP3ZH}gqX$H^$ z`q3W}qqtc@1JX`~#)5)}4GN?r_RY-UDr89`KOL#rjJZ0aybBJWB!;B%*q00o*E3~Q zSP02{@NH%M3eWR=V1U?d$n1Q&0gCF;cjyUh}T~em$;d9 zJjCymsl|MYvni! zSeWb35kuClHIAnrz5u-SJoK&ZcCfSz`|Y)njWQd6z)anh*mRp-T}Ik&jN(&uwRM_p zm_e#;`rpMmgH?pXy0F{nywSn9C{ws_oIIM=a$k>p@8$*8d^Ym*Mv3di7QNek$Caba zVmO7f^^YuR%OD-+K_4BZnQqN4y%4fIW*0uxWuia^U@nT&X z&&CzG2v!2MtqE!tf+Tyfy7eDYH!MUUtV>D0oURD;mZ008^Q-z#pPLH^swx5Nih$~T z3f}G__Y<$}cr|Wbs{&a~lf(PtBa1Kdb={mtDy`JJNEn@&15Jh!K{XYV_zZSqnIrw+ z#mZPtB^f%#ts+a&^zXyb~_)pp_O>Viwj3pqP6l+GTJ5Lz}Pw- z39la}61nyvOj4Fj&E!jisgrYweLacvo!&>HPH`cNp2b+FMjUYin?mNsi;~jPvFEvR zgeIM6x>Vce-xalPNK&opcKb7LO#k|&hPnEFbuG|QfIh%+RbJ%Jr`f{)^YS8Dz1=}C zT4`dfEAVo0qwVqv&utiHsYa$mQ`nT-OyZs|zR{zbP^KobY3Hn^B{wk|N~Eritum}3 z4A-mk{ff;V@0qO?FhvoCFt{B9hQV%Z@G4;K*npIs#RcbJq?ox?-n)%Tm-OHEhf zEe3^58=mWA(6HP!(z%J|3kZ)P6Vsl2nr`|=;=XaWp(ovmtDK%szWV?5gZ<~4lF`;= z&qN+@K7iFRDc}v3lkGVadh6Mci`D|ejsV6n;d3$H#5SOWI^?qaIm z3j#!|8L+DEZaYC8QZUfv5g733W`G_+no->D4Gq7g)@qcmw|-C+@Vd|c!7eX+aOZJm z?r-Ma+R&2J?N5U&+7y-UG=B&04sq( zuVobvvh=;o(l6ut?zAtvF8?}X`?Lx#p>8YMn@C8Cnh^D_##oRblgt8rk_p;Mhr}8T zL%>^h-nBX-r5Y^$uX|>gQg#eJ^7mRkV+aJ8AKb!N^k*WWAtQ0Mo|+e95x!rK)G8GI z`?K$)N;*uX9bMMTa{>p4GsGy#;tZXpvM=ynEqg$1KPtbr^9%;V(V{pOV6#OY0A7$E zn#}hJf>>Gju}8}adw%pI5YQY10s0L%g6nJtJBstX8wd&wmj*MPy8ZmZe6DsRt3=&G z%@}UaGnv9X*rw)l%z(th0Jg^>#Do^esTJpjUI*<;2+4CsN5Y*&N%NE-bi{MeK{pjg zxnju6wXkhoBnn4Z4FyK}5I();xhDtlPLqurr5?O1gC}vmb=^Yx5=&8$CN%xGdy5;J z$HohaZtGsw^uc6*&J5Ob>mH)xIIPiO7O}to+1#ZemqrHER!XO3d$cUO=3gBQbBuew z_Mf%=-rivw$E)QbCHW z1d*(wk|nETluQ*_Buf?~h=RT%K@^Zwww{MSo$LK%( z6Kd63yXKm6uP~qInTNW|2^YxzKX~T<&TexkG7c<=8J|F0149nN^E{hv@YSyh{TH|D z0waP9MXoO0QKeG})&CRpLzOrFcJ}i8FYdn|_!|-vN}V5yk;C^=-128wr9=YD|HnT5 z-(SG2%XBV!{JZ=8PeSKRuPc#Xem3NQm&bBT;j1Dn53Mgv;wk#tP@+E4%8~eL^Sp*9 z5e=%M1V?Bb-fLSkKeF|3QtO#u5U&ocmOY6x@XDJWV6{BkBO|3r*M}19immN(`Td)I zH~hjS@|oMh@HisLT<;qSvIb*Q(>GVIYXj{ny` zu)T4q8KPJ1oeUA8@u}Cy%c;57y~w0diDQsjD2B(!R=|oXN%BmuOc;-3wiW?}hMcP1 zrpSeVx~V(S$q`SIhz^}3&Bn-iq4X(Ol;+#L8FpC6LA%Jz z7r#NigG|2}i08YO=^#vq`hd|D`#Fh+%_zd$z}1dj>Q=cpNSct0`kh1a23v)zH8)Sk z=jP|n61bs9;@YS0@Mpa=v~=Gd%t18!1|!5+>T=z0aFxG#^AL6Q#ooxMx%C?h;LJ88 z$MYpiBWhaR?uMe?*SAKoI7#X2yfX9)+aA#r@!aBSa5aAIjrZ`AQ|KL10%Gr$aL0U8 z&Wa4eIzZZK4+}$NPlvoov+*?di zeeuJu0hQB)KeE{TCdAM8@S;vEA&HA>j(Ref+2!S{Oag;5w#eZe5xVWt0-{aN}EN!HeL z0QqQxK1XoZVSlKNAsc(L_nxl7Q{CfL+2xzc4_-YOc#7-Vj~n&~4rOw%Ft%N_$S}&T zAg)Q*)>8UhTye^PFOuL5@D6D9}GT& zuA7Ms1o+#23tsujf&MNTiQh9~5CQK#HHg(Y2Ha?c%yKJs8449YM$(q1N%9($ z6cQTWpolhxQ#~(A9Lk{$Q~b2W@9PPno@;0=oP`>jL9i)vDs>`@v5$H92j-T8&F((9 zxEMi_Hi#ZUdHGb`!RGofaNODOw`Vy#j`r7_&w3jplvpwn>R5|5UTO(cxS|=OWNufA50XeN<1?9z1pjHcnJxynRC5HP>% zp%c$T#jBP5UVho=wWxuSUT*md{n9*7LU-3m9cMiEcYB5SMa#j}6e8DTQuOmxks}SY z{-CsU7Y^2Xd9Wz(VJ)zlXiiSO7C=u|?+ zpmgzn#c~w9o0uMLi_95|no~mZi zS#f#JRb_Lxb&=ZX*@2v)Vu2TTx#f1|t;}-S=ou|hrFi9=RCM?$`!9|?1F*qLFlp7C zYb|Ny&1Y`z^ZPp_^fD_r2wvR@%*4Yr!X$xm(Qt^`B2XZE{lp zxBn47;DJ21*sHtZc1G)O$1QOHKMoD-!F8P;Yv+9vRI_|!Sm5?%On1@83N9>^v1eyD zP3*1bNNht?*NdrRfB% z%x+H9ADp+{X%OC1Zaeww;=vM25;x!VlRg7x_)|G}UHKJ&SrXH+v5q_rj1BHZerTWmfkC&X+CL z)h|xs&Xo@c{BCOKlezoBE~cTi#AwAopxDfKweJi)xYT~MrNGvWn?K{-t&vimAZ~D1 zdECNdbg|d?V1Wjnbt8^rYX64(*SmHun;f0^!|%n>JfItC5s&_#C)H(*16FkD-;LPW zi!J)s8u+&pLH~B5e>qCqz3kAj&r44I{jnvHUOEzmg*LYF)&J%wE-=Z_qzC^#4_KP` z;s5B<-to+&?`4jxSva=mpIQL&;GK0R@4Lw8&@kD_fA8O}^p@JAfA`EGxQzCHtlRPF z>pK7OBhJV=UHnx9we|Tk?Nw>qry-8ZeHA(nGNL4(+|1%cy8Inw(N~>~|6?-cZ_=^+ zM;u0XIQ~ytC~d$HWx?kIS1T-L$m;j6@sQfMXI!#!M_v`q#2d#IMtW55b6*`fL0qlX zJ)ovp@5dN@X&X@XoC7d))D`@s!c_eZqP7B#r;IBR5qh--s*>{1#c7nF?sCbE;?qon zB0;$)54U~xB0U7+XYusSY%m)&;^u091cP*V${rw#@Ec@}pqMV|xUL6ZkrlWc`pr_% zvfqAGA-ci%KKq%9G;s~Qg}DN)g+?I)mnzoHf6n$tP$Z-PWxD6e6T}ij$XJD2JuJzC z?4B(MH$~8E(FlE^+%{q32#Z_rXPx5S|a%3Kqq;#&2I=4&q zeXCk+x6RA*kEZ9QE{7JiPvnvBt-^EVFHFF;7ub5=u?4Iq;wX7&2T!XQD zI)IiXnSfnl;k*;N>D|L-1N=6F758QDH2+Wu^0~0(s=@78M5ZypwKiQp44;^GKX4B z(n{_m1Rd|lV+e;<{#L&(k#8#aqXV~Jaa!G%;QtL~H6@x~hxyY>2JA6!Bt5NO>M_-nx+PpQS1zjU4jMFWlufbdE^;xvqlDFQOze|UVQp;a&9*R%e-1LfTfVa9V_Gecubmnwk69uY= z7Q64I^&Oec+)@K8K`SMxHpO2%STTh@67V~^L(}?sM9ypbd#I4^b8!u50Hv|uZp4g6 zv0?VZVuSp|Gu9lf82aqE-3Cn$L9H0N81q*>-fE74+mm;+PDg#{&J)N9q%sw%!rJkX ze6%thQ8%E50`C`~0IzdF&D;CqP(Xn4Re^c(u)Q`(uCa?Db8>}!&gl{+ACU2xq>bXC ztjkh%&fugy@5>+|D5~@k8#=)Db!5i0ro#Tp~5bx-}qJgo7jKU+Zp)GSdUumpzirvzY8D~cOO%f)bq z(w!+k!2U0O#EO(0%g2viXXolb?t{04uQE8r3L>C>BcvY>+`iRH)!Zg?M~i$Zky0*v4q=%M|!0hk`X~j876; z6JKTHq~U-UsJzQc>ZI{sl4^(;E8>^_X~V3}bpD=)dzL$S`F?kLVB6jebt6t}&K%o! zd9fii(ma_2ytNdn!G*USIolEB^{_Xa9|2@`LXk`iE;>!QD@5zvM3_EPg121VW8zx>y{w3+OPM z@u~&VCPrtB0wln|{r!S`X`3dI&R$2D(U{MSK8mi3CBJWPFadozu&`aG=cy+ijXL!p zHsM!jJ0G#2F5h99_ljy}!{*=49dsaBdPF?y%VcriaZPTIyVmHtZrXn=5qrRp-z)Z@ zwIhq!^3~71{q5Al&=6|{-*1`|6Lp6mmZDVhHx1Q+|5r3ValCqHhVMM*6HYwN+qVHn zlcl!#=rOHP;sunhrFWS>dox?!6I*ylpvOz}&r1)q0$U3OXShUW6(qgFv8K=$mLx)N zcc)!XS1;NCR-1P3Ddwm@=6Cwv`WIeqD=jzoTan&DZQ z+~PI;?Fb19zyM{qoUQzofqD)UCXEx7nn!suwoz$5Ey+qpsBo#vRChyWtfa&_yZI!f z2jnzpa7;OG8o1S{{Ub-)!g%w~Eu8NnZVDAan#ijnjfp_mzM)pffTe<4Zy#87eX=Ap z@D|r?p^VGcEHOS3I#UN~7-Pernob35KIe$EIVA@T=d@XNm*lvLXT_}|h~+n$$w3w3#*dG02TNmG-%ToT)bXJs@JQJC+}HiQdvSrw z8l4jiS~Ij-p9q9C{&UBHS3mZDr|_BkkMJ;5G_O8$Mbpc2SDouhQVhgM)$N@lO;wk8 z-sj+>M6wRVL#az5W@iH!i1tR>8XEs;FVhPT)a9)YKMheAtiYvjr%hdA^`QnOYm(tg4-XMpf9B|(X z3-mJ*S(ObHiVF=Ah)=(1)@F4TyV3@L`5?~!YLOhTrYyg9iz(rTnVa>=_@7P$BYtNI ze@9sV*tgSNK+7=vl>8uqWXgV0)C7&!@4Ai|MLLT`V~##rTf4Hu ztu}tll>0Rp*qx_I1`wlfy~HrEYQE>u{1EN1LEK~M8n~K+jVIaG4vP~V0zIp&$pYKUBeP3#}PvJ%P^_s3X$AOe@$MVXrjn6x|t1f9E z9i9O5jwtL7=M+!!3TQVt7^nfUBo|SV0YDkzPf}WhyrHR!O_JW+U)|-e=;7cz-@*O+ zYLCa*W{MAFHeXqV*$)a?C{W2>GH(-a`)x`Xw#N=t_H2a*PNv%sQYza^ z%N>UB9~QVb&lCT16D6fgChQxSS+J+la!1Sdtu+~jzG!|P)kz2@IHAf7foV+)9jUfu z3%=w1lx}Xu!0O#ZUVC?_gPEC`ut4&G3xC3o^?@QAR~wXFH1!%vTY`j~mKn~Vz%`2m z$Y+wZglTtNrHouhCoG#~b}3(KpOcgDXc@t=S(-(s+f!beV>UB#I`sUIiif1vFvUs% zXROWF@U~dhAGacg&!0e3J=KQPW!%*u>Rs%x5BcPtz*9b1YJ{0!9|8J6@V%{=xBASQYfD>564=;AUQtc33 z8xPE0Bxi|-8n@hr&C>Fj(*LTyc|YyAC$)r3O1^HR5)!m(H!-5X=(-LAmHa138i^_Wt z&9E3UO4hHQObHRv0d}tWoPGI53P2k@j4_n91ztGa?kv0p11yG~S3wL&dq`w{u2BJW zU6)l?AB*6WccOkD83%+t%txMmSlceph;T#<-E*86ng_DKP$#c+R~EhRQm@)=p%~6= z+q)Hh*DyN*c=TEmZ51ZS5=O?ONZJ+8XXV-%&-b`9o?G}#CxE}~qrCDnjGQ?{lZ(2U z1)|FV$*83^rfFO^CZt|4y1WS7gvt3nhv|jv63!P)VrI-i7EQp`UKix%E2lHNTf;%! zrw1GkPj)C!v3yFDYp|%#0oR_;ECsko{TWf|l&Dbx>NfL?zwC+HYlcN6if zA7G3gm2@TeLYR8jP-ZDVM4l{Q!|r`PP~ks$N#hO!!cz@(mxPqm zi#EiQXQpssmWKbHcmYG;oe#>ElHipKuU<(f&CmzZ#TX#@chIrAxipooC_|$U)qy$L z$_tPKoNbEAdv3k#Uv%|tUw4r+$NsQlz*zT9d6q!^5Q006WtE+Eaqh3dB1r3pvgn!b z^*V@?A@SGO^jI%;U7Ip05Li{)5DdGFO&mo96tdwp*O?Wy0JcV4Jg*A5URLHKhB!+~ z-$D-IaC-4BAK)=lvyR8rT)5M%e8FuF23>5L$XEKGYTYmEq=`kc-+m&YA13&!(VT;M zGL^lEqlwfkwZHZnw#*aR*!$C74TyR=svtrbBfAbmrtguJ#gkBMvRjr42{C6{RH<40 z;&fUax=n{y_GDNZ&%<|}(LEmc>kc}_G?%7(t*GuRu56MxM$yd1HTUUV7u(wW3pSA7 zoOy)@AsP8m(+MD9dJ+xhafmc?y|SpN)j{;&ZKG21tf!Pm9)Lo99De39#>Vdq z50~IyT%>P8itYc&2k~1YYGJ+J7mx3J_m4yIz`W20s2bCC=xnK%WT^`{{=nN z*f*P>*W}`@w|^s_9TSA_6Q^p3;EH_=lnqJljl9#}ZR>p!fK2z3^>xeOqc^R>%m&sG z$ppYurM)!>R1GhhIv|XWo|(tB@%?lw=t_U^OOvU&(V<7Ko9ld@$DE!jqW(AueF&_V zo(*vMKxXB^x*eJOZh{Q6yZZs*tmxrCoGiW59)j>MBz6W*QPSRjnsi{jPvFcZPMzXe z;6W*~YN@B?e&3PU@b9w%&$a;13gnl6T3>{OGhVf8f6w^x!i4i4%tlIsG>#82MUj2yQ1KQD~DP)tz5#gS`;L zqqe)x@Oxh+lw*n?t<4S}o^@ePur7m-mwWG=B)G`FU&6Dzq+e3+0WrkHyF`inGJm2n zBVO7CMk8|njl`Z(N6zA?u#CJdqCHWUY;s~5X{CwqR^-)mvX>!9VF|GBJM z7{!gKj)!9gL)~MpqwTiH?Ygfkq_hzI;p!G3FFriQkB{~j75#h#-vbjt^7&(Ut&L%= zNCnCo(lqtCV@L~7Q88x3{xqiD?T0}x+p4Sbs*`fXB2U!#U#Zj|zbamN+^z@U9;#Hm z9dS*&Ox>K;vfs9sX%ix$y^C!Mr+zL4s{B}Uy685M0{JO`;%?dB%aSgt}9;bOj#5hCp(4%l!cbfq(RRxSMoh@&>1f3ep4X9#eZ;>ccO-Y z9P<>AQy|%r<*~kXAv*|@LxCDFfMJn>gYQ;3xhxYQy6@oe`M!!+44JmRc<>)? z0ZVGrxW!bXUPQ~0k7WbNp!VUeznsq*E$~>o=yeF-tL)a)si+pPkydIa3MjD^B(8f& z95hGJIHsK7s*FHv_>Aj&G3ZzeLZ|UBb>wW)o=yShW+0;g!w-w_9k4!gKDrN^WwlLfCE z9A=!3mUiwT>z7FLnMh6JlJ)OUAH?OprTJEshMEZR&J#Cv+CeR8){D`oh2!A`LqKl?arf3`q-}YL$Io%bDncv2aV9m zml-MKCu9RYxMw*|=nkk6_YMehsK*kNFA*)5eGsK2o|$3>2N9g(R(Wd!$(cXZxMJVl zyj!N$oBa{z0?9TSK2O~jgitO@mhuu;P?86gWd`keUt2#FUewrdbY8KU@xXjFdeN8f zBX-<=&4stzLFTvhKRBeDCxn=yt^|ppdEKg%zd1l^#1}D|4U&1CeoRd?cjoapD)9Jw z&ISLG?||>9U6>>blkv@@?iRfst6LqXDAb!PTAcf!EIRQHr=@1v(AK3B^1ZXi<%`^U zDyR;itRF0rIIR3ew$Y~V$B>sqg#L5plqVcs*VB~rZz+wJb%X{C-1JrFL!Hco-sk*0 z-S_tIPP?q^K6^i^zwFD?%P2DTkiUWN+%D8+k!`Pk-Jh3fI$hb=@RGTfUyNLBq&QR0 zGbWwu*;VanW_>@5@1IIn2M#Zxu@)-oJJ*Dh$dQmrF5Y`B$LeQSKYb#%Z1ZG%TTw`4jLDcgd6~#@k_SuRBP}ZD- z(}zQAKX(UO4hOmzt=D}lT+tCz%-o=Cv|+YvXG(-~6#i`qn?II#?f|;RoBsO`dp|5c zTDzCt^4~Yu|7rGr^PvA@kbfDZw-=-WY(8r5^x=K-$)ED5YEaeQY5thaIuNPAte0MD ziTva8Lwl0{jH*ccV!FYNJ0C@Ng1(sl9U(>kO@s_pUi@eCe+1!IOFG_<|EtXuoi@G5 zK>B^!&-trgT9za1KGycX?JRMpAu>r&rC5Xz;gQ=7fVt&>XG}qwVp;&U5y6z7Or_hh zeiPRh+!ImxIapDI0e(Gs=>kOW8Li0lV!MB$#LEQFgR40MAIlpqs)w)U1$~za-@6nB zRiIt%a4vK>mE@QH_4%1iOUN7tHPWRabCW7Vxgn^%uG?PRXmYgtqX@s8C3oY+M zxe%XoWs#s_5X=e_A(n0`@33pT=PSo4}@9Wr;2EkLljYoA^5J?EGlgGnZtAT-g9smhto-q z<;PS${nUQiP+42f$=}bw`HG@X}q zzu`v=-^#n4K;`-kcE}%76MM;`rmbUg7J`zHQ#*~xr`&y0T&+#J;R*v$8X6bVU!FTb zlbh>UYAYD<8W)6 zwi1EOoU~T@^Y`WFC89oC)!2~$rd0gtHcmcm81%hSz=X}Y7>ZKD$;&lLI-7CQ%x#)VUk%)LaRN;ez>Pb zz^e^t_$P6y2E!WK`{j~wCw4%`g)d6P1BJP&A&u}Cs<>SwX+cM&Zjr?sd2ZRG$AzN- zWC2h)L0zYxTS`E@Le}y8e3W`k9I!~sGi1|wSwjh1pe4{rz9`%0U*Ky9?UV3{eG`*`fHy4AQIRRgZ)5qF%?kxX(iz* zLA-zi+AiMK1gzzf&bg3aQPEB#p{T!H+Kp^`EXPVJzcJ-KQzemEk1P=b27$L)Nw*?^ zNy{%Tm22DgQKpYJ6QBDPZ4Mn&u32nc0%ZUY2b_66v}f8zdMv|geX=ugfXnID!JuqD zhSlRX&!R+s-!He(@{Qa%7K zJd=e3duG@`6kVoZ*8OuovtoYwb2wtw1|&|@ck$0!oFs;>jBy6j)I!TE!IXpuN-|Z- zv*Xa_?!t}*ak{3dK&6^YL%FHzJn7QJRrJyM_%400#?dR>m6T5F1hGh^Z0y2Oc~>6t z4*5|1@w$zH)u&&mx}Wn?{EwYyS++wJ-#ngW!T(Y3;E8W05e|*TaLGFju+C94u-XOv zPTx{{iP!l|)IGAvWqXM)Ikz1eo<*N58?M|D+OUV?**0e+U*bqpH+cVC}636NNBs$Tv;} z;Lafb>vbfkvJ1H_K&*C;fE-Kg<*5(SW8b9a+o0Uhf?_eM`-?iZZ&mLY;!8M~1MkeQ zgA;U`;m-+EZ~+>s;uY>Jc9D1vT|~jaqiU-<;&mA_29Y^`e||s>uct1GZBPe#GI zKu>E0^oKENxEKgOi&OjJq$qA`V zHsc`fr3#8XZkJjcYt?oHZZW3c|4XboZ-$W;Q8Kfi8A0|1ClF!pyp`860yPqF|3ShiRP z1r;{RVAuL_ZAEHK5uu6lP;pAj4a-{ris6Ugs&r^ayApZbGT=yE%TE??p>yEw`Ge+L zNrbkdbc-iV$;ZROF%WUZOVLLke0ve(B*z*+>l3m9TS?$@{j(hu z2S|dlL!cim`1{@ngAtL~`Iuc+uYqZK22}Xiy*+C$9z0PZwB0!blaq9&snc22B(p#S z%W=HL-;mjHMyue4ykWbuGW@~2c}k?lOe$;fVTD9XEJI^aE}8DqMbyQP8&OV-v?pDO zd=aOZ3-N-9l&I%oPp!gY7y|1B*1|t;Ow}+Tnxzq0vgtGbwZ9bY|v1d z7bsq6hUtg2FY|LPcqnQ8Pk#dx%MTfUt_W4Z=7_w2S^+vfQ|V}9#QNbv2l+uhaSyXV z|Aa^Vw!EjNmJCROD!N*z%v$g0a|{ham*jE)a4|yLJ}Tww5<#< zsLVns$H%2&OisUmuoV%lM6BHx8LPX+@%*5fmYJ0;}A>W zxBD_gRn%?Mq56mMoAyp5*y_VTN$ioTe@C|Tf#B4hED&%RXiv9&VhGfNTvcc6!~LHY zS!#kYawwz=uH8$9aW31(d9d*HQ0joqLuu)-Je=-I>|*kPM()O~3Vm0JP8LMv5X((f z%MvE_W2R2|LuWp0f^}GNbKC$U@N%eQ>^c1>qO&ZLA7wbg%{XPGg`lzg&?&`Uy5nB> zwEfcf?1Lx8lve~$QJE@we%X37}l^M|iRBw!ouWszJVwwqL5p zrq)hG1AE>Zn5XmKY?JIuNvw4|--Q2x?DK(?DVha=etpR~uPE!}z$%>2*L>R~uwc60 z@539znc5zyX!_R`Dj9!u)b(c0OtwA!Y_!tw+4mPS#8Nw;@hAAcY~ASE$vD!{G5FFk zoHc$;=h~aDNhA0ZG`?oGH}sk6N>I4JB=C8QM%~w9vwZ$S@{a_|TqBP;eoX?n^*hh} zylHK-piy->!Dzkg7!7K=K+>NIAun>h0!?S?d(o+W-)ZdG z*(5mpTtXbwdX+&^qQQ**P0j4we*W0h653tsh^1xPp)8@BGw_qoTj3>XwV%I^ECh}p zK*}l(I=$55F??xXrLIZ!uq{28mbBqZJ4`aq5au0T-yiP_>gNhBp+rggBL}grJD^KWhux+G<^ z1C9LN3cmy|&TP11arH-dF(E547aftaOi=8PP(ac`UpS5@tX{kz{Da8C+ZJk=c67qC zPHA^&531YsqtB=!(2qsWICu^0N)6^CpAfb-+`S@qPb0N7DRNhhp#* zkWYNVLYMHD>+Mg%MHe#IVgnhx-U{2+1pU#<;+`Wdji4b&e+&L)IziU9^D3e;W-I9h z_1NMI+(kPJfgiLB;r*IW&dwGc+ykJ!^1qgd{#n-k%P?Z1u<7b)$y+T zL;%g1KB5e_!9>G1b1_5^gIN@HQR1-CzH8SU zWzN)U=RGGz9}W5;j5jP}=e^=|%}t`116**=QvN>9K_L82m$(+M(+`O40ToF*W_ zfqKn_sGKATun*a5s5FQVZIY`{RoIlb+&h&4s3Iy+QV%}gYq&L}rN`Op=I+Ym*~?Gd zjs6gEHEI|bjMv~hI2FtmI~<)OoDFO~^w&!gP5{Jlrvqv&6^o_W^bAt+UT*{-#-M}Sh?s2Z^`BST&K%!sqUz7}GvOr9cSUI%24R7k zoH7Ns)GuSDLLz$@{e}1i=WyOOZXMmE# zPRntt&9SI^GozvzjAyj~D^`fOdih0CU`V(ppXxc((^df`f#vcchLbJuE+ejJC5&^C zx%{B8%?tx5hKndQY*)X(CUaT&3$Q5DKvMoJyjrxdpa~f4unAB$Ix(j0VSwj66hj(V z_QPztW>^cnc{Zx$j`(upOz7w-Llz8Tup z&rjH7cq5-KtP_sBfOY(!2LW16=g31V-(@lu4hbLT?)7_56j=LZ zpG36WxKGZj68p^k9@?5Q2g{gR+{F-I6W$6*C_$dsml4t zCKM(`CsatFtk0YaxS~utH&#;2YRi-%PlrkjRZI_s0}qiWZTzHfWhwAR0zaRd2*1M} z&juMa%hEs+a}%Du6DT705B_!XYgGsxaXDsayl7yQxDPLe27aaMysj+cu5|V8-9!cA zxj9h>abx&#?=!HPu^M4`tgYh7jEaw}PC}dFC9;WaMG#_5E#TAydp;^Er~%J4U;h=G zcV`VBYg_a&p)ik!0_8HE_j|;d^wm(@kWBnj=!9b48kHj__GNR5$Un+OvJs`c7g%vRNW{TGW z9%@muN5%w7B8KT3!sfsxJF`5jb7H5yLA`@ZRAyUMtzy({+Pp>iU)bI5MX%G}C|?!ikjlp>UM{b|2MkTHsg$fy6@ z*t}9b!1B54n`quLNM0;y6O(WRzhg4fKlAeZ^Yj)t;)%$+C+<^--l@uc^jR-xi+h$b z$fnX5Ed5Ug^_lMt$gj3W2A+O2h(41R|A!h9N3|i0`@EPlI+%;?rB$@{?sU6qp$xj2 zl?1SO5h4bevDzc(FgzWHsER437uY=UA$>kTLQQR)*Wj$~fP;Y>r?K;rc*wK2m#X{v zN_5nF^Uvja1^D4J(+AA7R>oQIybF$VvrebeF;(ROUb9^-Zbk`i;h9|@M{Wg1ECoG< zY#28m2lie|zKUT9*%3S)jks`}0@9KT$&S=Xg!ve`ffM%*>sYx3JBsO9PvSTyel>Ue z=P`ww+AQ3nApc3IV8hR4vgP5b-#5lqI}`4H(5E^&?+7vG?@r#|SR=$7cZZyeX5h;0 zc}Dv9GYI+(uBVwkKrGR6PeXHNdla$u@yR)1k%q{siy?>`(J8s zM~Ud4E9}5UX?sxP2Bih%L$>U;_ikw6oQt_@s%#dEUPo|@Elu)rz_FE6!x+x=rPqt+mP zdI6ldNIjt|HEwykWr{WJRsS)U+-rB>9z=FXS%bUuLw*CJ6s&cQ;k%_EoeAc5fi~yM zD$!+IvU#j)uRm6so=d%66+8W+Dn{!Dx&as_5y$OqluBKWftHoWU-4VtGY3ohe&46w zO%1;GB-Ruhk*}|wZ`Sf8Vw{YJXTPrmDKYC)>uwwM*az>5!OdFzk%o?DzE)c_J9|e< zq2c$T7zo|DPR?~?MC3b7GF7uE#_L^&c)#HpnIF zp>0ku4EkxKY;*lv#Cl|GN*^-sAK^2#LWOzZqmSqt00Sz<$g~&q@1h33E<(=N!>Pql zJN>kqll(ti()EvIq%XxfGgag-jb0w$ zUi3rSfLo4E0Ly9DJJCI<)&tO7X>b2F*RsJ9e`ZE|73Cnf2Qq&7k3G=U6r|+?=0PC@ z7?oOj7yl8J*9rfxI_&G4HKU)mP-7ssV93b}lc`0rQ*7*eV(ZuO7NIs?eA})`U!?Y% z{(9NN-ubVGImrGWI7?1E8r(wX-S7u3YW9+}Y!^7Ss-RdFoR66Iw3T?W&{;Bizd zyu7h7%TK*`9s-_a%5VRCA7<6>;cCa5rR5XJt$TxB-lO0m<@)8e(6J*7Bl&KMpl+r> z!D%p8e|M(wX-{7;Ns=TwXqgRGwv@A)j|6i!CbD7l2&TMu6R!du`o0xzUbXo)(o+<` zHF^G~a;>Tfv&@v%kF8vrLs6E|?MBS){)M};)KXvNF zX3L21#oe$kP>M)By4oz_m`1Ym;ykbeFp^#SgM>l$P=G@jYgCQ9Nw-%4T7(Q9+m`OfdO!sEUeNKjET-W=xp5#^{6x~`IE$h&snI2%?6$#mkeJUPjXdW@ z34nhC0at0b!-ms=>wv?)>XMf&QA75MFym5}8X*?ep0DU-iJ}C7LR~U-P{#Q#HFo2?$|r!aydiKs0r)(mbwk*&i3{Wr0dkav6LciR*C!fb0_pQ@Itvu1 zCG&fZT(l$}H<3h0p3L{WutI$9{p4d(|5=DSC@9Kc42Mh>G(ABBZlK6Kh6D;cx_+1C zufO`4pHP!F?{)G6GD=j7!&JM*@+^4o^4j>4yel;dJ(k*|mks?$sTp_MWv_qiR~;(X z@YEk48Ult!++n$FuYz{Mx~SLqpDw{r)IX=5&2M-*&MU<*fn!jLbS8Me=K%z~ z2He#$C3yN{l)M(w{I3b_7BWUBl9mmPYO_F;VMv9HHd|jlRu^@wZ2Mb zE?++h0b;*Y&m?>G%j&6jhQ4*vYE*J3p5_zvP_7|oN9oVpaiEwQRRz=2Pt3Lj$kPsZ zI{@CMopP|VJtq)PQgld@uNw(i)NHHc)z}5Ph1CK`3(6|rbd}D6(Re}In>2YKOP2TW zQitM{8vzi2og=?b|BA*d`L21c6TxxNR6rtM$^_AV-ekqQ&9RCKknIhcB{UW@2Ohxz zYNqCvy&8LE?2}`|VKfns1a+$sE|E7$LcS}n4vyyp9IS8#9<9afe^}&JJ!d^&L$DS$ zk&aX{=-Vpll#70KSzXQYSo{6rqmYIc$^2_gEa}-TxC!acVHUlPA?iKjgBo=i#^Is3s{}g_*ir2&f+|$vjj>p^DTbNB7DfH5Eq1b&A@p(OP?;YU6@7X zvx0)9#x*P_@LDoUEJ@?1@_dVn2trAPjzJBpd%b97JDJGsfy?AI0`3m9Di-W`8SeC- z8EG}(&yT5wj8)3OWTXA=iF}WZKS>>aQ|;*^6&3xlAKe7|=?T^=clC$h5}0pwBadCG z-pD33QXKJ-wZ`GB{YmHF?nEEUNK{!4jKLLP;?RFD z`qcUKK{VZ05xSxeCf1#kYJ|3+qCxu6?E?obuFbt^KWy+RsU&gAW8RBwv-+@Bj%uch zypM33Jsw2QuGcmIo{uGuqLxoQwLBhRaXP2W*S*Qqj<%5NHarbn-KP>kpJ)aVS*(GtHloB>iHG9uI4IGdYar>B=W223TBX7SnOAJf_T}x3EF#JC z^%D0@4iXD@r=lj;%0wcE2p;6>OG1cQCQ4Iscw#BTvN!p8cOwYvS55HV*pb<)Ss!?b zv3>oEI1wc7caGQUTRk&UnnaWCD$u+?>tC<(FL@uKp{%}8>$qFcvU~AGqoDdg2yphu z-95@=Kfs3^e+v^kO*A2Bk(dp-Ej}hvS`1Os`zw1DNj^(KH^bPTMBk@)z@_dFkSx;;ENn(=?@!*JILTGRlGBKgnu-CciM6oW4w@+5P zf*5taRWqnRiaqab*JJqjf06c{QBAc?+i*e^se(Z0AW{T`BuE#6iWH?vmEOD3K|n|l zr3OLi9RviF5|G{%4822WQj{XS_mJex_1xF}{Q1`U*1OjGC%>}yIeYIpXJ(yq9LJoW z^8GO84{rB=@eFrVeQ>63->8!>JHAIBdNtGRlxtSYj!qtQ{5r2K{WVd@cwMH?n~H|Y zJ3qeu49j!6M^fQ#{Jsx))x*ILP*{6P@5sPFe&@D0`%CdpN2b1|VHc1AjvHiQnn9<_ zZO9zIC}C;lrkmdnTQ-fZHykeTkeTasm=W-9XL%g}Fv$89yj8U4$5<>`RtUe4F1?Y& ze2?^q*AZt0JjwMLk;=EIA`G{swypY>=RY;WzJ& z%vb#(6+Kbywa71h4p$4RWj8?Y&Bsd7#`YugS`@p>yKHV{R8~V7tFnB}t;iUFfTyiv zt|q$6(86$oC?C39S7IroljR*^FGe_Lif1bzx!xF}Fd&ed&KGpHTjYpRvRwgZNB!z~ z!BRs0=oRuaSU$3p#7=@{4C=7D`|gfDjVD5n7j0?v`t)6xmbDE~3;-(Q!)agAr;+oA z&@4luctrM}{4CUfI<~k|?DyP)3T}(8#c4RcB75Z&KI?UH=wV+nX&!N|V;XAU-i#o% zit<{0qrDNTYb|Nw0%n2vuIFV6C_k;Gag-|$Mj*=sVTUDbJ)KG<%1gvS-8Zj2M2Z58 zeZBX++1xM~%zD?-k>fo~y;Zu~_;vrBZ~igI%-KV~ER;n6BsKID8mLDj{_|Y}2eWRK zrg&qrPbQ+$DQ7=rz0{E`1-`DOK;uFf82H^h%tp|T27Lx#rRz;#R3`O%am!8#DK9Fh z<4vS_k87Cmu=5s0ropW>*cANBAU{wbdH((DtFF_id^QrywO9AB{WBO#)F0oEUL0tL z;=*rk_DK(0Aa>|JPwTfF_g*EW8J#u}E_fgnQSZz_`=C9o zZ28IA!^*Lv*0FDvtwADje72r?fn;ELzHDV~tI&fYZ6&2W?gj!7f=x;<^QTrPrq=s* z(m-Xh1Rz7F63BT%8$9Tl;b*mRZWphV&$l0g^*&8~+5h>jqpb0lCek#(^qcMBr=gKu zWBLOA6Gjx7=!>j$yxD zHv1(SD@dBlQg_E$IAq+DfO%=^WHn(oD0IhzF1|03*!7!i2%v-RCKD_n6=J5S9yIHw zPH;Vw2~7x0guh0MBy!-=JEfNghhU4rN9B}Rd>i@`$0ef*fFS7<`axcm=tv0~;S)qC zu`?btH;0x)bB&t;<3R<2T4ktl;_Sew_L)~?!2=23!)dQQvINzUxIbE86}L>t`Q@P+ z0=l_3+o*q8r-8VCQf$?_89~ow!<*~(k&yedBiv?1z1OEO%@si9$Fdxg%aJzh;fw#f zGDU2iRz!I{F1D4#!(gj{z%`25YThUJ0{pAO?(ONkM1E!WaGifhS}|cFAJPYvrn9^9 zlNlz|@!j~C^RWHs^j;W+P`W~T;EBmfUnPOQ6%Ro(pX5rp88?$3k(s;jykOX|59j%P zDe98?gQ?KveX|yR%9RKe+a#`u%RC84za&M9rfYuAW6>z`c2f&Es{93lEu460!(v65 z6%N00!TzEf{7$Usmiyp1?X8tol7Fl{dfELx+a1U3B(C-VKXX$5jw}qE9fI9)B^4xL zSEIk?k~KES2L-tH9bdAP8sh|k3YQK26m zdxfucpfkRqsb$l9lV;dC1f!j^jQX}8uu1wphPT7(7!8uFayEm<(Vr|u?0=5=wXLE7%SR}vg8#}_B^49TT z8yirCZ2K7n3V-)`^#mrc?BH_U%A>s9ELQQ@Xa#;3rx1LZwe#ZZq}8-!6+C}Pu_hIg z=bJvO=U^RgYGy{X68?p8OAsJ+>ojFs)+GOaVpRy&j@34{zxJ?w6yL2O_SLBTo?{0( zjyRr!b>IRl=)GFs9&yJ)gf~E`X9+Ab+(0$n9&}0|2E!WqvdK25UfYcim`T)L{!_5i z59J_*qxza}lh0HaoAKKhq5%f3t*=J_Yk=8e=f!)vSiLS5i~5)NXhvF*rEfjWf6?kk z?U+l^u}Jl9y)$(}E12odVJEQWisyzeZ5Zq7zRevslN#U%(JWG8v zlu!33QZ4KDV6-(Xe;7W_LGT$2c5+SHF$K@hI2|9-V&2LcM9_lcg;{saW(Qr*l9hLqoYr=%R5tW zI*M>PF1Ai*m|pwyu0w6Cl{{XZ!#1Qx&r0#v8(hG#LOaOVKCw-|j$*n-yQ0K1T~n3) z4sNQ;l;^5@5RZSu<(K01E{7G9q?2u{??t-;7pPZOk0@zkoO{zVPPzKI>$zT5x}7X% zhyqexmWQ$Tom=v{(*hQ^H)wrUUcUh4e+8f(v>$m%LdDUw(1WLvync1miu3WMCs0T{ ze_ryySD;h(&!Nr1ybx#bc|iFcTPvQs12fp4A3{5>Y+_8BR5Y(aUq?!HAw=b$w?``9 zJaK{3bjg%0@_wcx?$hTTIg+c5PCws3f7QO6c}THB*(HlI=qZnbE-X4l+-BNs9{w(` zH~VdZ=7Jzj!I-8xTj#R#B>2R;GlEWXISBbjCs)aC?^x_Eb3q4hfHI9Zj|iTMv;yhV z>2QzK?V740f*RAe{y?QYp%C_xuOA!5V-XYCr@hz3V?TJ$^Zk#4-w*UNk_{ZqW zhPW^$(>8q<39BX*v6~$8Lm95U1=$ED`d%<9HO%uIh}(J`Yp))vM{}cKP(3!$7uaZE zxQn9S#bId~ob#fQH1sBlb=L~V9`xvebe}k6y{{TO-I<%OcIc;RK(qj`o}YXkg@v=L zx6{RL02l@z0Hua{r_0-E=5yhpF>YU4)&{fPly7Pm@05CL<(TuGrb#=lv^`fwl$+H> zmlkCoV&8?qQEeqRmnc3n&XNk=06cIY;jvMcAi)z2=7|&?f zp;EzowCvy>AOKOi`UVugF4;^rk^j=7$=?s0e|)oJ6{SpNR`*ge90Gc{`@s@WvM%O1 z$j3$@t`EzzkbTS&5f@GJ$|7lD9R7v;?E@=dMIJn>CPaBDL&|knZj6<=^Dut_EMZvM zW(9AZ?xVKr_N;~bgw@umTftrtNCQk%8;*+~ki0zJGOMU^Y>y+=>}dV@>@Bc9b@WTJ z=+6l~w3tNw^iadjt=y2=(s+$UKUqi90@B*E?gz4ICRGI^RY0l|KJr*)hfcVp7%3*y zqnqya_a8JHi($;DQ+8UMX{nOV7G>j5g;5ASFFVE0`R2zss+6*RlIC*e#Nk}RS%^Yo z$i%uH1Vs6TTWLJWD~&hW}IqJhZBF9{f!}-|793Y4XwS&vm;@g|lQ?*~K}S+S$Ix z@pXqBaWwNvPXrnNm)lca%uY*ON;ZV7*1y5nzhI}m)Rv5`#FdPOj}1R1-+WAjaHf1B zKVrRhUPAjP)8m@D{9#23+#vJEr9@i0?#|(Rm(!Yn&!rZEYcagUMa2GHc{Ac}jZhV~8 zhtBSptB>YP#-O=hjg?*BFBb4}O_A_r ziFaYK6{}Dlenw>t)jrAx8OwLbj{c&rJ^d56+YWZNs<94>+XG~|5W0D$UYDQr>J9P@ zFcCdZ-Hk9$@qVZ1WHH1P4k4h{+`hbCrY+@BH+;h}xVT3Er0h+arp4`zIV?_JVj;j( zO1DsH-gi4^C9~P{@C-2N#p0K%^zP?#0AYgpR_0x^y6fw&HFzh*NuI|uo_hy!v`{kG@zt8;X*ny!N{J(#%deDCzKc$0Ls*a+2F-E z>`$U{E|78$!NAIre(dq+aop@99G6Pg5enPI@TQvYZ3_$W2nj*wML7fPyIuK~FdQq^ z{Zv(p&y)VJ54){|E%UJ19-MA;h}<;F(q7G`IsGIr*cCS zI+*FGmx5KTfUUp^8rxRQqN55h{LR%r={iE<(&U2`bW5NDT-WGh6&?O>8b??5{I+`> z`j2ZNU+n%e{F$bVGM}|D*rQRS{=*Hcojftw=ChyT6Wy=R!wmi z*h3X!4E%_Vn^@fLa@4FZaTKB`P<-UOuzGa#pRar&EAtV~D6=J^*+p{rpSm#O&OeSe zwn_9Si+cs`Z+|6y%y=jFw_C%u=z>2?Wiz@TAzDqnAeQOo?jSc(_sO<;=Hb3-jcHHv z%Fa2iD1RG7(_jnxBRaKiS6cn!t|)1eYI}(l z`rt*YgvYy7Cv(1Nt9Ai2Gn*nnz9TQE|06v?m3!uP%xW%eb@d%RXxq@LUWW$L9q)v0 z9Yy$XL$w}{vz%X};nx&s9?!D1Y2I$lufZBZ7%3&Wn28(WgC8{Er9{CA95)5`;&&*U z)KonHg?J=GSc`i|OyvW1TR6a;2p|u7LDDE<>TeeVWQt~7qR*4veoC2*M#_Dp$IykO zDd^(M)?{(2cI%D+e@+fs8CcL4%_KA*BA*}B0HOmM0Kq<|6VL1YJLT={zfb3Ae9hF( z67NrHRE4fAwmPM1iz>OukJWoL1|LQX?HoHH`yphrVvg~uBu|h=8RcZU2!W+v>E9|o zD3i4&$BTf zgfSQiU(b)E@$@#0xS+I0(P3#0dBiSi+-GKyA5Zt@|GN5PoR`+~!U`S|g)8Pn_)%O? zipq*F)j^3c<+p2EnavSU(?4IBIw<+2X_(!P3qtBE<~b<{JNBR|uVq!cJ_N47(5<#z z+fkMN^qP5zMk*jweyMr1Wc|X5VcE8m`FeG!KKtEn9k& zX$QOVMs;4C_1J^%bsh3OYO1y60SZ6+L`Uyg6ic&2|HXY$%5W^UT>hZ>g9(=^dnax2 zK+cUhnh0Z%d)y?|JncyVcJ{=rYm?uIG3>f**!kp?<@g;8Sj8OL8cY}_xB;k;Fp8M@ zw{<_F_Vgk4CV~BZw7>4DtiBs`JoxzYWxO`}eV-@=FN92rHOjU~n{lBGx|7H$s|Dh3 zQXT8G2=>2j;yc!1U||@lZ0uCXO3f;+8#v6~ug)5FUw8{R30&iwWe<9RD6&JAhunyo`<(LVrjr< zqPbEe@`E_nx=UwLJM)c#@p_%;gWDt(V$esOPPxI_%iW$+pB#KnYG3T)&Irb;S&{Rg zjRVw;&Ux#w-uIg;e{={J>1n2QZelLZh|*_lc#D=-GYDBqvQ62q(r+Oyn@{y=l_RuY z>b6_t>+fIixg`MvEXX?KCF&T{bgk`OCUiCB?a0kHvLXJZ*BYvokBlYHw#SDvS~j-8 zQu&0eC29BqiCyRe!U$Zq@J5MS`R6{-vD|#9E0-|;@&d^k7vs17;*U<*q#$Xc4rCZ$ za=5VG3XZFdgQL_=Qu9{};+0&LYb)C=ohg1qb|Jv+2J@mtl4WXWa9@zE)np_8IScrx-T*7%AGR_T=*;t{@MlBCUiB`-13ap_&b& z12!qyfk&_lRdB&O`RRiPX9g%87i7lJm9)2?( z#c3a5xRv3L6&)Y*zfFcGlq1gz0!jQ!$>m2I%6;*JQ;SJM$QJEgkxwzbvl6bq-EGRX zN8LV1o^!l?zPdBR*z@%(Nt+su)j3f?i^6Js@i<_C<=U59j3-=ui}hwn7W-#{N5xvx z$Ere_%_UaOgp`tw#k#h%9Bb`Cx=sC!V`JR^7&brGSbCh6?zT9wjv-J@t=?$6$KvyP{&Q|DMIWqBLhSa-+ zZ&3TjymM9wE7VnbedaUE-mnv!&WKNtRe|K?tUuf^?_Z}pxvvkafEFCWxc4OWsmaMR zru$03)8|vO=EZ?lm26Dx!7-x773{%Jn9B1rU0b!lC+)(REb7!DH?#SUzCKg0Xpm&R z$6S6OF0CBP9ejLaa9Qye1hh~SX@e^^1s(BihnAbwLL0p{RKghylcwyM09mgmS`7P7+~|LlhSdNylg85w*tSDkO~L4 z0;<-zD9P{R2FB|Mc8l~(ya-avR0x(-dIUDO`eLpwm8Had4A%F!4W)SN8@eW}@14>| z9zTa2k|nN?7EgRj6+h#M?g0Nf&CZ;Ox8m#blAR;#6tlaIw?NXljQhc|ly_@h+|}(5 zEuR8Z=;nl?9TV^D*>!08u75h-DZ6A|t&$gwR~-u%9J2wPC$Q}VKRyH+(2R5Cy%ay* zsW#z|D1j%i$m`@jA`FRYA$|i6fH}rgygv+Q3yJ|-%P;65%5DxO_gKYDOTuqq+~zIa z+!WrD6s%3K7B}68Pv)t~ ztln>MAL_!QnL=!v9{n>0uP{`oQKOh$%0}~#iv32BZ*nJ_Ga*GDL@I;r5Q%$nv^Esb zt&_uWt+W!Lwkl$lzT+|MMgzfp$g#wPMg%2DbOfS#+GsrwaAB8Ly13-H4YrHiW>3sv z5e~4G2Tvlkrcyqo_{bMp19S7)WRAO@;y#qScZv5m!Lrby5QB`EFQKa>6<5y?g<*hJ zLt(PQwwkby(o#r^&ES& zwP_5dDa}u3ScP6VaAiRsE;DT28YY^VyCzYtuYaZ6-d=d9 zvzq&#x|kBB=`S{-(tSpKn*N&S!g(#yKLG>3)^NBVPXE&_Ja_E!=p`0^ss9{)5v0Z|8%|=0~<|MO4LQ6@l}=WcYYbgAEU&@u%6s$e~=cCykeKg3!F%T%%JX9LZcB*iW zelg7)8h4gz>GaXKZ~YTB1I}6ApZ;({owIy)$VsmEFh17^k17*O{LQ4=udo{7waN_v`tAXj zub-@mlo4uY;kgJ=4*L<>Zxlk`KP?eXD+z+i(KP*;wFx%ej{{VM6zw{27pztdrrC(; zhZI8L4pHB!2Dr#QOUf&xKgVj376l-PP$UwR@`E3abMpi)`MSNb&)Nz~LXZ_yP(U|-=u-3hD)WWgD=S&=D+j31knq5-s@Ni)O#z`FBfX01X}0xz zrk}t6N|$VC`10qW$IZ%FWjfH$5jC*L56`k(ni|1h@ODU4Rw^(gP8(%W^@k(O?Nt3r z{;^R6#P}G(W!Gv{KAXlj^p`*U?VL7YVK4HOX)s5GVGl-qz2fyvZ zQpOVN@z1m`fA$#~34tVnO0pphGj}Lx5h}a}b58|(=o{_I8lF~f-CF9?hu-77HS*wy zwR2P_GNfcL1X|xuHVBQK8Pu@nyD3gwpDq^>6`mnGqAqDq@*5xv0GHjVrlvS zg6F0*FC9&K-=)1hO13L5(MEV%+UoT|V--3}-fyh-1~_K?gTggg@0oDUiTI``i*SLZ z>pRyK7%5672ze`AsF?hl5rLrGlif*uBJ%YAWy@MY%uj-o z*&op&I6J^S@YD{SuMP=4R2Yi;ANBYnYy_Yw9hYC7hPk0VtvVE6N#lUgR0lqgGXrD8 zr&e7JZ?4FDHii8QakhNlJw3Ep8V(DO-!c8x$(39FQq&*Yg`9Y(8afO#|B%m3@iCL! z{GuOg`|HMX9|)+WdaVJfqRbE)W%?~BPFrcJ>nkMko~cV&fl}7kYf}mY0MS=eS*e*V z!v7Ob;s3j9D-g>0tJN$|yw+(8Q|^}$sK!Rf_Dh~jhWfjS3uYs{9!I>l>Q6vL)9mF0 zp0WW?BRI}0!f4KWNLex~*9N3eG!Ye_g`g=dw@K9xfMBRqrqh9^G(sCtA( zPh}Ny3sWKibpAfg!bQo8cG;|99guOulu5JjU(O0l@)TGhu|XU6wu#f98-vMic11a4 zBh?idXu_wgS}(tJ+yPfyyY@Ns)Cm~YLun_nBIiDREw0Go*JRKDL5<8jY~Eq9t<}E? zynN9W4K{E{bM|%VdKR2UUbL3&yhgR=cQhXL8E|+eN(J(->r+3=+r9ae^E+*FU}GuJ^}xNA=OPCB1Vp?=_MaUfAh}_1yM~m`V3o*K5H8p1HZn&RAz> zy91aeI6T_&6KPe2-?@uEhuWBGq{vmg5zbdTxGFd!RgAWZ=9+QP+|NpM+0PTsGPpmF z5Y6I^>% zeljc_WT5j^)g<-LB!LgR=v{te5jRf|D)0jlHNa^Y(rzw2iFLQ(zp!${Ww#UF1X`b_ zew$BuVMgma|J29-9ikEB3U7T?6?RRhuc0|MP1%~kzG9otGr+AJ$l?0ZdO=n+PZ+SJ zXd0U%>-7uSFz4F(?8`}n1V_g&{U^oR%7C=7pFNhcZ#xn#S&ZT=k}X#AXK1u$$sYslJ*S{g2n3mjo0h4UjX# zB*l_f@(na2O!)DRnjEx{FV)Ki%x-R`vi(EKKpI8*96$!_IY6ZG2S6B}ZBY~TxzoBtGTK z0N@N5kae?!GG&ne%bDJ4`1=~x^R~pkNv&=8-C8BmLNeV=>v=xXFFYR(U`veYTO!$O zrUZYM@Tb8FVu;JTOiO;tm$YaQ=2;WuGzaps1oHwlojo-hwA#m9hua>1FNenyL+`}QTuyZrO(Rd(A;Z{eYrItmO+X{VDDi7zGX z*THslUAk<%J@1~f{yHe=HXI5^EA_P9M1Yk2FiAbAFw6#Rq48@%7+-=HaHh&Ay!2xT z?UvQ)ZSYV{68;;Upt%)*5Jkw!mtLXnkf?vMlETQ6$~J$)9Azu`OJ5w}B9(Yf{>q2Y z%i7v8#YJBMH~kFSRfRU-k(2M$CL@8qRW6?i)%5p$&l7ekO*hyYJ<}eG?wH+yVOdXy zx66ahHtm9wcQ-j`$uU40%i?=%;{e(!9f$kjbs89E=fiHngK)Jg^*oR zBEA@A8f~8KxYHDJ%}C^oEKteSOnqleuSSLt5El#yx>b8tUvji|>T(8^-YzbJ=%?*S z&4KHKK#pOZ!0&CTCXeP6@H)S*2zHr-GC^{E-}QrWb2w3#7fv{cm##BjZyxB;BSt~q zVu(yJZBe@8ABLDNnRfbRIl6eR=j}^!p%TM-3UP{BCHI|AVA(& zexW9H{u1{WJ9i&$l3tfjhuq>|dPyi{J)DOxj!mk`NX5RR&hl&@+g_BrmfL5w8I}TZ zetVP~_|7is*SgLZ_(xU_TDZomlMCFSr4II=GiH3MB;I_&GO?4CsCamFZRv>dAabM3lYO{?cHO}1)ppM%`7q`p=ITxqW03vPwbnnk$F5$yK;E~#=z4E}7mQKn zu3A`;`zKLdla1dnGXZ-~<2g z$Z}*l0a&3q1vI#J@PfSiw!58NG-+Go`0iuUJMK5K7@HoU#n878_f-^5ZdwCWAG10f>sjdUu!x&Dqbsr! zOhuMDN$Gn~PgEgbk?oHk@DYAnaWjZSD@cXMT|1C63BT(5d#WIshyK0l!5?UTLdwE= zfeEClW*}#~`)YD5Jt%5kQVMJhJ^Bf_`5qI$M*T|*2WQESlcA)>3fo?1!49C%wLOET zEle46UV#yXY_Ywp|BQ)vQxCuip)Bo?j$GJzNkj3pYr4v+BLV}p|NhGHEi$I*&fOpi z>(r-EbyDXJwf)Ua5rv;;6D~+k`!b}Gf;Sgw3Abld(YtsY=Dqf=MMJL4BGb&iXa|uDsN+{D)1frgK2HjPT z|KQ5nK`V9>{O3*i=hQxV*8vclYHcj?Fo__-cjg>Lq>-nO8l(}#X=8-!-QV8e5xW5r zq`PVTF7fpTCSF>a#Zt9oWTSi^@9sf2Pe8h6W367T_AEKb^PzHf8}4$hBj#X^ij6~j zOk)vrXv0aF;8+OK20(3;BOz?)xYj4ZO`{?b07jF?))+v`o1FYdS={fv%uD;;Ts?JI ziSnXCCy5%DgO%wc;sjg+I$)re*`2aqG$dDNdh=x{3KK@>Ha(^q`ncxeyguj80`_&( zdeikYAW3CC0`YS6AoVYx0I^4+>J(l_Ij(%i_*&`woo`!%v73Qe})A{~VK z$ebR@P_1EWeBU*ei!w%rh-mw(1}_T#u*q)ZCFTWq1RYMVly~~~?fGZhxY^aUf$YE9 zeI-@7%HY*i5|)!)yNH+IHiIVtX|IN}6z@hP898?JM<1$9VuBsgs2iNWXbY07bkQ5v zlH4jcX&jq$b#KXY(stMt>9kzCKV3A!v$9b1R3>|U!62eMlDzJ@$6@;(o{~&mG%?K0 zjWolWtVM07-uCB{jh97i$I#qb=DBC2lU(zTR~y2LKy#>b2QOqY3rcE-eu@wRvA^e( z>bqn+{MnFzAAc02pc)iwbH`e;Lo~@Q)fZcG{GsLp-)~go@lG*QNwAasba3xg!-r8HD&R zxg+p^-7iwS9M-((xQb1ko`=0Nm*Fa6cgr<|WsbhWDGXxi0nlKz`a~g}*nFqN#)k zkCM{+s19GP9_~d-T*_Q2#<1bF#`gERz3d|6d0wSS2CYe?!U^3OgzIc4gk3_58)B7e zc~7!V3{yU6Rx>i)6G=5Wfrd@)Q=qNZ2t?eyi@SfB9faawI-lKl#vocb`7x zaz&odb-tdrJX#frQ4XuPo!c)U2}ICm><{!og~7Ro+!NqIDgr<{;+hS%^2cX~k0&_? zLO(@f(#p78YyIc%T>R()n)u~mC=sMACGc-kZw|swpjiG>VA&CX3&pKeE{$MACH8gT zsdcH)r(6m(Q$fBc6ER7OwIvm5^r8Afv%p?>9nT>)w}M3Qm`8Txl(x*pM*X>Xhn(Bs z>62J#vTfk>M#IX&!z}>-C;0GW#1ha!rMwwOGBU*_U*<<+eSm-2vv0G@U2bLKBgWLp z)xnAu=@2b@2Y6Zl?_oAlz}!G_j`0A*0#aVmg22jKneXfNthuhgVhyqO=xO5G2YNpe zpKl77hX7nTtFz-bHiA22xyd#V>$=;JWvgBafyI!BPCS??)TJ^M09 zS2e^;>;gxuEB`^L!plQgEeiDGnBfNZZ0c>mIx^UJGZBCk9wMlkF))xE+J1T zb=~LMEbjhxzdQF7o96iO=*Er?BD7W?H#0}WeZT9F)E!>3n-Hf_Gt9QpC%19iO%K!l zVxss-k;EekT4_0-Jc{jHO0w%}-N583*3v|AJ$is0k`?uw#M{<+&UX8Hyi+Z~ zjv&37DxrcDO|ecAfj0_U`3f`!rnX~2y^7bVI_(0s_pAO508ftMS3JLM(WgBooOcsg z8n)9iO(4CeuU13)wu5ze4Fp01`rtXIkSo+ftQz1dx=Q+-5!;-q>mC2_$Nn^z!t3ph z&a6>Mcw^gBf(iW*zwXWudvtZzng*Thl63;_Y8O|KDc!%dS%@)SrWoF^;&VM2y z9S>|D>~uU}B~ECAe`tI$d(7s4jdD@S8Y|^#d-{kF5C55@Jaur@F8wD9=E7%mNVJWlrI_WpGD*BnzVqi6mLu=NT%to~ga(8jwp|{$|BNx*ZH2W6kw!9} zVJa8B>6Om&a3-;kHv$#ITasGpHDqK-&}VG`t`g zJlx8x@#qG_7jc5)pPsd453jdnYNJkj>8(y4&Hg(Wss>y08zm&muW2e(V@m;#;yH$4 zE^v^bcCR(nJ|+5DoIMSuF_EUpv_2{nY?xf3zM*}GrU0p5Je0QJ$qtFYfgi5#A{8dHvgLOc0QNuhc3eZK6bZDR3I8U}TYD>5I zTB;f)8LM8gil+lPijSp}z6&&=qq|YIx|RrGB&;VT@gwA1g=eV5()gH1h}nlkK2NM~ zvEhUEJ)>Y-vY>~D%F_45eqtYf zt*fm}6_z69$az0;ryAx+io|C-mn%hNjVwpdviF`>Juf7zf9_L(e@}R?6xH(7SB0;b zia${`$@ntpI1Ndd*cA|Q^Eqj!gWfM3Sf_{xt>MQ-UXClJ+M65QVzUvBda290Ne@7_ zb)Dyq6Hde(T7&~-+~11Vpswcntm)-sTql$df2xbid(HIokT#*m+NqHOM)(3F)#H-V z4nAXhL{yb%aeL?6iK+r^XXDn9`td_p(hImYxd+Bv4Dw~~`y=eUE2M%m$?Lh@NmZR| zICs&!VH-76b53wXH7?8s{3BZgotzI{DT)KZ0Xw{E_Rnqs7&d+wcylkqq}<&gyg*Yv z_$3MA){l)yL60hiQG8){X|LLQPD$N~=W$d>T0!c^%JqTtxF7U(bFolQ6%PnV5T4cp zPI7Y(`dX#;;tdTrlw1tpM!VCM_U;21x3fKS#I7&CS>v)1y)xS5XC}((uzWkfo(2`y zq>3wzjnf#Ase!5bWO)vzb>5jn8YA@&{Fsi~AryTCqo4Td_M)AB*}R^`w)q_ zvH1|`Y`VnD?|YN-DOK};PDL3d4gpCx$V!}o+>ZkpLvK58B-ozv5m;cN4}Bk}XUti4 zGb?-&K3IHB`1C*VVF7%e!Pj|f^K_^tz+g>7uR4GT()jYGY2F?`kSs+4u|>$h7hZEb zT73OThy(SYM)S4yOz>{GZk&!s&{930p)w2EPuL zfFP^stnYd)Erkv)m($3~YUV}ccSc-C%=}#ArCAzweSxy*7$v`4`esaQPxp>C{du!i zEm~K1hjqlk`zOC?b3hH$W1-qmd1949{l(`%8b{`7MumV4VXzI{Y)j0tr3*Qvu$5hx zF%GnoES8i(RdCBX=P9$<-s1$1VE&+d0RChXUfRkQ7y|Nang+ zoYqRsm{yTg=LBybs0keXCTa1lt-b5kGngsUtOLVMoGS5??{g7}osj!u+#DDWhJs&? zcEi!SVLeQz06a!v}2ma+UCQ#1}o)*-T zT1%J5hDk4zxjc~wIHT_AZ~ObTa*drg{KSK)R*NT2gNVzQir~ZiAzb~1k=MwIIM)BR zWo5G$dtJt#N)?4rB57LdBoFH3;$;AQ`cR+>N+X#e5m{3Po(gBzD7jBGnO8sLDcs(nYLeVwK;N>JS$;7A0HQB%yU-d&QdW2sl^ z+vTb_DoAcwFI?cJ0mXRSc7usXyI^1B*7xPU&g+IFJpYotOGsLE0z42a2AzJ-L z+b>LKE^{Aofhr@vz(y-6Xh63|XrL01Mr?HIp4Bs}i$0#mx2LU6#XcMCC|c{w7q)eC z*R)u{&VD4_!8nCX{Ae`elXE#JJ0AR}RLQ3c-0KPNeQ3;iQ(-{iB5}{^cqZ6!ud$vt z(Y<=+@@QpIlT!n;7Q=6ki&Y99-c~$gvHvr!`&Pk(AmxT>B5GUzL$jW!R0S%DiGK5| zk+_&Qhlk$GAo3-W*0bw>>Y70Ah^o(*k+iW81Jcg>-rPWM{A;>_QV4ohsZ~B9kK;CaeZ&Z?wa-F}!{mN3OjsWt+9>bx84 zfqrtC$QBDgYv>GSD1)sP9dR$#l`f}qOzH=heZUuC=YS$ww z_BgRKt-o z#pbutGh&(ew3|nQTVmSxN~?R(_o{Y*As}x0w}QrL&i}q`->ZW^2cNXMbBX8MP>=Uc z|J4HM&fQbQbB=q2OHGngl$n+9;fdYmt;%+n_DYm$OtZ!IzFo%s-CGxP0k46^!alxW zqTcy4vgCb-DMbsyYHzoU=RZ~It2>T0@+0RUyyGJs-CpO<^#z z9>0mg3k{l|HTO2_Z!_;}zlKxl=-yh^W6mX<=*aPNZZf%q)PZgaUw^L*oiXVWq&Ns1 zUZ@$vG91+?2g5iZy`=FJwpJz^|HB*Py^c<%rYMM{c0DA`rBe&%`vsI!uTMQ=@FD##h1I&3LeVxXofj@&Lj2b4+Nj5 z<)o-9OA3KFZfq!-n1ggVX* zg7DWPR#=6>X;9yLQ>-C!T0>ue)!z!BIh!A(E!*DWtM9%;(kH{lZur0o_tP!+d;7dV zp}69_Z(-S8we0IL?HmVDo+3L>U5g#oUr(cz&(f^}QBK&-RTVtLhH}sJ+?+TZws5Nh zORB#=>?K5!)?V+Sq+dSZPzR#(d^YtNvM(C%C4pinH-|UI#^|vo&zW82 z+p)uXBSq9k2=&)=XtbaCY5eJyT(`D+X>h7cIfwT=4pQga3yiEY0ap+s`%1IPO0a29 z^i%&_cH?hwO zr1Y<8QF7dn+vUzrBKhHnW0-Gs4spv0$k)9vT6G$LJ|#tVu3l5@OMRzZ>kyWA@1yn7+>~(^Q}OshBofe*RRV z8@@K=qxrIMo1CFG1uVquz$UxTvF@()e9Ue$10dFt{aG1#LaGwT0f93;y5C9c21oV6c;D=cM zqd@GKt>+1uI$CUvU=sGO{;t|cViVLZ=a2~C$O}MA;Xwrqn_jSeBJY;%km(|_iAF!5 zeRhdA$@)b;gE4}V)oTA<5WYN3kVOlCvLYQI(b?S*NI=Ip8*=4$8EX6GM-7J{O%N$W zUW1`J2H=g;>-u6as?|4jR+_T9ofJpZWU~54Apj9VP{jV7{f5YGgoyR4EUten-NXV_ zDowx|Cu>G5V4Tg1f;#9yMB(5bwTBWItGZ7e+-FdBFjdA{Nke6q?0!@fq=EVj&UILT zJ>B_`I1H$7bLv2SF%L5KJfaI()^#JdSX4cjQt%r^nLRFqYUZ3*UmB+`IN(fdYqw5* z+JEdBlUq`1ah8NF@DZaF+Z@P={F@7=f+N1T5~f?=GlEfTz(z%e!e9Q;hjvzn4V{#_(E`?!0o2@oTN3Dc@1P=L4 zzP+R^?e+4*+v32lmoHm7Ry)xI2y$}@VE*CvE2hbT(lMkR$KdmP;)eNmUkF*yTINI&9X&zs`5 zmR>j;JwdaC`*__;Yx2*48$45VUdAfJN?^{Ha4U(Qin+WBLsjDr@Nwq-WOgX0d!fCZqL=E~-Jq zma$on`S`rY)O(l69`T!G4?IIpk4UPHce9qWRCy1gqH5 zdGrqPSdj0JxBe#_s%5Z$^~NoI7)Ki4JGo8m7<+tAS2&up(qHl2KVeP$1l_q#{scuX za6N#HpKPf@(WidcHzg%Tr6KK`0vS#bGEC0O5zH!eF^ksfp<>GQih zRvWhbSJdMR&^vee6Q56%#-pS7CUGjatMrIuK zWoob#Emcf?%AbP{b;`!wTagBJ+{*pPaaF#-)S=&P)>d+Tv`3N@zgHB)uSj{K@Cst0 z0^hQ!$gYMR?%V5n+`vN06IZVKQ?WE`#aKRJexJSX#w|pw-U=!e(o#m;`LoK+-c`%I zK%Vo*-hI11Z(cq9rCfFQ^fZ4hofMBWV6`_&De>^jos`csNY|Z_znkT|1)Ic8o)B(j z?Ceu?Ubj`uvg;D)`Q$(W)`4BE|yO=I{^92z3^r(_O!O<3knOJT;?;?aT^ ztE+b}wAVYxyQxW4S$qDP8oG^ns=3Phas0{DU3|p>^jGKkewgnc<0xLA60j9nl{&4Y zR(5QPO9AYqlsC6;V^=rDt{nkCGiIG!FG$op;9|#Zq#PPV9HZ@UPUb_~2Zf`1=iML9 z$*-$0`{j!|f93b|k+}MG=hoq~BYi=X64J!8CAP=9VT0r#BvpLS{4gP*-)G@ccb@4h z{0%-Tl0e5FeR8_+=*1$|Tzfxs|0jpXVG(dJtDh%%qFg&NjEFF|w$?TGPHuWZ#L=Ps zn*Il@fki?Ov)7mJYJS{H&`E(&e!^D)RossJHmTVQ?Po>3%DP!Pec9&q3jLDcf`07V zzUuC$rVla=&Dak37@XydT=9{eUja838o1l}tgulhzQ$Q8S9P^>nOzecHDMcAE#Qw* zOM_i5#7&>!j@1u!h~>0A)5sTE*hLP@Ow50dqS4f9YkDnmPh&sXgO-r?W*uH^t^D)B z9%bxXA@BE%R&gQ9UvhylOFRYZzXFgt69)P)dwSqW%C@M`N@%$E`Wya6gG^Y8>X<{V zVp#M28%aDG7siHM$ae`T{TovT*>ubPReo1yWYjveCz0&Gc9LTRIl69Fm$Pz1BJX7PeasHbDIy+_hd2Sqm42&1 z^uzZyEG;V)*TN5*v;vo2HY=fgayN%c4r_zR)_US3lukv=fb(@;@p^RPEm~$r-j_4h zmd6V{II%NacxPcTbWx_qIk8TveZBDfj3G4wejB@eV~{EM&bKhvO8Ql4e`ncvi#8ZX zS}TiPM&$~)11g1HPMgym6~|lIIehaxn60O|F3Ila*}R7Xof=3$ZLbt_Wd{b_Hs7-P zBXX(zrkBuYFFw}p-E~TyViA6}EQNB<$aXU{bFhgPPrNH$+2!8S2%>Nfe=vx|Z0j)B z?B&j89?dB3RNdrKU^)3MmrQdQk~{gaZnk^9zl_JWMeO~B77wq3-{SyCdc5VH4wlC)%w}%iioz3n# z=`tnQ6bDh(�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 LcwuhM2%ePQQTL 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

%&3?9g$vX7IMIPzT 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


0vl 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

* With this setup, we can use a basic graph search algorithm (e.g. BFS) to resolve the shortest path to build a connection */ - private AuthenticationFlowResolver(Map credentialBuildersIndex, Map connectionBuildersIndex, Identity identity, AuthenticationConfiguration authenticationConfiguration, AuthenticationMechanism authenticationMechanism, ConnectionSpecification connectionSpecification) + private AuthenticationFlowResolver(Map credentialBuildersIndex, Map connectionBuildersIndex, Identity identity, AuthenticationConfiguration authenticationConfiguration, AuthenticationMechanismType authenticationMechanismType, ConnectionSpecification connectionSpecification) { // add start node (i.e. identity node) this.startNode = new FlowNode(identity); @@ -228,10 +191,10 @@ private void processEdge(FlowNode node, FlowNode adjacentNode) /** * Resolves the authentication flow in order to build a connection for a specified identity */ - public static ResolutionResult run(Map credentialBuildersIndex, Map connectionBuildersIndex, Identity identity, AuthenticationMechanism authenticationMechanism, AuthenticationConfiguration authenticationConfiguration, ConnectionSpecification connectionSpecification) + public static ResolutionResult run(Map credentialBuildersIndex, Map connectionBuildersIndex, Identity identity, AuthenticationMechanismType authenticationMechanismType, AuthenticationConfiguration authenticationConfiguration, ConnectionSpecification connectionSpecification) { // using BFS algo to search for the shortest (non-cyclic) path - AuthenticationFlowResolver state = new AuthenticationFlowResolver(credentialBuildersIndex, connectionBuildersIndex, identity, authenticationConfiguration, authenticationMechanism, connectionSpecification); + AuthenticationFlowResolver state = new AuthenticationFlowResolver(credentialBuildersIndex, connectionBuildersIndex, identity, authenticationConfiguration, authenticationMechanismType, connectionSpecification); boolean found = false; Set visitedNodes = new HashSet<>(); // Create a set to keep track of visited vertices @@ -371,76 +334,74 @@ public ResolutionResult(List flow, Class T getConnection(Identity identity, StoreInstance storeInstance, AuthenticationConfiguration authenticationConfiguration) throws Exception - { - return this.getConnection(identity, this.getAuthenticator(identity, storeInstance, authenticationConfiguration)); - } - - public T getConnection(Identity identity, String storeInstanceIdentifier, AuthenticationConfiguration authenticationConfiguration) throws Exception + public T getConnection(Identity identity, Connection connection, AuthenticationConfiguration authenticationConfiguration) throws Exception { - return this.getConnection(identity, this.getAuthenticator(identity, storeInstanceIdentifier, authenticationConfiguration)); + return this.getConnection(identity, this.getAuthenticator(identity, connection, authenticationConfiguration)); } - public T getConnection(Identity identity, StoreInstance storeInstance) throws Exception + public T getConnection(Identity identity, Connection connection) throws Exception { - return this.getConnection(identity, this.getAuthenticator(identity, storeInstance)); + return this.getConnection(identity, this.getAuthenticator(identity, connection)); } - public T getConnection(Identity identity, String storeInstanceIdentifier) throws Exception + public T getConnection(Identity identity, Authenticator authenticator) throws Exception { - return this.getConnection(identity, this.getAuthenticator(identity, storeInstanceIdentifier)); + ConnectionBuilder flow = (ConnectionBuilder) authenticator.getConnectionBuilder(); + return flow.getConnection(authenticator.getConnection().getConnectionSpecification(), flow.getAuthenticatorCompatible(authenticator), identity); } - public T getConnection(Identity identity, Authenticator authenticator) throws Exception + public static Builder builder() { - ConnectionBuilder flow = (ConnectionBuilder) authenticator.getConnectionBuilder(); - return flow.getConnection(authenticator.getStoreInstance().getConnectionSpecification(), flow.getAuthenticatorCompatible(authenticator), identity); + return new Builder(); } public static class Builder { - private final LegendEnvironment environment; - private final StoreInstanceProvider storeInstanceProvider; + private LegendEnvironment environment; private final List credentialBuilders = Lists.mutable.empty(); private final List connectionBuilders = Lists.mutable.empty(); - public Builder(LegendEnvironment environment, StoreInstanceProvider storeInstanceProvider) + private Builder() + { + } + + public Builder environment(LegendEnvironment environment) { this.environment = environment; - this.storeInstanceProvider = storeInstanceProvider; + return this; } - public Builder withCredentialBuilders(List credentialBuilders) + public Builder credentialBuilders(List credentialBuilders) { this.credentialBuilders.addAll(credentialBuilders); return this; } - public Builder withCredentialBuilders(CredentialBuilder... credentialBuilders) + public Builder credentialBuilders(CredentialBuilder... credentialBuilders) { this.credentialBuilders.addAll(Lists.mutable.with(credentialBuilders)); return this; } - public Builder withCredentialBuilder(CredentialBuilder credentialBuilder) + public Builder credentialBuilder(CredentialBuilder credentialBuilder) { this.credentialBuilders.add(credentialBuilder); return this; } - public Builder withConnectionBuilders(List connectionBuilders) + public Builder connectionBuilders(List connectionBuilders) { this.connectionBuilders.addAll(connectionBuilders); return this; } - public Builder withConnectionBuilders(ConnectionBuilder... connectionBuilders) + public Builder connectionBuilders(ConnectionBuilder... connectionBuilders) { this.connectionBuilders.addAll(Lists.mutable.with(connectionBuilders)); return this; } - public Builder withConnectionBuilder(ConnectionBuilder connectionBuilder) + public Builder connectionBuilder(ConnectionBuilder connectionBuilder) { this.connectionBuilders.add(connectionBuilder); return this; @@ -459,7 +420,6 @@ public ConnectionFactory build() return new ConnectionFactory( this.environment, - this.storeInstanceProvider, this.credentialBuilders, this.connectionBuilders ); diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionManager.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionManager.java similarity index 100% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionManager.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionManager.java diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java similarity index 96% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java index 0f4726abfd7..404074863a1 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/CredentialBuilder.java @@ -14,7 +14,7 @@ package org.finos.legend.connection; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseSupport.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseSupport.java new file mode 100644 index 00000000000..7649cb9aedc --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseSupport.java @@ -0,0 +1,165 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection; + +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.factory.Maps; +import org.eclipse.collections.api.list.ImmutableList; +import org.eclipse.collections.api.map.ImmutableMap; +import org.eclipse.collections.impl.utility.ListIterate; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * A DatabaseSupport describes the capabilities supported by a database. + * For now, it describes the authentication mechanisms. + */ +public final class DatabaseSupport +{ + private final DatabaseType databaseType; + private final ImmutableMap authenticationMechanismsIndex; + private final ImmutableList authenticationMechanismTypes; + + private DatabaseSupport(DatabaseType databaseType, List authenticationMechanisms) + { + this.databaseType = Objects.requireNonNull(databaseType, "Database type is missing"); + + Map authenticationMechanismsIndex = new LinkedHashMap<>(); + List authenticationMechanismTypes = Lists.mutable.empty(); + Map, AuthenticationMechanismType> authenticationConfigurationTypeIndex = new LinkedHashMap<>(); + for (AuthenticationMechanism authenticationMechanism : authenticationMechanisms) + { + AuthenticationMechanismType authenticationMechanismType = authenticationMechanism.getAuthenticationMechanismType(); + if (authenticationMechanismsIndex.containsKey(authenticationMechanismType.getIdentifier())) + { + throw new RuntimeException(String.format("Found multiple authentication mechanisms with type '%s'", authenticationMechanismType.getIdentifier())); + } + authenticationMechanismsIndex.put(authenticationMechanismType.getIdentifier(), authenticationMechanism); + authenticationMechanism.getAuthenticationConfigurationTypes().forEach(authenticationConfigurationType -> + { + if (authenticationConfigurationTypeIndex.containsKey(authenticationConfigurationType)) + { + throw new RuntimeException(String.format("Authentication configuration type '%s' is associated with multiple authentication mechanisms", authenticationConfigurationType.getSimpleName())); + } + authenticationConfigurationTypeIndex.put(authenticationConfigurationType, authenticationMechanismType); + }); + authenticationMechanismTypes.add(authenticationMechanism.getAuthenticationMechanismType()); + } + + this.authenticationMechanismTypes = Lists.immutable.withAll(authenticationMechanismTypes); + this.authenticationMechanismsIndex = Maps.immutable.withAll(authenticationMechanismsIndex); + + authenticationMechanisms.forEach((authenticationMechanism) -> + { + if (authenticationMechanism.getAuthenticationConfigurationTypes().isEmpty()) + { + throw new RuntimeException(String.format("No authentication configuration type is associated with authentication mechanism '%s'", authenticationMechanism.getAuthenticationMechanismType().getIdentifier())); + } + }); + } + + public DatabaseType getDatabaseType() + { + return this.databaseType; + } + + public AuthenticationMechanism getAuthenticationMechanism(AuthenticationMechanismType authenticationMechanismType) + { + return authenticationMechanismsIndex.get(authenticationMechanismType.getIdentifier()); + } + + public ImmutableList getAuthenticationMechanismTypes() + { + return this.authenticationMechanismTypes; + } + + public static void verifyDatabaseType(DatabaseSupport databaseSupport, DatabaseType databaseType) + { + if (!databaseType.equals(databaseSupport.getDatabaseType())) + { + + throw new RuntimeException(String.format("Expected database type '%s'", databaseType.getIdentifier())); + } + } + + public static Builder builder() + { + return new Builder(); + } + + public static class Builder + { + private DatabaseType databaseType; + private final List authenticationMechanisms = Lists.mutable.empty(); + + private Builder() + { + } + + public Builder type(DatabaseType databaseType) + { + this.databaseType = databaseType; + return this; + } + + public Builder authenticationMechanism(AuthenticationMechanism authenticationMechanism) + { + this.authenticationMechanisms.add(authenticationMechanism); + return this; + } + + public Builder authenticationMechanisms(List authenticationMechanisms) + { + this.authenticationMechanisms.addAll(authenticationMechanisms); + return this; + } + + public Builder authenticationMechanisms(AuthenticationMechanism... authenticationMechanisms) + { + this.authenticationMechanisms.addAll(Lists.mutable.of(authenticationMechanisms)); + return this; + } + + public Builder fromProtocol(org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.DatabaseSupport databaseSupport, LegendEnvironment environment) + { + return this + .type(environment.getDatabaseType(databaseSupport.databaseType)) + .authenticationMechanisms( + databaseSupport.authenticationMechanisms != null + ? ListIterate.collect(databaseSupport.authenticationMechanisms, mechanism -> + AuthenticationMechanism + .builder() + .type(environment.getAuthenticationMechanism(mechanism.authenticationMechanismType)) + .authenticationConfigurationTypes( + ListIterate.collect(mechanism.configurationTypes, environment::getAuthenticationConfigurationType) + ) + .build()) + : Lists.mutable.empty() + ); + } + + public DatabaseSupport build() + { + return new DatabaseSupport( + this.databaseType, + this.authenticationMechanisms + ); + } + } +} diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/Database.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseType.java similarity index 91% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/Database.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseType.java index e999c689c69..19292292433 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/Database.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/DatabaseType.java @@ -14,7 +14,7 @@ package org.finos.legend.connection; -public interface Database +public interface DatabaseType { - String getLabel(); + String getIdentifier(); } diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java similarity index 80% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java index a02600a70a6..71065b9e4fc 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentityFactory.java @@ -21,6 +21,7 @@ import org.finos.legend.engine.shared.core.identity.factory.DefaultIdentityFactory; import java.util.List; +import java.util.Objects; public class IdentityFactory { @@ -28,7 +29,7 @@ public class IdentityFactory private IdentityFactory(LegendEnvironment environment) { - this.environment = environment; + this.environment = Objects.requireNonNull(environment, "environment is missing"); } // TODO: @akphi - this clones the logic from IdentityFactoryProvider, we should think about unifying them @@ -41,11 +42,11 @@ public Identity createIdentity(IdentitySpecification identitySpecification) // TODO: @akphi - should we restrict here that we can only either specify the subject/profiles? if (identitySpecification.getSubject() != null) { - credentials.addAll(DEFAULT.makeIdentity(identitySpecification.getSubject()).getCredentials().toList()); + return DEFAULT.makeIdentity(identitySpecification.getSubject()); } if (!identitySpecification.getProfiles().isEmpty()) { - credentials.addAll(DEFAULT.makeIdentity(Lists.mutable.withAll(identitySpecification.getProfiles())).getCredentials().toList()); + return DEFAULT.makeIdentity(Lists.mutable.withAll(identitySpecification.getProfiles())); } if (credentials.isEmpty()) { @@ -54,13 +55,23 @@ public Identity createIdentity(IdentitySpecification identitySpecification) return new Identity(identitySpecification.getName(), credentials); } + public static Builder builder() + { + return new Builder(); + } + public static class Builder { - private final LegendEnvironment environment; + private LegendEnvironment environment; + + private Builder() + { + } - public Builder(LegendEnvironment environment) + public Builder environment(LegendEnvironment environment) { this.environment = environment; + return this; } public IdentityFactory build() diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java similarity index 85% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java index 7a07c2f6989..50e60a670e8 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/IdentitySpecification.java @@ -20,7 +20,6 @@ import javax.security.auth.Subject; import java.util.List; -import java.util.Objects; public class IdentitySpecification { @@ -57,6 +56,11 @@ public List getCredentials() return credentials; } + public static Builder builder() + { + return new Builder(); + } + public static class Builder { private String name; @@ -64,37 +68,41 @@ public static class Builder private Subject subject; private final List credentials = Lists.mutable.empty(); - public Builder withName(String name) + private Builder() + { + } + + public Builder name(String name) { this.name = name; return this; } - public Builder withProfiles(List profiles) + public Builder profiles(List profiles) { this.profiles.addAll(profiles); return this; } - public Builder withProfile(CommonProfile profile) + public Builder profile(CommonProfile profile) { this.profiles.add(profile); return this; } - public Builder withSubject(Subject subject) + public Builder subject(Subject subject) { this.subject = subject; return this; } - public Builder withCredentials(List credentials) + public Builder credentials(List credentials) { this.credentials.addAll(credentials); return this; } - public Builder withCredential(Credential credential) + public Builder credentials(Credential credential) { this.credentials.add(credential); return this; diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java new file mode 100644 index 00000000000..6a9d44531d0 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java @@ -0,0 +1,209 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection; + +import org.eclipse.collections.api.block.function.Function0; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.list.ImmutableList; +import org.eclipse.collections.api.list.MutableList; +import org.eclipse.collections.api.map.ImmutableMap; +import org.eclipse.collections.impl.factory.Maps; +import org.eclipse.collections.impl.utility.LazyIterate; +import org.finos.legend.authentication.vault.CredentialVault; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; +import org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtensionLoader; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.CredentialVaultSecret; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.shared.core.identity.Identity; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.ServiceLoader; + +/** + * This is the runtime instance of configuration for Legend Engine, the place we package common configs, + * such as vaults, that can be passed to various parts of engine, authentication, connection factory, etc. + */ +public class LegendEnvironment +{ + protected final ImmutableList vaults; + protected final ImmutableList connectionExtensions; + protected final ImmutableMap authenticationMechanismsTypesIndex; + protected final ImmutableMap databaseTypesIndex; + protected final ImmutableMap> authenticationConfigurationTypesIndex; + protected final ImmutableMap, CredentialVault> vaultsIndex; + protected final ImmutableMap databaseSupportsIndex; + + protected LegendEnvironment(List vaults, List databaseSupports) + { + this.vaults = Lists.immutable.withAll(vaults); + Map, CredentialVault> vaultsIndex = new LinkedHashMap<>(); + for (CredentialVault vault : vaults) + { + vaultsIndex.put(vault.getSecretType(), vault); + } + this.vaultsIndex = Maps.immutable.withAll(vaultsIndex); + + MutableList connectionExtensions = Lists.mutable.withAll(ServiceLoader.load(ConnectionExtension.class)); + this.connectionExtensions = connectionExtensions.toImmutable(); + + // load authentication mechanism types + List authenticationMechanismTypes = Lists.mutable.of(CoreAuthenticationMechanismType.values()); + authenticationMechanismTypes.addAll(connectionExtensions.flatCollect(ConnectionExtension::getExtraAuthenticationMechanismTypes)); + Map authenticationMechanismsTypesIndex = new LinkedHashMap<>(); + authenticationMechanismTypes.forEach(authenticationMechanism -> + { + if (authenticationMechanismsTypesIndex.containsKey(authenticationMechanism.getIdentifier())) + { + throw new RuntimeException(String.format("Found multiple authentication mechanisms with label '%s'", authenticationMechanism.getIdentifier())); + } + authenticationMechanismsTypesIndex.put(authenticationMechanism.getIdentifier(), authenticationMechanism); + }); + this.authenticationMechanismsTypesIndex = Maps.immutable.withAll(authenticationMechanismsTypesIndex); + + // load database types + List databaseTypes = connectionExtensions.flatCollect(ConnectionExtension::getExtraDatabaseTypes); + Map databaseTypesIndex = new LinkedHashMap<>(); + databaseTypes.forEach(databaseType -> + { + if (databaseTypesIndex.containsKey(databaseType.getIdentifier())) + { + throw new RuntimeException(String.format("Found multiple authentication mechanisms with label '%s'", databaseType.getIdentifier())); + } + databaseTypesIndex.put(databaseType.getIdentifier(), databaseType); + }); + this.databaseTypesIndex = Maps.immutable.withAll(databaseTypesIndex); + + // load authentication configuration types + Map> authenticationConfigurationTypesIndex = new LinkedHashMap<>(); + PureProtocolExtensionLoader.extensions().forEach(extension -> + LazyIterate.flatCollect(extension.getExtraProtocolSubTypeInfoCollectors(), Function0::value).forEach(info -> + { + info.getSubTypes().forEach(subType -> + { + if (AuthenticationConfiguration.class.isAssignableFrom(subType.getOne())) + { + if (authenticationConfigurationTypesIndex.containsKey(subType.getTwo())) + { + throw new RuntimeException(String.format("Found multiple authentication configuration types with identifier '%s'", subType.getTwo())); + } + authenticationConfigurationTypesIndex.put(subType.getTwo(), (Class) subType.getOne()); + } + }); + })); + this.authenticationConfigurationTypesIndex = Maps.immutable.withAll(authenticationConfigurationTypesIndex); + + // load database supports + Map databaseSupportsIndex = new LinkedHashMap<>(); + databaseSupports.forEach(databaseSupport -> + { + if (databaseSupportsIndex.containsKey(databaseSupport.getDatabaseType().getIdentifier())) + { + throw new RuntimeException(String.format("Found multiple database supports for type '%s'", databaseSupport.getDatabaseType().getIdentifier())); + } + databaseSupportsIndex.put(databaseSupport.getDatabaseType().getIdentifier(), databaseSupport); + }); + this.databaseSupportsIndex = Maps.immutable.withAll(databaseSupportsIndex); + } + + public String lookupVaultSecret(CredentialVaultSecret credentialVaultSecret, Identity identity) throws Exception + { + Class secretClass = credentialVaultSecret.getClass(); + if (!this.vaultsIndex.containsKey(secretClass)) + { + throw new RuntimeException(String.format("Can't find secret: credential vault for secret of type '%s' has not been registered", secretClass.getSimpleName())); + } + CredentialVault vault = this.vaultsIndex.get(secretClass); + return vault.lookupSecret(credentialVaultSecret, identity); + } + + public AuthenticationMechanismType getAuthenticationMechanism(String identifier) + { + return Objects.requireNonNull(this.authenticationMechanismsTypesIndex.get(identifier), String.format("Can't find authentication mechanism with label '%s'", identifier)); + } + + public DatabaseType getDatabaseType(String identifier) + { + return Objects.requireNonNull(this.databaseTypesIndex.get(identifier), String.format("Can't find database type with identifier '%s'", identifier)); + } + + public Class getAuthenticationConfigurationType(String identifier) + { + return Objects.requireNonNull(this.authenticationConfigurationTypesIndex.get(identifier), String.format("Can't find authentication configuration type with identifier '%s'", identifier)); + } + + public DatabaseSupport getDatabaseSupport(DatabaseType databaseType) + { + return Objects.requireNonNull(this.databaseSupportsIndex.get(databaseType.getIdentifier()), String.format("Can't find database support with database type '%s'", databaseType.getIdentifier())); + } + + public static Builder builder() + { + return new Builder(); + } + + public static class Builder + { + private final List vaults = Lists.mutable.empty(); + private final List databaseSupports = Lists.mutable.empty(); + + private Builder() + { + } + + public Builder vaults(List vaults) + { + this.vaults.addAll(vaults); + return this; + } + + public Builder vaults(CredentialVault... vaults) + { + this.vaults.addAll(Lists.mutable.with(vaults)); + return this; + } + + public Builder vault(CredentialVault vault) + { + this.vaults.add(vault); + return this; + } + + public Builder databaseSupports(List databaseSupports) + { + this.databaseSupports.addAll(databaseSupports); + return this; + } + + public Builder databaseSupports(DatabaseSupport... databaseSupports) + { + this.databaseSupports.addAll(Lists.mutable.with(databaseSupports)); + return this; + } + + public Builder databaseSupport(DatabaseSupport databaseSupport) + { + this.databaseSupports.add(databaseSupport); + return this; + } + + public LegendEnvironment build() + { + return new LegendEnvironment(this.vaults, this.databaseSupports); + } + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/CoreAuthenticationMechanismType.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/CoreAuthenticationMechanismType.java new file mode 100644 index 00000000000..860b89cf708 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/CoreAuthenticationMechanismType.java @@ -0,0 +1,39 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection.impl; + +import org.finos.legend.connection.AuthenticationMechanismType; + +public enum CoreAuthenticationMechanismType implements AuthenticationMechanismType +{ + USER_PASSWORD("UsernamePassword"), + API_KEY("APIKey"), + KEY_PAIR("KeyPair"), + KERBEROS("Kerberos"), + OAUTH("OAuth"); + + private final String identifier; + + private CoreAuthenticationMechanismType(String identifier) + { + this.identifier = identifier; + } + + @Override + public String getIdentifier() + { + return this.identifier; + } +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java similarity index 93% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java index a36c3add1cc..1dd67d45e49 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosCredentialExtractor.java @@ -16,6 +16,7 @@ import org.finos.legend.connection.CredentialBuilder; import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.KerberosAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; import org.finos.legend.engine.shared.core.identity.credential.LegendKerberosCredential; diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java similarity index 97% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java index 46cc4ddc880..29c084f136c 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/KeyPairCredentialBuilder.java @@ -26,6 +26,7 @@ import org.eclipse.collections.impl.factory.Strings; import org.finos.legend.connection.CredentialBuilder; import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import org.finos.legend.engine.shared.core.identity.credential.PrivateKeyCredential; diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java similarity index 92% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java index 7cec18bd446..98fa2b6d675 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordCredentialBuilder.java @@ -16,6 +16,7 @@ import org.finos.legend.connection.CredentialBuilder; import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential; diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java similarity index 68% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java index df1398edd7c..7c935f6cdc5 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/ConnectionFactoryTest.java @@ -15,10 +15,8 @@ package org.finos.legend.connection; import org.eclipse.collections.api.factory.Lists; -import org.finos.legend.connection.impl.InstrumentedStoreInstanceProvider; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import org.junit.jupiter.api.Assertions; @@ -40,61 +38,39 @@ public void testGetConnection_WithFailures() throws Exception new ConnectionBuilder_A() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build(), - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.Y) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_Y.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.Y) + .authenticationConfigurationTypes(AuthenticationConfiguration_Y.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test"); // success - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X())); + env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X()))); Exception exception; - // error: store not found - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "unknown", new AuthenticationConfiguration_X())); - }); - Assertions.assertEquals("Can't find store instance with identifier 'unknown'", exception.getMessage()); - - // error: unsupported authentication mechanism - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", TestAuthenticationMechanismType.Z)); - }); - Assertions.assertEquals("Store 'test' does not support authentication mechanism 'Z'. Supported mechanism(s):\n" + - "- X\n" + - "- Y", exception.getMessage()); - - // error: authentication mechanism does not come with a default config generator - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", TestAuthenticationMechanismType.X)); - }); - Assertions.assertEquals("Can't auto-generate authentication configuration for store 'test' with authentication mechanism 'X'. Please provide a configuration of one of the following type(s):\n" + - "- AuthenticationConfiguration_X", exception.getMessage()); - // error: unsupported authentication configuration exception = Assertions.assertThrows(RuntimeException.class, () -> { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_Z())); + env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X()), new AuthenticationConfiguration_Z())); }); - Assertions.assertEquals("Store 'test' does not accept authentication configuration type 'AuthenticationConfiguration_Z'. Supported configuration type(s):\n" + + Assertions.assertEquals("Connection 'test::connectionX' is not compatible with authentication configuration type 'AuthenticationConfiguration_Z'. Supported configuration type(s):\n" + "- AuthenticationConfiguration_X\n" + "- AuthenticationConfiguration_Y", exception.getMessage()); // error: unresolvable authentication flow exception = Assertions.assertThrows(RuntimeException.class, () -> { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_Y())); + env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X()), new AuthenticationConfiguration_Y())); }); - Assertions.assertEquals("No authentication flow for store 'test' can be resolved for the specified identity (authentication configuration: AuthenticationConfiguration_Y, connection specification: TestConnectionSpecification)", exception.getMessage()); + Assertions.assertEquals("No authentication flow for connection 'test::connectionX' can be resolved for the specified identity (authentication configuration: AuthenticationConfiguration_Y, connection specification: TestConnectionSpecification)", exception.getMessage()); } /** @@ -113,17 +89,19 @@ public void testGetConnection_WithSimpleFlow() throws Exception new ConnectionBuilder_B() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build(), - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.Y) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_Y.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.Y) + .authenticationConfigurationTypes(AuthenticationConfiguration_Y.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test"); - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential.class, Lists.mutable.with( "Credential->Credential_A [AuthenticationConfiguration_X]" ), ConnectionBuilder_A.class); @@ -146,14 +124,15 @@ public void testGetConnection_WithSpecificBuilderOrder() throws Exception new ConnectionBuilder_B() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test"); - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential.class, Lists.mutable.with( "Credential->Credential_B [AuthenticationConfiguration_X]" ), ConnectionBuilder_B.class); @@ -175,14 +154,15 @@ public void testGetConnection_WithChainFlow() throws Exception new ConnectionBuilder_C() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test"); - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential.class, Lists.mutable.with( "Credential->Credential_A [AuthenticationConfiguration_X]", "Credential_A->Credential_B [AuthenticationConfiguration_X]", @@ -206,14 +186,15 @@ public void testGetConnection_WithShortestFlowResolved() throws Exception new ConnectionBuilder_C() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test", new Credential_B()); - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential_B.class, Lists.mutable.with( "Credential_B->Credential_C [AuthenticationConfiguration_X]" ), ConnectionBuilder_C.class); @@ -223,7 +204,7 @@ public void testGetConnection_WithShortestFlowResolved() throws Exception * Test Case: A -> B -> [Connection] */ @Test - public void testGetConnection_WithNoAuthConfigProvided() throws Exception + public void testGetConnection_WithCustomAuthConfigProvided() throws Exception { TestEnv env = TestEnv.create( Lists.mutable.with( @@ -234,23 +215,25 @@ public void testGetConnection_WithNoAuthConfigProvided() throws Exception new ConnectionBuilder_B() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build(), - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.Y) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_Y.class) - .withDefaultAuthenticationConfigurationGenerator(AuthenticationConfiguration_Y::new) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.Y) + .authenticationConfigurationTypes(AuthenticationConfiguration_Y.class) .build(), - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.Z) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_Z.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.Z) + .authenticationConfigurationTypes(AuthenticationConfiguration_Z.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test", new Credential_A()); // success - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test"); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X()), new AuthenticationConfiguration_Y()); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential_A.class, Lists.mutable.with( "Credential_A->Credential_B [AuthenticationConfiguration_Y]" ), ConnectionBuilder_B.class); @@ -258,9 +241,9 @@ public void testGetConnection_WithNoAuthConfigProvided() throws Exception // error: unresolvable authentication flow Exception exception = Assertions.assertThrows(RuntimeException.class, () -> { - env.connectionFactory.getAuthenticator(new Identity("test"), "test"); + env.connectionFactory.getAuthenticator(new Identity("test"), env.newStore("test::connectionX", new AuthenticationConfiguration_X())); }); - Assertions.assertEquals("No authentication flow for store 'test' can be resolved for the specified identity. Try specifying an authentication mechanism or authentication configuration. Supported configuration type(s):\n" + + Assertions.assertEquals("No authentication flow for connection 'test::connectionX' can be resolved for the specified identity. Try specifying another authentication configuration. Supported configuration type(s):\n" + "- AuthenticationConfiguration_X (X)\n" + "- AuthenticationConfiguration_Y (Y)\n" + "- AuthenticationConfiguration_Z (Z)", exception.getMessage()); @@ -280,14 +263,15 @@ public void testGetConnection_WithCredentialExtractor() throws Exception new ConnectionBuilder_A() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test", new Credential_A()); - Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + Authenticator authenticator = env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env.connectionFactory, authenticator, Credential_A.class, Lists.mutable.with( "Credential_A->Credential_A [AuthenticationConfiguration_X]" ), ConnectionBuilder_A.class); @@ -301,13 +285,14 @@ public void testGetConnection_WithCredentialExtractor() throws Exception new ConnectionBuilder_A() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); - authenticator = env2.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X()); + authenticator = env2.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X())); assertAuthenticator(identity, env2.connectionFactory, authenticator, Credential_A.class, Lists.mutable.with( "Credential_A->Credential_A [AuthenticationConfiguration_X]" ), ConnectionBuilder_A.class); @@ -328,18 +313,20 @@ public void testGetConnection_WithoutCredentialExtractor() throws Exception new ConnectionBuilder_A() ), Lists.mutable.with( - new AuthenticationMechanismConfiguration.Builder(TestAuthenticationMechanismType.X) - .withAuthenticationConfigurationTypes(AuthenticationConfiguration_X.class) + AuthenticationMechanism.builder() + .type(TestAuthenticationMechanismType.X) + .authenticationConfigurationTypes(AuthenticationConfiguration_X.class) .build() ) - ).newStore("test", Lists.mutable.empty()); + ); Identity identity = new Identity("test", new Credential_A()); Exception exception = Assertions.assertThrows(RuntimeException.class, () -> { - env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, "test", new AuthenticationConfiguration_X())); + env.connectionFactory.getConnection(identity, env.connectionFactory.getAuthenticator(identity, env.newStore("test::connectionX", new AuthenticationConfiguration_X()))); }); - Assertions.assertEquals("No authentication flow for store 'test' can be resolved for the specified identity (authentication configuration: AuthenticationConfiguration_X, connection specification: TestConnectionSpecification)", exception.getMessage()); + Assertions.assertEquals("No authentication flow for connection 'test::connectionX' can be resolved for the specified identity. Try specifying another authentication configuration. Supported configuration type(s):\n" + + "- AuthenticationConfiguration_X (X)", exception.getMessage()); } private void assertAuthenticator(Identity identity, ConnectionFactory connectionFactory, Authenticator authenticator, Class sourceCredentialType, List credentialBuilders, Class connectionBuilderType) throws Exception @@ -353,33 +340,38 @@ private void assertAuthenticator(Identity identity, ConnectionFactory connection private static class TestEnv { final LegendEnvironment environment; - final InstrumentedStoreInstanceProvider storeInstanceProvider; final ConnectionFactory connectionFactory; - private TestEnv(List credentialBuilders, List connectionBuilders, List authenticationMechanismConfigurations) + private TestEnv(List credentialBuilders, List connectionBuilders, List authenticationMechanisms) { - this.environment = new LegendEnvironment.Builder() - .withStoreSupport(new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations(authenticationMechanismConfigurations) + this.environment = LegendEnvironment.builder() + .databaseSupport(DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .authenticationMechanisms(authenticationMechanisms) .build()) .build(); - this.storeInstanceProvider = new InstrumentedStoreInstanceProvider(); - this.connectionFactory = new ConnectionFactory.Builder(this.environment, this.storeInstanceProvider) - .withCredentialBuilders(credentialBuilders) - .withConnectionBuilders(connectionBuilders) + this.connectionFactory = ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders(credentialBuilders) + .connectionBuilders(connectionBuilders) + .build(); + } + + Connection newStore(String identifier, AuthenticationConfiguration authenticationConfiguration, List authenticationMechanisms) + { + DatabaseSupport databaseSupport = this.environment.getDatabaseSupport(TestDatabaseType.TEST); + return Connection.builder() + .databaseSupport(databaseSupport) + .identifier(identifier) + .authenticationMechanisms(authenticationMechanisms) + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(authenticationConfiguration) .build(); } - TestEnv newStore(String identifier, List authenticationMechanismConfigurations) + Connection newStore(String identifier, AuthenticationConfiguration authenticationConfiguration) { - this.storeInstanceProvider.injectStoreInstance(new StoreInstance.Builder(this.environment) - .withIdentifier(identifier) - .withStoreSupportIdentifier("test") - .withAuthenticationMechanismConfigurations(authenticationMechanismConfigurations) - .withConnectionSpecification(new TestConnectionSpecification()) - .build()); - return this; + return newStore(identifier, authenticationConfiguration, Lists.mutable.empty()); } static TestEnv create() @@ -387,12 +379,26 @@ static TestEnv create() return new TestEnv(Lists.mutable.empty(), Lists.mutable.empty(), Lists.mutable.empty()); } - static TestEnv create(List credentialBuilders, List connectionBuilders, List authenticationMechanismConfigurations) + static TestEnv create(List credentialBuilders, List connectionBuilders, List authenticationMechanisms) { - return new TestEnv(credentialBuilders, connectionBuilders, authenticationMechanismConfigurations); + return new TestEnv(credentialBuilders, connectionBuilders, authenticationMechanisms); } } + // -------------------------- Database Type ------------------------------- + + private enum TestDatabaseType implements DatabaseType + { + TEST() + { + @Override + public String getIdentifier() + { + return "Test"; + } + } + } + // -------------------------- Credential ------------------------------- private static class Credential_A implements Credential @@ -436,14 +442,14 @@ public String shortId() } } - private enum TestAuthenticationMechanismType implements AuthenticationMechanism + private enum TestAuthenticationMechanismType implements AuthenticationMechanismType { X, Y, Z; @Override - public String getLabel() + public String getIdentifier() { return this.toString(); } diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/DatabaseSupportTest.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/DatabaseSupportTest.java new file mode 100644 index 00000000000..42c8f979abb --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/test/java/org/finos/legend/connection/DatabaseSupportTest.java @@ -0,0 +1,273 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection; + +import org.eclipse.collections.api.factory.Lists; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.PropertiesFileSecret; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ApiKeyAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.KerberosAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class DatabaseSupportTest +{ + @Test + public void testValidateDatabaseSupportBuilder() + { + // success + DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .build(); + + Exception exception; + + // error: missing database type + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + DatabaseSupport.builder().build(); + }); + Assertions.assertEquals("Database type is missing", exception.getMessage()); + + // error: multiple authentication configurations for one authentication mechanism + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) + .build(), + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) + .build() + ).build(); + }); + Assertions.assertEquals("Found multiple authentication mechanisms with type 'UsernamePassword'", exception.getMessage()); + + // error: one authentication configuration is associated with multiple authentication mechanisms + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) + .build(), + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.KERBEROS) + .authenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) + .build() + ).build(); + }); + Assertions.assertEquals("Authentication configuration type 'UserPasswordAuthenticationConfiguration' is associated with multiple authentication mechanisms", exception.getMessage()); + + // error: no authentication configurations is associated with an authentication mechanism + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .build() + ).build(); + }); + Assertions.assertEquals("No authentication configuration type is associated with authentication mechanism 'UsernamePassword'", exception.getMessage()); + } + + @Test + public void testValidateConnectionBuilder() + { + DatabaseSupport databaseSupport = DatabaseSupport.builder() + .type(TestDatabaseType.TEST) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class, + EncryptedPrivateKeyPairAuthenticationConfiguration.class + ) + .build(), + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.KERBEROS) + .authenticationConfigurationTypes(KerberosAuthenticationConfiguration.class) + .build() + ) + .build(); + + // success + UserPasswordAuthenticationConfiguration userPasswordAuthenticationConfiguration = new UserPasswordAuthenticationConfiguration("some-user", new PropertiesFileSecret("some-secret")); + Connection testStore = Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .build() + ) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .connectionSpecification(new TestConnectionSpecification()) + .build(); + Assertions.assertArrayEquals(new AuthenticationMechanismType[]{CoreAuthenticationMechanismType.USER_PASSWORD}, testStore.getAuthenticationMechanisms().toArray()); + + // success: make sure if no auth mechanisms is specified, all mechanisms will be supported + Connection testStore2 = Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .build(); + Assertions.assertArrayEquals(new AuthenticationMechanismType[]{CoreAuthenticationMechanismType.USER_PASSWORD, CoreAuthenticationMechanismType.KERBEROS}, testStore2.getAuthenticationMechanisms().toArray()); + + // success: make sure if no authentication configuration type is specified, all types will be supported + Connection testStore3 = Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .authenticationMechanism(AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD).build()) + .build(); + Assertions.assertArrayEquals(Lists.mutable.of( + UserPasswordAuthenticationConfiguration.class, + EncryptedPrivateKeyPairAuthenticationConfiguration.class + ).toArray(), testStore3.getAuthenticationMechanism(CoreAuthenticationMechanismType.USER_PASSWORD).getAuthenticationConfigurationTypes().toArray()); + + // failure: missing connection specification + Exception exception; + + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .build(); + }); + Assertions.assertEquals("Connection specification is missing", exception.getMessage()); + + // failure: missing authentication configuration + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(new ApiKeyAuthenticationConfiguration()) + .build(); + }); + Assertions.assertEquals("Specified authentication configuration of type 'ApiKeyAuthenticationConfiguration' is not compatible. Supported configuration type(s):\n" + + "- UserPasswordAuthenticationConfiguration\n" + + "- EncryptedPrivateKeyPairAuthenticationConfiguration\n" + + "- KerberosAuthenticationConfiguration", exception.getMessage()); + + // failure: specified authentication configuration is not covered by any authentication mechanisms + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .connectionSpecification(new TestConnectionSpecification()) + .build(); + }); + Assertions.assertEquals("Authentication configuration is missing", exception.getMessage()); + + // failure: multiple configurations for one authentication mechanism + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .build(), + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .build() + ) + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .build(); + }); + Assertions.assertEquals("Found multiple configurations for authentication mechanism 'UsernamePassword'", exception.getMessage()); + + // failure: specified an authentication mechanism that is not covered by the database support + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.API_KEY) + .build() + ) + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .build(); + }); + Assertions.assertEquals("Authentication mechanism 'APIKey' is not covered by database support 'Test'. Supported mechanism(s):\n" + + "- UsernamePassword\n" + + "- Kerberos", exception.getMessage()); + + // failure: mismatch in authentication configuration types coverage with database support for an authentication mechanism + exception = Assertions.assertThrows(RuntimeException.class, () -> + { + Connection.builder() + .databaseSupport(databaseSupport) + .identifier("test::connection") + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes(KerberosAuthenticationConfiguration.class) + .build() + ) + .connectionSpecification(new TestConnectionSpecification()) + .authenticationConfiguration(userPasswordAuthenticationConfiguration) + .build(); + }); + Assertions.assertEquals("Authentication configuration type 'KerberosAuthenticationConfiguration' is not covered by database support 'Test' for authentication mechanism 'UsernamePassword'. Supported configuration type(s):\n" + + "- UserPasswordAuthenticationConfiguration\n" + + "- EncryptedPrivateKeyPairAuthenticationConfiguration", exception.getMessage()); + } + + private enum TestDatabaseType implements DatabaseType + { + TEST() + { + @Override + public String getIdentifier() + { + return "Test"; + } + } + } + + private static class TestConnectionSpecification extends ConnectionSpecification + { + @Override + public String shortId() + { + return null; + } + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/pom.xml b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/pom.xml new file mode 100644 index 00000000000..02369bc2133 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/pom.xml @@ -0,0 +1,140 @@ + + + + + org.finos.legend.engine + legend-engine-xts-connection + 4.35.4-SNAPSHOT + + 4.0.0 + + legend-engine-xt-connection-grammar + jar + Legend Engine - XT - Connection - Grammar + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + initialize + + unpack + + + + + org.finos.legend.engine + legend-engine-language-pure-grammar + jar + false + ${project.build.directory} + antlr/*.g4 + + + + + + + + org.antlr + antlr4-maven-plugin + + + + antlr4 + + + true + true + true + target/antlr + ${project.build.directory}/generated-sources + + + + + + + + + + + org.finos.legend.engine + legend-engine-protocol-pure + + + org.finos.legend.engine + legend-engine-protocol + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + + + org.finos.legend.engine + legend-engine-language-pure-grammar + + + + + + org.eclipse.collections + eclipse-collections-api + + + org.eclipse.collections + eclipse-collections + + + + + + com.fasterxml.jackson.core + jackson-databind + + + com.fasterxml.jackson.core + jackson-annotations + + + + + + org.antlr + antlr4-runtime + compile + + + + + + junit + junit + test + + + org.finos.legend.engine + legend-engine-language-pure-grammar + test-jar + test + + + + diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionLexerGrammar.g4 b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionLexerGrammar.g4 new file mode 100644 index 00000000000..1e4efe86491 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionLexerGrammar.g4 @@ -0,0 +1,10 @@ +lexer grammar ConnectionLexerGrammar; + +import M3LexerGrammar; + + +// ------------------------------------ KEYWORD -------------------------------------- + +DATABASE_CONNECTION: 'DatabaseConnection'; + +RAW_VALUE: 'rawValue'; diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionParserGrammar.g4 b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionParserGrammar.g4 new file mode 100644 index 00000000000..502449fee80 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/antlr4/org/finos/legend/engine/language/pure/grammar/from/antlr4/ConnectionParserGrammar.g4 @@ -0,0 +1,32 @@ +parser grammar ConnectionParserGrammar; + +import M3ParserGrammar; + +options +{ + tokenVocab = ConnectionLexerGrammar; +} + +// -------------------------------------- IDENTIFIER -------------------------------------- + +identifier: VALID_STRING | STRING + | ALL | LET | ALL_VERSIONS | ALL_VERSIONS_IN_RANGE | TO_BYTES_FUNCTION // from M3Parser + | DATABASE_CONNECTION | RAW_VALUE +; + +// -------------------------------------- DEFINITION -------------------------------------- + +definition: (databaseConnectionElement)* + EOF +; +databaseConnectionElement: DATABASE_CONNECTION qualifiedName + BRACE_OPEN + ( + rawValue + )* + BRACE_CLOSE +; +rawValue: RAW_VALUE COLON ISLAND_OPEN (rawValueContent)* SEMI_COLON +; +rawValueContent: ISLAND_START | ISLAND_BRACE_OPEN | ISLAND_CONTENT | ISLAND_HASH | ISLAND_BRACE_CLOSE | ISLAND_END +; \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParseTreeWalker.java b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParseTreeWalker.java new file mode 100644 index 00000000000..4f39265160a --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParseTreeWalker.java @@ -0,0 +1,73 @@ +// Copyright 2020 Goldman Sachs +// +// 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.finos.legend.engine.language.pure.grammar.from; + +import org.antlr.v4.runtime.CharStream; +import org.finos.legend.engine.language.pure.grammar.from.antlr4.ConnectionParserGrammar; +import org.finos.legend.engine.protocol.pure.v1.PureProtocolObjectMapperFactory; +import org.finos.legend.engine.protocol.pure.v1.model.SourceInformation; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.section.DefaultCodeSection; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection; + +import java.util.function.Consumer; + +public class ConnectionParseTreeWalker +{ + private final CharStream input; + private final ParseTreeWalkerSourceInformation walkerSourceInformation; + private final Consumer elementConsumer; + private final DefaultCodeSection section; + + public ConnectionParseTreeWalker(CharStream input, ParseTreeWalkerSourceInformation walkerSourceInformation, Consumer elementConsumer, DefaultCodeSection section) + { + this.input = input; + this.walkerSourceInformation = walkerSourceInformation; + this.elementConsumer = elementConsumer; + this.section = section; + } + + public void visit(ConnectionParserGrammar.DefinitionContext ctx) + { + ctx.databaseConnectionElement().stream().map(this::visitElement).peek(e -> this.section.elements.add(e.getPath())).forEach(this.elementConsumer); + } + + private Connection visitElement(ConnectionParserGrammar.DatabaseConnectionElementContext ctx) + { + SourceInformation sourceInformation = walkerSourceInformation.getSourceInformation(ctx); + ConnectionParserGrammar.RawValueContext rawValueContext = PureGrammarParserUtility.validateAndExtractRequiredField(ctx.rawValue(), "rawValue", sourceInformation); + Connection connection; + try + { + StringBuilder text = new StringBuilder(); + for (ConnectionParserGrammar.RawValueContentContext fragment : rawValueContext.rawValueContent()) + { + text.append(fragment.getText()); + } + String rawValueText = text.length() > 0 ? text.substring(0, text.length() - 2) : text.toString(); + connection = PureProtocolObjectMapperFactory.getNewObjectMapper().readValue(rawValueText, Connection.class); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + + connection.name = PureGrammarParserUtility.fromIdentifier(ctx.qualifiedName().identifier()); + connection._package = ctx.qualifiedName().packagePath() == null ? "" : PureGrammarParserUtility.fromPath(ctx.qualifiedName().packagePath().identifier()); + connection.sourceInformation = sourceInformation; + + return connection; + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParserExtension.java b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParserExtension.java new file mode 100644 index 00000000000..c2718631b4c --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/from/ConnectionParserExtension.java @@ -0,0 +1,64 @@ +// Copyright 2020 Goldman Sachs +// +// 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.finos.legend.engine.language.pure.grammar.from; + +import org.antlr.v4.runtime.CharStream; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.CommonTokenStream; +import org.eclipse.collections.impl.factory.Lists; +import org.finos.legend.engine.language.pure.grammar.from.antlr4.ConnectionLexerGrammar; +import org.finos.legend.engine.language.pure.grammar.from.antlr4.ConnectionParserGrammar; +import org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension; +import org.finos.legend.engine.language.pure.grammar.from.extension.SectionParser; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.section.DefaultCodeSection; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.section.Section; + +import java.util.function.Consumer; + +public class ConnectionParserExtension implements PureGrammarParserExtension +{ + public static final String NAME = "DatabaseConnection"; + + @Override + public Iterable getExtraSectionParsers() + { + return Lists.immutable.with(SectionParser.newParser(NAME, ConnectionParserExtension::parseSection)); + } + + private static Section parseSection(SectionSourceCode sectionSourceCode, Consumer elementConsumer, PureGrammarParserContext pureGrammarParserContext) + { + SourceCodeParserInfo parserInfo = getConnectionParserInfo(sectionSourceCode); + DefaultCodeSection section = new DefaultCodeSection(); + section.parserName = sectionSourceCode.sectionType; + section.sourceInformation = parserInfo.sourceInformation; + ConnectionParseTreeWalker walker = new ConnectionParseTreeWalker(parserInfo.input, parserInfo.walkerSourceInformation, elementConsumer, section); + walker.visit((ConnectionParserGrammar.DefinitionContext) parserInfo.rootContext); + return section; + } + + private static SourceCodeParserInfo getConnectionParserInfo(SectionSourceCode sectionSourceCode) + { + CharStream input = CharStreams.fromString(sectionSourceCode.code); + ParserErrorListener errorListener = new ParserErrorListener(sectionSourceCode.walkerSourceInformation); + ConnectionLexerGrammar lexer = new ConnectionLexerGrammar(input); + lexer.removeErrorListeners(); + lexer.addErrorListener(errorListener); + ConnectionParserGrammar parser = new ConnectionParserGrammar(new CommonTokenStream(lexer)); + parser.removeErrorListeners(); + parser.addErrorListener(errorListener); + return new SourceCodeParserInfo(sectionSourceCode.code, input, sectionSourceCode.sourceInformation, sectionSourceCode.walkerSourceInformation, lexer, parser, parser.definition()); + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/to/ConnectionGrammarComposerExtension.java b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/to/ConnectionGrammarComposerExtension.java new file mode 100644 index 00000000000..02608afd877 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/java/org/finos/legend/engine/language/pure/grammar/to/ConnectionGrammarComposerExtension.java @@ -0,0 +1,90 @@ +// Copyright 2020 Goldman Sachs +// +// 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.finos.legend.engine.language.pure.grammar.to; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import org.eclipse.collections.api.block.function.Function3; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.impl.utility.LazyIterate; +import org.eclipse.collections.impl.utility.ListIterate; +import org.finos.legend.engine.language.pure.grammar.from.ConnectionParserExtension; +import org.finos.legend.engine.language.pure.grammar.to.extension.PureGrammarComposerExtension; +import org.finos.legend.engine.protocol.pure.v1.PureProtocolObjectMapperFactory; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection; + +import java.util.List; + +import static org.finos.legend.engine.language.pure.grammar.to.PureGrammarComposerUtility.getTabString; + +public class ConnectionGrammarComposerExtension implements PureGrammarComposerExtension +{ + @Override + public List, PureGrammarComposerContext, String, String>> getExtraSectionComposers() + { + return Lists.fixedSize.with((elements, context, sectionName) -> + { + if (!ConnectionParserExtension.NAME.equals(sectionName)) + { + return null; + } + return ListIterate.collect(elements, element -> + { + if (element instanceof Connection) + { + return renderElement((Connection) element, context); + } + return "/* Can't transform element '" + element.getPath() + "' in this section */"; + }).makeString("\n\n"); + }); + } + + @Override + public List, PureGrammarComposerContext, List, PureFreeSectionGrammarComposerResult>> getExtraFreeSectionComposers() + { + return Lists.fixedSize.with((elements, context, composedSections) -> + { + List composableElements = ListIterate.selectInstancesOf(elements, Connection.class); + return composableElements.isEmpty() ? null : new PureFreeSectionGrammarComposerResult(LazyIterate.collect(composableElements, el -> renderElement(el, context)).makeString("###" + ConnectionParserExtension.NAME + "\n", "\n\n", ""), composableElements); + }); + } + + private static String renderElement(Connection element, PureGrammarComposerContext context) + { + String value; + try + { + // @HACKY: new-connection-framework + element.sourceInformation = null; + ObjectMapper objectMapper = PureProtocolObjectMapperFactory.getNewObjectMapper(); + objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); + objectMapper.enable(SerializationFeature.INDENT_OUTPUT); + value = objectMapper.writeValueAsString(element); + } + catch (Exception e) + { + throw new RuntimeException(e); + } + + return "DatabaseConnection " + PureGrammarComposerUtility.convertPath(element.getPath()) + "\n" + + "{\n" + + (getTabString() + "rawValue: #{\n" + + ListIterate.collect(Lists.mutable.of(value.split("\n")), line -> getTabString() + line).makeString("\n") + "\n" + + getTabString() + "}#;\n") + + "}"; + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension new file mode 100644 index 00000000000..747e1deb95e --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension @@ -0,0 +1 @@ +org.finos.legend.engine.language.pure.grammar.from.ConnectionParserExtension \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.to.extension.PureGrammarComposerExtension b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.to.extension.PureGrammarComposerExtension new file mode 100644 index 00000000000..889fae4c0bc --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-grammar/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.grammar.to.extension.PureGrammarComposerExtension @@ -0,0 +1 @@ +org.finos.legend.engine.language.pure.grammar.to.ConnectionGrammarComposerExtension \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/pom.xml b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/pom.xml new file mode 100644 index 00000000000..ca8c0255238 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/pom.xml @@ -0,0 +1,69 @@ + + + + + + org.finos.legend.engine + legend-engine-xts-connection + 4.35.4-SNAPSHOT + + 4.0.0 + + legend-engine-xt-connection-protocol + jar + Legend Engine - XT - Connection - Protocol + + + + + org.finos.legend.engine + legend-engine-xt-authentication-protocol + + + org.finos.legend.engine + legend-engine-protocol-pure + + + + + + com.fasterxml.jackson.core + jackson-annotations + + + + + + org.eclipse.collections + eclipse-collections-api + + + + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + + \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/ConnectionProtocolExtension.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/ConnectionProtocolExtension.java new file mode 100644 index 00000000000..10963ed2bc9 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/ConnectionProtocolExtension.java @@ -0,0 +1,61 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.protocol.pure.v1; + +import org.eclipse.collections.api.block.function.Function0; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.factory.Maps; +import org.finos.legend.engine.protocol.pure.v1.extension.ProtocolSubTypeInfo; +import org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension; +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.KerberosAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; + +import java.util.List; +import java.util.Map; + +public class ConnectionProtocolExtension implements PureProtocolExtension +{ + public static final String CONNECTION_CLASSIFIER_PATH = "meta::pure::metamodel::connection::Connection"; + + @Override + public List>>> getExtraProtocolSubTypeInfoCollectors() + { + return Lists.fixedSize.of(() -> Lists.fixedSize.of( + // Packageable Element + ProtocolSubTypeInfo.newBuilder(PackageableElement.class) + // TODO: ideally we should be able to set this as `connection`, but this will clash with `PackageableElement` + .withSubtype(Connection.class, "databaseConnection") + .build(), + // Authentication + ProtocolSubTypeInfo.newBuilder(AuthenticationConfiguration.class) + .withSubtype(EncryptedPrivateKeyPairAuthenticationConfiguration.class, "KeyPair") + .withSubtype(UserPasswordAuthenticationConfiguration.class, "UserPassword") + .withSubtype(KerberosAuthenticationConfiguration.class, "Kerberos") + .build() + )); + } + + @Override + public Map, String> getExtraProtocolToClassifierPathMap() + { + return Maps.mutable.with( + Connection.class, CONNECTION_CLASSIFIER_PATH + ); + } +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/ApiKeyAuthenticationConfiguration.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ApiKeyAuthenticationConfiguration.java similarity index 92% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/ApiKeyAuthenticationConfiguration.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ApiKeyAuthenticationConfiguration.java index 4e22064c7c7..bda1af4cabe 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/ApiKeyAuthenticationConfiguration.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ApiKeyAuthenticationConfiguration.java @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.impl; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.CredentialVaultSecret; public class ApiKeyAuthenticationConfiguration extends AuthenticationConfiguration diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationConfiguration.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationConfiguration.java similarity index 77% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationConfiguration.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationConfiguration.java index 10774902332..4ae3b429833 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationConfiguration.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationConfiguration.java @@ -12,8 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.protocol; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type") public abstract class AuthenticationConfiguration { public abstract String shortId(); diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationMechanism.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationMechanism.java new file mode 100644 index 00000000000..af5c3ad460a --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/AuthenticationMechanism.java @@ -0,0 +1,23 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.protocol.pure.v1.packageableElement.connection; + +import java.util.List; + +public final class AuthenticationMechanism +{ + public String authenticationMechanismType; + public List configurationTypes; +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/Connection.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/Connection.java new file mode 100644 index 00000000000..99d989c6be3 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/Connection.java @@ -0,0 +1,28 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.protocol.pure.v1.packageableElement.connection; + +import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.PackageableElement; + +import java.util.List; + +public final class Connection extends PackageableElement +{ + public String databaseType; + public List authenticationMechanisms; + public ConnectionSpecification connectionSpecification; + public AuthenticationConfiguration authenticationConfiguration; +} + diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/ConnectionSpecification.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ConnectionSpecification.java similarity index 77% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/ConnectionSpecification.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ConnectionSpecification.java index 908ab661327..451553e9afb 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/ConnectionSpecification.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/ConnectionSpecification.java @@ -12,8 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.protocol; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type") public abstract class ConnectionSpecification { public abstract String shortId(); diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/DatabaseSupport.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/DatabaseSupport.java new file mode 100644 index 00000000000..fcd17a2c3d0 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/DatabaseSupport.java @@ -0,0 +1,26 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.protocol.pure.v1.packageableElement.connection; + +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +import java.util.List; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type") +public class DatabaseSupport +{ + public String databaseType; + public List authenticationMechanisms; +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/EncryptedPrivateKeyPairAuthenticationConfiguration.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/EncryptedPrivateKeyPairAuthenticationConfiguration.java similarity index 93% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/EncryptedPrivateKeyPairAuthenticationConfiguration.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/EncryptedPrivateKeyPairAuthenticationConfiguration.java index 0bd50613949..e6409c1d142 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/EncryptedPrivateKeyPairAuthenticationConfiguration.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/EncryptedPrivateKeyPairAuthenticationConfiguration.java @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.impl; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.CredentialVaultSecret; public class EncryptedPrivateKeyPairAuthenticationConfiguration extends AuthenticationConfiguration @@ -25,6 +24,7 @@ public class EncryptedPrivateKeyPairAuthenticationConfiguration extends Authenti public EncryptedPrivateKeyPairAuthenticationConfiguration() { + // jackson } public EncryptedPrivateKeyPairAuthenticationConfiguration(String userName, CredentialVaultSecret privateKey, CredentialVaultSecret passphrase) diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosAuthenticationConfiguration.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/KerberosAuthenticationConfiguration.java similarity index 87% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosAuthenticationConfiguration.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/KerberosAuthenticationConfiguration.java index 61b6ac6594a..ad2dcdfc702 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/KerberosAuthenticationConfiguration.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/KerberosAuthenticationConfiguration.java @@ -12,14 +12,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.impl; - -import org.finos.legend.connection.protocol.AuthenticationConfiguration; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; public class KerberosAuthenticationConfiguration extends AuthenticationConfiguration { public KerberosAuthenticationConfiguration() { + // authentication } @Override diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordAuthenticationConfiguration.java b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/UserPasswordAuthenticationConfiguration.java similarity index 91% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordAuthenticationConfiguration.java rename to legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/UserPasswordAuthenticationConfiguration.java index 61e8fb5c096..756de8dd6fd 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/UserPasswordAuthenticationConfiguration.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/packageableElement/connection/UserPasswordAuthenticationConfiguration.java @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.impl; +package org.finos.legend.engine.protocol.pure.v1.packageableElement.connection; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.CredentialVaultSecret; public class UserPasswordAuthenticationConfiguration extends AuthenticationConfiguration @@ -24,6 +23,7 @@ public class UserPasswordAuthenticationConfiguration extends AuthenticationConfi public UserPasswordAuthenticationConfiguration() { + // jackson } public UserPasswordAuthenticationConfiguration(String username, CredentialVaultSecret password) diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/resources/META-INF/services/org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/resources/META-INF/services/org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension new file mode 100644 index 00000000000..dfa880debb4 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-protocol/src/main/resources/META-INF/services/org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension @@ -0,0 +1 @@ +org.finos.legend.engine.protocol.pure.v1.ConnectionProtocolExtension \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/pom.xml b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/pom.xml new file mode 100644 index 00000000000..0052f847951 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/pom.xml @@ -0,0 +1,158 @@ + + + + + + org.finos.legend.engine + legend-engine-xts-connection + 4.35.4-SNAPSHOT + + 4.0.0 + + legend-engine-xt-connection-pure-metamodel + jar + Legend Engine - XT - Connection - Pure - Metamodel + + + + + org.finos.legend.pure + legend-pure-maven-generation-par + + src/main/resources + ${legend.pure.version} + + platform + core + core_connection_metamodel + + + ${project.basedir}/src/main/resources/core_connection_metamodel.definition.json + + + + + + generate-sources + + build-pure-jar + + + + + + org.finos.legend.pure + legend-pure-m2-dsl-diagram-grammar + ${legend.pure.version} + + + org.finos.legend.pure + legend-pure-m2-dsl-graph-grammar + ${legend.pure.version} + + + org.finos.legend.engine + legend-engine-pure-code-compiled-core + ${project.version} + + + org.finos.legend.engine + legend-engine-xt-json-pure + ${project.version} + + + + + org.finos.legend.pure + legend-pure-maven-generation-java + + + compile + + build-pure-compiled-jar + + + true + true + modular + true + + core_connection_metamodel + + + + + + + org.finos.legend.pure + legend-pure-m2-dsl-diagram-grammar + ${legend.pure.version} + + + org.finos.legend.pure + legend-pure-m2-dsl-graph-grammar + ${legend.pure.version} + + + org.finos.legend.engine + legend-engine-pure-code-compiled-core + ${project.version} + + + + + + + + + + org.finos.legend.pure + legend-pure-m4 + + + org.finos.legend.pure + legend-pure-m3-core + + + org.finos.legend.pure + legend-pure-runtime-java-engine-compiled + + + + + + org.finos.legend.engine + legend-engine-pure-code-compiled-core + + + org.finos.legend.engine + legend-engine-pure-platform-java + + + + + + org.eclipse.collections + eclipse-collections + + + org.eclipse.collections + eclipse-collections-api + + + + diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/java/org/finos/legend/pure/code/core/CoreConnectionRepositoryProvider.java b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/java/org/finos/legend/pure/code/core/CoreConnectionRepositoryProvider.java new file mode 100644 index 00000000000..bfa033889df --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/java/org/finos/legend/pure/code/core/CoreConnectionRepositoryProvider.java @@ -0,0 +1,29 @@ +// Copyright 2021 Goldman Sachs +// +// 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.finos.legend.pure.code.core; + +import org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepository; +import org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepositoryProvider; +import org.finos.legend.pure.m3.serialization.filesystem.repository.GenericCodeRepository; + +public class CoreConnectionRepositoryProvider implements CodeRepositoryProvider +{ + @Override + public CodeRepository repository() + { + return GenericCodeRepository.build("core_connection_metamodel.definition.json"); + } +} + diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/META-INF/services/org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepositoryProvider b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/META-INF/services/org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepositoryProvider new file mode 100644 index 00000000000..05623448288 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/META-INF/services/org.finos.legend.pure.m3.serialization.filesystem.repository.CodeRepositoryProvider @@ -0,0 +1 @@ +org.finos.legend.pure.code.core.CoreConnectionRepositoryProvider \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel.definition.json b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel.definition.json new file mode 100644 index 00000000000..63239e854b0 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel.definition.json @@ -0,0 +1,9 @@ +{ + "name": "core_connection_metamodel", + "pattern": "(meta::pure::metamodel::connection)(::.*)?", + "dependencies": [ + "platform", + "platform_functions", + "core" + ] +} \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel/metamodel.pure b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel/metamodel.pure new file mode 100644 index 00000000000..b6cd3dcfe4a --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-pure-metamodel/src/main/resources/core_connection_metamodel/metamodel.pure @@ -0,0 +1,19 @@ +// Copyright 2022 Goldman Sachs +// +// 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. + +Class meta::pure::metamodel::connection::Connection extends PackageableElement +{ + // @HACKY: new-connection-framework + rawValue: Any[1]; +} diff --git a/legend-engine-xts-connection/pom.xml b/legend-engine-xts-connection/pom.xml new file mode 100644 index 00000000000..3dda8473e68 --- /dev/null +++ b/legend-engine-xts-connection/pom.xml @@ -0,0 +1,36 @@ + + + + + org.finos.legend.engine + legend-engine + 4.35.4-SNAPSHOT + + 4.0.0 + + legend-engine-xts-connection + pom + Legend Engine - XTS - Connection + + + legend-engine-xt-connection-factory + legend-engine-xt-connection-compiler + legend-engine-xt-connection-grammar + legend-engine-xt-connection-protocol + legend-engine-xt-connection-pure-metamodel + + \ No newline at end of file diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/pom.xml b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/pom.xml index 082cb07bbd5..e4e0d7652e9 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/pom.xml +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/pom.xml @@ -1,5 +1,6 @@ - + legend-engine-xts-data-push org.finos.legend.engine @@ -37,24 +38,57 @@ + + org.finos.legend.engine + legend-engine-shared-core + org.finos.legend.engine legend-engine-xt-authentication-implementation-core org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory org.finos.legend.engine legend-engine-xt-relationalStore-connection + + org.finos.legend.engine + legend-engine-xt-relationalStore-snowflake-connection + + + org.finos.legend.engine + legend-engine-language-pure-modelManager-sdlc + + + org.finos.legend.engine + legend-engine-protocol-pure + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + + + + + + org.finos.legend.engine + legend-engine-xt-relationalStore-protocol + runtime + + + org.finos.legend.engine + legend-engine-xt-relationalStore-snowflake-protocol + runtime + org.finos.legend.engine legend-engine-xt-relationalStore-postgres-connection runtime - + @@ -73,14 +107,6 @@ - - - - org.eclipse.collections - eclipse-collections-api - - - com.fasterxml.jackson.core @@ -96,12 +122,27 @@ - + - org.apache.httpcomponents - httpclient + org.eclipse.collections + eclipse-collections-api + + + org.eclipse.collections + eclipse-collections - + + + + + org.pac4j.jax-rs + core + + + org.pac4j + pac4j-core + + @@ -124,6 +165,65 @@ + + + org.slf4j + slf4j-api + + + + + javax.servlet + javax.servlet-api + + + org.apache.httpcomponents + httpclient + + + commons-codec + commons-codec + + + + + org.apache.httpcomponents + httpcore + + + commons-logging + commons-logging + + + + + + software.amazon.awssdk + s3 + + + software.amazon.awssdk + sdk-core + + + software.amazon.awssdk + regions + + + software.amazon.awssdk + auth + + + + io.deephaven + deephaven-csv + + + io.deephaven + deephaven-csv-fast-double-parser + runtime + + com.fasterxml.jackson.dataformat @@ -178,6 +278,21 @@ dropwizard-testing test + + io.minio + minio + test + + + org.finos.legend.engine + legend-engine-xt-relationalStore-postgres-test-support + test + + + org.testcontainers + testcontainers + test + \ No newline at end of file diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusher.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusher.java new file mode 100644 index 00000000000..b8abecd5280 --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusher.java @@ -0,0 +1,32 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.datapush; + +import org.finos.legend.connection.Connection; +import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.engine.datapush.data.Data; +import org.finos.legend.engine.shared.core.identity.Identity; + +public abstract class DataPusher +{ + protected ConnectionFactory connectionFactory; + + public void configure(ConnectionFactory connectionFactory) + { + this.connectionFactory = connectionFactory; + } + + public abstract void writeCSV(Identity identity, Connection connection, Data data) throws Exception; +} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusherProvider.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusherProvider.java new file mode 100644 index 00000000000..c1b56623f75 --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/DataPusherProvider.java @@ -0,0 +1,22 @@ +// Copyright 2022 Goldman Sachs +// +// 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.finos.legend.engine.datapush; + +import org.finos.legend.connection.Connection; + +public interface DataPusherProvider +{ + DataPusher getDataPusher(Connection connection); +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanism.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/CSVData.java similarity index 84% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanism.java rename to legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/CSVData.java index 7a104453eee..250cc0d0d7a 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanism.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/CSVData.java @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.protocol; +package org.finos.legend.engine.datapush.data; -public interface AuthenticationMechanism +public class CSVData extends Data { - String getLabel(); + public String value; } diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/Data.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/Data.java new file mode 100644 index 00000000000..e8350c31bca --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/data/Data.java @@ -0,0 +1,26 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.datapush.data; + +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; + +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "_type") +@JsonSubTypes({ + @JsonSubTypes.Type(value = CSVData.class, name = "csv"), +}) +public class Data +{ +} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/impl/SnowflakeWithS3StageDataPusher.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/impl/SnowflakeWithS3StageDataPusher.java new file mode 100644 index 00000000000..e7c0cf26734 --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/impl/SnowflakeWithS3StageDataPusher.java @@ -0,0 +1,183 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.datapush.impl; + +import io.deephaven.csv.CsvSpecs; +import io.deephaven.csv.reading.CsvReader; +import io.deephaven.csv.sinks.SinkFactory; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.impl.utility.ListIterate; +import org.finos.legend.connection.Connection; +import org.finos.legend.engine.datapush.DataPusher; +import org.finos.legend.engine.datapush.data.CSVData; +import org.finos.legend.engine.datapush.data.Data; +import org.finos.legend.engine.shared.core.identity.Identity; +import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider; +import software.amazon.awssdk.core.sync.RequestBody; +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.S3ClientBuilder; +import software.amazon.awssdk.services.s3.model.PutObjectRequest; +import software.amazon.awssdk.services.s3.model.PutObjectResponse; + +import java.io.ByteArrayInputStream; +import java.net.URI; +import java.sql.Statement; +import java.util.UUID; + +public class SnowflakeWithS3StageDataPusher extends DataPusher +{ + private final String tableName; + private final String stageName; + private final S3DataStage s3DataStage; + + public SnowflakeWithS3StageDataPusher(String s3StageBucketName, String s3StageEndpoint, AwsCredentialsProvider s3StageCredentialProvider, String tableName, String stageName) + { + this.tableName = tableName; + this.stageName = stageName; + this.s3DataStage = new S3DataStage(s3StageBucketName, s3StageEndpoint, s3StageCredentialProvider); + } + + @Override + public void writeCSV(Identity identity, Connection connection, Data data) throws Exception + { + // TODO: this is probably not performant for streaming/large CSV, we should think of how to optimize this later + CSVData csvData = (CSVData) data; + CsvSpecs specs = CsvSpecs.csv(); + CsvReader.Result csvParserResult = CsvReader.read(specs, new ByteArrayInputStream(csvData.value.getBytes()), SinkFactory.arrays()); + String filePath = this.s3DataStage.write(identity, csvData); + this.uploadCSVToSnowflake(identity, connection, filePath, csvParserResult); + } + + public void uploadCSVToSnowflake(Identity identity, Connection connection, String filePath, CsvReader.Result csvParserResult) throws Exception + { + java.sql.Connection jdbcConnection = this.connectionFactory.getConnection(identity, connection); + + String tableCreationQuery = String.format("CREATE TABLE %s (%s);", this.tableName, ListIterate.collect( + Lists.mutable.of(csvParserResult.columns()), column -> + { + String dataType = null; + // NOTE: these are specific to Snowflake + // See https://docs.snowflake.com/en/sql-reference/data-types + switch (column.dataType()) + { + case BOOLEAN_AS_BYTE: + dataType = "BOOLEAN"; + break; + case BYTE: + case SHORT: + case INT: + case LONG: + case DATETIME_AS_LONG: + case TIMESTAMP_AS_LONG: + dataType = "INTEGER"; + break; + case FLOAT: + case DOUBLE: + dataType = "FLOAT"; + break; + case STRING: + case CHAR: + dataType = "STRING"; + break; + case CUSTOM: + throw new RuntimeException("Not possible"); + } + // Put quote around table name to avoid problems with column names with spaces + return String.format("\"%s\" %s", column.name(), dataType); + } + ).makeString(",")); + // Give Snowflake the full s3 path to improve performance as no lookup is necessary + // See https://community.snowflake.com/s/question/0D50Z00009Y7eCRSAZ/copy-from-s3-into-table-command-is-extremely-slow + String insertQuery = String.format("COPY INTO %s FROM @%s/%s file_format = (type = csv skip_header = 1);", this.tableName, this.stageName, filePath); + + try + { + Statement statement = jdbcConnection.createStatement(); + statement.execute(String.format("DROP TABLE IF EXISTS %s;", this.tableName)); + statement.execute(tableCreationQuery); + statement.execute(insertQuery); + statement.close(); + } + catch (Exception e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + } + + public static class S3DataStage + { + private final String bucket; + private final String endpoint; + private final AwsCredentialsProvider credentialsProvider; + + public S3DataStage(String bucket, String endpoint, AwsCredentialsProvider credentialsProvider) + { + this.bucket = bucket; + this.endpoint = endpoint; + this.credentialsProvider = credentialsProvider; + } + + private static String generateBucketName(Identity identity) + { + return identity.getName().replaceAll("_", "").toLowerCase(); + } + + private static String generateObjectKey() + { + return UUID.randomUUID().toString(); + } + + private static String generateObjectPrefix(Identity identity) + { + return identity.getName(); + } + + private S3Client getS3Client() + { + S3ClientBuilder clientBuilder = S3Client + .builder() + .credentialsProvider(this.credentialsProvider) + .region(Region.US_EAST_1); + if (this.endpoint != null) + { + clientBuilder.endpointOverride(URI.create(this.endpoint)); + } + return clientBuilder.build(); + } + + public String write(Identity identity, Data data) throws Exception + { + CSVData csvData = (CSVData) data; + S3Client s3Client = this.getS3Client(); + String key = String.format("%s/%s", generateObjectPrefix(identity), generateObjectKey()); + try + { + PutObjectRequest putObjectRequest = PutObjectRequest.builder() + .bucket(this.bucket) + .key(key).build(); + RequestBody requestBody = RequestBody.fromString(csvData.value); + PutObjectResponse putObjectResponse = s3Client.putObject(putObjectRequest, requestBody); + } + catch (Exception e) + { + e.printStackTrace(); + throw new RuntimeException(e); + } + return key; + } + } +} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/BaseDataPushServer.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/BaseDataPushServer.java index 4959fee8f09..1129ce8f1bf 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/BaseDataPushServer.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/BaseDataPushServer.java @@ -15,26 +15,46 @@ package org.finos.legend.engine.datapush.server; import io.dropwizard.setup.Environment; -import org.finos.legend.engine.datapush.server.config.DataPushServerConfiguration; +import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.connection.IdentityFactory; +import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.engine.datapush.DataPusherProvider; +import org.finos.legend.engine.datapush.server.configuration.DataPushServerConfiguration; import org.finos.legend.engine.datapush.server.resources.DataPushResource; +import org.finos.legend.engine.protocol.pure.v1.PureProtocolObjectMapperFactory; import org.finos.legend.engine.server.support.server.BaseServer; - -import java.net.InetAddress; -import java.net.UnknownHostException; +import org.finos.legend.engine.shared.core.ObjectMapperFactory; public abstract class BaseDataPushServer extends BaseServer { - protected ServerInfo serverInfo; + protected LegendEnvironment environment; + protected IdentityFactory identityFactory; + protected ConnectionFactory connectionFactory; + protected DataPusherProvider dataPushProvider; + + @Override + public void initialize(io.dropwizard.setup.Bootstrap bootstrap) + { + super.initialize(bootstrap); + + PureProtocolObjectMapperFactory.withPureProtocolExtensions(bootstrap.getObjectMapper()); + ObjectMapperFactory.withStandardConfigurations(bootstrap.getObjectMapper()); + } - private static String getLocalHostName() throws UnknownHostException + @Override + public void run(DataPushServerConfiguration configuration, Environment environment) { - return InetAddress.getLocalHost().getHostName(); + this.environment = this.buildLegendEnvironment(configuration); + this.identityFactory = this.buildIdentityFactory(configuration, this.environment); + this.connectionFactory = this.buildConnectionFactory(configuration, this.environment); + this.dataPushProvider = this.buildDataPushProvider(); + super.run(configuration, environment); } @Override protected void configureServerCore(DataPushServerConfiguration configuration, Environment environment) { - environment.jersey().register(DataPushResource.class); + environment.jersey().register(new DataPushResource(configuration.getMetadataServerConfiguration(), this.environment, this.identityFactory, this.connectionFactory, this.dataPushProvider)); } @Override @@ -43,32 +63,11 @@ protected void configureServerExtension(DataPushServerConfiguration configuratio super.configureServerExtension(configuration, environment); } - public static final class ServerInfo - { - private final String hostName; - private final String initTime; - private final ServerPlatformInfo serverPlatformInfo; + public abstract LegendEnvironment buildLegendEnvironment(DataPushServerConfiguration configuration); - private ServerInfo(String hostName, String initTime, ServerPlatformInfo serverPlatformInfo) - { - this.hostName = hostName; - this.initTime = initTime; - this.serverPlatformInfo = (serverPlatformInfo == null) ? new ServerPlatformInfo(null, null, null) : serverPlatformInfo; - } + public abstract IdentityFactory buildIdentityFactory(DataPushServerConfiguration configuration, LegendEnvironment environment); - public String getHostName() - { - return this.hostName; - } + public abstract ConnectionFactory buildConnectionFactory(DataPushServerConfiguration configuration, LegendEnvironment environment); - public String getInitTime() - { - return this.initTime; - } - - public ServerPlatformInfo getPlatform() - { - return this.serverPlatformInfo; - } - } + public abstract DataPusherProvider buildDataPushProvider(); } diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryBundle.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryBundle.java deleted file mode 100644 index 2b96dfd3940..00000000000 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryBundle.java +++ /dev/null @@ -1,113 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.engine.datapush.server; - -import io.dropwizard.Configuration; -import io.dropwizard.ConfiguredBundle; -import io.dropwizard.setup.Bootstrap; -import io.dropwizard.setup.Environment; -import org.finos.legend.authentication.vault.CredentialVault; -import org.finos.legend.authentication.vault.impl.EnvironmentCredentialVault; -import org.finos.legend.authentication.vault.impl.SystemPropertiesCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; -import org.finos.legend.connection.ConnectionFactory; -import org.finos.legend.connection.DatabaseType; -import org.finos.legend.connection.impl.DefaultStoreInstanceProvider; -import org.finos.legend.connection.IdentityFactory; -import org.finos.legend.connection.LegendEnvironment; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstanceProvider; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; - -import java.util.List; -import java.util.function.Function; - -public class ConnectionFactoryBundle implements ConfiguredBundle -{ - private static LegendEnvironment environment; - private static IdentityFactory identityFactory; - private static StoreInstanceProvider storeInstanceProvider; - private static ConnectionFactory connectionFactory; - private final List credentialVaults; - private final Function configSupplier; - - public ConnectionFactoryBundle(Function configSupplier, List credentialVaults) - { - this.configSupplier = configSupplier; - this.credentialVaults = credentialVaults; - } - - @Override - public void initialize(Bootstrap bootstrap) - { - } - - @Override - public void run(C configuration, Environment environment) - { - ConnectionFactoryBundle.environment = new LegendEnvironment.Builder() - // TODO: @akphi - add a property credential vault and load its content up from the config -// .withVault(propertiesFileCredentialVault) - .withVault(new SystemPropertiesCredentialVault()) - .withVault(new EnvironmentCredentialVault()) - .withVaults(this.credentialVaults) - .withStoreSupport(new RelationalDatabaseStoreSupport.Builder(DatabaseType.POSTGRES) - .withIdentifier("Postgres") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class).build() - ).build()) - .build(); - - identityFactory = new IdentityFactory.Builder(ConnectionFactoryBundle.environment) - .build(); - - storeInstanceProvider = new DefaultStoreInstanceProvider.Builder().build(); - - connectionFactory = new ConnectionFactory.Builder(ConnectionFactoryBundle.environment, storeInstanceProvider) -// .withCredentialBuilderProvider(new DefaultCredentialBuilderProvider()) // can also use service loader -// .withConnectionBuilderProvider(new DefaultConnectionBuilderProvider()) // can also use service loader - .build(); - - // TODO: register store instances - } - - public static LegendEnvironment getEnvironment() - { - if (environment == null) - { - throw new IllegalStateException("Environment configuration has not been set!"); - } - return environment; - } - - public static IdentityFactory getIdentityFactory() - { - if (identityFactory == null) - { - throw new IllegalStateException("Identity factory has not been configured properly!"); - } - return identityFactory; - } - - public static ConnectionFactory getConnectionFactory() - { - if (connectionFactory == null) - { - throw new IllegalStateException("Connection factory has not been configured properly!"); - } - return connectionFactory; - } -} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionModelLoader.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionModelLoader.java new file mode 100644 index 00000000000..0b6daa1ec43 --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionModelLoader.java @@ -0,0 +1,182 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.datapush.server; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.apache.http.client.CookieStore; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.cookie.Cookie; +import org.apache.http.impl.client.BasicCookieStore; +import org.apache.http.impl.client.CloseableHttpClient; +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.impl.utility.ArrayIterate; +import org.eclipse.collections.impl.utility.ListIterate; +import org.finos.legend.engine.language.pure.modelManager.sdlc.SDLCLoader; +import org.finos.legend.engine.language.pure.modelManager.sdlc.configuration.MetaDataServerConfiguration; +import org.finos.legend.engine.protocol.pure.v1.model.context.AlloySDLC; +import org.finos.legend.engine.protocol.pure.v1.model.context.PureModelContextData; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection; +import org.finos.legend.engine.shared.core.ObjectMapperFactory; +import org.finos.legend.engine.shared.core.kerberos.HttpClientBuilder; +import org.finos.legend.engine.shared.core.operational.Assert; +import org.finos.legend.engine.shared.core.operational.errorManagement.EngineException; +import org.finos.legend.engine.shared.core.operational.logs.LoggingEventType; +import org.pac4j.core.profile.CommonProfile; + +import javax.servlet.http.HttpServletRequest; +import java.util.Date; +import java.util.List; + +public class ConnectionModelLoader +{ + private final MetaDataServerConfiguration metaDataServerConfiguration; + + public ConnectionModelLoader(MetaDataServerConfiguration metaDataServerConfiguration) + { + this.metaDataServerConfiguration = metaDataServerConfiguration; + } + + public Connection getConnectionFromSDLCWorkspace(HttpServletRequest request, String projectId, String workspaceId, boolean isGroupWorkspace, String connectionPath) + { + // NOTE: this flow is really meant only for development, here we have to + CookieStore cookieStore = new BasicCookieStore(); + ArrayIterate.forEach(request.getCookies(), c -> cookieStore.addCookie(new DEV_ONLY__HttpClientBuilderCookie(c))); + + try (CloseableHttpClient client = (CloseableHttpClient) HttpClientBuilder.getHttpClient(cookieStore)) + { + if (metaDataServerConfiguration == null || metaDataServerConfiguration.getSdlc() == null) + { + throw new EngineException("Please specify the metadataserver.sdlc information in the server configuration"); + } + HttpGet req = new HttpGet("http://" + metaDataServerConfiguration.getSdlc().host + ":" + metaDataServerConfiguration.getSdlc().port + "/api/projects/" + projectId + (isGroupWorkspace ? "/groupWorkspaces/" : "/workspaces/") + workspaceId + "/pureModelContextData"); + try (CloseableHttpResponse res = client.execute(req)) + { + ObjectMapper mapper = ObjectMapperFactory.getNewStandardObjectMapperWithPureProtocolExtensionSupports(); + PureModelContextData pureModelContextData = mapper.readValue(res.getEntity().getContent(), PureModelContextData.class); + return ListIterate.select(pureModelContextData.getElements(), element -> element.getPath().equals(connectionPath)).selectInstancesOf(Connection.class).getAny(); + } + } + catch (Exception e) + { + throw new RuntimeException(e); + } + } + + public Connection getConnectionFromProject(List profiles, String groupId, String artifactId, String versionId, String connectionPath) + { + AlloySDLC sdlcInfo = new AlloySDLC(); + sdlcInfo.groupId = groupId; + sdlcInfo.artifactId = artifactId; + sdlcInfo.version = versionId; + Assert.assertTrue(sdlcInfo.project == null, () -> "Accessing metadata services using project id was demised. Please update AlloySDLC to provide group and artifact IDs"); + Assert.assertTrue(sdlcInfo.groupId != null && sdlcInfo.artifactId != null, () -> "AlloySDLC info must contain and group and artifact IDs to access metadata services"); + PureModelContextData pureModelContextData = SDLCLoader.loadMetadataFromHTTPURL(Lists.mutable.withAll(profiles), LoggingEventType.METADATA_REQUEST_ALLOY_PROJECT_START, LoggingEventType.METADATA_REQUEST_ALLOY_PROJECT_STOP, (isLatestRevision(sdlcInfo)) ? + metaDataServerConfiguration.getAlloy().getBaseUrl() + "/projects/" + sdlcInfo.groupId + "/" + sdlcInfo.artifactId + "/revisions/latest/pureModelContextData" : + metaDataServerConfiguration.getAlloy().getBaseUrl() + "/projects/" + sdlcInfo.groupId + "/" + sdlcInfo.artifactId + "/versions/" + sdlcInfo.version + "/pureModelContextData"); + return ListIterate.select(pureModelContextData.getElements(), element -> element.getPath().equals(connectionPath)).selectInstancesOf(Connection.class).getAny(); + } + + private boolean isLatestRevision(AlloySDLC alloySDLC) + { + return alloySDLC.version == null || alloySDLC.version.equals("none") || alloySDLC.version.equals("master-SNAPSHOT"); + } + + private static class DEV_ONLY__HttpClientBuilderCookie implements Cookie + { + private final javax.servlet.http.Cookie cookie; + + public DEV_ONLY__HttpClientBuilderCookie(javax.servlet.http.Cookie cookie) + { + this.cookie = cookie; + } + + @Override + public String getName() + { + return this.cookie.getName(); + } + + @Override + public String getValue() + { + return this.cookie.getValue(); + } + + @Override + public String getComment() + { + return this.cookie.getComment(); + } + + @Override + public String getCommentURL() + { + return ""; + } + + @Override + public Date getExpiryDate() + { + if (this.cookie.getMaxAge() >= 0) + { + return new Date(System.currentTimeMillis() + this.cookie.getMaxAge() * 1000L); + } + throw new RuntimeException(""); + } + + @Override + public boolean isPersistent() + { + return true; + } + + @Override + public String getDomain() + { + return "localhost"; + } + + @Override + public String getPath() + { + return "/"; + } + + @Override + public int[] getPorts() + { + return new int[]{}; + } + + @Override + public boolean isSecure() + { + return false; + } + + @Override + public int getVersion() + { + return this.cookie.getVersion(); + } + + @Override + public boolean isExpired(Date date) + { + return false; + } + } +} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/DataPushServer.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/DataPushServer.java index 3f939298be9..c9e566ca3d2 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/DataPushServer.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/DataPushServer.java @@ -15,10 +15,32 @@ package org.finos.legend.engine.datapush.server; import io.dropwizard.setup.Bootstrap; -import org.eclipse.collections.api.factory.Lists; -import org.finos.legend.engine.datapush.server.config.DataPushServerConfiguration; +import org.finos.legend.authentication.vault.impl.EnvironmentCredentialVault; +import org.finos.legend.authentication.vault.impl.SystemPropertiesCredentialVault; +import org.finos.legend.connection.AuthenticationMechanism; +import org.finos.legend.connection.Connection; +import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.connection.DatabaseSupport; +import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.IdentityFactory; +import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; +import org.finos.legend.connection.impl.KerberosCredentialExtractor; +import org.finos.legend.connection.impl.KeyPairCredentialBuilder; +import org.finos.legend.connection.impl.RelationalDatabaseType; +import org.finos.legend.connection.impl.SnowflakeConnectionBuilder; +import org.finos.legend.connection.impl.StaticJDBCConnectionBuilder; +import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; +import org.finos.legend.engine.datapush.DataPusher; +import org.finos.legend.engine.datapush.DataPusherProvider; +import org.finos.legend.engine.datapush.impl.SnowflakeWithS3StageDataPusher; +import org.finos.legend.engine.datapush.server.configuration.DataPushServerConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.server.support.server.config.BaseServerConfiguration; import org.finos.legend.server.pac4j.LegendPac4jBundle; +import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; +import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; public class DataPushServer extends BaseDataPushServer { @@ -33,7 +55,6 @@ public void initialize(Bootstrap bootstrap) { super.initialize(bootstrap); - bootstrap.addBundle(new ConnectionFactoryBundle<>(DataPushServerConfiguration::getConnectionFactoryConfiguration, Lists.mutable.empty())); bootstrap.addBundle(new LegendPac4jBundle<>(BaseServerConfiguration::getPac4jConfiguration)); } @@ -41,4 +62,83 @@ public static void main(String... args) throws Exception { new DataPushServer().run(args); } + + @Override + public LegendEnvironment buildLegendEnvironment(DataPushServerConfiguration configuration) + { + return LegendEnvironment.builder() + .vaults( + new SystemPropertiesCredentialVault(), + new EnvironmentCredentialVault() + ) + .databaseSupports( + DatabaseSupport.builder() + .type(RelationalDatabaseType.POSTGRES) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD).authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class + ).build() + ) + .build(), + DatabaseSupport.builder() + .type(RelationalDatabaseType.SNOWFLAKE) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.KEY_PAIR).authenticationConfigurationTypes( + EncryptedPrivateKeyPairAuthenticationConfiguration.class + ).build() + ) + .build() + ).build(); + } + + @Override + public IdentityFactory buildIdentityFactory(DataPushServerConfiguration configuration, LegendEnvironment environment) + { + return IdentityFactory.builder() + .environment(environment) + .build(); + } + + @Override + public ConnectionFactory buildConnectionFactory(DataPushServerConfiguration configuration, LegendEnvironment environment) + { + return ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders( + new KerberosCredentialExtractor(), + new UserPasswordCredentialBuilder(), + new KeyPairCredentialBuilder() + ) + .connectionBuilders( + new StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword(), + new SnowflakeConnectionBuilder.WithKeyPair() + ) + .build(); + } + + @Override + public DataPusherProvider buildDataPushProvider() + { + return new DataPusherProvider() + { + @Override + public DataPusher getDataPusher(Connection connection) + { + DatabaseType databaseType = connection.getDatabaseSupport().getDatabaseType(); + if (RelationalDatabaseType.SNOWFLAKE.equals(databaseType)) + { + String tableName = "DEMO_DB.SCHEMA1.TABLE1"; + String stageName = "DEMO_DB.SCHEMA1.STAGE1"; + return new SnowflakeWithS3StageDataPusher("legend-dpsh1", null, StaticCredentialsProvider.create( + AwsBasicCredentials.create( + "xxxxx", // NOTE: secret - to be removed when committed + "xxxxx" // NOTE: secret - to be removed when committed + )), tableName, stageName); + } + throw new UnsupportedOperationException("Unsupported database type: " + databaseType.getIdentifier()); + } + }; + } } diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryConfiguration.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/ConnectionFactoryConfiguration.java similarity index 91% rename from legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryConfiguration.java rename to legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/ConnectionFactoryConfiguration.java index f3feddde5b1..e5e22b76bb6 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/ConnectionFactoryConfiguration.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/ConnectionFactoryConfiguration.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.engine.datapush.server; +package org.finos.legend.engine.datapush.server.configuration; public class ConnectionFactoryConfiguration { diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/config/DataPushServerConfiguration.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/DataPushServerConfiguration.java similarity index 73% rename from legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/config/DataPushServerConfiguration.java rename to legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/DataPushServerConfiguration.java index 3c0a4fbf1a8..1934f36e667 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/config/DataPushServerConfiguration.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/configuration/DataPushServerConfiguration.java @@ -12,19 +12,26 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.engine.datapush.server.config; +package org.finos.legend.engine.datapush.server.configuration; import com.fasterxml.jackson.annotation.JsonProperty; -import org.finos.legend.engine.datapush.server.ConnectionFactoryConfiguration; +import org.finos.legend.engine.language.pure.modelManager.sdlc.configuration.MetaDataServerConfiguration; import org.finos.legend.engine.server.support.server.config.BaseServerConfiguration; public class DataPushServerConfiguration extends BaseServerConfiguration { @JsonProperty("connection") private ConnectionFactoryConfiguration connectionFactoryConfiguration; + @JsonProperty("metadata-server") + private MetaDataServerConfiguration metadataserver; public ConnectionFactoryConfiguration getConnectionFactoryConfiguration() { return connectionFactoryConfiguration; } + + public MetaDataServerConfiguration getMetadataServerConfiguration() + { + return metadataserver; + } } diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/resources/DataPushResource.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/resources/DataPushResource.java index 2490782efc3..6bffdce91bd 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/resources/DataPushResource.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/main/java/org/finos/legend/engine/datapush/server/resources/DataPushResource.java @@ -15,49 +15,206 @@ package org.finos.legend.engine.datapush.server.resources; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.finos.legend.connection.Connection; +import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.connection.IdentityFactory; +import org.finos.legend.connection.IdentitySpecification; +import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.engine.datapush.DataPusher; +import org.finos.legend.engine.datapush.DataPusherProvider; +import org.finos.legend.engine.datapush.data.CSVData; +import org.finos.legend.engine.datapush.server.ConnectionModelLoader; +import org.finos.legend.engine.language.pure.modelManager.sdlc.configuration.MetaDataServerConfiguration; import org.finos.legend.engine.server.support.server.resources.BaseResource; +import org.finos.legend.engine.shared.core.identity.Identity; +import org.finos.legend.engine.shared.core.kerberos.ProfileManagerHelper; +import org.finos.legend.engine.shared.core.operational.errorManagement.EngineException; +import org.finos.legend.engine.shared.core.operational.errorManagement.ExceptionTool; +import org.finos.legend.engine.shared.core.operational.logs.LoggingEventType; +import org.pac4j.core.profile.CommonProfile; +import org.pac4j.core.profile.ProfileManager; +import org.pac4j.jax.rs.annotations.Pac4JProfileManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import javax.servlet.http.HttpServletRequest; import javax.ws.rs.Consumes; +import javax.ws.rs.DefaultValue; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.io.IOException; +import java.util.List; -@Path("/data/push") +@Path("/data-push") @Api("Data Push") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public class DataPushResource extends BaseResource { - public DataPushResource() + private static final String TEXT_CSV = "text/csv"; + private static final Logger LOGGER = LoggerFactory.getLogger(DataPushResource.class); + + private final ConnectionModelLoader connectionModelLoader; + private final LegendEnvironment environment; + private final IdentityFactory identityFactory; + private final ConnectionFactory connectionFactory; + private final DataPusherProvider dataPusherProvider; + + public DataPushResource(MetaDataServerConfiguration metadataserver, LegendEnvironment environment, IdentityFactory identityFactory, ConnectionFactory connectionFactory, DataPusherProvider dataPusherProvider) { + this.environment = environment; + this.identityFactory = identityFactory; + this.connectionFactory = connectionFactory; + this.dataPusherProvider = dataPusherProvider; + this.connectionModelLoader = new ConnectionModelLoader(metadataserver); } - @Path("/location/{location}/datastore/{datastore}/dataset/{dataset}") + @Path("/push/{groupId}/{artifactId}/{versionId}/{connectionPath}") @POST - @ApiOperation("Push data") - public Response push(@PathParam("location") String location, @PathParam("datastore") String datastore, @PathParam("dataset") String dataset) throws IOException + @Consumes({ + // TODO: content type will drive how we interpret the data, right now + // we only support CSV + MediaType.TEXT_PLAIN, + MediaType.TEXT_XML, + MediaType.APPLICATION_JSON, + TEXT_CSV + }) + @Produces(MediaType.APPLICATION_JSON) + public Response pushData( + @PathParam("groupId") String groupId, + @PathParam("artifactId") String artifactId, + @PathParam("versionId") String versionId, + @PathParam("connectionPath") String connectionPath, + String data, + @Context HttpServletRequest request, + @ApiParam(hidden = true) @Pac4JProfileManager ProfileManager profileManager + ) { - return executeWithLogging( - "pushing data\"", - () -> Response.ok().entity(this.pushData(location, datastore, dataset)).build() + List profiles = ProfileManagerHelper.extractProfiles(profileManager); + Identity identity = this.identityFactory.createIdentity( + IdentitySpecification.builder().profiles(profiles).build() ); + org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection connection = this.connectionModelLoader.getConnectionFromProject(profiles, groupId, artifactId, versionId, connectionPath); + + CSVData csvData = new CSVData(); + csvData.value = data; + + try + { + this.pushCSVData(identity, connection, csvData); + return Response.noContent().build(); + } + catch (Exception exception) + { + LOGGER.error("Can't push data:\n", exception); + return handleException(profiles, exception); + } } - private String pushData(String location, String datastore, String dataset) + @Path("/pushDev/{projectId}/{workspaceId}/{connectionPath}") + @POST + @Consumes({ + // TODO: content type will drive how we interpret the data, right now + // we only support CSV + MediaType.TEXT_PLAIN, + MediaType.TEXT_XML, + MediaType.APPLICATION_JSON, + TEXT_CSV + }) + @Produces(MediaType.APPLICATION_JSON) + public Response pushData_Dev( + @PathParam("projectId") String projectId, + @PathParam("workspaceId") String workspaceId, + @PathParam("connectionPath") String connectionPath, + @QueryParam("isGroupWorkspace") @DefaultValue("false") boolean isGroupWorkspace, + String data, + @Context HttpServletRequest request, + @ApiParam(hidden = true) @Pac4JProfileManager ProfileManager profileManager + ) { + List profiles = ProfileManagerHelper.extractProfiles(profileManager); + Identity identity = this.identityFactory.createIdentity( + IdentitySpecification.builder().profiles(profiles).build() + ); + org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection connection = this.connectionModelLoader.getConnectionFromSDLCWorkspace(request, projectId, workspaceId, isGroupWorkspace, connectionPath); + + CSVData csvData = new CSVData(); + csvData.value = data; + try { - // TODO - actually push the data - return "ok"; + this.pushCSVData(identity, connection, csvData); + return Response.noContent().build(); + } + catch (Exception exception) + { + LOGGER.error("Can't push data:\n", exception); + return handleException(profiles, exception); + } + } + + private Response handleException(List profiles, Exception exception) + { + Response.Status status = exception instanceof EngineException ? Response.Status.BAD_REQUEST : Response.Status.INTERNAL_SERVER_ERROR; + return ExceptionTool.exceptionManager(exception, LoggingEventType.ERROR_MANAGEMENT_ERROR, status, profiles); + } + + private void pushCSVData(Identity identity, org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection connectionProtocol, CSVData csvData) + { + Connection connection = Connection.builder().fromProtocol(connectionProtocol, this.environment).build(); + try + { + DataPusher dataPusher = this.dataPusherProvider.getDataPusher(connection); + dataPusher.configure(this.connectionFactory); + dataPusher.writeCSV(identity, connection, csvData); } catch (Exception e) { throw new RuntimeException(e); } } + + // ------------------------ DEBUG ----------------------- + // TO BE REMOVED when we stabilize the API and models + + @Path("/pushDev/debug") + @POST + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public Response TEMPORARY__pushData_Debug( + DebugInput input, + @Context HttpServletRequest request, + @ApiParam(hidden = true) @Pac4JProfileManager ProfileManager profileManager + ) + { + List profiles = ProfileManagerHelper.extractProfiles(profileManager); + Identity identity = this.identityFactory.createIdentity( + IdentitySpecification.builder().profiles(profiles).build() + ); + CSVData csvData = new CSVData(); + csvData.value = input.data; + + try + { + this.pushCSVData(identity, input.connection, csvData); + return Response.noContent().build(); + } + catch (Exception exception) + { + LOGGER.error("Can't push data:\n", exception); + return handleException(profiles, exception); + } + } + + public static class DebugInput + { + public org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection connection; + public String data; + } } diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/TestDataPushResource.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/TestDataPushResource.java deleted file mode 100644 index d0187255cf0..00000000000 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/TestDataPushResource.java +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2020 Goldman Sachs -// -// 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.finos.legend.engine.datapush.server; - -import org.apache.http.client.HttpResponseException; -import org.finos.legend.engine.datapush.server.test.AbstractDataPushServerResourceTest; -import org.junit.Test; - -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -import static org.junit.Assert.assertEquals; - -public class TestDataPushResource extends AbstractDataPushServerResourceTest -{ - @Test - public void testPost() throws HttpResponseException - { - Response response = this.clientFor("/api/data/push/location/LOCATION/datastore/STORE/dataset/DATASET").request().post(Entity.entity("{}", MediaType.APPLICATION_JSON_TYPE)); - - String responseText = response.readEntity(String.class); - - if (response.getStatus() != 200) - { - throw new HttpResponseException(response.getStatus(), "Error during http call with status: " + response.getStatus() + " , entity: " + responseText); - } - - assertEquals("ok", responseText); - } -} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/resources/DataPushTestResource.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/resources/DataPushTestResource.java deleted file mode 100644 index 6053bf0afe3..00000000000 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/resources/DataPushTestResource.java +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright 2020 Goldman Sachs -// -// 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.finos.legend.engine.datapush.server.resources; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.finos.legend.engine.server.support.server.resources.BaseResource; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; - -@Path("/tests/data/push") -@Api("Data Push - tests") -@Consumes(MediaType.APPLICATION_JSON) -@Produces(MediaType.APPLICATION_JSON) -public class DataPushTestResource extends BaseResource -{ - public DataPushTestResource() - { - - } - - @Path("/postSomething") - @POST - @ApiOperation("Test POST") - public Response postSomething(Object object) - { - return executeWithLogging( - "testing post \"", - () -> Response.ok().entity("{\"post\" : \"ok\"}").build() - ); - } - - @Path("/getSomething") - @GET - @ApiOperation("Test GET") - public Response getSomething() - { - return executeWithLogging( - "testing post \"", - () -> Response.ok().entity("{\"get\" : \"ok\"}").build() - ); - } -} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/AbstractDataPushServerResourceTest.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/AbstractDataPushServerResourceTest.java index f83f18063dc..ef44e5f161f 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/AbstractDataPushServerResourceTest.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/AbstractDataPushServerResourceTest.java @@ -16,7 +16,7 @@ import io.dropwizard.testing.ResourceHelpers; import io.dropwizard.testing.junit.DropwizardAppRule; -import org.finos.legend.engine.datapush.server.config.DataPushServerConfiguration; +import org.finos.legend.engine.datapush.server.configuration.DataPushServerConfiguration; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; @@ -50,6 +50,11 @@ private void configureClient() this.client.target(getServerUrl()).request().get(); } + protected DataPushServerForTest getApplicationInstance() + { + return APP_RULE.getApplication(); + } + protected WebTarget clientFor(String url) { return this.client.target(getServerUrl(url)); diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/DataPushServerForTest.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/DataPushServerForTest.java index 212c55dc8b6..70ab113b50c 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/DataPushServerForTest.java +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/DataPushServerForTest.java @@ -14,32 +14,71 @@ package org.finos.legend.engine.datapush.server.test; -import io.dropwizard.setup.Environment; -import org.finos.legend.engine.datapush.server.BaseDataPushServer; -import org.finos.legend.engine.datapush.server.config.DataPushServerConfiguration; -import org.finos.legend.engine.datapush.server.resources.DataPushTestResource; -import org.finos.legend.engine.server.support.server.BaseServer; +import org.finos.legend.authentication.vault.impl.EnvironmentCredentialVault; +import org.finos.legend.authentication.vault.impl.SystemPropertiesCredentialVault; +import org.finos.legend.connection.AuthenticationMechanism; +import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.connection.DatabaseSupport; +import org.finos.legend.connection.LegendEnvironment; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; +import org.finos.legend.connection.impl.KerberosCredentialExtractor; +import org.finos.legend.connection.impl.RelationalDatabaseType; +import org.finos.legend.connection.impl.StaticJDBCConnectionBuilder; +import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; +import org.finos.legend.engine.datapush.server.DataPushServer; +import org.finos.legend.engine.datapush.server.configuration.DataPushServerConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; -public class DataPushServerForTest extends BaseDataPushServer +public class DataPushServerForTest extends DataPushServer { public DataPushServerForTest() { } + public static void main(String... args) throws Exception + { + new DataPushServerForTest().run(args); + } + @Override - protected void configureServerExtension(DataPushServerConfiguration configuration, Environment environment) + public LegendEnvironment buildLegendEnvironment(DataPushServerConfiguration configuration) { - environment.jersey().register(new DataPushTestResource()); + return LegendEnvironment.builder() + .vaults( + new SystemPropertiesCredentialVault(), + new EnvironmentCredentialVault() + ) + .databaseSupports( + DatabaseSupport.builder() + .type(RelationalDatabaseType.POSTGRES) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class + ).build() + ) + .build() + ).build(); } @Override - protected BaseServer.ServerPlatformInfo newServerPlatformInfo() + public ConnectionFactory buildConnectionFactory(DataPushServerConfiguration configuration, LegendEnvironment environment) { - return new ServerPlatformInfo(null, null, null); + return ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders( + new KerberosCredentialExtractor(), + new UserPasswordCredentialBuilder() + ) + .connectionBuilders( + new StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword() + ) + .build(); } - public static void main(String... args) throws Exception + public LegendEnvironment getEnvironment() { - new DataPushServerForTest().run(args); + return environment; } } \ No newline at end of file diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/MinIOS3TestContainerWrapper.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/MinIOS3TestContainerWrapper.java new file mode 100644 index 00000000000..de1e4d3f2af --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/MinIOS3TestContainerWrapper.java @@ -0,0 +1,86 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.engine.datapush.server.test; + +import org.junit.Assert; +import org.testcontainers.DockerClientFactory; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.Network; + +public class MinIOS3TestContainerWrapper +{ + private Network network; + private GenericContainer minioContainer; + + private MinIOS3TestContainerWrapper() + { + } + + public static MinIOS3TestContainerWrapper build() + { + return new MinIOS3TestContainerWrapper(); + } + + public void start() throws Exception + { + Assert.assertTrue("Docker environment not properly setup", DockerClientFactory.instance().isDockerAvailable()); + + this.network = Network.newNetwork(); + this.initMinio(); + } + + private void initMinio() + { +// GenericContainer mc = new GenericContainer<>("minio/mc:RELEASE.2023-08-08T17-23-59Z") +// .withNetwork(this.network) +// .withEnv("AWS_ACCESS_KEY_ID", "admin") +// .withEnv("AWS_SECRET_ACCESS_KEY", "password") +// .withEnv("AWS_REGION", "us-east-1") +// .withCreateContainerCmdModifier(x -> x.withEntrypoint( +// "/bin/sh", +// "-c", +// "until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done; " + +// "/usr/bin/mc rm -r --force minio/" + this.getBucketName() + "; " + +// "/usr/bin/mc mb minio/" + this.getBucketName() + "; " + +// "/usr/bin/mc policy set public minio/" + this.getBucketName() + "; " + +// "tail -f /dev/null" +// ) +// ); + + this.minioContainer = new GenericContainer<>("minio/minio:RELEASE.2023-08-09T23-30-22Z") + .withNetwork(this.network) + .withNetworkAliases("minio", "warehouse.minio") + .withEnv("MINIO_ROOT_USER", "admin") + .withEnv("MINIO_ROOT_PASSWORD", "password") + .withEnv("MINIO_DOMAIN", "minio") + .withExposedPorts(9000, 9001) + .withCommand("server", "/data", "--console-address", ":9001") +// .dependsOn(mc) + ; + + } + + public void stop() throws Exception + { + try ( + Network ignored = this.network; + AutoCloseable ignored1 = this.minioContainer; + ) + { + // done + } + } +} \ No newline at end of file diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/TestDataPushServer.java b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/TestDataPushServer.java new file mode 100644 index 00000000000..19a78f80f8f --- /dev/null +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/java/org/finos/legend/engine/datapush/server/test/TestDataPushServer.java @@ -0,0 +1,92 @@ +// Copyright 2020 Goldman Sachs +// +// 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.finos.legend.engine.datapush.server.test; + +import org.finos.legend.connection.PostgresTestContainerWrapper; +import org.junit.After; +import org.junit.Assume; +import org.junit.Before; +import org.junit.Ignore; +import org.junit.Test; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import static org.junit.Assert.assertEquals; + +public class TestDataPushServer extends AbstractDataPushServerResourceTest +{ + private MinIOS3TestContainerWrapper minioContainer; + + private PostgresTestContainerWrapper postgresContainer; + + @Before + public void setUp() + { + try + { + // TODO: use @ClassRule + this.minioContainer = MinIOS3TestContainerWrapper.build(); + this.minioContainer.start(); + } + catch (Exception e) + { + Assume.assumeTrue("Can't start MinIO", false); + } + + try + { + // TODO: use @ClassRule + this.postgresContainer = PostgresTestContainerWrapper.build(); + this.postgresContainer.start(); + } + catch (Exception e) + { + Assume.assumeTrue("Can't start PostgreSQLContainer", false); + } + } + + @After + public void tearDown() throws Exception + { + if (this.minioContainer != null) + { + this.minioContainer.stop(); + } + + if (this.postgresContainer != null) + { + this.postgresContainer.stop(); + } + + System.clearProperty("passwordRef"); + } + + @Test + @Ignore + public void test() + { + Response response = this.clientFor("/api/data-push/stage").request().post(Entity.entity("{\n" + + " \"_type\": \"sql\",\n" + + " \"statements\": [\"Drop table if exists FirmTable;\n" + + "Create Table FirmTable(id INT, Legal_Name VARCHAR(200));\n" + + "Insert into FirmTable (id, Legal_Name) values (1, 'FINOS');\"]\n" + + "}", MediaType.APPLICATION_JSON_TYPE)); + String responseText = response.readEntity(String.class); + + assertEquals("ok", responseText); + } +} diff --git a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/resources/config-test.yaml b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/resources/config-test.yaml index 0e02a41dfc4..41376c8a8dc 100644 --- a/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/resources/config-test.yaml +++ b/legend-engine-xts-data-push/legend-engine-xt-data-push-server/src/test/resources/config-test.yaml @@ -35,6 +35,17 @@ filterPriorities: org.pac4j.j2e.filter.SecurityFilter: 3 CORS: 4 +metadata-server: + pure: + host: 127.0.0.1 + port: 8080 + alloy: + host: 127.0.0.1 + port: 6200 + prefix: "/depot/api" + sdlc: + host: localhost + port: 6100 logging: # Change this to affect library class logging @@ -43,8 +54,13 @@ logging: - type: console logFormat: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p [%thread] %c - %m%n" +pac4j: + callbackPrefix: /api/pac4j + clients: + - org.pac4j.core.client.direct.AnonymousClient: {} + swagger: resourcePackage: org.finos.legend.engine.datapush.server.resources - title: Legend Data Push + title: Legend Data Push (Test) version: local-snapshot schemes: [] \ No newline at end of file diff --git a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-generation/pom.xml b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-generation/pom.xml index f86fcc91c82..ca33ecc7591 100644 --- a/legend-engine-xts-hostedService/legend-engine-xt-hostedService-generation/pom.xml +++ b/legend-engine-xts-hostedService/legend-engine-xt-hostedService-generation/pom.xml @@ -134,11 +134,6 @@ org.finos.legend.engine legend-engine-language-pure-dsl-generation - - org.finos.legend.engine - legend-engine-language-pure-dsl-generation - - com.fasterxml.jackson.core jackson-databind diff --git a/legend-engine-xts-iceberg/legend-engine-xt-iceberg-test-support/pom.xml b/legend-engine-xts-iceberg/legend-engine-xt-iceberg-test-support/pom.xml index 6a5fb022481..6ef693b35e1 100644 --- a/legend-engine-xts-iceberg/legend-engine-xt-iceberg-test-support/pom.xml +++ b/legend-engine-xts-iceberg/legend-engine-xt-iceberg-test-support/pom.xml @@ -122,13 +122,6 @@ io.minio minio - 8.5.5 - - - org.jetbrains - * - - diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/pom.xml b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/pom.xml index 78bffc2431f..4ad10b16753 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/pom.xml +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/pom.xml @@ -35,7 +35,11 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory + + + org.finos.legend.engine + legend-engine-xt-connection-protocol org.finos.legend.engine diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/HACKY__RelationalDatabaseConnectionAdapter.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/HACKY__RelationalDatabaseConnectionAdapter.java index 172bdd2a8d2..a924ad9b89a 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/HACKY__RelationalDatabaseConnectionAdapter.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/HACKY__RelationalDatabaseConnectionAdapter.java @@ -14,7 +14,7 @@ package org.finos.legend.connection; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.RelationalDatabaseConnection; import org.finos.legend.engine.shared.core.identity.Identity; @@ -29,12 +29,12 @@ public interface HACKY__RelationalDatabaseConnectionAdapter class ConnectionFactoryMaterial { - public final StoreInstance storeInstance; + public final Connection connection; public final AuthenticationConfiguration authenticationConfiguration; - public ConnectionFactoryMaterial(StoreInstance storeInstance, AuthenticationConfiguration authenticationConfiguration) + public ConnectionFactoryMaterial(Connection connection, AuthenticationConfiguration authenticationConfiguration) { - this.storeInstance = storeInstance; + this.connection = connection; this.authenticationConfiguration = authenticationConfiguration; } } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseManager.java similarity index 95% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseManager.java index d7320f0a503..7ff111b7394 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseManager.java @@ -17,7 +17,7 @@ import java.util.List; import java.util.Properties; -public interface DatabaseManager +public interface RelationalDatabaseManager { List getIds(); diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseStoreSupport.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseStoreSupport.java deleted file mode 100644 index b81cb654a97..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/RelationalDatabaseStoreSupport.java +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.factory.Lists; - -import java.util.List; -import java.util.Objects; - -public class RelationalDatabaseStoreSupport extends StoreSupport -{ - private final Database database; - - private RelationalDatabaseStoreSupport(String identifier, Database database, List authenticationMechanismConfigurations) - { - super(identifier, authenticationMechanismConfigurations); - this.database = Objects.requireNonNull(database, "Relational database store support database type is missing"); - } - - public Database getDatabase() - { - return database; - } - - public static RelationalDatabaseStoreSupport cast(StoreSupport storeSupport) - { - return cast(storeSupport, null); - } - - public static RelationalDatabaseStoreSupport cast(StoreSupport storeSupport, Database database) - { - if (!(storeSupport instanceof RelationalDatabaseStoreSupport)) - { - throw new RuntimeException("Expected store support for relational databases"); - } - RelationalDatabaseStoreSupport relationalDatabaseStoreSupport = (RelationalDatabaseStoreSupport) storeSupport; - if (database != null && !database.equals(relationalDatabaseStoreSupport.getDatabase())) - { - - throw new RuntimeException(String.format("Expected relational database store support for '%s'", database.getLabel())); - } - return relationalDatabaseStoreSupport; - } - - public static class Builder - { - private final Database database; - private String identifier; - private final List authenticationMechanismConfigurations = Lists.mutable.empty(); - - public Builder(Database database) - { - this.database = database; - } - - public Builder withIdentifier(String identifier) - { - this.identifier = identifier; - return this; - } - - public Builder withAuthenticationMechanismConfiguration(AuthenticationMechanismConfiguration authenticationMechanismConfiguration) - { - this.authenticationMechanismConfigurations.add(authenticationMechanismConfiguration); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(List authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(authenticationMechanismConfigurations); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(AuthenticationMechanismConfiguration... authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(Lists.mutable.of(authenticationMechanismConfigurations)); - return this; - } - - public RelationalDatabaseStoreSupport build() - { - return new RelationalDatabaseStoreSupport( - this.identifier, - this.database, - this.authenticationMechanismConfigurations - ); - } - } -} diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2DatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2RelationalDatabaseManager.java similarity index 83% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2DatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2RelationalDatabaseManager.java index 44fdf427975..6a44059a547 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2DatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/H2RelationalDatabaseManager.java @@ -15,18 +15,17 @@ package org.finos.legend.connection.impl; import org.eclipse.collections.impl.factory.Lists; -import org.finos.legend.connection.DatabaseManager; -import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.RelationalDatabaseManager; import java.util.List; import java.util.Properties; -public class H2DatabaseManager implements DatabaseManager +public class H2RelationalDatabaseManager implements RelationalDatabaseManager { @Override public List getIds() { - return Lists.mutable.with(DatabaseType.H2.name()); + return Lists.mutable.with(RelationalDatabaseType.H2.name()); } @Override diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/JDBCConnectionBuilder.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionBuilder.java similarity index 89% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/JDBCConnectionBuilder.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionBuilder.java index 0c09de0784e..d380bb07a9c 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/JDBCConnectionBuilder.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionBuilder.java @@ -12,10 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection; +package org.finos.legend.connection.impl; +import org.finos.legend.connection.ConnectionBuilder; import org.finos.legend.connection.impl.JDBCConnectionManager; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import java.sql.Connection; diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionManager.java index 8b96bf0aa7a..3fd59cf54fd 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/JDBCConnectionManager.java @@ -21,18 +21,17 @@ import org.eclipse.collections.impl.map.mutable.ConcurrentHashMap; import org.finos.legend.connection.Authenticator; import org.finos.legend.connection.ConnectionManager; -import org.finos.legend.connection.Database; -import org.finos.legend.connection.DatabaseManager; +import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.RelationalDatabaseManager; import org.finos.legend.connection.LegendEnvironment; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.connection.Connection; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import javax.sql.DataSource; import java.io.PrintWriter; -import java.sql.Connection; import java.sql.Driver; import java.sql.SQLException; import java.sql.SQLFeatureNotSupportedException; @@ -50,7 +49,7 @@ public class JDBCConnectionManager implements ConnectionManager private static final int HIKARICP_DEFAULT_MAX_POOL_SIZE = 100; private static final int HIKARICP_DEFAULT_MIN_POOL_SIZE = 0; - private static final ConcurrentHashMap managerByName = ConcurrentHashMap.newMap(); + private static final ConcurrentHashMap managerByName = ConcurrentHashMap.newMap(); private static final AtomicBoolean isInitialized = new AtomicBoolean(); private static JDBCConnectionManager INSTANCE; @@ -79,7 +78,7 @@ private static void setup() { if (!isInitialized.get()) { - for (DatabaseManager manager : ServiceLoader.load(DatabaseManager.class)) + for (RelationalDatabaseManager manager : ServiceLoader.load(RelationalDatabaseManager.class)) { manager.getIds().forEach(i -> managerByName.put(i, manager)); } @@ -95,24 +94,24 @@ public void initialize(LegendEnvironment environment) JDBCConnectionManager.setup(); } - public Connection getConnection(Database database, - String host, - int port, - String databaseName, - Properties connectionProperties, - ConnectionPoolConfig connectionPoolConfig, - Function authenticationPropertiesSupplier, - Authenticator authenticator, - Identity identity + public java.sql.Connection getConnection(DatabaseType databaseType, + String host, + int port, + String databaseName, + Properties connectionProperties, + ConnectionPoolConfig connectionPoolConfig, + Function authenticationPropertiesSupplier, + Authenticator authenticator, + Identity identity ) throws SQLException { - StoreInstance storeInstance = authenticator.getStoreInstance(); - ConnectionSpecification connectionSpecification = storeInstance.getConnectionSpecification(); + Connection connection = authenticator.getConnection(); + ConnectionSpecification connectionSpecification = connection.getConnectionSpecification(); AuthenticationConfiguration authenticationConfiguration = authenticator.getAuthenticationConfiguration(); String poolName = getPoolName(identity, connectionSpecification, authenticationConfiguration); // TODO: @akphi - this is simplistic, we need to handle concurrency and errors - Supplier dataSourceSupplier = () -> this.buildDataSource(database, host, port, databaseName, connectionProperties, connectionPoolConfig, authenticationPropertiesSupplier, authenticator, identity); + Supplier dataSourceSupplier = () -> this.buildDataSource(databaseType, host, port, databaseName, connectionProperties, connectionPoolConfig, authenticationPropertiesSupplier, authenticator, identity); Function0 connectionPoolSupplier = () -> new ConnectionPool(dataSourceSupplier.get()); ConnectionPool connectionPool = this.poolIndex.getIfAbsentPut(poolName, connectionPoolSupplier); @@ -147,7 +146,7 @@ public Connection getConnection(Database database, } protected HikariDataSource buildDataSource( - Database database, + DatabaseType databaseType, String host, int port, String databaseName, @@ -158,16 +157,16 @@ protected HikariDataSource buildDataSource( Identity identity ) { - StoreInstance storeInstance = authenticator.getStoreInstance(); - ConnectionSpecification connectionSpecification = storeInstance.getConnectionSpecification(); + Connection connection = authenticator.getConnection(); + ConnectionSpecification connectionSpecification = connection.getConnectionSpecification(); AuthenticationConfiguration authenticationConfiguration = authenticator.getAuthenticationConfiguration(); - DatabaseManager databaseManager = getManagerForDatabase(database); + RelationalDatabaseManager relationalDatabaseManager = getManagerForDatabase(databaseType); - String jdbcUrl = databaseManager.buildURL(host, port, databaseName, connectionProperties); + String jdbcUrl = relationalDatabaseManager.buildURL(host, port, databaseName, connectionProperties); String poolName = getPoolName(identity, connectionSpecification, authenticationConfiguration); HikariConfig jdbcConfig = new HikariConfig(); - jdbcConfig.setDriverClassName(databaseManager.getDriver()); + jdbcConfig.setDriverClassName(relationalDatabaseManager.getDriver()); jdbcConfig.setPoolName(poolName); jdbcConfig.setJdbcUrl(jdbcUrl); @@ -184,7 +183,7 @@ protected HikariDataSource buildDataSource( jdbcConfig.addDataSourceProperty("prepStmtCacheSqlLimit", 0); jdbcConfig.addDataSourceProperty("useServerPrepStmts", false); - jdbcConfig.setDataSource(new DataSourceWrapper(jdbcUrl, connectionProperties, databaseManager, authenticationPropertiesSupplier, authenticator, identity)); + jdbcConfig.setDataSource(new DataSourceWrapper(jdbcUrl, connectionProperties, relationalDatabaseManager, authenticationPropertiesSupplier, authenticator, identity)); return new HikariDataSource(jdbcConfig); } @@ -213,16 +212,16 @@ public static String getPoolName(Identity identity, ConnectionSpecification conn ); } - private static DatabaseManager getManagerForDatabase(Database database) + private static RelationalDatabaseManager getManagerForDatabase(DatabaseType databaseType) { if (!isInitialized.get()) { throw new IllegalStateException("JDBC connection manager has not been configured properly"); } - DatabaseManager manager = managerByName.get(database.getLabel()); + RelationalDatabaseManager manager = managerByName.get(databaseType.getIdentifier()); if (manager == null) { - throw new RuntimeException(String.format("Can't find any matching managers for database type '%s'", database.getLabel())); + throw new RuntimeException(String.format("Can't find any matching managers for database type '%s'", databaseType.getIdentifier())); } return manager; } @@ -334,7 +333,7 @@ private static class DataSourceWrapper implements DataSource public DataSourceWrapper( String url, Properties connectionProperties, - DatabaseManager databaseManager, + RelationalDatabaseManager relationalDatabaseManager, Function authenticationPropertiesSupplier, Authenticator authenticator, Identity identity @@ -344,7 +343,7 @@ public DataSourceWrapper( this.connectionProperties = connectionProperties; try { - this.driver = (Driver) Class.forName(databaseManager.getDriver()).getDeclaredConstructor().newInstance(); + this.driver = (Driver) Class.forName(relationalDatabaseManager.getDriver()).getDeclaredConstructor().newInstance(); } catch (Exception e) { @@ -356,7 +355,7 @@ public DataSourceWrapper( } @Override - public Connection getConnection() throws SQLException + public java.sql.Connection getConnection() throws SQLException { Properties properties = new Properties(); properties.putAll(this.connectionProperties); @@ -377,7 +376,7 @@ public Connection getConnection() throws SQLException } @Override - public Connection getConnection(String username, String password) throws SQLException + public java.sql.Connection getConnection(String username, String password) throws SQLException { throw new RuntimeException(); } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalConnectionExtension.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalConnectionExtension.java new file mode 100644 index 00000000000..138e56e5506 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalConnectionExtension.java @@ -0,0 +1,31 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection.impl; + +import org.eclipse.collections.api.factory.Lists; +import org.finos.legend.connection.AuthenticationMechanismType; +import org.finos.legend.connection.ConnectionExtension; +import org.finos.legend.connection.DatabaseType; + +import java.util.List; + +public class RelationalConnectionExtension implements ConnectionExtension +{ + @Override + public List getExtraDatabaseTypes() + { + return Lists.mutable.of(RelationalDatabaseType.values()); + } +} diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalDatabaseType.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalDatabaseType.java new file mode 100644 index 00000000000..e0cdd1811f8 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/RelationalDatabaseType.java @@ -0,0 +1,38 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection.impl; + +import org.finos.legend.connection.DatabaseType; + +public enum RelationalDatabaseType implements DatabaseType +{ + H2("H2"), + POSTGRES("Postgres"), + BIG_QUERY("BigQuery"), + SNOWFLAKE("Snowflake"); + + private final String identifier; + + private RelationalDatabaseType(String identifier) + { + this.identifier = identifier; + } + + @Override + public String getIdentifier() + { + return this.identifier; + } +} diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/StaticJDBCConnectionBuilder.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/StaticJDBCConnectionBuilder.java index 1cbe12abf4f..6d12df9cdae 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/StaticJDBCConnectionBuilder.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/impl/StaticJDBCConnectionBuilder.java @@ -15,15 +15,13 @@ package org.finos.legend.connection.impl; import org.finos.legend.connection.Authenticator; -import org.finos.legend.connection.JDBCConnectionBuilder; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.protocol.StaticJDBCConnectionSpecification; +import org.finos.legend.connection.Connection; +import org.finos.legend.connection.DatabaseSupport; +import org.finos.legend.engine.protocol.pure.v1.model.connection.StaticJDBCConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential; -import java.sql.Connection; import java.util.Properties; import java.util.function.Function; @@ -31,10 +29,10 @@ public class StaticJDBCConnectionBuilder { public static class WithPlaintextUsernamePassword extends JDBCConnectionBuilder { - public Connection getConnection(StaticJDBCConnectionSpecification connectionSpecification, Authenticator authenticator, Identity identity) throws Exception + public java.sql.Connection getConnection(StaticJDBCConnectionSpecification connectionSpecification, Authenticator authenticator, Identity identity) throws Exception { - StoreInstance storeInstance = authenticator.getStoreInstance(); - RelationalDatabaseStoreSupport storeSupport = RelationalDatabaseStoreSupport.cast(storeInstance.getStoreSupport()); + Connection connection = authenticator.getConnection(); + DatabaseSupport databaseSupport = connection.getDatabaseSupport(); Properties connectionProperties = new Properties(); Function authenticationPropertiesSupplier = cred -> @@ -46,7 +44,7 @@ public Connection getConnection(StaticJDBCConnectionSpecification connectionSpec return properties; }; - return this.getConnectionManager().getConnection(storeSupport.getDatabase(), connectionSpecification.host, connectionSpecification.port, connectionSpecification.databaseName, connectionProperties, this.getConnectionPoolConfig(), authenticationPropertiesSupplier, authenticator, identity); + return this.getConnectionManager().getConnection(databaseSupport.getDatabaseType(), connectionSpecification.host, connectionSpecification.port, connectionSpecification.databaseName, connectionProperties, this.getConnectionPoolConfig(), authenticationPropertiesSupplier, authenticator, identity); } } } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.ConnectionExtension b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.ConnectionExtension new file mode 100644 index 00000000000..460c36f956e --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.ConnectionExtension @@ -0,0 +1 @@ +org.finos.legend.connection.impl.RelationalConnectionExtension \ No newline at end of file diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager deleted file mode 100644 index 069422f1bf1..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager +++ /dev/null @@ -1 +0,0 @@ -org.finos.legend.connection.impl.H2DatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager new file mode 100644 index 00000000000..8a0c42480c5 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager @@ -0,0 +1 @@ +org.finos.legend.connection.impl.H2RelationalDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLDatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLRelationalDatabaseManager.java similarity index 90% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLDatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLRelationalDatabaseManager.java index a9a81b97815..a4dda5f09e3 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLDatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/java/org/finos/legend/connection/jdbc/driver/MemSQLRelationalDatabaseManager.java @@ -15,13 +15,13 @@ package org.finos.legend.connection.jdbc.driver; import org.eclipse.collections.impl.factory.Lists; -import org.finos.legend.connection.DatabaseManager; +import org.finos.legend.connection.RelationalDatabaseManager; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.DatabaseType; import java.util.List; import java.util.Properties; -public class MemSQLDatabaseManager implements DatabaseManager +public class MemSQLRelationalDatabaseManager implements RelationalDatabaseManager { @Override public List getIds() diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager deleted file mode 100644 index 29c0a912ba4..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager +++ /dev/null @@ -1 +0,0 @@ -org.finos.legend.connection.jdbc.driver.MemSQLDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager new file mode 100644 index 00000000000..e83f44fb392 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-memsql/legend-engine-xt-relationalStore-memsql-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager @@ -0,0 +1 @@ +org.finos.legend.connection.jdbc.driver.MemSQLRelationalDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresDatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresRelationalDatabaseManager.java similarity index 81% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresDatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresRelationalDatabaseManager.java index 26565642f82..12947ba478c 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresDatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/java/org/finos/legend/connection/impl/PostgresRelationalDatabaseManager.java @@ -15,18 +15,17 @@ package org.finos.legend.connection.impl; import org.eclipse.collections.impl.factory.Lists; -import org.finos.legend.connection.DatabaseType; -import org.finos.legend.connection.DatabaseManager; +import org.finos.legend.connection.RelationalDatabaseManager; import java.util.List; import java.util.Properties; -public class PostgresDatabaseManager implements DatabaseManager +public class PostgresRelationalDatabaseManager implements RelationalDatabaseManager { @Override public List getIds() { - return Lists.mutable.with("PostgreSQL", DatabaseType.POSTGRES.getLabel()); + return Lists.mutable.with("PostgreSQL", RelationalDatabaseType.POSTGRES.getIdentifier()); } @Override diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager deleted file mode 100644 index 29f38d7a5c6..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager +++ /dev/null @@ -1 +0,0 @@ -org.finos.legend.connection.impl.PostgresDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager new file mode 100644 index 00000000000..ed38b2b933e --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-postgres/legend-engine-xt-relationalStore-postgres-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager @@ -0,0 +1 @@ +org.finos.legend.connection.impl.PostgresRelationalDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/pom.xml b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/pom.xml index 7caa328a241..bd87a1ee8ef 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/pom.xml +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/pom.xml @@ -35,7 +35,11 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory + + + org.finos.legend.engine + legend-engine-xt-connection-protocol org.finos.legend.engine diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/SnowflakeAccountType.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/SnowflakeAccountType.java deleted file mode 100644 index ddc11f3bd40..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/SnowflakeAccountType.java +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -public enum SnowflakeAccountType -{ - VPS, - MultiTenant -} diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/HACKY__SnowflakeConnectionAdapter.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/HACKY__SnowflakeConnectionAdapter.java index 32c89b91622..dbbbe7a9297 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/HACKY__SnowflakeConnectionAdapter.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/HACKY__SnowflakeConnectionAdapter.java @@ -14,15 +14,16 @@ package org.finos.legend.connection.impl; +import org.finos.legend.connection.Connection; import org.finos.legend.connection.HACKY__RelationalDatabaseConnectionAdapter; import org.finos.legend.connection.LegendEnvironment; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.protocol.SnowflakeConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.connection.SnowflakeConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.PropertiesFileSecret; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.DatabaseType; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.RelationalDatabaseConnection; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.authentication.SnowflakePublicAuthenticationStrategy; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.specification.SnowflakeDatasourceSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; public class HACKY__SnowflakeConnectionAdapter @@ -56,10 +57,10 @@ public ConnectionFactoryMaterial adapt(RelationalDatabaseConnection relationalDa connectionSpecification.accountType = datasourceSpecification.accountType; connectionSpecification.role = datasourceSpecification.role; - StoreInstance storeInstance = new StoreInstance.Builder(environment) - .withIdentifier("adapted-store") - .withStoreSupportIdentifier("Snowflake") - .withConnectionSpecification(connectionSpecification) + Connection connection = Connection.builder() + .databaseSupport(environment.getDatabaseSupport(RelationalDatabaseType.SNOWFLAKE)) + .identifier("adapted-store") + .connectionSpecification(connectionSpecification) .build(); EncryptedPrivateKeyPairAuthenticationConfiguration authenticationConfiguration = new EncryptedPrivateKeyPairAuthenticationConfiguration(); @@ -67,7 +68,7 @@ public ConnectionFactoryMaterial adapt(RelationalDatabaseConnection relationalDa authenticationConfiguration.privateKey = new PropertiesFileSecret(authenticationStrategy.privateKeyVaultReference); authenticationConfiguration.passphrase = new PropertiesFileSecret(authenticationStrategy.passPhraseVaultReference); - return new ConnectionFactoryMaterial(storeInstance, authenticationConfiguration); + return new ConnectionFactoryMaterial(connection, authenticationConfiguration); } return null; } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeConnectionBuilder.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeConnectionBuilder.java index 7c6d11bcaec..9b01d03bd6d 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeConnectionBuilder.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeConnectionBuilder.java @@ -15,31 +15,28 @@ package org.finos.legend.connection.impl; import org.finos.legend.connection.Authenticator; -import org.finos.legend.connection.DatabaseType; -import org.finos.legend.connection.JDBCConnectionBuilder; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.protocol.SnowflakeConnectionSpecification; +import org.finos.legend.connection.Connection; +import org.finos.legend.connection.DatabaseSupport; +import org.finos.legend.engine.protocol.pure.v1.connection.SnowflakeConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; import org.finos.legend.engine.shared.core.identity.credential.PrivateKeyCredential; -import java.sql.Connection; import java.util.Optional; import java.util.Properties; import java.util.function.Function; -import static org.finos.legend.connection.impl.SnowflakeDatabaseManager.*; +import static org.finos.legend.connection.impl.SnowflakeRelationalDatabaseManager.*; public class SnowflakeConnectionBuilder { public static class WithKeyPair extends JDBCConnectionBuilder { @Override - public Connection getConnection(SnowflakeConnectionSpecification connectionSpecification, Authenticator authenticator, Identity identity) throws Exception + public java.sql.Connection getConnection(SnowflakeConnectionSpecification connectionSpecification, Authenticator authenticator, Identity identity) throws Exception { - StoreInstance storeInstance = authenticator.getStoreInstance(); - RelationalDatabaseStoreSupport.cast(storeInstance.getStoreSupport(), DatabaseType.SNOWFLAKE); + Connection connection = authenticator.getConnection(); + DatabaseSupport.verifyDatabaseType(connection.getDatabaseSupport(), RelationalDatabaseType.SNOWFLAKE); Properties connectionProperties = generateJDBCConnectionProperties(connectionSpecification); Function authenticationPropertiesSupplier = cred -> @@ -51,7 +48,7 @@ public Connection getConnection(SnowflakeConnectionSpecification connectionSpeci return properties; }; - return this.getConnectionManager().getConnection(DatabaseType.SNOWFLAKE, null, 0, connectionSpecification.databaseName, connectionProperties, this.getConnectionPoolConfig(), authenticationPropertiesSupplier, authenticator, identity); + return this.getConnectionManager().getConnection(RelationalDatabaseType.SNOWFLAKE, null, 0, connectionSpecification.databaseName, connectionProperties, this.getConnectionPoolConfig(), authenticationPropertiesSupplier, authenticator, identity); } } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeDatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeRelationalDatabaseManager.java similarity index 93% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeDatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeRelationalDatabaseManager.java index 81f78f2a73e..dafc4d2470c 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeDatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/impl/SnowflakeRelationalDatabaseManager.java @@ -15,15 +15,13 @@ package org.finos.legend.connection.impl; import org.eclipse.collections.impl.factory.Lists; -import org.finos.legend.connection.DatabaseType; -import org.finos.legend.connection.SnowflakeAccountType; -import org.finos.legend.connection.DatabaseManager; +import org.finos.legend.connection.RelationalDatabaseManager; import org.finos.legend.engine.shared.core.operational.Assert; import java.util.List; import java.util.Properties; -public class SnowflakeDatabaseManager implements DatabaseManager +public class SnowflakeRelationalDatabaseManager implements RelationalDatabaseManager { private static final String PRIVATELINK_SNOWFLAKECOMPUTING_COM = ".privatelink.snowflakecomputing.com"; private static final String SNOWFLAKECOMPUTING_COM = ".snowflakecomputing.com"; @@ -48,7 +46,7 @@ public class SnowflakeDatabaseManager implements DatabaseManager @Override public List getIds() { - return Lists.mutable.with(DatabaseType.SNOWFLAKE.getLabel()); + return Lists.mutable.with(RelationalDatabaseType.SNOWFLAKE.getIdentifier()); } @Override @@ -104,4 +102,10 @@ public void buildMultiTenantHostname(String accountName, String region, StringBu { url.append(accountName).append(".").append(region); } + + public static enum SnowflakeAccountType + { + VPS, + MultiTenant + } } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager deleted file mode 100644 index fa4a918a8d0..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager +++ /dev/null @@ -1 +0,0 @@ -org.finos.legend.connection.impl.SnowflakeDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager new file mode 100644 index 00000000000..aaffb6f32f8 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager @@ -0,0 +1 @@ +org.finos.legend.connection.impl.SnowflakeRelationalDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/pom.xml b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/pom.xml index a0421587336..c3232be1328 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/pom.xml +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/pom.xml @@ -37,6 +37,10 @@ org.finos.legend.engine legend-engine-xt-relationalStore-protocol + + org.finos.legend.engine + legend-engine-xt-connection-protocol + diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/SnowflakeProtocolExtension.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/SnowflakeProtocolExtension.java index f4dd2829f20..7d1b06fd077 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/SnowflakeProtocolExtension.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/SnowflakeProtocolExtension.java @@ -16,6 +16,8 @@ import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.impl.factory.Lists; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.connection.SnowflakeConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.extension.ProtocolSubTypeInfo; import org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.authentication.AuthenticationStrategy; @@ -31,14 +33,18 @@ public class SnowflakeProtocolExtension implements PureProtocolExtension public List>>> getExtraProtocolSubTypeInfoCollectors() { return Lists.fixedSize.with(() -> Lists.fixedSize.with( - //DatasourceSpecification - ProtocolSubTypeInfo.newBuilder(DatasourceSpecification.class) - .withSubtype(SnowflakeDatasourceSpecification.class, "snowflake") - .build(), - // AuthenticationStrategy - ProtocolSubTypeInfo.newBuilder(AuthenticationStrategy.class) - .withSubtype(SnowflakePublicAuthenticationStrategy.class, "snowflakePublic") - .build() + // DatasourceSpecification + ProtocolSubTypeInfo.newBuilder(DatasourceSpecification.class) + .withSubtype(SnowflakeDatasourceSpecification.class, "snowflake") + .build(), + // AuthenticationStrategy + ProtocolSubTypeInfo.newBuilder(AuthenticationStrategy.class) + .withSubtype(SnowflakePublicAuthenticationStrategy.class, "snowflakePublic") + .build(), + // ConnectionSpecification + ProtocolSubTypeInfo.newBuilder(ConnectionSpecification.class) + .withSubtype(SnowflakeConnectionSpecification.class, "snowflake") + .build() )); } } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/protocol/SnowflakeConnectionSpecification.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/connection/SnowflakeConnectionSpecification.java similarity index 91% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/protocol/SnowflakeConnectionSpecification.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/connection/SnowflakeConnectionSpecification.java index 555f44c7979..0e2118f6551 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-connection/src/main/java/org/finos/legend/connection/protocol/SnowflakeConnectionSpecification.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/connection/SnowflakeConnectionSpecification.java @@ -12,7 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.protocol; +package org.finos.legend.engine.protocol.pure.v1.connection; + +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; public class SnowflakeConnectionSpecification extends ConnectionSpecification { diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerDatabaseManager.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerRelationalDatabaseManager.java similarity index 90% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerDatabaseManager.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerRelationalDatabaseManager.java index f22628f7a8b..df5c20172cc 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerDatabaseManager.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/java/org/finos/legend/connection/jdbc/driver/SQLServerRelationalDatabaseManager.java @@ -15,13 +15,13 @@ package org.finos.legend.connection.jdbc.driver; import org.eclipse.collections.impl.factory.Lists; -import org.finos.legend.connection.DatabaseManager; +import org.finos.legend.connection.RelationalDatabaseManager; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.store.relational.connection.DatabaseType; import java.util.List; import java.util.Properties; -public class SQLServerDatabaseManager implements DatabaseManager +public class SQLServerRelationalDatabaseManager implements RelationalDatabaseManager { @Override public List getIds() diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager deleted file mode 100644 index c4d426cd4b6..00000000000 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.DatabaseManager +++ /dev/null @@ -1 +0,0 @@ -org.finos.legend.connection.jdbc.driver.SQLServerDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager new file mode 100644 index 00000000000..120a1866f63 --- /dev/null +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-sqlserver/legend-engine-xt-relationalStore-sqlserver-connection/src/main/resources/META-INF/services/org.finos.legend.connection.RelationalDatabaseManager @@ -0,0 +1 @@ +org.finos.legend.connection.jdbc.driver.SQLServerRelationalDatabaseManager diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/pom.xml b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/pom.xml index 9f7ee8a879f..292995db609 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/pom.xml +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/pom.xml @@ -129,7 +129,7 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory org.bouncycastle diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/src/main/java/org/finos/legend/engine/plan/execution/stores/relational/connection/manager/ConnectionManagerSelector.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/src/main/java/org/finos/legend/engine/plan/execution/stores/relational/connection/manager/ConnectionManagerSelector.java index c8a4be55180..5155617da16 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/src/main/java/org/finos/legend/engine/plan/execution/stores/relational/connection/manager/ConnectionManagerSelector.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan/src/main/java/org/finos/legend/engine/plan/execution/stores/relational/connection/manager/ConnectionManagerSelector.java @@ -155,7 +155,7 @@ public Connection getDatabaseConnectionImpl(Identity identity, DatabaseConnectio { try { - return this.connectionFactory.getConnection(identity, connectionFactoryMaterial.storeInstance, connectionFactoryMaterial.authenticationConfiguration); + return this.connectionFactory.getConnection(identity, connectionFactoryMaterial.connection, connectionFactoryMaterial.authenticationConfiguration); } catch (Exception exception) { diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/pom.xml b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/pom.xml index 857b0736ee7..67221f7ee43 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/pom.xml +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/pom.xml @@ -83,6 +83,10 @@ junit test + + org.finos.legend.engine + legend-engine-xt-connection-protocol + \ No newline at end of file diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/RelationalProtocolExtension.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/RelationalProtocolExtension.java index 13228724c59..2a9067ca3b6 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/RelationalProtocolExtension.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/RelationalProtocolExtension.java @@ -17,8 +17,10 @@ import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.factory.Maps; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.extension.ProtocolSubTypeInfo; import org.finos.legend.engine.protocol.pure.v1.extension.PureProtocolExtension; +import org.finos.legend.engine.protocol.pure.v1.model.connection.StaticJDBCConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.model.data.EmbeddedData; import org.finos.legend.engine.protocol.pure.v1.model.executionPlan.RelationResultType; import org.finos.legend.engine.protocol.pure.v1.model.executionPlan.nodes.CreateAndPopulateTempTableExecutionNode; @@ -184,6 +186,11 @@ public List>>> getExtraProtocolSubTypeInfo .withSubtype(BusinessMilestoning.class, "businessMilestoning") .withSubtype(BusinessSnapshotMilestoning.class, "businessSnapshotMilestoning") .withSubtype(ProcessingMilestoning.class, "processingMilestoning") + .build(), + + // Connection Specification + ProtocolSubTypeInfo.newBuilder(ConnectionSpecification.class) + .withSubtype(StaticJDBCConnectionSpecification.class, "staticJDBC") .build() )); } diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/protocol/StaticJDBCConnectionSpecification.java b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/connection/StaticJDBCConnectionSpecification.java similarity index 82% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/protocol/StaticJDBCConnectionSpecification.java rename to legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/connection/StaticJDBCConnectionSpecification.java index 373e76c7c42..1082bacc174 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/protocol/StaticJDBCConnectionSpecification.java +++ b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/connection/StaticJDBCConnectionSpecification.java @@ -12,9 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.finos.legend.connection.protocol; +package org.finos.legend.engine.protocol.pure.v1.model.connection; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; public class StaticJDBCConnectionSpecification extends ConnectionSpecification { @@ -22,6 +22,11 @@ public class StaticJDBCConnectionSpecification extends ConnectionSpecification public int port; public String databaseName; + public StaticJDBCConnectionSpecification() + { + // jackson + } + public StaticJDBCConnectionSpecification(String host, int port, String databaseName) { this.host = host; diff --git a/pom.xml b/pom.xml index b2ac32003ca..609904e7d25 100644 --- a/pom.xml +++ b/pom.xml @@ -92,6 +92,7 @@ legend-engine-xts-authentication + legend-engine-xts-connection legend-engine-config @@ -157,6 +158,7 @@ 2.6 3.7 1.10.0 + 0.12.0 1.3.17-1 4.1.16 1.3.29 @@ -188,6 +190,7 @@ 1.2.17 0.1.5 1.2.3 + 8.5.5 4.4.0 3.12.8 4.6 @@ -695,22 +698,42 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-authentication-implementation-core ${project.version} org.finos.legend.engine - legend-engine-xt-authentication-implementation-core + legend-engine-xt-authentication-implementation-vault-aws ${project.version} org.finos.legend.engine - legend-engine-xt-authentication-implementation-vault-aws + legend-engine-xt-authentication-implementation-gcp-federation ${project.version} org.finos.legend.engine - legend-engine-xt-authentication-implementation-gcp-federation + legend-engine-xt-connection-factory + ${project.version} + + + org.finos.legend.engine + legend-engine-xt-connection-compiler + ${project.version} + + + org.finos.legend.engine + legend-engine-xt-connection-grammar + ${project.version} + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + ${project.version} + + + org.finos.legend.engine + legend-engine-xt-connection-pure-metamodel ${project.version} @@ -3029,6 +3052,17 @@ docker-java-api 3.3.0 + + io.minio + minio + ${minio.version} + + + org.jetbrains + * + + + @@ -3150,6 +3184,19 @@ + + + io.deephaven + deephaven-csv + ${deephaven-csv.version} + + + io.deephaven + deephaven-csv-fast-double-parser + ${deephaven-csv.version} + runtime + + org.apache.arrow @@ -3193,7 +3240,6 @@ - @@ -3234,9 +3280,7 @@ vX_X_X v1_33_0 - -

e<`d}L|+VxW6MRg3cu#LJ8 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%0DPS&O&JTN8kCgGQB`{EO- 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%0A3lr`hh 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 literal 0 HcmV?d00001 diff --git a/docs/connection/new-connection-framework.md b/docs/connection/new-connection-framework.md new file mode 100644 index 00000000000..54c5edf9fca --- /dev/null +++ b/docs/connection/new-connection-framework.md @@ -0,0 +1,166 @@ +# New Connection Framework (PoC) + +This is _an attempt_ to cleanup the existing connection acquisition framework to make it (1) more extensible, (2) integrate better with work that has been done on [identity/credential management](https://github.com/finos/legend/wiki/Legend-Authentication) by @epsstan as well as feedback from @pierredebelen, and (3) reduce code complexity. The core mission centers around: **_"How do we make it easy for people (both platform developers and users) to acquire database connection given their identity?"_** + +> This is still a work in progress, we haven't enabled this in production. To use/test, set environment variable `org.finos.legend.engine.enableNewConnectionFramework=true` when starting the server. To execute, since at the time of speaking, we haven't include the new connection models in latest production protocol, choose `clientVersion=vX_X_X` + +## Overview + +Fundamentally, the new connection framework improves DX for integrating new type of connection by making it consistent across different types of databases (not limited to only relational databases); in other words, adding support for `MongoDB` or `ElasticSearch` should require similar set of change to adding support for `Snowflake` or `BigQuery`, for example. + +The new API is also designed to be more declarative about the connection acquisition flows that it supports, hence, it's a continuation of the work that has been done with [DatabaseAuthenticationFlow](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan-connection-authentication/src/main/java/org/finos/legend/engine/authentication/DatabaseAuthenticationFlow.java#L42) by @epsstan. In the new framework, when we setup the connection manager/factory, we make it very explicit which flows are supported (which types of credentials can be resolved given an identity, and which those credentials, which types of connection can be acquired). + +Last but not least, we want to clean up the existing connection pooling code using [HikariCP](https://github.com/brettwooldridge/HikariCP) which has become fairly complex after many iterations. + +For more details on design and implementation, see the following sub-sections: + +- [Connection Factory](#connection-factory) +- [Connection Pooling](#connection-pooling) +- [Migration Strategy](#migration-strategy) +- [Future Work / TODO](#future-work-/-todo) + +## Connection Factory + +`ConnectionFactory` is the API entry of the new connection framework. It is simplified to specifically addresses the main objective: **given an identity, obtain a connection to a database**. A new set of (meta)model have been created to serve this new API. + +These models are heavily inspired by [RelationalDatabaseConnection](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/RelationalDatabaseConnection.java#L25); a `Connection` in the new framework comes with `AuthenticationConfiguration` corresponding to [AuthenticationStrategy](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/authentication/AuthenticationStrategy.java#L21) and `ConnectionSpecification` corresponding to [DatasourceSpecification](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/specification/DatasourceSpecification.java#L21). The former is responsible for providing extra metadata needed to obtain necessary credential from the user's identity while the latter provides metadata to obtain the actual connection to the database given the obtained credentials. + +![framework-metamodel](./new-connection-framework-metamodel.png) + +> We believe in this abstraction since concepts like `authentication` and `connection specification` are certainly applicable to NoSQL databases like `MongoDB` and `ElasticSearch` + +Each connection targets a particular type of database (similar to [RelationalDatabaseConnection.databaseType](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/RelationalDatabaseConnection.java#L29)), which comes with a set of database support defined in the platform configuration. As of now, this database support only includes information about the various authentication mechanisms that a database supports in Legend. For example, for `Snowflake`, we only support `OAuth` and `KeyPair`; for `Postgres`, we only support `UsernamePassword`. Since `AuthenticationConfiguration` provides extra metadata to obtain credentials, each type of configuration therefore is bound to an `AuthenticationMechanism` -- this specification is also something defined explicitly at top-level. + +> Unlike [RelationalDatabaseConnection.databaseType](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/RelationalDatabaseConnection.java#L29)) which is practically an enum which is not modularizable and hardcoded to Relational types, `database support` is more extensible and a useful concept on its own, in the future, we can add more database capabilities here as needed + +As for the `ConnectionFactory`, it's configured with 2 types of components:`CredentialBuilder` - (can be chained) taking the identity and build a credential, `ConnectionBuilder` - taking a credential and acquire a connection. + +```java +class ConnectionBuilder +... + +class CredentialBuilder +... +``` + +> Notice how the credential builder is bound to the authentication configuration as some credential builders need extra metadata from the configuration to obtain the credential, for example, `UserPasswordCredentialBuilder` needs the name of the user and the reference to the password in the secret vault. @epsstan mentioned here that we should also tie `CrendetialBuilder` by the `AuthenticationMechanism` which is a point worths exploring. + +The factory exposes 2 methods: `getAuthenticator(Identity, ConnectionInfo): Authenticator` and `getConnection(Identity, Authenticator): Connection`. Given connection information (i.e. `Connection` metamodel) and user's identity, the factory will resolve a chain of credential builders that sequentially can _authenticate_ users and help them obtain the necessary credentials to acquire a connection to the specified database. The second method is self-explantory, the factory can use the authenticator to establish the connection given user's identity. + +> The resolution process of the credential builders chain is implemented in `breadth first search` manner, and the fact that we configure the factory with small components makes it convenient to reuse these pieces in different flows, easier to debug, and flexible enough to support fairly complex flows: e.g. given a `kerberos` identity, obtain a password from the vault which can be used to obtain a `single-sign-on` token, and so on... + +```mermaid +sequenceDiagram + participant USER + participant factory as ConnectionFactory + participant connBuilder as ConnectionBuilder + participant pool as ConnectionPool + participant credBuilder as CredentialBuilder + participant database as Database + + Note over USER: (comes with an Identity) + USER ->>+ factory: getAuthenticator(identity, connectionInfo) + factory --)- USER: authenticator + USER ->>+ factory: getConnection(identity, authenticator) + factory ->>+ connBuilder: getConnection(connectionInfo, authenticator, identity) + connBuilder ->>+ pool: getConnectionFromPool(identity, authenticator, connectionInfo) + alt get available connection in pool + pool --)- connBuilder: connection + else establish new connection + connBuilder ->>+ pool: getConnectionFromPool(identity, authenticator, ...) + loop each credential builder from authenticator + pool ->>+ credBuilder: getCredential(identity, credentials) + credBuilder --)- pool: credentials + end + pool ->>+ database: getConnection(credentials, connectionInfo) + database --)- pool: connection + pool --)- connBuilder: connection + end + connBuilder --)- factory: connection + factory --)- USER: connection +``` + +## Connection Pooling + +The current implementaion of the connection pool is fairly simple, we maintain a hashmap that indexes the connection by the database and user's identity. This hasn't been able to address @pierredebelen biggest concern that is when a connection from the pool dies (e.g. it coudl timeout/closed by the database), we don't have a way to re-establish that connection with the user's identity since `HikariCP` creates connection asynchronously; caching identity across thread is potentially security-risk. + +> Right now, we cache the identity in the connection pool for a brief period of time and have a cleanup process that runs on a separate thread to remove connections/pools with expired/invalid credentials. + +## Migration Strategy + +The bulk of the work is to migrate existing relational database connection framework to the new framework. To do that, we opt for a gradual migration strategy, convert one [DatabaseAuthenticationFlow](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan-connection-authentication/src/main/java/org/finos/legend/engine/authentication/DatabaseAuthenticationFlow.java#L42) [flow at a time](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan-connection-authentication-default/src/main/java/org/finos/legend/engine/authentication/LegendDefaultDatabaseAuthenticationFlowProvider.java#L50). We create new subtypes for `DatasourceSpecification` and `AuthenticationStrategy` that wraps new models `ConnectionSpecification` and `AuthenticationConfiguration` respectively. + +```java +public class ConnectionSpecificationWrapper extends DatasourceSpecification +{ + public ConnectionSpecification value; +} + +public class AuthenticationConfigurationWrapper extends AuthenticationStrategy +{ + public AuthenticationConfiguration value; +} +``` + +In `RelationalExecutor`'s `ConnectionManagerSelector.getDatabaseConnectionImpl(...)`, we check for the presence of the wrapper types to determine if we can opt-in to the new connection framework to acquire connections. + +On top level, we configure a custom deserializer for [RelationalDatabaseConnection](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/RelationalDatabaseConnection.java#L25) if it matches a particular combination, we will convert its datasource specification and authentication strategy to wrapper type. For example, if the connection database type is [Snowflake](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-generation/legend-engine-xt-relationalStore-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/DatabaseType.java#L20) with [SnowflakeDatasourceSpecification](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/specification/SnowflakeDatasourceSpecification.java#L17) and [SnowflakePublicAuthenticationStrategy](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/store/relational/connection/authentication/SnowflakePublicAuthenticationStrategy.java#L17) (which corresponds to [SnowflakeWithKeyPairFlow](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-dbExtension/legend-engine-xt-relationalStore-snowflake/legend-engine-xt-relationalStore-snowflake-execution/src/main/java/org/finos/legend/engine/authentication/flows/SnowflakeWithKeyPairFlow.java#L49)), we can convert this to use wrapper type, such as: + +``` +RelationalDatabaseConnection connection::snowflake +{ + store: store::MyDatabase; + type: Snowflake; + specification: ConnectionSpecification // wrapper type + { + rawValue: #{ + { + "_type" : "snowflake", + "accountName" : "ki79827", + "region" : "us-east-2", + "warehouseName" : "SUMMIT_DEV", + "databaseName" : "SUMMIT_DEV", + "cloudType" : "aws", + "role" : "SUMMIT_DEV" + } + }#; + }; + auth: AuthenticationConfiguration // wrapper type + { + rawValue: #{ + { + "_type" : "KeyPair", + "userName" : "SUMMIT_DEV1", + "privateKey" : { + "_type" : "properties", + "propertyName" : "TEST_SNOWFLAKE_PK" + }, + "passphrase" : { + "_type" : "properties", + "propertyName" : "TEST_SNOWFLAKE_PK_PASSPHRASE" + } + } + }#; + }; +} +``` + +> Note: since this is still a PoC, we _hack_ a fair bit to make things just work while keeping things loose enough to adapt to new feedback, therefore, we haven't settled with a particular grammar/Pure protocol/Pure metamodel, that's something we have to come back to change + +> When migrate to the new models, we also use new `CredentialVault` mechanism created by @epsstan, which requires specifying the type of [CredentialVaultSecret](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-authentication/legend-engine-xt-authentication-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/authentication/vault/CredentialVaultSecret.java#L23), e.g. [PropertiesFileSecret](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-authentication/legend-engine-xt-authentication-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/authentication/vault/PropertiesFileSecret.java#L21C14-L21C34), [EnvironmentCredentialVaultSecret](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-authentication/legend-engine-xt-authentication-protocol/src/main/java/org/finos/legend/engine/protocol/pure/v1/model/packageableElement/authentication/vault/EnvironmentCredentialVaultSecret.java#L21C14-L21C46), etc. When we configure the custom deserializer, we need to be aware of this though, for legacy infrastructure, most likely, we will use their proprietary secret vault implementation. + +Last but not least, since right now, this POC supports only one flow `SnowflakeWithKeyPair`, to test it out, we need to set environment variable `org.finos.legend.engine.enableNewConnectionFramework=true` when starting the server. +For the execution flow, since we need to transform Pure metamodel into protocol as part of building the execution plan, we need to make change to `Pure protocol`, right now those changes are in `vX_X_X`, when execute, we need to set `clientVersion=vX_X_X`. + +## Future Work / TODO + +- [ ] Settle on the metamodels and implement grammar/compiler/Pure protocol/metamodel code for these models (search for marker **`@HACKY: new-connection-framework`** in the codebase) +- [ ] Improve connection pooling recovery mechanism +- [ ] Improve connection acquisition flow coverage, see [LegendDefaultDatabaseAuthenticationFlowProvider](https://github.com/finos/legend-engine/blob/07e7129ec2b68d7c1606dd157c23e65d7cd6857b/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-execution/legend-engine-xt-relationalStore-executionPlan-connection-authentication-default/src/main/java/org/finos/legend/engine/authentication/LegendDefaultDatabaseAuthenticationFlowProvider.java#L50) +- [ ] Make use of this new connection framework in data-push server to battle-test the implementation +- [ ] Design parameterized tests for new connection framework flows. These tests should be parameterized on (potentially) `database type`, `credential vault type`, `connection specification`, `authentication mechanism`, `authentication configuration` and should have a simple `READ` operation to ensure the connection is working. +- [ ] Consistenyly support `aws-sdk S3`-styled builder patterns +- [ ] Cleanups: + - [ ] Move `GCPApplicatonDefaultsCredential` to `bigquery` db extension + - [ ] Cleanup logic for `IdentityFactory` + - [ ] Potentially unify the work done on `xt-authenticaton` with the new connection framework diff --git a/legend-engine-config/legend-engine-connection-integration-tests/pom.xml b/legend-engine-config/legend-engine-connection-integration-tests/pom.xml index 3fb7a35c689..82f6fb194d7 100644 --- a/legend-engine-config/legend-engine-connection-integration-tests/pom.xml +++ b/legend-engine-config/legend-engine-connection-integration-tests/pom.xml @@ -46,7 +46,12 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory + test + + + org.finos.legend.engine + legend-engine-xt-connection-protocol test @@ -54,11 +59,21 @@ legend-engine-xt-relationalStore-connection test + + org.finos.legend.engine + legend-engine-xt-relationalStore-protocol + test + org.finos.legend.engine legend-engine-xt-relationalStore-postgres-test-support test + + org.finos.legend.engine + legend-engine-xt-relationalStore-snowflake-protocol + test + diff --git a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/AbstractConnectionFactoryTest.java b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/AbstractConnectionFactoryTest.java index e5b6435ece9..27b8e42a8c6 100644 --- a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/AbstractConnectionFactoryTest.java +++ b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/AbstractConnectionFactoryTest.java @@ -17,25 +17,26 @@ import org.finos.legend.authentication.vault.CredentialVault; import org.finos.legend.authentication.vault.impl.EnvironmentCredentialVault; import org.finos.legend.authentication.vault.impl.SystemPropertiesCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; +import org.finos.legend.connection.AuthenticationMechanism; import org.finos.legend.connection.Authenticator; +import org.finos.legend.connection.Connection; import org.finos.legend.connection.ConnectionFactory; +import org.finos.legend.connection.DatabaseSupport; import org.finos.legend.connection.DatabaseType; import org.finos.legend.connection.IdentityFactory; import org.finos.legend.connection.IdentitySpecification; -import org.finos.legend.connection.impl.InstrumentedStoreInstanceProvider; import org.finos.legend.connection.LegendEnvironment; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.impl.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; import org.finos.legend.connection.impl.KerberosCredentialExtractor; import org.finos.legend.connection.impl.KeyPairCredentialBuilder; +import org.finos.legend.connection.impl.RelationalDatabaseType; import org.finos.legend.connection.impl.SnowflakeConnectionBuilder; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; -import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; import org.finos.legend.connection.impl.StaticJDBCConnectionBuilder; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; +import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -43,11 +44,8 @@ public abstract class AbstractConnectionFactoryTest { - protected static final String TEST_STORE_INSTANCE_NAME = "test-store"; - protected LegendEnvironment environment; protected IdentityFactory identityFactory; - protected InstrumentedStoreInstanceProvider storeInstanceProvider; protected ConnectionFactory connectionFactory; @BeforeEach @@ -55,26 +53,30 @@ public void initialize() { this.setup(); - LegendEnvironment.Builder environmentBuilder = new LegendEnvironment.Builder() - .withVaults( + LegendEnvironment.Builder environmentBuilder = LegendEnvironment.builder() + .vaults( new SystemPropertiesCredentialVault(), new EnvironmentCredentialVault() ) - .withStoreSupports( - new RelationalDatabaseStoreSupport.Builder(DatabaseType.POSTGRES) - .withIdentifier("Postgres") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).withAuthenticationConfigurationTypes( - UserPasswordAuthenticationConfiguration.class - ).build() + .databaseSupports( + DatabaseSupport.builder() + .type(RelationalDatabaseType.POSTGRES) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class + ).build() ) .build(), - new RelationalDatabaseStoreSupport.Builder(DatabaseType.SNOWFLAKE) - .withIdentifier("Snowflake") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KEY_PAIR).withAuthenticationConfigurationTypes( - EncryptedPrivateKeyPairAuthenticationConfiguration.class - ).build() + DatabaseSupport.builder() + .type(RelationalDatabaseType.SNOWFLAKE) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.KEY_PAIR) + .authenticationConfigurationTypes( + EncryptedPrivateKeyPairAuthenticationConfiguration.class + ).build() ) .build() ); @@ -82,22 +84,23 @@ public void initialize() CredentialVault credentialVault = this.getCredentialVault(); if (credentialVault != null) { - environmentBuilder.withVault(credentialVault); + environmentBuilder.vault(credentialVault); } this.environment = environmentBuilder.build(); - this.identityFactory = new IdentityFactory.Builder(this.environment) + this.identityFactory = IdentityFactory.builder() + .environment(this.environment) .build(); - this.storeInstanceProvider = new InstrumentedStoreInstanceProvider(); - this.connectionFactory = new ConnectionFactory.Builder(this.environment, this.storeInstanceProvider) - .withCredentialBuilders( + this.connectionFactory = ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders( new KerberosCredentialExtractor(), new UserPasswordCredentialBuilder(), new KeyPairCredentialBuilder() ) - .withConnectionBuilders( + .connectionBuilders( new StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword(), new SnowflakeConnectionBuilder.WithKeyPair() ) @@ -119,10 +122,12 @@ public CredentialVault getCredentialVault() return null; } - public abstract StoreInstance getStoreInstance(); - public abstract Identity getIdentity(); + public abstract DatabaseType getDatabaseType(); + + public abstract ConnectionSpecification getConnectionSpecification(); + public abstract AuthenticationConfiguration getAuthenticationConfiguration(); public abstract void runTestWithConnection(T connection) throws Exception; @@ -130,11 +135,19 @@ public CredentialVault getCredentialVault() @Test public void runTest() throws Exception { - this.storeInstanceProvider.injectStoreInstance(this.getStoreInstance()); Identity identity = this.getIdentity(); + DatabaseType databaseType = this.getDatabaseType(); + ConnectionSpecification connectionSpecification = this.getConnectionSpecification(); AuthenticationConfiguration authenticationConfiguration = this.getAuthenticationConfiguration(); - Authenticator authenticator = this.connectionFactory.getAuthenticator(identity, TEST_STORE_INSTANCE_NAME, authenticationConfiguration); + Connection databaseConnection = Connection.builder() + .databaseSupport(this.environment.getDatabaseSupport(databaseType)) + .identifier("test::connection") + .connectionSpecification(connectionSpecification) + .authenticationConfiguration(authenticationConfiguration) + .build(); + + Authenticator authenticator = this.connectionFactory.getAuthenticator(identity, databaseConnection); T connection = this.connectionFactory.getConnection(identity, authenticator); this.runTestWithConnection(connection); @@ -146,8 +159,8 @@ public void runTest() throws Exception protected static Identity getAnonymousIdentity(IdentityFactory identityFactory) { return identityFactory.createIdentity( - new IdentitySpecification.Builder() - .withName("test-user") + IdentitySpecification.builder() + .name("test-user") .build() ); } diff --git a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestJDBCConnectionManager.java b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestJDBCConnectionManager.java index 7abf243d608..dc08b4dc741 100644 --- a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestJDBCConnectionManager.java +++ b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestJDBCConnectionManager.java @@ -16,47 +16,43 @@ import net.bytebuddy.asm.Advice; import org.finos.legend.authentication.vault.impl.PropertiesFileCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; +import org.finos.legend.connection.AuthenticationMechanism; import org.finos.legend.connection.Authenticator; +import org.finos.legend.connection.Connection; import org.finos.legend.connection.ConnectionFactory; -import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.DatabaseSupport; import org.finos.legend.connection.IdentityFactory; import org.finos.legend.connection.IdentitySpecification; -import org.finos.legend.connection.JDBCConnectionBuilder; import org.finos.legend.connection.LegendEnvironment; import org.finos.legend.connection.PostgresTestContainerWrapper; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.impl.InstrumentedStoreInstanceProvider; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; +import org.finos.legend.connection.impl.JDBCConnectionBuilder; import org.finos.legend.connection.impl.JDBCConnectionManager; +import org.finos.legend.connection.impl.RelationalDatabaseType; import org.finos.legend.connection.impl.StaticJDBCConnectionBuilder; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; -import org.finos.legend.connection.protocol.ConnectionSpecification; -import org.finos.legend.connection.protocol.StaticJDBCConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.model.connection.StaticJDBCConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.PropertiesFileSecret; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import java.sql.Connection; import java.sql.SQLTransientConnectionException; import java.util.Properties; public class TestJDBCConnectionManager { PostgresTestContainerWrapper postgresContainer; - private static final String TEST_STORE_INSTANCE_NAME = "test-store"; private LegendEnvironment environment; private IdentityFactory identityFactory; - private InstrumentedStoreInstanceProvider storeInstanceProvider; private ConnectionFactory connectionFactory; - private StoreInstance storeInstance; + private Connection connection; @BeforeEach public void setup() @@ -67,32 +63,37 @@ public void setup() Properties properties = new Properties(); properties.put("passwordRef", this.postgresContainer.getPassword()); - LegendEnvironment.Builder environmentBuilder = new LegendEnvironment.Builder() - .withVaults(new PropertiesFileCredentialVault(properties)) - .withStoreSupports( - new RelationalDatabaseStoreSupport.Builder(DatabaseType.POSTGRES) - .withIdentifier("Postgres") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).withAuthenticationConfigurationTypes( - UserPasswordAuthenticationConfiguration.class - ).build() + LegendEnvironment.Builder environmentBuilder = LegendEnvironment.builder() + .vaults(new PropertiesFileCredentialVault(properties)) + .databaseSupports( + DatabaseSupport.builder() + .type(RelationalDatabaseType.POSTGRES) + .authenticationMechanisms( + AuthenticationMechanism.builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD).authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class + ).build() ) .build() ); this.environment = environmentBuilder.build(); - this.identityFactory = new IdentityFactory.Builder(this.environment) + this.identityFactory = IdentityFactory.builder() + .environment(this.environment) .build(); - this.storeInstanceProvider = new InstrumentedStoreInstanceProvider(); ConnectionSpecification connectionSpecification = new StaticJDBCConnectionSpecification( this.postgresContainer.getHost(), this.postgresContainer.getPort(), this.postgresContainer.getDatabaseName() ); - this.storeInstance = new StoreInstance.Builder(this.environment) - .withIdentifier(TEST_STORE_INSTANCE_NAME) - .withStoreSupportIdentifier("Postgres") - .withConnectionSpecification(connectionSpecification) + this.connection = Connection.builder() + .databaseSupport(this.environment.getDatabaseSupport(RelationalDatabaseType.POSTGRES)) + .identifier("test::connection") + .connectionSpecification(connectionSpecification) + .authenticationConfiguration(new UserPasswordAuthenticationConfiguration( + postgresContainer.getUser(), + new PropertiesFileSecret("passwordRef") + )) .build(); } @@ -114,39 +115,37 @@ public void testBasicConnectionPooling() throws Exception .withConnectionTimeout(1000L) .build() ); - this.connectionFactory = new ConnectionFactory.Builder(this.environment, this.storeInstanceProvider) - .withCredentialBuilders( + this.connectionFactory = ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders( new UserPasswordCredentialBuilder() ) - .withConnectionBuilders( + .connectionBuilders( customizedJDBCConnectionBuilder ) .build(); - this.storeInstanceProvider.injectStoreInstance(this.storeInstance); Identity identity = identityFactory.createIdentity( - new IdentitySpecification.Builder() - .withName("test-user") + IdentitySpecification.builder() + .name("test-user") .build() ); - ConnectionSpecification connectionSpecification = this.storeInstance.getConnectionSpecification(); - AuthenticationConfiguration authenticationConfiguration = new UserPasswordAuthenticationConfiguration( - postgresContainer.getUser(), - new PropertiesFileSecret("passwordRef") - ); - Authenticator authenticator = this.connectionFactory.getAuthenticator(identity, TEST_STORE_INSTANCE_NAME, authenticationConfiguration); + ConnectionSpecification connectionSpecification = this.connection.getConnectionSpecification(); + AuthenticationConfiguration authenticationConfiguration = this.connection.getAuthenticationConfiguration(); + + Authenticator authenticator = this.connectionFactory.getAuthenticator(identity, this.connection); JDBCConnectionManager connectionManager = JDBCConnectionManager.getInstance(); Assertions.assertEquals(0, connectionManager.getPoolSize()); // 1. Get a connection, this should initialize the pool as well as create a new connection in the empty pool // this connection should be active - Connection connection0 = this.connectionFactory.getConnection(identity, authenticator); + java.sql.Connection connection0 = this.connectionFactory.getConnection(identity, authenticator); String poolName = JDBCConnectionManager.getPoolName(identity, connectionSpecification, authenticationConfiguration); JDBCConnectionManager.ConnectionPool connectionPool = connectionManager.getPool(poolName); // 2. Close the connection, verify that the pool keeps this connection around in idle state - Connection underlyingConnection0 = connection0.unwrap(Connection.class); + java.sql.Connection underlyingConnection0 = connection0.unwrap(java.sql.Connection.class); connection0.close(); Assertions.assertEquals(1, connectionPool.getTotalConnections()); @@ -154,9 +153,9 @@ public void testBasicConnectionPooling() throws Exception Assertions.assertEquals(1, connectionPool.getIdleConnections()); // 3. Get a new connection, the pool should return the idle connection and create no new connection - Connection connection1 = this.connectionFactory.getConnection(identity, authenticator); + java.sql.Connection connection1 = this.connectionFactory.getConnection(identity, authenticator); - Assertions.assertEquals(underlyingConnection0, connection1.unwrap(Connection.class)); + Assertions.assertEquals(underlyingConnection0, connection1.unwrap(java.sql.Connection.class)); Assertions.assertEquals(1, connectionPool.getTotalConnections()); Assertions.assertEquals(1, connectionPool.getActiveConnections()); Assertions.assertEquals(0, connectionPool.getIdleConnections()); @@ -180,36 +179,33 @@ public void testBasicConnectionPooling() throws Exception @Test public void testConnectionPoolingForDifferentIdentities() throws Exception { - this.connectionFactory = new ConnectionFactory.Builder(this.environment, this.storeInstanceProvider) - .withCredentialBuilders( + this.connectionFactory = ConnectionFactory.builder() + .environment(this.environment) + .credentialBuilders( new UserPasswordCredentialBuilder() ) - .withConnectionBuilders( + .connectionBuilders( new StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword() ) .build(); - this.storeInstanceProvider.injectStoreInstance(this.storeInstance); Identity identity1 = identityFactory.createIdentity( - new IdentitySpecification.Builder() - .withName("testUser1") + IdentitySpecification.builder() + .name("testUser1") .build() ); Identity identity2 = identityFactory.createIdentity( - new IdentitySpecification.Builder() - .withName("testUser2") + IdentitySpecification.builder() + .name("testUser2") .build() ); - ConnectionSpecification connectionSpecification = this.storeInstance.getConnectionSpecification(); - AuthenticationConfiguration authenticationConfiguration = new UserPasswordAuthenticationConfiguration( - postgresContainer.getUser(), - new PropertiesFileSecret("passwordRef") - ); + ConnectionSpecification connectionSpecification = this.connection.getConnectionSpecification(); + AuthenticationConfiguration authenticationConfiguration = this.connection.getAuthenticationConfiguration(); JDBCConnectionManager connectionManager = JDBCConnectionManager.getInstance(); Assertions.assertEquals(0, connectionManager.getPoolSize()); // 1. Get a new connection for identity1, which should initialize a pool - this.connectionFactory.getConnection(identity1, this.connectionFactory.getAuthenticator(identity1, TEST_STORE_INSTANCE_NAME, authenticationConfiguration)); + this.connectionFactory.getConnection(identity1, this.connectionFactory.getAuthenticator(identity1, this.connection)); String poolName1 = JDBCConnectionManager.getPoolName(identity1, connectionSpecification, authenticationConfiguration); JDBCConnectionManager.ConnectionPool connectionPool1 = connectionManager.getPool(poolName1); @@ -220,7 +216,7 @@ public void testConnectionPoolingForDifferentIdentities() throws Exception Assertions.assertEquals(0, connectionPool1.getIdleConnections()); // 2. Get a new connection for identity2, which should initialize another pool - this.connectionFactory.getConnection(identity2, this.connectionFactory.getAuthenticator(identity2, TEST_STORE_INSTANCE_NAME, authenticationConfiguration)); + this.connectionFactory.getConnection(identity2, this.connectionFactory.getAuthenticator(identity2, this.connection)); String poolName2 = JDBCConnectionManager.getPoolName(identity2, connectionSpecification, authenticationConfiguration); JDBCConnectionManager.ConnectionPool connectionPool2 = connectionManager.getPool(poolName2); @@ -234,7 +230,7 @@ public void testConnectionPoolingForDifferentIdentities() throws Exception @Test public void testRetryOnBrokenConnection() { - // + // TODO } public static class CustomAdvice @@ -246,50 +242,4 @@ public static void intercept(@Advice.Return(readOnly = false) String value) value = "hi: " + value; } } - -// public static class MyWay -// { -// } -// -// private static class InstrumentedStaticJDBCConnectionBuilder -// { -// static class WithPlaintextUsernamePassword extends StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword -// { -// WithPlaintextUsernamePassword(Function hikariConfigHandler) -// { -// this.connectionManager = new InstrumentedJDBCConnectionManager(hikariConfigHandler); -// } -// -// @Override -// public JDBCConnectionManager getConnectionManager() -// { -// return this.connectionManager; -// } -// -// @Override -// protected Type[] actualTypeArguments() -// { -// Type genericSuperClass = this.getClass().getSuperclass().getGenericSuperclass(); -// ParameterizedType parameterizedType = (ParameterizedType) genericSuperClass; -// return parameterizedType.getActualTypeArguments(); -// } -// } -// } -// -// private static class InstrumentedJDBCConnectionManager extends JDBCConnectionManager -// { -// private final Function hikariConfigHandler; -// -// InstrumentedJDBCConnectionManager(Function hikariConfigHandler) -// { -// this.hikariConfigHandler = hikariConfigHandler; -// } -// -//// @Override -//// protected void handleHikariConfig(HikariConfig config) -//// { -//// config.setRegisterMbeans(true); -//// this.hikariConfigHandler.apply(config); -//// } -// } } diff --git a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestPostgresConnection.java b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestPostgresConnection.java index 9e311f05fa8..6c9addedd6b 100644 --- a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestPostgresConnection.java +++ b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestPostgresConnection.java @@ -16,18 +16,16 @@ import org.finos.legend.authentication.vault.CredentialVault; import org.finos.legend.authentication.vault.impl.PropertiesFileCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; +import org.finos.legend.connection.DatabaseType; import org.finos.legend.connection.PostgresTestContainerWrapper; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; -import org.finos.legend.connection.protocol.StaticJDBCConnectionSpecification; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.connection.impl.RelationalDatabaseType; +import org.finos.legend.engine.protocol.pure.v1.model.connection.StaticJDBCConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.PropertiesFileSecret; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; -import java.sql.Connection; import java.sql.Statement; import java.util.Properties; @@ -35,7 +33,7 @@ public class TestPostgresConnection { - public static class WithUserPassword extends AbstractConnectionFactoryTest + public static class WithUserPassword extends AbstractConnectionFactoryTest { private PostgresTestContainerWrapper postgresContainer; @@ -71,27 +69,25 @@ public CredentialVault getCredentialVault() } @Override - public StoreInstance getStoreInstance() + public Identity getIdentity() { - ConnectionSpecification connectionSpecification = new StaticJDBCConnectionSpecification( - this.postgresContainer.getHost(), - this.postgresContainer.getPort(), - this.postgresContainer.getDatabaseName() - ); - return new StoreInstance.Builder(this.environment) - .withIdentifier(TEST_STORE_INSTANCE_NAME) - .withStoreSupportIdentifier("Postgres") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).build() - ) - .withConnectionSpecification(connectionSpecification) - .build(); + return getAnonymousIdentity(this.identityFactory); } @Override - public Identity getIdentity() + public DatabaseType getDatabaseType() { - return getAnonymousIdentity(this.identityFactory); + return RelationalDatabaseType.POSTGRES; + } + + @Override + public ConnectionSpecification getConnectionSpecification() + { + return new StaticJDBCConnectionSpecification( + this.postgresContainer.getHost(), + this.postgresContainer.getPort(), + this.postgresContainer.getDatabaseName() + ); } @Override @@ -104,7 +100,7 @@ public AuthenticationConfiguration getAuthenticationConfiguration() } @Override - public void runTestWithConnection(Connection connection) throws Exception + public void runTestWithConnection(java.sql.Connection connection) throws Exception { Statement statement = connection.createStatement(); statement.setMaxRows(10); diff --git a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestSnowflakeConnection.java b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestSnowflakeConnection.java index 825725a5eea..b0874a64e54 100644 --- a/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestSnowflakeConnection.java +++ b/legend-engine-config/legend-engine-connection-integration-tests/src/test/java/org/finos/legend/engine/connection/test/TestSnowflakeConnection.java @@ -16,17 +16,16 @@ import org.finos.legend.authentication.vault.CredentialVault; import org.finos.legend.authentication.vault.impl.PropertiesFileCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.impl.EncryptedPrivateKeyPairAuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; -import org.finos.legend.connection.protocol.SnowflakeConnectionSpecification; +import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.impl.RelationalDatabaseType; +import org.finos.legend.engine.protocol.pure.v1.connection.SnowflakeConnectionSpecification; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.EnvironmentCredentialVaultSecret; import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.PropertiesFileSecret; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Identity; -import java.sql.Connection; import java.sql.Statement; import java.util.Properties; @@ -34,7 +33,7 @@ public class TestSnowflakeConnection { - public static class WithKeyPair extends AbstractConnectionFactoryTest + public static class ForSnowflakeWithKeyPairFlow extends AbstractConnectionFactoryTest { private static final String CONNECTION_INTEGRATION_TEST__SNOWFLAKE_PK = "CONNECTION_INTEGRATION_TEST__SNOWFLAKE_PK"; private static final String CONNECTION_INTEGRATION_TEST__SNOWFLAKE_PK_PASSPHRASE = "CONNECTION_INTEGRATION_TEST__SNOWFLAKE_PK_PASSPHRASE"; @@ -71,7 +70,19 @@ public CredentialVault getCredentialVault() } @Override - public StoreInstance getStoreInstance() + public Identity getIdentity() + { + return getAnonymousIdentity(this.identityFactory); + } + + @Override + public DatabaseType getDatabaseType() + { + return RelationalDatabaseType.SNOWFLAKE; + } + + @Override + public ConnectionSpecification getConnectionSpecification() { SnowflakeConnectionSpecification connectionSpecification = new SnowflakeConnectionSpecification(); connectionSpecification.databaseName = "SUMMIT_DEV"; @@ -80,20 +91,7 @@ public StoreInstance getStoreInstance() connectionSpecification.region = "us-east-2"; connectionSpecification.cloudType = "aws"; connectionSpecification.role = "SUMMIT_DEV"; - return new StoreInstance.Builder(this.environment) - .withIdentifier(TEST_STORE_INSTANCE_NAME) - .withStoreSupportIdentifier("Snowflake") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KEY_PAIR).build() - ) - .withConnectionSpecification(connectionSpecification) - .build(); - } - - @Override - public Identity getIdentity() - { - return getAnonymousIdentity(this.identityFactory); + return connectionSpecification; } @Override @@ -107,7 +105,7 @@ public AuthenticationConfiguration getAuthenticationConfiguration() } @Override - public void runTestWithConnection(Connection connection) throws Exception + public void runTestWithConnection(java.sql.Connection connection) throws Exception { Statement statement = connection.createStatement(); statement.setMaxRows(10); diff --git a/legend-engine-config/legend-engine-extensions-collection-generation/pom.xml b/legend-engine-config/legend-engine-extensions-collection-generation/pom.xml index 5e5b259bc69..e702972ddc2 100644 --- a/legend-engine-config/legend-engine-extensions-collection-generation/pom.xml +++ b/legend-engine-config/legend-engine-extensions-collection-generation/pom.xml @@ -250,6 +250,21 @@ + + + org.finos.legend.engine + legend-engine-xt-connection-grammar + + + org.finos.legend.engine + legend-engine-xt-connection-compiler + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + + + org.finos.legend.engine diff --git a/legend-engine-config/legend-engine-extensions-collection-generation/src/test/java/org/finos/legend/engine/extensions/collection/generation/TestExtensions.java b/legend-engine-config/legend-engine-extensions-collection-generation/src/test/java/org/finos/legend/engine/extensions/collection/generation/TestExtensions.java index c1865923cf6..84d174859f4 100644 --- a/legend-engine-config/legend-engine-extensions-collection-generation/src/test/java/org/finos/legend/engine/extensions/collection/generation/TestExtensions.java +++ b/legend-engine-config/legend-engine-extensions-collection-generation/src/test/java/org/finos/legend/engine/extensions/collection/generation/TestExtensions.java @@ -33,6 +33,7 @@ import org.finos.legend.engine.language.bigqueryFunction.grammar.to.BigQueryFunctionGrammarComposer; import org.finos.legend.engine.language.graphQL.grammar.integration.GraphQLGrammarParserExtension; import org.finos.legend.engine.language.graphQL.grammar.integration.GraphQLPureGrammarComposerExtension; +import org.finos.legend.engine.language.pure.compiler.toPureGraph.ConnectionCompilerExtension; import org.finos.legend.engine.language.pure.compiler.toPureGraph.PureModel; import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension; import org.finos.legend.engine.language.pure.dsl.authentication.grammar.from.AuthenticationGrammarParserExtension; @@ -51,6 +52,7 @@ import org.finos.legend.engine.language.pure.dsl.persistence.relational.grammar.to.PersistenceRelationalComposerExtension; import org.finos.legend.engine.language.pure.dsl.service.grammar.from.ServiceParserExtension; import org.finos.legend.engine.language.pure.dsl.service.grammar.to.ServiceGrammarComposerExtension; +import org.finos.legend.engine.language.pure.grammar.from.ConnectionParserExtension; import org.finos.legend.engine.language.pure.grammar.from.CorePureGrammarParser; import org.finos.legend.engine.language.pure.grammar.from.DataSpaceParserExtension; import org.finos.legend.engine.language.pure.grammar.from.DiagramParserExtension; @@ -60,6 +62,7 @@ import org.finos.legend.engine.language.pure.grammar.from.TextParserExtension; import org.finos.legend.engine.language.pure.grammar.from.extension.PureGrammarParserExtension; import org.finos.legend.engine.language.pure.grammar.to.BigQueryGrammarComposerExtension; +import org.finos.legend.engine.language.pure.grammar.to.ConnectionGrammarComposerExtension; import org.finos.legend.engine.language.pure.grammar.to.CorePureGrammarComposer; import org.finos.legend.engine.language.pure.grammar.to.DataSpaceGrammarComposerExtension; import org.finos.legend.engine.language.pure.grammar.to.DiagramGrammarComposerExtension; @@ -269,6 +272,7 @@ protected Iterable> getExpected return Lists.mutable.>empty() .with(org.finos.legend.engine.protocol.pure.v1.CorePureProtocolExtension.class) .with(org.finos.legend.engine.protocol.pure.v1.DataSpaceProtocolExtension.class) + .with(org.finos.legend.engine.protocol.pure.v1.ConnectionProtocolExtension.class) .with(SnowflakeAppProtocolExtension.class) .with(BigQueryFunctionProtocolExtension.class) .with(org.finos.legend.engine.protocol.pure.v1.DiagramProtocolExtension.class) @@ -314,6 +318,7 @@ protected Iterable> getExp return Lists.mutable.>empty() .with(CorePureGrammarParser.class) .with(DataSpaceParserExtension.class) + .with(ConnectionParserExtension.class) .with(SnowflakeAppGrammarParserExtension.class) .with(BigQueryFunctionGrammarParserExtension.class) .with(DiagramParserExtension.class) @@ -341,6 +346,7 @@ protected Iterable> getE return Lists.mutable.>empty() .with(CorePureGrammarComposer.class) .with(DataSpaceGrammarComposerExtension.class) + .with(ConnectionGrammarComposerExtension.class) .with(SnowflakeAppGrammarComposer.class) .with(BigQueryFunctionGrammarComposer.class) .with(DiagramGrammarComposerExtension.class) @@ -376,6 +382,7 @@ protected Iterable> getExpectedComp .with(SnowflakeAppCompilerExtension.class) .with(BigQueryFunctionCompilerExtension.class) .with(org.finos.legend.engine.language.pure.compiler.toPureGraph.DataSpaceCompilerExtension.class) + .with(ConnectionCompilerExtension.class) .with(org.finos.legend.engine.language.pure.compiler.toPureGraph.TextCompilerExtension.class) .with(org.finos.legend.engine.language.pure.compiler.toPureGraph.CoreCompilerExtension.class) .with(org.finos.legend.engine.language.pure.dsl.generation.compiler.toPureGraph.GenerationCompilerExtensionImpl.class) @@ -485,6 +492,7 @@ protected Iterable getExpectedCodeRepositories() .with("core_analytics_lineage") .with("core_analytics_mapping") .with("core_analytics_search") + .with("core_connection_metamodel") .with("core_data_space") .with("core_data_space_metamodel") .with("core_diagram") diff --git a/legend-engine-config/legend-engine-server/pom.xml b/legend-engine-config/legend-engine-server/pom.xml index 6b5bc974bce..37ed8f3b41e 100644 --- a/legend-engine-config/legend-engine-server/pom.xml +++ b/legend-engine-config/legend-engine-server/pom.xml @@ -263,7 +263,16 @@ runtime - + + org.finos.legend.engine + legend-engine-xt-connection-compiler + runtime + + + org.finos.legend.engine + legend-engine-xt-connection-grammar + runtime + org.finos.legend.engine legend-engine-xt-persistence-grammar @@ -447,10 +456,6 @@ org.finos.legend.engine legend-engine-xt-analytics-binding-api - - org.finos.legend.engine - legend-engine-xt-analytics-binding-api - org.finos.legend.engine legend-engine-xt-relationalStore-grammar @@ -748,7 +753,11 @@ org.finos.legend.engine - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory + + + org.finos.legend.engine + legend-engine-xt-connection-protocol org.finos.legend.engine diff --git a/legend-engine-config/legend-engine-server/src/main/java/org/finos/legend/engine/server/Server.java b/legend-engine-config/legend-engine-server/src/main/java/org/finos/legend/engine/server/Server.java index 5e185307baa..035ec9fd3e1 100644 --- a/legend-engine-config/legend-engine-server/src/main/java/org/finos/legend/engine/server/Server.java +++ b/legend-engine-config/legend-engine-server/src/main/java/org/finos/legend/engine/server/Server.java @@ -43,22 +43,18 @@ import org.finos.legend.authentication.vault.impl.EnvironmentCredentialVault; import org.finos.legend.authentication.vault.impl.PropertiesFileCredentialVault; import org.finos.legend.authentication.vault.impl.SystemPropertiesCredentialVault; -import org.finos.legend.connection.AuthenticationMechanismConfiguration; +import org.finos.legend.connection.AuthenticationMechanism; import org.finos.legend.connection.ConnectionFactory; -import org.finos.legend.connection.DatabaseType; +import org.finos.legend.connection.DatabaseSupport; import org.finos.legend.connection.LegendEnvironment; -import org.finos.legend.connection.RelationalDatabaseStoreSupport; -import org.finos.legend.connection.StoreInstanceProvider; -import org.finos.legend.connection.impl.DefaultStoreInstanceProvider; -import org.finos.legend.connection.impl.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.connection.impl.CoreAuthenticationMechanismType; import org.finos.legend.connection.impl.HACKY__SnowflakeConnectionAdapter; import org.finos.legend.connection.impl.KerberosCredentialExtractor; import org.finos.legend.connection.impl.KeyPairCredentialBuilder; +import org.finos.legend.connection.impl.RelationalDatabaseType; import org.finos.legend.connection.impl.SnowflakeConnectionBuilder; import org.finos.legend.connection.impl.StaticJDBCConnectionBuilder; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; import org.finos.legend.connection.impl.UserPasswordCredentialBuilder; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; import org.finos.legend.engine.api.analytics.BindingAnalytics; import org.finos.legend.engine.api.analytics.ClassAnalytics; import org.finos.legend.engine.api.analytics.DataSpaceAnalytics; @@ -126,6 +122,8 @@ import org.finos.legend.engine.protocol.bigqueryFunction.metamodel.BigQueryFunctionDeploymentConfiguration; import org.finos.legend.engine.protocol.pure.v1.PureProtocolObjectMapperFactory; import org.finos.legend.engine.protocol.pure.v1.model.PureProtocol; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.EncryptedPrivateKeyPairAuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.UserPasswordAuthenticationConfiguration; import org.finos.legend.engine.pure.code.core.PureCoreExtensionLoader; import org.finos.legend.engine.query.graphQL.api.debug.GraphQLDebug; import org.finos.legend.engine.query.graphQL.api.execute.GraphQLExecute; @@ -399,7 +397,7 @@ public void run(T serverConfiguration, Environment environment) new RelationalStoreSQLSourceProvider(projectCoordinateLoader), new FunctionSQLSourceProvider(projectCoordinateLoader), new LegendServiceSQLSourceProvider(projectCoordinateLoader)), - generatorExtensions.flatCollect(PlanGeneratorExtension::getExtraPlanTransformers)))); + generatorExtensions.flatCollect(PlanGeneratorExtension::getExtraPlanTransformers)))); environment.jersey().register(new SqlGrammar()); // Service @@ -439,39 +437,48 @@ public void run(T serverConfiguration, Environment environment) // TODO: @akphi - this is temporary, rework when we find a better way to handle the initialization of connection factory from config or some external source. private ConnectionFactory setupConnectionFactory(List vaultConfigurations) { - LegendEnvironment environment = new LegendEnvironment.Builder() - .withVaults( + LegendEnvironment environment = LegendEnvironment + .builder() + .vaults( new SystemPropertiesCredentialVault(), new EnvironmentCredentialVault(), new PropertiesFileCredentialVault(this.buildVaultProperties(vaultConfigurations)) ) - .withStoreSupports( - new RelationalDatabaseStoreSupport.Builder(DatabaseType.POSTGRES) - .withIdentifier("Postgres") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).withAuthenticationConfigurationTypes( - UserPasswordAuthenticationConfiguration.class - ).build() + .databaseSupports( + DatabaseSupport + .builder() + .type(RelationalDatabaseType.POSTGRES) + .authenticationMechanisms( + AuthenticationMechanism + .builder() + .type(CoreAuthenticationMechanismType.USER_PASSWORD) + .authenticationConfigurationTypes( + UserPasswordAuthenticationConfiguration.class + ).build() ) .build(), - new RelationalDatabaseStoreSupport.Builder(DatabaseType.SNOWFLAKE) - .withIdentifier("Snowflake") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KEY_PAIR).withAuthenticationConfigurationTypes( - EncryptedPrivateKeyPairAuthenticationConfiguration.class - ).build() + DatabaseSupport + .builder() + .type(RelationalDatabaseType.SNOWFLAKE) + .authenticationMechanisms( + AuthenticationMechanism + .builder() + .type(CoreAuthenticationMechanismType.KEY_PAIR) + .authenticationConfigurationTypes( + EncryptedPrivateKeyPairAuthenticationConfiguration.class + ).build() ) .build() ).build(); - StoreInstanceProvider storeInstanceProvider = new DefaultStoreInstanceProvider.Builder().build(); - return new ConnectionFactory.Builder(environment, storeInstanceProvider) - .withCredentialBuilders( + return ConnectionFactory.builder() + .environment(environment) + .credentialBuilders( new KerberosCredentialExtractor(), new UserPasswordCredentialBuilder(), new KeyPairCredentialBuilder() ) - .withConnectionBuilders( + .connectionBuilders( new StaticJDBCConnectionBuilder.WithPlaintextUsernamePassword(), new SnowflakeConnectionBuilder.WithKeyPair() ) diff --git a/legend-engine-xts-analytics/legend-engine-xts-analytics-mapping/legend-engine-xt-analytics-mapping-api/pom.xml b/legend-engine-xts-analytics/legend-engine-xts-analytics-mapping/legend-engine-xt-analytics-mapping-api/pom.xml index ec437e0118d..55b054729fe 100644 --- a/legend-engine-xts-analytics/legend-engine-xts-analytics-mapping/legend-engine-xt-analytics-mapping-api/pom.xml +++ b/legend-engine-xts-analytics/legend-engine-xts-analytics-mapping/legend-engine-xt-analytics-mapping-api/pom.xml @@ -62,10 +62,6 @@ org.finos.legend.engine legend-engine-xt-analytics-function-pure - - org.finos.legend.engine - legend-engine-xt-analytics-function-pure - org.finos.legend.engine legend-engine-xt-analytics-binding-pure diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismConfiguration.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismConfiguration.java deleted file mode 100644 index 11ca50b9ce1..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismConfiguration.java +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.block.function.Function0; -import org.eclipse.collections.api.factory.Lists; -import org.eclipse.collections.api.list.ImmutableList; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; - -import java.util.ArrayList; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; - -public class AuthenticationMechanismConfiguration -{ - private final AuthenticationMechanism authenticationMechanism; - private final ImmutableList> authenticationConfigurationTypes; - private final Function0 defaultAuthenticationConfigurationGenerator; - - private AuthenticationMechanismConfiguration(AuthenticationMechanism authenticationMechanism, List> authenticationConfigurationTypes, Function0 defaultAuthenticationConfigurationGenerator) - { - this.authenticationMechanism = Objects.requireNonNull(authenticationMechanism, "Authentication mechanism is missing"); - this.authenticationConfigurationTypes = Lists.immutable.withAll(authenticationConfigurationTypes); - this.defaultAuthenticationConfigurationGenerator = defaultAuthenticationConfigurationGenerator; - } - - public AuthenticationMechanism getAuthenticationMechanism() - { - return authenticationMechanism; - } - - public ImmutableList> getAuthenticationConfigurationTypes() - { - return authenticationConfigurationTypes; - } - - public Function0 getDefaultAuthenticationConfigurationGenerator() - { - return defaultAuthenticationConfigurationGenerator; - } - - public static class Builder - { - private final AuthenticationMechanism authenticationMechanism; - private final Set> authenticationConfigurationTypes = new LinkedHashSet<>(); - private Function0 defaultAuthenticationConfigurationGenerator; - - public Builder(AuthenticationMechanism authenticationMechanism) - { - this.authenticationMechanism = authenticationMechanism; - } - - public Builder withAuthenticationConfigurationType(Class authenticationConfigurationType) - { - this.authenticationConfigurationTypes.add(authenticationConfigurationType); - return this; - } - - public Builder withAuthenticationConfigurationTypes(List> authenticationConfigurationTypes) - { - this.authenticationConfigurationTypes.addAll(authenticationConfigurationTypes); - return this; - } - - @SafeVarargs - public final Builder withAuthenticationConfigurationTypes(Class... authenticationConfigurationTypes) - { - this.authenticationConfigurationTypes.addAll(Lists.mutable.of(authenticationConfigurationTypes)); - return this; - } - - public Builder withDefaultAuthenticationConfigurationGenerator(Function0 defaultAuthenticationConfigurationGenerator) - { - this.defaultAuthenticationConfigurationGenerator = defaultAuthenticationConfigurationGenerator; - return this; - } - - public AuthenticationMechanismConfiguration build() - { - return new AuthenticationMechanismConfiguration( - this.authenticationMechanism, - new ArrayList<>(this.authenticationConfigurationTypes), - this.defaultAuthenticationConfigurationGenerator - ); - } - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java deleted file mode 100644 index 7751f5bdecc..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/LegendEnvironment.java +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.factory.Lists; -import org.eclipse.collections.api.list.ImmutableList; -import org.eclipse.collections.api.map.ImmutableMap; -import org.eclipse.collections.api.map.MutableMap; -import org.eclipse.collections.impl.factory.Maps; -import org.eclipse.collections.impl.utility.ListIterate; -import org.finos.legend.authentication.vault.CredentialVault; -import org.finos.legend.engine.protocol.pure.v1.model.packageableElement.authentication.vault.CredentialVaultSecret; -import org.finos.legend.engine.shared.core.identity.Identity; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * This is the runtime instance of configuration for Legend Engine, the place we package common configs, - * such as vaults, that can be passed to various parts of engine, authentication, connection factory, etc. - */ -public class LegendEnvironment -{ - protected final ImmutableList vaults; - protected final ImmutableMap, CredentialVault> vaultsIndex; - protected final ImmutableMap storeSupportsIndex; - - protected LegendEnvironment(List vaults, Map storeSupportsIndex) - { - this.vaults = Lists.immutable.withAll(vaults); - MutableMap, CredentialVault> vaultsIndex = Maps.mutable.empty(); - for (CredentialVault vault : vaults) - { - vaultsIndex.put(vault.getSecretType(), vault); - } - this.vaultsIndex = vaultsIndex.toImmutable(); - this.storeSupportsIndex = Maps.immutable.withAll(storeSupportsIndex); - } - - public String lookupVaultSecret(CredentialVaultSecret credentialVaultSecret, Identity identity) throws Exception - { - Class secretClass = credentialVaultSecret.getClass(); - if (!this.vaultsIndex.containsKey(secretClass)) - { - throw new RuntimeException(String.format("Can't find secret: credential vault for secret of type '%s' has not been registered", secretClass.getSimpleName())); - } - CredentialVault vault = this.vaultsIndex.get(secretClass); - return vault.lookupSecret(credentialVaultSecret, identity); - } - - public StoreSupport findStoreSupport(String identifier) - { - return Objects.requireNonNull(this.storeSupportsIndex.get(identifier), String.format("Can't find store support with identifier '%s'", identifier)); - } - - public static class Builder - { - private final List vaults = Lists.mutable.empty(); - private final Map storeSupportsIndex = new LinkedHashMap<>(); - - public Builder() - { - } - - public Builder withVaults(List vaults) - { - this.vaults.addAll(vaults); - return this; - } - - public Builder withVaults(CredentialVault... vaults) - { - this.vaults.addAll(Lists.mutable.with(vaults)); - return this; - } - - public Builder withVault(CredentialVault vault) - { - this.vaults.add(vault); - return this; - } - - public Builder withStoreSupports(List storeSupports) - { - storeSupports.forEach(this::registerStoreSupport); - return this; - } - - public Builder withStoreSupports(StoreSupport... storeSupports) - { - ListIterate.forEach(Lists.mutable.with(storeSupports), this::registerStoreSupport); - return this; - } - - public Builder withStoreSupport(StoreSupport storeSupport) - { - this.registerStoreSupport(storeSupport); - return this; - } - - private void registerStoreSupport(StoreSupport storeSupport) - { - if (this.storeSupportsIndex.containsKey(storeSupport.getIdentifier())) - { - throw new RuntimeException(String.format("Can't register store support: found multiple store supports with identifier '%s'", storeSupport.getIdentifier())); - } - this.storeSupportsIndex.put(storeSupport.getIdentifier(), storeSupport); - } - - public LegendEnvironment build() - { - return new LegendEnvironment(this.vaults, this.storeSupportsIndex); - } - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstance.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstance.java deleted file mode 100644 index 2ced76c35a8..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstance.java +++ /dev/null @@ -1,221 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.factory.Lists; -import org.eclipse.collections.api.list.ImmutableList; -import org.eclipse.collections.impl.utility.ListIterate; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; -import org.finos.legend.connection.protocol.ConnectionSpecification; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * A StoreInstance represents a named instance of a Store. - */ -public final class StoreInstance -{ - private final String identifier; - private final StoreSupport storeSupport; - private final ConnectionSpecification connectionSpecification; - private final Map authenticationMechanismConfigurationIndex; - private final Map, AuthenticationMechanism> authenticationMechanismIndex; - - private StoreInstance(String identifier, StoreSupport storeSupport, List authenticationMechanismConfigurations, ConnectionSpecification connectionSpecification) - { - this.identifier = Objects.requireNonNull(identifier, "Can't create store instance: identifier is missing"); - this.storeSupport = storeSupport; - this.connectionSpecification = Objects.requireNonNull(connectionSpecification, "Connection specification is missing"); - - Map authenticationMechanismConfigurationIndex = new LinkedHashMap<>(); - - if (authenticationMechanismConfigurations.isEmpty()) - { - for (AuthenticationMechanism authenticationMechanism : this.storeSupport.getAuthenticationMechanisms()) - { - authenticationMechanismConfigurationIndex.put(authenticationMechanism, this.storeSupport.getAuthenticationMechanismConfiguration(authenticationMechanism)); - } - } - else - { - for (AuthenticationMechanismConfiguration authenticationMechanismConfiguration : authenticationMechanismConfigurations) - { - AuthenticationMechanism authenticationMechanism = authenticationMechanismConfiguration.getAuthenticationMechanism(); - if (authenticationMechanismConfigurationIndex.containsKey(authenticationMechanism)) - { - throw new RuntimeException(String.format("Found multiple configurations for authentication mechanism '%s'", authenticationMechanism.getLabel())); - } - AuthenticationMechanismConfiguration configFromStoreSupport = this.storeSupport.getAuthenticationMechanismConfiguration(authenticationMechanism); - if (configFromStoreSupport == null) - { - throw new RuntimeException(String.format("Authentication mechanism '%s' is not covered by store support '%s'. Supported mechanism(s):\n%s", - authenticationMechanism.getLabel(), - this.storeSupport.getIdentifier(), - ListIterate.collect(this.storeSupport.getAuthenticationMechanisms(), mechanism -> "- " + mechanism.getLabel()).makeString("\n") - )); - } - ImmutableList> authenticationConfigTypesFromStoreSupport = configFromStoreSupport.getAuthenticationConfigurationTypes(); - List> authenticationConfigurationTypes = Lists.mutable.empty(); - for (Class authenticationConfigurationType : authenticationMechanismConfiguration.getAuthenticationConfigurationTypes()) - { - if (!authenticationConfigTypesFromStoreSupport.contains(authenticationConfigurationType)) - { - throw new RuntimeException(String.format("Authentication configuration type '%s' is not covered by store support '%s' for authentication mechanism '%s'. Supported configuration type(s):\n%s", - authenticationConfigurationType.getSimpleName(), - this.storeSupport.getIdentifier(), - authenticationMechanism.getLabel(), - authenticationConfigTypesFromStoreSupport.collect(type -> "- " + type.getSimpleName()).makeString("\n") - )); - } - else - { - authenticationConfigurationTypes.add(authenticationConfigurationType); - } - } - authenticationMechanismConfigurationIndex.put(authenticationMechanism, new AuthenticationMechanismConfiguration.Builder(authenticationMechanism) - // NOTE: if no configuration type is specified, it means the store instance supports all configuration types configured for that mechanism in the store support - .withAuthenticationConfigurationTypes(!authenticationConfigurationTypes.isEmpty() ? authenticationConfigurationTypes : authenticationConfigTypesFromStoreSupport.toList()) - .withDefaultAuthenticationConfigurationGenerator(authenticationMechanismConfiguration.getDefaultAuthenticationConfigurationGenerator() != null ? authenticationMechanismConfiguration.getDefaultAuthenticationConfigurationGenerator() : configFromStoreSupport.getDefaultAuthenticationConfigurationGenerator()) - .build()); - - } - - } - - this.authenticationMechanismConfigurationIndex = authenticationMechanismConfigurationIndex; - Map, AuthenticationMechanism> authenticationMechanismIndex = new LinkedHashMap<>(); - authenticationMechanismConfigurationIndex.forEach((authenticationMechanism, authenticationMechanismConfiguration) -> - { - if (authenticationMechanismConfiguration.getAuthenticationConfigurationTypes().isEmpty()) - { - throw new RuntimeException(String.format("No authentication configuration type is associated with authentication mechanism '%s'", authenticationMechanism.getLabel())); - } - authenticationMechanismConfiguration.getAuthenticationConfigurationTypes().forEach(configurationType -> - { - authenticationMechanismIndex.put(configurationType, authenticationMechanism); - }); - }); - this.authenticationMechanismIndex = authenticationMechanismIndex; - } - - public String getIdentifier() - { - return identifier; - } - - public StoreSupport getStoreSupport() - { - return storeSupport; - } - - public List getAuthenticationMechanisms() - { - return new ArrayList<>(this.authenticationMechanismConfigurationIndex.keySet()); - } - - public List> getAuthenticationConfigurationTypes() - { - return new ArrayList<>(this.authenticationMechanismIndex.keySet()); - } - - public AuthenticationMechanism getAuthenticationMechanism(Class authenticationConfigurationType) - { - return this.authenticationMechanismIndex.get(authenticationConfigurationType); - } - - public ConnectionSpecification getConnectionSpecification() - { - return connectionSpecification; - } - - public AuthenticationMechanismConfiguration getAuthenticationMechanismConfiguration(AuthenticationMechanism authenticationMechanism) - { - return authenticationMechanismConfigurationIndex.get(authenticationMechanism); - } - - public T getConnectionSpecification(Class clazz) - { - if (!this.connectionSpecification.getClass().equals(clazz)) - { - throw new RuntimeException(String.format("Can't get connection specification of type '%s' for store '%s'", clazz.getSimpleName(), this.identifier)); - } - return (T) this.connectionSpecification; - } - - public static class Builder - { - private final LegendEnvironment environment; - private String identifier; - private String storeSupportIdentifier; - private final List authenticationMechanismConfigurations = Lists.mutable.empty(); - private ConnectionSpecification connectionSpecification; - - public Builder(LegendEnvironment environment) - { - this.environment = environment; - } - - public Builder withIdentifier(String identifier) - { - this.identifier = identifier; - return this; - } - - public Builder withStoreSupportIdentifier(String storeSupportIdentifier) - { - this.storeSupportIdentifier = storeSupportIdentifier; - return this; - } - - public Builder withAuthenticationMechanismConfiguration(AuthenticationMechanismConfiguration authenticationMechanismConfiguration) - { - this.authenticationMechanismConfigurations.add(authenticationMechanismConfiguration); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(List authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(authenticationMechanismConfigurations); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(AuthenticationMechanismConfiguration... authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(Lists.mutable.of(authenticationMechanismConfigurations)); - return this; - } - - public Builder withConnectionSpecification(ConnectionSpecification connectionSpecification) - { - this.connectionSpecification = connectionSpecification; - return this; - } - - public StoreInstance build() - { - return new StoreInstance( - this.identifier, - this.environment.findStoreSupport(Objects.requireNonNull(this.storeSupportIdentifier, "Store support identifier is missing")), - this.authenticationMechanismConfigurations, - this.connectionSpecification - ); - } - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreSupport.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreSupport.java deleted file mode 100644 index fb36a14dc05..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreSupport.java +++ /dev/null @@ -1,122 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.factory.Lists; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; - -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -/** - * A StoreSupport describes the capabilities supported by a Store. - * For now, it describes the authentication mechanisms. - */ -public class StoreSupport -{ - private final String identifier; - private final Map authenticationMechanismConfigurationIndex; - - protected StoreSupport(String identifier, List authenticationMechanismConfigurations) - { - this.identifier = Objects.requireNonNull(identifier, "Identifier is missing"); - - Map authenticationMechanismConfigurationIndex = new LinkedHashMap<>(); - Map, AuthenticationMechanism> authenticationConfigurationTypeIndex = new LinkedHashMap<>(); - for (AuthenticationMechanismConfiguration authenticationMechanismConfiguration : authenticationMechanismConfigurations) - { - AuthenticationMechanism authenticationMechanism = authenticationMechanismConfiguration.getAuthenticationMechanism(); - if (authenticationMechanismConfigurationIndex.containsKey(authenticationMechanism)) - { - throw new RuntimeException(String.format("Found multiple configurations for authentication mechanism '%s'", authenticationMechanism.getLabel())); - } - authenticationMechanismConfigurationIndex.put(authenticationMechanism, authenticationMechanismConfiguration); - authenticationMechanismConfiguration.getAuthenticationConfigurationTypes().forEach(authenticationConfigurationType -> - { - if (authenticationConfigurationTypeIndex.containsKey(authenticationConfigurationType)) - { - throw new RuntimeException(String.format("Authentication configuration type '%s' is associated with multiple authentication mechanisms", authenticationConfigurationType.getSimpleName())); - } - authenticationConfigurationTypeIndex.put(authenticationConfigurationType, authenticationMechanism); - }); - } - - this.authenticationMechanismConfigurationIndex = authenticationMechanismConfigurationIndex; - this.authenticationMechanismConfigurationIndex.forEach((authenticationMechanism, authenticationMechanismConfiguration) -> - { - if (authenticationMechanismConfiguration.getAuthenticationConfigurationTypes().isEmpty()) - { - throw new RuntimeException(String.format("No authentication configuration type is associated with authentication mechanism '%s'", authenticationMechanism.getLabel())); - } - }); - } - - public String getIdentifier() - { - return identifier; - } - - public AuthenticationMechanismConfiguration getAuthenticationMechanismConfiguration(AuthenticationMechanism authenticationMechanism) - { - return authenticationMechanismConfigurationIndex.get(authenticationMechanism); - } - - public List getAuthenticationMechanisms() - { - return new ArrayList<>(this.authenticationMechanismConfigurationIndex.keySet()); - } - - public static class Builder - { - private String identifier; - private final List authenticationMechanismConfigurations = Lists.mutable.empty(); - - public Builder withIdentifier(String identifier) - { - this.identifier = identifier; - return this; - } - - public Builder withAuthenticationMechanismConfiguration(AuthenticationMechanismConfiguration authenticationMechanismConfiguration) - { - this.authenticationMechanismConfigurations.add(authenticationMechanismConfiguration); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(List authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(authenticationMechanismConfigurations); - return this; - } - - public Builder withAuthenticationMechanismConfigurations(AuthenticationMechanismConfiguration... authenticationMechanismConfigurations) - { - this.authenticationMechanismConfigurations.addAll(Lists.mutable.of(authenticationMechanismConfigurations)); - return this; - } - - public StoreSupport build() - { - return new StoreSupport( - this.identifier, - this.authenticationMechanismConfigurations - ); - } - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/DefaultStoreInstanceProvider.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/DefaultStoreInstanceProvider.java deleted file mode 100644 index 718b6404929..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/DefaultStoreInstanceProvider.java +++ /dev/null @@ -1,85 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection.impl; - -import org.eclipse.collections.api.factory.Lists; -import org.eclipse.collections.api.factory.Maps; -import org.eclipse.collections.api.map.ImmutableMap; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.StoreInstanceProvider; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class DefaultStoreInstanceProvider implements StoreInstanceProvider -{ - private final ImmutableMap storeInstancesIndex; - - private DefaultStoreInstanceProvider(Map storeInstancesIndex) - { - - this.storeInstancesIndex = Maps.immutable.withAll(storeInstancesIndex); - } - - @Override - public StoreInstance lookup(String identifier) - { - return Objects.requireNonNull(this.storeInstancesIndex.get(identifier), String.format("Can't find store instance with identifier '%s'", identifier)); - } - - public static class Builder - { - private final Map storeInstancesIndex = new HashMap<>(); - - public Builder() - { - - } - - public Builder withStoreInstances(List storeInstances) - { - storeInstances.forEach(this::registerStoreInstance); - return this; - } - - public Builder withStoreInstances(StoreInstance... storeInstances) - { - Lists.mutable.with(storeInstances).forEach(this::registerStoreInstance); - return this; - } - - public Builder withStoreInstance(StoreInstance storeInstance) - { - this.registerStoreInstance(storeInstance); - return this; - } - - private void registerStoreInstance(StoreInstance storeInstance) - { - if (this.storeInstancesIndex.containsKey(storeInstance.getIdentifier())) - { - throw new RuntimeException(String.format("Found multiple store instances with identifier '%s'", storeInstance.getIdentifier())); - } - this.storeInstancesIndex.put(storeInstance.getIdentifier(), storeInstance); - } - - public DefaultStoreInstanceProvider build() - { - return new DefaultStoreInstanceProvider(this.storeInstancesIndex); - } - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/InstrumentedStoreInstanceProvider.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/InstrumentedStoreInstanceProvider.java deleted file mode 100644 index c3438eab9fd..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/impl/InstrumentedStoreInstanceProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection.impl; - -import org.eclipse.collections.api.factory.Maps; -import org.finos.legend.connection.StoreInstance; -import org.finos.legend.connection.StoreInstanceProvider; - -import java.util.Map; -import java.util.Objects; - -/** - * This is the instrumented version of {@link StoreInstanceProvider} which is used for testing. - */ -public class InstrumentedStoreInstanceProvider implements StoreInstanceProvider -{ - private final Map storeInstancesIndex = Maps.mutable.empty(); - - public void injectStoreInstance(StoreInstance storeInstance) - { - if (this.storeInstancesIndex.containsKey(storeInstance.getIdentifier())) - { - throw new RuntimeException(String.format("Found multiple store instances with identifier '%s'", storeInstance.getIdentifier())); - } - this.storeInstancesIndex.put(storeInstance.getIdentifier(), storeInstance); - } - - @Override - public StoreInstance lookup(String identifier) - { - return Objects.requireNonNull(this.storeInstancesIndex.get(identifier), String.format("Can't find store instance with identifier '%s'", identifier)); - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanismType.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanismType.java deleted file mode 100644 index b60214e8c54..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/protocol/AuthenticationMechanismType.java +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection.protocol; - -import org.finos.legend.connection.impl.ApiKeyAuthenticationConfiguration; -import org.finos.legend.connection.impl.EncryptedPrivateKeyPairAuthenticationConfiguration; -import org.finos.legend.connection.impl.KerberosAuthenticationConfiguration; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; -import org.finos.legend.engine.shared.core.identity.Credential; -import org.finos.legend.engine.shared.core.identity.credential.ApiTokenCredential; -import org.finos.legend.engine.shared.core.identity.credential.LegendKerberosCredential; -import org.finos.legend.engine.shared.core.identity.credential.OAuthCredential; -import org.finos.legend.engine.shared.core.identity.credential.PlaintextUserPasswordCredential; -import org.finos.legend.engine.shared.core.identity.credential.PrivateKeyCredential; - -public enum AuthenticationMechanismType implements AuthenticationMechanism -{ - USER_PASSWORD("UsernamePassword"), - API_KEY("APIKey"), - KEY_PAIR("KeyPair"), - KERBEROS("Kerberos"), - OAUTH("OAuth"); - - private final String label; - - private AuthenticationMechanismType(String label) - { - this.label = label; - } - - @Override - public String getLabel() - { - return this.label; - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/StoreSupportTest.java b/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/StoreSupportTest.java deleted file mode 100644 index 3a7f85d05ff..00000000000 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/test/java/org/finos/legend/connection/StoreSupportTest.java +++ /dev/null @@ -1,254 +0,0 @@ -// Copyright 2023 Goldman Sachs -// -// 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.finos.legend.connection; - -import org.eclipse.collections.api.factory.Lists; -import org.finos.legend.connection.impl.DefaultStoreInstanceProvider; -import org.finos.legend.connection.impl.EncryptedPrivateKeyPairAuthenticationConfiguration; -import org.finos.legend.connection.impl.KerberosAuthenticationConfiguration; -import org.finos.legend.connection.impl.UserPasswordAuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; -import org.finos.legend.connection.protocol.AuthenticationMechanismType; -import org.finos.legend.connection.protocol.ConnectionSpecification; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; - -public class StoreSupportTest -{ - @Test - public void testValidateStoreSupportBuilder() - { - // success - new StoreSupport.Builder() - .withIdentifier("test") - .build(); - - // failure - Exception exception; - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreSupport.Builder().build(); - }); - Assertions.assertEquals("Identifier is missing", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) - .build(), - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) - .build() - ).build(); - }); - Assertions.assertEquals("Found multiple configurations for authentication mechanism 'UsernamePassword'", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) - .build(), - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KERBEROS) - .withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) - .build() - ).build(); - }); - Assertions.assertEquals("Authentication configuration type 'UserPasswordAuthenticationConfiguration' is associated with multiple authentication mechanisms", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .build() - ).build(); - }); - Assertions.assertEquals("No authentication configuration type is associated with authentication mechanism 'UsernamePassword'", exception.getMessage()); - } - - @Test - public void testValidateStoreInstanceBuilder() - { - LegendEnvironment environment = new LegendEnvironment.Builder() - .withStoreSupport(new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes( - UserPasswordAuthenticationConfiguration.class, - EncryptedPrivateKeyPairAuthenticationConfiguration.class - ) - .build(), - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KERBEROS) - .withAuthenticationConfigurationTypes(KerberosAuthenticationConfiguration.class) - .build() - ) - .build()) - .build(); - - // success - StoreInstance testStore = new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .build() - ) - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - Assertions.assertArrayEquals(new AuthenticationMechanism[]{AuthenticationMechanismType.USER_PASSWORD}, testStore.getAuthenticationMechanisms().toArray()); - - // make sure if no auth mechanisms is specified, all mechanisms will be supported - StoreInstance testStore2 = new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - Assertions.assertArrayEquals(new AuthenticationMechanism[]{AuthenticationMechanismType.USER_PASSWORD, AuthenticationMechanismType.KERBEROS}, testStore2.getAuthenticationMechanisms().toArray()); - - // make sure if no authentication configuration type is specified, all types will be supported - StoreInstance testStore3 = new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withConnectionSpecification(new TestConnectionSpecification()) - .withAuthenticationMechanismConfiguration(new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD).build()) - .build(); - Assertions.assertArrayEquals(Lists.mutable.of( - UserPasswordAuthenticationConfiguration.class, - EncryptedPrivateKeyPairAuthenticationConfiguration.class - ).toArray(), testStore3.getAuthenticationMechanismConfiguration(AuthenticationMechanismType.USER_PASSWORD).getAuthenticationConfigurationTypes().toArray()); - - // failure - Exception exception; - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .build(); - }); - Assertions.assertEquals("Connection specification is missing", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .build(), - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .build() - ) - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - }); - Assertions.assertEquals("Found multiple configurations for authentication mechanism 'UsernamePassword'", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.API_KEY) - .build() - ) - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - }); - Assertions.assertEquals("Authentication mechanism 'APIKey' is not covered by store support 'test'. Supported mechanism(s):\n" + - "- UsernamePassword\n" + - "- Kerberos", exception.getMessage()); - - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes(KerberosAuthenticationConfiguration.class) - .build() - ) - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - }); - Assertions.assertEquals("Authentication configuration type 'KerberosAuthenticationConfiguration' is not covered by store support 'test' for authentication mechanism 'UsernamePassword'. Supported configuration type(s):\n" + - "- UserPasswordAuthenticationConfiguration\n" + - "- EncryptedPrivateKeyPairAuthenticationConfiguration", exception.getMessage()); - } - - private static class TestConnectionSpecification extends ConnectionSpecification - { - @Override - public String shortId() - { - return null; - } - } - - @Test - public void testStoreInstanceManagement() - { - LegendEnvironment environment = new LegendEnvironment.Builder() - .withStoreSupport(new StoreSupport.Builder() - .withIdentifier("test") - .withAuthenticationMechanismConfigurations( - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.USER_PASSWORD) - .withAuthenticationConfigurationTypes(UserPasswordAuthenticationConfiguration.class) - .build(), - new AuthenticationMechanismConfiguration.Builder(AuthenticationMechanismType.KERBEROS) - .withAuthenticationConfigurationTypes(KerberosAuthenticationConfiguration.class) - .build() - ) - .build()) - .build(); - - StoreInstance storeInstance = new StoreInstance.Builder(environment) - .withIdentifier("test-store") - .withStoreSupportIdentifier("test") - .withConnectionSpecification(new TestConnectionSpecification()) - .build(); - - StoreInstanceProvider storeInstanceProvider = new DefaultStoreInstanceProvider.Builder().withStoreInstance(storeInstance).build(); - - // failure - Exception exception; - - // error: store already registered - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - new DefaultStoreInstanceProvider.Builder().withStoreInstances(storeInstance, storeInstance).build(); - }); - Assertions.assertEquals("Found multiple store instances with identifier 'test-store'", exception.getMessage()); - - // error: store not found - exception = Assertions.assertThrows(RuntimeException.class, () -> - { - storeInstanceProvider.lookup("unknown"); - }); - Assertions.assertEquals("Can't find store instance with identifier 'unknown'", exception.getMessage()); - } -} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-implementation-vault-aws/pom.xml b/legend-engine-xts-authentication/legend-engine-xt-authentication-implementation-vault-aws/pom.xml index 1e8353adb54..681b8673670 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-implementation-vault-aws/pom.xml +++ b/legend-engine-xts-authentication/legend-engine-xt-authentication-implementation-vault-aws/pom.xml @@ -54,7 +54,7 @@ software.amazon.awssdk auth - 2.17.129 + ${amazon.awssdk.version} software.amazon.awssdk @@ -101,7 +101,7 @@ software.amazon.awssdk secretsmanager - 2.17.129 + ${amazon.awssdk.version} io.netty diff --git a/legend-engine-xts-authentication/pom.xml b/legend-engine-xts-authentication/pom.xml index 1613896c51c..6df60d90e1c 100644 --- a/legend-engine-xts-authentication/pom.xml +++ b/legend-engine-xts-authentication/pom.xml @@ -14,7 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. --> - + org.finos.legend.engine legend-engine @@ -28,7 +29,6 @@ legend-engine-xt-authentication-grammar - legend-engine-xt-authentication-connection-factory legend-engine-xt-authentication-implementation-core legend-engine-xt-authentication-implementation-gcp-federation legend-engine-xt-authentication-implementation-vault-aws diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-compiler/pom.xml b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/pom.xml new file mode 100644 index 00000000000..b9f95efb51d --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/pom.xml @@ -0,0 +1,73 @@ + + + + + + org.finos.legend.engine + legend-engine-xts-connection + 4.35.4-SNAPSHOT + + 4.0.0 + + legend-engine-xt-connection-compiler + jar + Legend Engine - XT - Connection - Compiler + + + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + + + org.finos.legend.engine + legend-engine-xt-connection-pure-metamodel + + + org.finos.legend.engine + legend-engine-language-pure-compiler + + + + + + org.finos.legend.pure + legend-pure-m3-core + + + + + + org.eclipse.collections + eclipse-collections-api + + + + + + org.junit.jupiter + junit-jupiter-api + test + + + org.junit.jupiter + junit-jupiter-engine + test + + + + \ No newline at end of file diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/java/org/finos/legend/engine/language/pure/compiler/toPureGraph/ConnectionCompilerExtension.java b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/java/org/finos/legend/engine/language/pure/compiler/toPureGraph/ConnectionCompilerExtension.java new file mode 100644 index 00000000000..3276c0f3d49 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/java/org/finos/legend/engine/language/pure/compiler/toPureGraph/ConnectionCompilerExtension.java @@ -0,0 +1,51 @@ +// Copyright 2020 Goldman Sachs +// +// 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.finos.legend.engine.language.pure.compiler.toPureGraph; + +import org.eclipse.collections.api.factory.Maps; +import org.eclipse.collections.api.map.MutableMap; +import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension; +import org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.Processor; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection; +import org.finos.legend.pure.generated.Root_meta_pure_metamodel_connection_Connection; +import org.finos.legend.pure.generated.Root_meta_pure_metamodel_connection_Connection_Impl; + +import java.util.Collections; + +public class ConnectionCompilerExtension implements CompilerExtension +{ + static final MutableMap connectionsIndex = Maps.mutable.empty(); + + @Override + public CompilerExtension build() + { + return new ConnectionCompilerExtension(); + } + + @Override + public Iterable> getExtraProcessors() + { + return Collections.singletonList(Processor.newProcessor( + Connection.class, + (element, context) -> + { + // @HACKY: new-connection-framework + Root_meta_pure_metamodel_connection_Connection metamodel = new Root_meta_pure_metamodel_connection_Connection_Impl(element.name, null, context.pureModel.getClass("meta::pure::metamodel::connection::Connection"))._name(element.name); + connectionsIndex.put(context.pureModel.buildPackageString(element._package, element.name), metamodel); + metamodel._rawValue(element); + return metamodel; + })); + } +} diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension new file mode 100644 index 00000000000..c6f728c13a9 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-compiler/src/main/resources/META-INF/services/org.finos.legend.engine.language.pure.compiler.toPureGraph.extension.CompilerExtension @@ -0,0 +1 @@ +org.finos.legend.engine.language.pure.compiler.toPureGraph.ConnectionCompilerExtension diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/pom.xml b/legend-engine-xts-connection/legend-engine-xt-connection-factory/pom.xml similarity index 85% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/pom.xml rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/pom.xml index 2683a301d47..363f8907ab9 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/pom.xml +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/pom.xml @@ -18,14 +18,14 @@ org.finos.legend.engine - legend-engine-xts-authentication + legend-engine-xts-connection 4.35.4-SNAPSHOT 4.0.0 - legend-engine-xt-authentication-connection-factory + legend-engine-xt-connection-factory jar - Legend Engine - XT - Authentication - Connection Factory + Legend Engine - XT - Connection - Factory @@ -41,6 +41,14 @@ org.finos.legend.engine legend-engine-xt-authentication-protocol + + org.finos.legend.engine + legend-engine-protocol-pure + + + org.finos.legend.engine + legend-engine-xt-connection-protocol + diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanism.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanism.java new file mode 100644 index 00000000000..7e982189eba --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanism.java @@ -0,0 +1,95 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection; + +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.list.ImmutableList; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; + +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; + +public class AuthenticationMechanism +{ + private final AuthenticationMechanismType authenticationMechanismType; + private final ImmutableList> authenticationConfigurationTypes; + + private AuthenticationMechanism(AuthenticationMechanismType authenticationMechanismType, List> authenticationConfigurationTypes) + { + this.authenticationMechanismType = Objects.requireNonNull(authenticationMechanismType, "Authentication mechanism is missing"); + this.authenticationConfigurationTypes = Lists.immutable.withAll(authenticationConfigurationTypes); + } + + public AuthenticationMechanismType getAuthenticationMechanismType() + { + return authenticationMechanismType; + } + + public ImmutableList> getAuthenticationConfigurationTypes() + { + return authenticationConfigurationTypes; + } + + public static Builder builder() + { + return new Builder(); + } + + public static class Builder + { + private AuthenticationMechanismType authenticationMechanismType; + private final Set> authenticationConfigurationTypes = new LinkedHashSet<>(); + + private Builder() + { + } + + public Builder type(AuthenticationMechanismType authenticationMechanismType) + { + this.authenticationMechanismType = authenticationMechanismType; + return this; + } + + public Builder authenticationConfigurationType(Class authenticationConfigurationType) + { + this.authenticationConfigurationTypes.add(authenticationConfigurationType); + return this; + } + + public Builder authenticationConfigurationTypes(List> authenticationConfigurationTypes) + { + this.authenticationConfigurationTypes.addAll(authenticationConfigurationTypes); + return this; + } + + @SafeVarargs + public final Builder authenticationConfigurationTypes(Class... authenticationConfigurationTypes) + { + this.authenticationConfigurationTypes.addAll(Lists.mutable.of(authenticationConfigurationTypes)); + return this; + } + + public AuthenticationMechanism build() + { + return new AuthenticationMechanism( + this.authenticationMechanismType, + new ArrayList<>(this.authenticationConfigurationTypes) + ); + } + } +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstanceProvider.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismType.java similarity index 88% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstanceProvider.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismType.java index 8b83db33c91..15c061ee6f9 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/StoreInstanceProvider.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/AuthenticationMechanismType.java @@ -14,7 +14,7 @@ package org.finos.legend.connection; -public interface StoreInstanceProvider +public interface AuthenticationMechanismType { - StoreInstance lookup(String identifier); + String getIdentifier(); } diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java similarity index 80% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java index 90e10882b38..96f879da05f 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Authenticator.java @@ -16,8 +16,7 @@ import org.eclipse.collections.api.factory.Lists; import org.eclipse.collections.api.list.ImmutableList; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; @@ -26,8 +25,8 @@ public class Authenticator { - private final StoreInstance storeInstance; - private final AuthenticationMechanism authenticationMechanism; + private final Connection connection; + private final AuthenticationMechanismType authenticationMechanismType; private final AuthenticationConfiguration authenticationConfiguration; private final Class sourceCredentialType; private final Class targetCredentialType; @@ -35,10 +34,10 @@ public class Authenticator private final ConnectionBuilder connectionBuilder; private final LegendEnvironment environment; - public Authenticator(StoreInstance storeInstance, AuthenticationMechanism authenticationMechanism, AuthenticationConfiguration authenticationConfiguration, Class sourceCredentialType, Class targetCredentialType, List credentialBuilders, ConnectionBuilder connectionBuilder, LegendEnvironment environment) + public Authenticator(Connection connection, AuthenticationMechanismType authenticationMechanismType, AuthenticationConfiguration authenticationConfiguration, Class sourceCredentialType, Class targetCredentialType, List credentialBuilders, ConnectionBuilder connectionBuilder, LegendEnvironment environment) { - this.storeInstance = storeInstance; - this.authenticationMechanism = authenticationMechanism; + this.connection = connection; + this.authenticationMechanismType = authenticationMechanismType; this.authenticationConfiguration = authenticationConfiguration; this.sourceCredentialType = sourceCredentialType; this.targetCredentialType = targetCredentialType; @@ -74,9 +73,9 @@ public CRED makeCredential(Identity identity) throws Exception return (CRED) credential; } - public AuthenticationMechanism getAuthenticationMechanism() + public AuthenticationMechanismType getAuthenticationMechanism() { - return authenticationMechanism; + return authenticationMechanismType; } public AuthenticationConfiguration getAuthenticationConfiguration() @@ -84,9 +83,9 @@ public AuthenticationConfiguration getAuthenticationConfiguration() return authenticationConfiguration; } - public StoreInstance getStoreInstance() + public Connection getConnection() { - return storeInstance; + return connection; } public Class getSourceCredentialType() diff --git a/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Connection.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Connection.java new file mode 100644 index 00000000000..a352b763636 --- /dev/null +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/Connection.java @@ -0,0 +1,271 @@ +// Copyright 2023 Goldman Sachs +// +// 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.finos.legend.connection; + +import org.eclipse.collections.api.factory.Lists; +import org.eclipse.collections.api.factory.Maps; +import org.eclipse.collections.api.list.ImmutableList; +import org.eclipse.collections.api.map.ImmutableMap; +import org.eclipse.collections.impl.utility.ListIterate; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; + +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +public final class Connection +{ + private final String identifier; + private final DatabaseSupport databaseSupport; + private final ConnectionSpecification connectionSpecification; + private final AuthenticationConfiguration authenticationConfiguration; + private final ImmutableMap authenticationMechanismsIndex; + private final ImmutableList authenticationMechanismTypes; + private final ImmutableMap, AuthenticationMechanismType> authenticationConfigurationTypesMap; + + private final ImmutableList> authenticationConfigurationTypes; + + private Connection(String identifier, DatabaseSupport databaseSupport, List authenticationMechanisms, ConnectionSpecification connectionSpecification, AuthenticationConfiguration authenticationConfiguration) + { + this.identifier = Objects.requireNonNull(identifier, "Can't create connection: identifier is missing"); + this.databaseSupport = databaseSupport; + this.connectionSpecification = Objects.requireNonNull(connectionSpecification, "Connection specification is missing"); + this.authenticationConfiguration = Objects.requireNonNull(authenticationConfiguration, "Authentication configuration is missing"); + + Map authenticationMechanismsIndex = new LinkedHashMap<>(); + List authenticationMechanismTypes = Lists.mutable.empty(); + if (authenticationMechanisms.isEmpty()) + { + for (AuthenticationMechanismType authenticationMechanismType : this.databaseSupport.getAuthenticationMechanismTypes()) + { + authenticationMechanismsIndex.put(authenticationMechanismType.getIdentifier(), this.databaseSupport.getAuthenticationMechanism(authenticationMechanismType)); + } + authenticationMechanismTypes.addAll(this.databaseSupport.getAuthenticationMechanismTypes().toList()); + } + else + { + for (AuthenticationMechanism authenticationMechanism : authenticationMechanisms) + { + AuthenticationMechanismType authenticationMechanismType = authenticationMechanism.getAuthenticationMechanismType(); + // if no mechanism is specified, it means the connection supports all mechanisms specified in the database support + if (authenticationMechanismsIndex.containsKey(authenticationMechanismType.getIdentifier())) + { + throw new RuntimeException(String.format("Found multiple configurations for authentication mechanism '%s'", authenticationMechanismType.getIdentifier())); + } + AuthenticationMechanism authenticationMechanismsFromDatabaseSupport = this.databaseSupport.getAuthenticationMechanism(authenticationMechanismType); + if (authenticationMechanismsFromDatabaseSupport == null) + { + throw new RuntimeException(String.format("Authentication mechanism '%s' is not covered by database support '%s'. Supported mechanism(s):\n%s", + authenticationMechanismType.getIdentifier(), + this.databaseSupport.getDatabaseType().getIdentifier(), + this.databaseSupport.getAuthenticationMechanismTypes().collect(mechanism -> "- " + mechanism.getIdentifier()).makeString("\n") + )); + } + ImmutableList> authenticationConfigTypesFromDatabaseSupport = authenticationMechanismsFromDatabaseSupport.getAuthenticationConfigurationTypes(); + List> authenticationConfigurationTypes = Lists.mutable.empty(); + for (Class authenticationConfigurationType : authenticationMechanism.getAuthenticationConfigurationTypes()) + { + if (!authenticationConfigTypesFromDatabaseSupport.contains(authenticationConfigurationType)) + { + throw new RuntimeException(String.format("Authentication configuration type '%s' is not covered by database support '%s' for authentication mechanism '%s'. Supported configuration type(s):\n%s", + authenticationConfigurationType.getSimpleName(), + this.databaseSupport.getDatabaseType().getIdentifier(), + authenticationMechanismType.getIdentifier(), + authenticationConfigTypesFromDatabaseSupport.collect(type -> "- " + type.getSimpleName()).makeString("\n") + )); + } + else + { + authenticationConfigurationTypes.add(authenticationConfigurationType); + } + } + authenticationMechanismsIndex.put(authenticationMechanismType.getIdentifier(), AuthenticationMechanism + .builder() + .type(authenticationMechanismType) + // if no configuration type is specified, it means the connection supports all configuration types configured for that mechanism in the database support + .authenticationConfigurationTypes(!authenticationConfigurationTypes.isEmpty() ? authenticationConfigurationTypes : authenticationConfigTypesFromDatabaseSupport.toList()) + .build()); + authenticationMechanismTypes.add(authenticationMechanismType); + } + } + this.authenticationMechanismsIndex = Maps.immutable.withAll(authenticationMechanismsIndex); + this.authenticationMechanismTypes = Lists.immutable.withAll(authenticationMechanismTypes); + + Map, AuthenticationMechanismType> authenticationConfigurationTypesMap = new LinkedHashMap<>(); + List> authenticationConfigurationTypes = Lists.mutable.empty(); + authenticationMechanismsIndex.values().forEach((authenticationMechanism) -> + { + authenticationMechanism.getAuthenticationConfigurationTypes().forEach(configurationType -> + { + authenticationConfigurationTypesMap.put(configurationType, authenticationMechanism.getAuthenticationMechanismType()); + authenticationConfigurationTypes.add(configurationType); + }); + }); + this.authenticationConfigurationTypesMap = Maps.immutable.withAll(authenticationConfigurationTypesMap); + this.authenticationConfigurationTypes = Lists.immutable.withAll(authenticationConfigurationTypes); + + if (!this.authenticationConfigurationTypesMap.containsKey(this.authenticationConfiguration.getClass())) + { + throw new RuntimeException(String.format("Specified authentication configuration of type '%s' is not compatible. Supported configuration type(s):\n%s", + this.authenticationConfiguration.getClass().getSimpleName(), + this.getAuthenticationConfigurationTypes().collect(type -> "- " + type.getSimpleName()).makeString("\n") + )); + } + } + + public String getIdentifier() + { + return identifier; + } + + public DatabaseSupport getDatabaseSupport() + { + return databaseSupport; + } + + public ConnectionSpecification getConnectionSpecification() + { + return connectionSpecification; + } + + public AuthenticationConfiguration getAuthenticationConfiguration() + { + return authenticationConfiguration; + } + + public ImmutableList getAuthenticationMechanisms() + { + return this.authenticationMechanismTypes; + } + + public ImmutableList> getAuthenticationConfigurationTypes() + { + return this.authenticationConfigurationTypes; + } + + public AuthenticationMechanismType getAuthenticationMechanism(Class authenticationConfigurationType) + { + return this.authenticationConfigurationTypesMap.get(authenticationConfigurationType); + } + + public AuthenticationMechanism getAuthenticationMechanism(AuthenticationMechanismType authenticationMechanismType) + { + return authenticationMechanismsIndex.get(authenticationMechanismType.getIdentifier()); + } + + public T getConnectionSpecification(Class clazz) + { + if (!this.connectionSpecification.getClass().equals(clazz)) + { + throw new RuntimeException(String.format("Can't get connection specification of type '%s' for store '%s'", clazz.getSimpleName(), this.identifier)); + } + return (T) this.connectionSpecification; + } + + public static Builder builder() + { + return new Builder(); + } + + public static class Builder + { + private DatabaseSupport databaseSupport; + private String identifier; + private final List authenticationMechanisms = Lists.mutable.empty(); + private ConnectionSpecification connectionSpecification; + private AuthenticationConfiguration authenticationConfiguration; + + private Builder() + { + } + + public Builder databaseSupport(DatabaseSupport databaseSupport) + { + this.databaseSupport = databaseSupport; + return this; + } + + public Builder identifier(String identifier) + { + this.identifier = identifier; + return this; + } + + public Builder authenticationMechanism(AuthenticationMechanism authenticationMechanism) + { + this.authenticationMechanisms.add(authenticationMechanism); + return this; + } + + public Builder authenticationMechanisms(List authenticationMechanisms) + { + this.authenticationMechanisms.addAll(authenticationMechanisms); + return this; + } + + public Builder authenticationMechanisms(AuthenticationMechanism... authenticationMechanisms) + { + this.authenticationMechanisms.addAll(Lists.mutable.of(authenticationMechanisms)); + return this; + } + + public Builder connectionSpecification(ConnectionSpecification connectionSpecification) + { + this.connectionSpecification = connectionSpecification; + return this; + } + + public Builder authenticationConfiguration(AuthenticationConfiguration authenticationConfiguration) + { + this.authenticationConfiguration = authenticationConfiguration; + return this; + } + + public Builder fromProtocol(org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.Connection protocol, LegendEnvironment environment) + { + return this + .databaseSupport(environment.getDatabaseSupport(environment.getDatabaseType(protocol.databaseType))) + .identifier(protocol.getPath()) + .authenticationMechanisms( + protocol.authenticationMechanisms != null + ? ListIterate.collect(protocol.authenticationMechanisms, mechanism -> + AuthenticationMechanism + .builder() + .type(environment.getAuthenticationMechanism(mechanism.authenticationMechanismType)) + .authenticationConfigurationTypes( + ListIterate.collect(mechanism.configurationTypes, environment::getAuthenticationConfigurationType) + ) + .build()) + : Lists.mutable.empty() + ) + .connectionSpecification(protocol.connectionSpecification) + .authenticationConfiguration(protocol.authenticationConfiguration); + } + + + public Connection build() + { + return new Connection( + this.identifier, + this.databaseSupport, + this.authenticationMechanisms, + this.connectionSpecification, + this.authenticationConfiguration + ); + } + } +} diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java similarity index 97% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java index 49de64a0f9c..344982d55eb 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionBuilder.java @@ -14,7 +14,7 @@ package org.finos.legend.connection; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; diff --git a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseType.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionExtension.java similarity index 68% rename from legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseType.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionExtension.java index 3982c57e35e..58fb2362ee1 100644 --- a/legend-engine-xts-relationalStore/legend-engine-xt-relationalStore-connection/src/main/java/org/finos/legend/connection/DatabaseType.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionExtension.java @@ -14,23 +14,18 @@ package org.finos.legend.connection; -public enum DatabaseType implements Database -{ - H2("H2"), - POSTGRES("Postgres"), - BIG_QUERY("BigQuery"), - SNOWFLAKE("Snowflake"); - - private final String label; +import java.util.Collections; +import java.util.List; - private DatabaseType(String label) +public interface ConnectionExtension +{ + default List getExtraDatabaseTypes() { - this.label = label; + return Collections.emptyList(); } - @Override - public String getLabel() + default List getExtraAuthenticationMechanismTypes() { - return this.label; + return Collections.emptyList(); } } diff --git a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java similarity index 65% rename from legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java rename to legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java index 5eca86a7c23..aedb2732661 100644 --- a/legend-engine-xts-authentication/legend-engine-xt-authentication-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java +++ b/legend-engine-xts-connection/legend-engine-xt-connection-factory/src/main/java/org/finos/legend/connection/ConnectionFactory.java @@ -14,12 +14,9 @@ package org.finos.legend.connection; -import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.factory.Lists; -import org.eclipse.collections.impl.utility.ListIterate; -import org.finos.legend.connection.protocol.AuthenticationConfiguration; -import org.finos.legend.connection.protocol.AuthenticationMechanism; -import org.finos.legend.connection.protocol.ConnectionSpecification; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.AuthenticationConfiguration; +import org.finos.legend.engine.protocol.pure.v1.packageableElement.connection.ConnectionSpecification; import org.finos.legend.engine.shared.core.identity.Credential; import org.finos.legend.engine.shared.core.identity.Identity; @@ -39,14 +36,12 @@ public class ConnectionFactory { private final LegendEnvironment environment; - private final StoreInstanceProvider storeInstanceProvider; private final Map credentialBuildersIndex = new LinkedHashMap<>(); private final Map connectionBuildersIndex = new LinkedHashMap<>(); - private ConnectionFactory(LegendEnvironment environment, StoreInstanceProvider storeInstanceProvider, List credentialBuilders, List connectionBuilders) + private ConnectionFactory(LegendEnvironment environment, List credentialBuilders, List connectionBuilders) { - this.environment = environment; - this.storeInstanceProvider = storeInstanceProvider; + this.environment = Objects.requireNonNull(environment, "environment is missing"); for (ConnectionBuilder builder : connectionBuilders) { this.connectionBuildersIndex.put(new ConnectionBuilder.Key(builder.getConnectionSpecificationType(), builder.getCredentialType()), builder); @@ -62,84 +57,52 @@ public LegendEnvironment getEnvironment() return environment; } - public Authenticator getAuthenticator(Identity identity, String storeInstanceIdentifier, AuthenticationMechanism authenticationMechanism) + public Authenticator getAuthenticator(Identity identity, Connection connection, AuthenticationConfiguration authenticationConfiguration) { - return this.getAuthenticator(identity, this.storeInstanceProvider.lookup(storeInstanceIdentifier), authenticationMechanism); - } - - public Authenticator getAuthenticator(Identity identity, StoreInstance storeInstance, AuthenticationMechanism authenticationMechanism) - { - AuthenticationMechanismConfiguration authenticationMechanismConfiguration = Objects.requireNonNull(storeInstance.getAuthenticationMechanismConfiguration(authenticationMechanism), String.format("Store '%s' does not support authentication mechanism '%s'. Supported mechanism(s):\n%s", - storeInstance.getIdentifier(), - authenticationMechanism.getLabel(), - ListIterate.collect(storeInstance.getAuthenticationMechanisms(), mechanism -> "- " + mechanism.getLabel()).makeString("\n") - )); - Function0 generator = authenticationMechanismConfiguration.getDefaultAuthenticationConfigurationGenerator(); - AuthenticationConfiguration authenticationConfiguration = Objects.requireNonNull(generator != null ? generator.get() : null, String.format("Can't auto-generate authentication configuration for store '%s' with authentication mechanism '%s'. Please provide a configuration of one of the following type(s):\n%s", - storeInstance.getIdentifier(), - authenticationMechanism.getLabel(), - authenticationMechanismConfiguration.getAuthenticationConfigurationTypes().collect(configType -> "- " + configType.getSimpleName()).makeString("\n") - )); - return this.getAuthenticator(identity, storeInstance, authenticationMechanism, authenticationConfiguration); - } - - public Authenticator getAuthenticator(Identity identity, String storeInstanceIdentifier, AuthenticationConfiguration authenticationConfiguration) - { - return this.getAuthenticator(identity, this.storeInstanceProvider.lookup(storeInstanceIdentifier), authenticationConfiguration); - } - - public Authenticator getAuthenticator(Identity identity, StoreInstance storeInstance, AuthenticationConfiguration authenticationConfiguration) - { - AuthenticationMechanism authenticationMechanism = Objects.requireNonNull(storeInstance.getAuthenticationMechanism(authenticationConfiguration.getClass()), String.format("Store '%s' does not accept authentication configuration type '%s'. Supported configuration type(s):\n%s", - storeInstance.getIdentifier(), + AuthenticationMechanismType authenticationMechanismType = Objects.requireNonNull(connection.getAuthenticationMechanism(authenticationConfiguration.getClass()), String.format("Connection '%s' is not compatible with authentication configuration type '%s'. Supported configuration type(s):\n%s", + connection.getIdentifier(), authenticationConfiguration.getClass().getSimpleName(), - ListIterate.collect(storeInstance.getAuthenticationConfigurationTypes(), configType -> "- " + configType.getSimpleName()).makeString("\n") + connection.getAuthenticationConfigurationTypes().collect(configType -> "- " + configType.getSimpleName()).makeString("\n") )); - return this.getAuthenticator(identity, storeInstance, authenticationMechanism, authenticationConfiguration); + return this.getAuthenticator(identity, connection, authenticationMechanismType, authenticationConfiguration); } - private Authenticator getAuthenticator(Identity identity, StoreInstance storeInstance, AuthenticationMechanism authenticationMechanism, AuthenticationConfiguration authenticationConfiguration) + private Authenticator getAuthenticator(Identity identity, Connection connection, AuthenticationMechanismType authenticationMechanismType, AuthenticationConfiguration authenticationConfiguration) { - AuthenticationFlowResolver.ResolutionResult result = AuthenticationFlowResolver.run(this.credentialBuildersIndex, this.connectionBuildersIndex, identity, authenticationMechanism, authenticationConfiguration, storeInstance.getConnectionSpecification()); + AuthenticationFlowResolver.ResolutionResult result = AuthenticationFlowResolver.run(this.credentialBuildersIndex, this.connectionBuildersIndex, identity, authenticationMechanismType, authenticationConfiguration, connection.getConnectionSpecification()); if (result == null) { - throw new RuntimeException(String.format("No authentication flow for store '%s' can be resolved for the specified identity (authentication configuration: %s, connection specification: %s)", - storeInstance.getIdentifier(), + throw new RuntimeException(String.format("No authentication flow for connection '%s' can be resolved for the specified identity (authentication configuration: %s, connection specification: %s)", + connection.getIdentifier(), authenticationConfiguration.getClass().getSimpleName(), - storeInstance.getConnectionSpecification().getClass().getSimpleName() + connection.getConnectionSpecification().getClass().getSimpleName() )); } - return new Authenticator(storeInstance, authenticationMechanism, authenticationConfiguration, result.sourceCredentialType, result.targetCredentialType, result.flow, connectionBuildersIndex.get(new ConnectionBuilder.Key(storeInstance.getConnectionSpecification().getClass(), result.targetCredentialType)), this.environment); + return new Authenticator(connection, authenticationMechanismType, authenticationConfiguration, result.sourceCredentialType, result.targetCredentialType, result.flow, connectionBuildersIndex.get(new ConnectionBuilder.Key(connection.getConnectionSpecification().getClass(), result.targetCredentialType)), this.environment); } - public Authenticator getAuthenticator(Identity identity, String storeInstanceIdentifier) - { - return this.getAuthenticator(identity, this.storeInstanceProvider.lookup(storeInstanceIdentifier)); - } - - public Authenticator getAuthenticator(Identity identity, StoreInstance storeInstance) + public Authenticator getAuthenticator(Identity identity, Connection connection) { Authenticator authenticator = null; - for (AuthenticationMechanism authenticationMechanism : storeInstance.getAuthenticationMechanisms()) + for (AuthenticationMechanismType authenticationMechanismType : connection.getAuthenticationMechanisms()) { - AuthenticationMechanismConfiguration authenticationMechanismConfiguration = storeInstance.getAuthenticationMechanismConfiguration(authenticationMechanism); - Function0 generator = authenticationMechanismConfiguration.getDefaultAuthenticationConfigurationGenerator(); - AuthenticationConfiguration authenticationConfiguration = generator != null ? generator.get() : null; + AuthenticationMechanism authenticationMechanism = connection.getAuthenticationMechanism(authenticationMechanismType); + AuthenticationConfiguration authenticationConfiguration = connection.getAuthenticationConfiguration(); if (authenticationConfiguration != null) { - AuthenticationFlowResolver.ResolutionResult result = AuthenticationFlowResolver.run(this.credentialBuildersIndex, this.connectionBuildersIndex, identity, authenticationMechanism, authenticationConfiguration, storeInstance.getConnectionSpecification()); + AuthenticationFlowResolver.ResolutionResult result = AuthenticationFlowResolver.run(this.credentialBuildersIndex, this.connectionBuildersIndex, identity, authenticationMechanismType, authenticationConfiguration, connection.getConnectionSpecification()); if (result != null) { - authenticator = new Authenticator(storeInstance, authenticationMechanism, authenticationConfiguration, result.sourceCredentialType, result.targetCredentialType, result.flow, connectionBuildersIndex.get(new ConnectionBuilder.Key(storeInstance.getConnectionSpecification().getClass(), result.targetCredentialType)), this.environment); + authenticator = new Authenticator(connection, authenticationMechanismType, authenticationConfiguration, result.sourceCredentialType, result.targetCredentialType, result.flow, connectionBuildersIndex.get(new ConnectionBuilder.Key(connection.getConnectionSpecification().getClass(), result.targetCredentialType)), this.environment); break; } } } if (authenticator == null) { - throw new RuntimeException(String.format("No authentication flow for store '%s' can be resolved for the specified identity. Try specifying an authentication mechanism or authentication configuration. Supported configuration type(s):\n%s", - storeInstance.getIdentifier(), - ListIterate.collect(storeInstance.getAuthenticationConfigurationTypes(), configType -> "- " + configType.getSimpleName() + " (" + storeInstance.getAuthenticationMechanism(configType).getLabel() + ")").makeString("\n") + throw new RuntimeException(String.format("No authentication flow for connection '%s' can be resolved for the specified identity. Try specifying another authentication configuration. Supported configuration type(s):\n%s", + connection.getIdentifier(), + connection.getAuthenticationConfigurationTypes().collect(configType -> "- " + configType.getSimpleName() + " (" + connection.getAuthenticationMechanism(configType).getIdentifier() + ")").makeString("\n") )); } return authenticator; @@ -175,7 +138,7 @@ private static class AuthenticationFlowResolver *

9ZnO#h?JGij{|?$ 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 z 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⪚d9e$(F^IYwrgHIcyuYz?Ch45D2~D0RVz$iBEW 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