From 213f560c4a77869b665b70d0e2a68c6e875a61ab Mon Sep 17 00:00:00 2001 From: Narayanan Madaswamy Date: Sat, 1 Aug 2026 21:44:11 +0530 Subject: [PATCH] Apply .gitignore --- .gitignore | 1 + .../installer/DeploymentWriterTest.java | 206 ------------------ .../DockerPrerequisiteCheckerTest.java | 34 --- .../installer/IniConfigurationLoaderTest.java | 103 --------- .../installer/InstallationServiceTest.java | 35 --- .../MachineAssertionServiceTest.java | 60 ----- .../installer/ProductProfileRegistryTest.java | 56 ----- .../src/main/java/lib/models/Option.java | 1 + .../classes/lib/models/CasePunching.class | Bin 3970 -> 3970 bytes .../target/classes/lib/models/Option.class | Bin 1119 -> 1353 bytes cygnus-onprem-db/README.md | 22 ++ .../java/com/cygnus/db/ParameterBinder.java | 7 +- .../java/com/cygnus/db/SqlArrayParameter.java | 57 +++++ .../com/cygnus/db/ParameterBinderTest.java | 98 +++++++++ .../com/cygnus/db/CygnusDbExecutor.class | Bin 2203 -> 0 bytes .../db/DatabaseExecutionException.class | Bin 671 -> 0 bytes .../classes/com/cygnus/db/DbResult.class | Bin 3292 -> 0 bytes .../com/cygnus/db/ExecutorOptions.class | Bin 1779 -> 0 bytes .../com/cygnus/db/ImmutableRowView.class | Bin 2936 -> 0 bytes .../db/JdbcCygnusDbExecutor$SqlWork.class | Bin 570 -> 0 bytes ...DbExecutor$TransactionOperationsImpl.class | Bin 3820 -> 0 bytes .../com/cygnus/db/JdbcCygnusDbExecutor.class | Bin 20873 -> 0 bytes .../ObjectRowMapperFactory$BeanMetadata.class | Bin 6291 -> 0 bytes .../ObjectRowMapperFactory$FieldBinding.class | Bin 1811 -> 0 bytes ...bjectRowMapperFactory$RecordMetadata.class | Bin 5079 -> 0 bytes .../ObjectRowMapperFactory$TypeMetadata.class | Bin 736 -> 0 bytes .../cygnus/db/ObjectRowMapperFactory.class | Bin 8276 -> 0 bytes .../com/cygnus/db/ParameterBinder.class | Bin 2251 -> 0 bytes .../com/cygnus/db/QueryDefinition.class | Bin 3457 -> 0 bytes .../cygnus/db/QueryDefinitionException.class | Bin 610 -> 0 bytes .../cygnus/db/QueryDefinitionProvider.class | Bin 306 -> 0 bytes .../classes/com/cygnus/db/QueryType.class | Bin 2242 -> 0 bytes .../classes/com/cygnus/db/RowConsumer.class | Bin 396 -> 0 bytes .../classes/com/cygnus/db/RowMapper.class | Bin 435 -> 0 bytes .../classes/com/cygnus/db/RowView.class | Bin 483 -> 0 bytes .../classes/com/cygnus/db/SqlParameter.class | Bin 1663 -> 0 bytes .../com/cygnus/db/TransactionCallback.class | Bin 492 -> 0 bytes .../com/cygnus/db/TransactionOperations.class | Bin 721 -> 0 bytes .../com/cygnus/db/ValueConverter.class | Bin 4923 -> 0 bytes .../cygnus-onprem-db-1.0.0-SNAPSHOT.jar | Bin 37508 -> 0 bytes .../target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 25 --- .../compile/default-compile/inputFiles.lst | 19 -- .../default-testCompile/createdFiles.lst | 2 - .../default-testCompile/inputFiles.lst | 1 - ...com.cygnus.db.JdbcCygnusDbExecutorTest.xml | 68 ------ ...com.cygnus.db.JdbcCygnusDbExecutorTest.txt | 4 - .../db/JdbcCygnusDbExecutorTest$Person.class | Bin 1521 -> 0 bytes .../cygnus/db/JdbcCygnusDbExecutorTest.class | Bin 8629 -> 0 bytes 49 files changed, 185 insertions(+), 617 deletions(-) delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/DeploymentWriterTest.java delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/DockerPrerequisiteCheckerTest.java delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/IniConfigurationLoaderTest.java delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/InstallationServiceTest.java delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/MachineAssertionServiceTest.java delete mode 100644 cygnus-installer/src/test/java/com/cygnus/installer/ProductProfileRegistryTest.java create mode 100644 cygnus-onprem-db/src/main/java/com/cygnus/db/SqlArrayParameter.java create mode 100644 cygnus-onprem-db/src/test/java/com/cygnus/db/ParameterBinderTest.java delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/CygnusDbExecutor.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/DatabaseExecutionException.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/DbResult.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ExecutorOptions.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ImmutableRowView.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$SqlWork.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$TransactionOperationsImpl.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$BeanMetadata.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$FieldBinding.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$RecordMetadata.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$TypeMetadata.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ParameterBinder.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinition.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionException.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionProvider.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/QueryType.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/RowConsumer.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/RowMapper.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/RowView.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/SqlParameter.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/TransactionCallback.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/TransactionOperations.class delete mode 100644 cygnus-onprem-db/target/classes/com/cygnus/db/ValueConverter.class delete mode 100644 cygnus-onprem-db/target/cygnus-onprem-db-1.0.0-SNAPSHOT.jar delete mode 100644 cygnus-onprem-db/target/maven-archiver/pom.properties delete mode 100644 cygnus-onprem-db/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst delete mode 100644 cygnus-onprem-db/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst delete mode 100644 cygnus-onprem-db/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst delete mode 100644 cygnus-onprem-db/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 cygnus-onprem-db/target/surefire-reports/TEST-com.cygnus.db.JdbcCygnusDbExecutorTest.xml delete mode 100644 cygnus-onprem-db/target/surefire-reports/com.cygnus.db.JdbcCygnusDbExecutorTest.txt delete mode 100644 cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest$Person.class delete mode 100644 cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest.class diff --git a/.gitignore b/.gitignore index 3329fe4..231b9b4 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ /cygnus-cloud-service/target /cygnus-installer/src/target /cygnus-installer/target +/cygnus-onprem-db/target diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/DeploymentWriterTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/DeploymentWriterTest.java deleted file mode 100644 index 286e3aa..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/DeploymentWriterTest.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.cygnus.installer; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -import java.net.URI; -import java.nio.file.Files; -import java.nio.file.Path; -import java.time.OffsetDateTime; -import java.util.List; -import java.util.Map; -import java.util.UUID; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; - -class DeploymentWriterTest { - - @TempDir - Path temporaryDirectory; - - @Test - void writesPortableProductDeploymentAndKeepsSecretsLocal() throws Exception { - UUID tenantId = UUID.randomUUID(); - UUID installationId = UUID.randomUUID(); - UUID installationUuid = UUID.randomUUID(); - var validation = new ActivationDtos.ValidationResponse( - "activation-token", - OffsetDateTime.now().plusMinutes(5), - tenantId, - "matrix-client", - "FULL", - 2); - var registration = new ActivationDtos.RegistrationResponse( - installationId, - installationUuid, - tenantId, - null, - "primary", - 1, - "ACTIVE"); - var profile = new ProductProfile( - "matrix", - "Matrix", - "matrix-onprem", - "MATRIX_IMAGE", - "matrix", - "installation.yml", - "MATRIX_INSTALLATION_CONFIG", - "/srv/matrix/config/installation.yml", - "8080:8080", - "/matrix/", - "/oauth2/token", - temporaryDirectory.resolve("unused.pem"), - temporaryDirectory.resolve("login-public.pem"), - "cygnus-login-2026-01", - List.of("region")); - Files.writeString(profile.loginEncryptionPublicKey(), "login-public-key"); - var settings = new InstallerSettings( - "matrix", - URI.create("https://cloud.example.com"), - URI.create("http://host.docker.internal:8090"), - "/api/v1/installations", - "production", - temporaryDirectory, - temporaryDirectory, - "1", - new IniDocument(Map.of())); - - Path output = new DeploymentWriter().write( - temporaryDirectory.resolve("output"), - installationUuid, - "primary", - "matrix-client", - validation, - registration, - new InstallationKeyService().generate(), - "encrypted.assertion.value", - settings, - profile, - "registry.example.com/matrix:1.0.0", - Map.of("region", "north"), - new RuntimeConfiguration( - "http://host.docker.internal:8090", - "jdbc:postgresql://db:5432/matrix", - "postgres", - "db-secret", - "redis", - "7901", - "redis-secret", - false, - "PT10S", - "PT30S")); - - String config = Files.readString(output.resolve("config/installation.yml")); - String compose = Files.readString(output.resolve("compose.yml")); - assertThat(config) - .contains("client-id: \"matrix-client\"") - .contains("installation-id: \"" + installationId + "\"") - .contains("cloud-url: \"http://host.docker.internal:8090\"") - .contains("token-url: \"http://host.docker.internal:8090/oauth2/token\"") - .contains("region: \"north\"") - .doesNotContain("activation-token"); - assertThat(compose) - .contains("matrix-onprem:") - .contains("- \"8080:8080\"") - .contains("./config:/srv/matrix/config:ro") - .contains("MATRIX_INSTALLATION_CONFIG"); - assertThat(Files.readString(output.resolve(".env"))) - .contains("MATRIX_IMAGE=\"registry.example.com/matrix:1.0.0\"") - .contains("MATRIX_DB_URL=\"jdbc:postgresql://db:5432/matrix\"") - .contains("REDIS_HOST=\"redis\"") - .contains("REDIS_DATABASE=\"1\"") - .contains("CYGNUS_CLOUD_BASE_URL=\"http://host.docker.internal:8090\"") - .contains("CYGNUS_TOKEN_URL=\"http://host.docker.internal:8090/oauth2/token\"") - .contains("CYGNUS_CLIENT_ID=\"matrix-client\"") - .contains("CYGNUS_INSTALLATION_ID=\"primary\"") - .contains("CYGNUS_CLIENT_ASSERTION=\"file:/srv/matrix/config/machine-assertion.jwt\"") - .contains("CYGNUS_LOGIN_PUBLIC_KEY=\"file:/srv/matrix/config/keys/login-public.pem\""); - assertThat(output.resolve("config/keys/login-public.pem")) - .hasContent("login-public-key"); - assertThat(output.resolve("config/machine-assertion.jwt")).hasContent( - "encrypted.assertion.value"); - assertThat(output.resolve("config/keys/client-signing-private.pem")) - .isRegularFile(); - } - - @Test - void refusesToOverwriteCloudServiceConfiguration() throws Exception { - Path cloudConfig = temporaryDirectory.resolve("config"); - Path cloudKeys = cloudConfig.resolve("keys"); - Files.createDirectories(cloudKeys); - Path assertionPublic = cloudKeys.resolve("assertion-decryption-public.pem"); - Path loginPublic = cloudKeys.resolve("login-public.pem"); - Files.writeString(assertionPublic, "assertion-public-key"); - Files.writeString(loginPublic, "login-public-key"); - - var profile = new ProductProfile( - "matrix", - "Matrix", - "matrix-onprem", - "MATRIX_IMAGE", - "matrix", - "installation.yml", - "MATRIX_INSTALLATION_CONFIG", - "/srv/matrix/config/installation.yml", - "8080:8080", - "/matrix/", - "/oauth2/token", - assertionPublic, - loginPublic, - "cygnus-login-2026-01", - List.of()); - - assertThatThrownBy(() -> new DeploymentWriter().write( - temporaryDirectory, - UUID.randomUUID(), - "primary", - "matrix-client", - new ActivationDtos.ValidationResponse( - "activation-token", - OffsetDateTime.now().plusMinutes(5), - UUID.randomUUID(), - "matrix-client", - "FULL", - 2), - new ActivationDtos.RegistrationResponse( - UUID.randomUUID(), - UUID.randomUUID(), - UUID.randomUUID(), - null, - "primary", - 1, - "ACTIVE"), - new InstallationKeyService().generate(), - "assertion", - new InstallerSettings( - "matrix", - URI.create("https://cloud.example.com"), - URI.create("https://cloud.example.com"), - "/api/v1/installations", - "production", - temporaryDirectory, - temporaryDirectory, - "1", - new IniDocument(Map.of())), - profile, - "registry.example.com/matrix:1.0.0", - Map.of(), - new RuntimeConfiguration( - "https://cloud.example.com", - "jdbc:postgresql://db/matrix", - "postgres", - "secret", - "redis", - "7901", - "secret", - false, - "PT10S", - "PT30S"))) - .isInstanceOf(IllegalArgumentException.class) - .hasMessageContaining("cloud-service configuration"); - - assertThat(assertionPublic).hasContent("assertion-public-key"); - assertThat(loginPublic).hasContent("login-public-key"); - } -} diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/DockerPrerequisiteCheckerTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/DockerPrerequisiteCheckerTest.java deleted file mode 100644 index 0ebf1fb..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/DockerPrerequisiteCheckerTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.cygnus.installer; - -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; -import static org.junit.jupiter.api.Assertions.assertThrows; - -import java.time.Duration; -import java.util.List; -import org.junit.jupiter.api.Test; - -class DockerPrerequisiteCheckerTest { - - @Test - void blocksInstallationWhenDockerIsUnavailable() { - CommandExecutor executor = executorReturning(new CommandResult(127, "not found")); - DockerPrerequisiteChecker checker = new DockerPrerequisiteChecker(executor); - assertThrows(PrerequisiteException.class, checker::verify); - } - - @Test - void acceptsDockerEngineAndComposeV2() { - CommandExecutor executor = executorReturning(new CommandResult(0, "ok")); - DockerPrerequisiteChecker checker = new DockerPrerequisiteChecker(executor); - assertDoesNotThrow(checker::verify); - } - - private CommandExecutor executorReturning(CommandResult result) { - return new CommandExecutor() { - @Override - public CommandResult execute(List command, Duration timeout) { - return result; - } - }; - } -} diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/IniConfigurationLoaderTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/IniConfigurationLoaderTest.java deleted file mode 100644 index 60fc0dd..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/IniConfigurationLoaderTest.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.cygnus.installer; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -import java.nio.file.Files; -import java.nio.file.Path; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; - -class IniConfigurationLoaderTest { - - @TempDir - Path temporaryDirectory; - - private final IniConfigurationLoader loader = new IniConfigurationLoader(); - - @Test - void loadsAndNormalizesInstallerSettings() throws Exception { - Path ini = write(""" - [installer] - product=matrix - cloud_service_url=https://cloud.example.com/ - container_cloud_service_url=http://host.docker.internal:8090/ - installer_api_base_path=/api/v1/installations/ - environment=production - """); - - InstallerSettings settings = loader.load(ini, "1.2.3"); - - assertThat(settings.product()).isEqualTo("matrix"); - assertThat(settings.cloudServiceUrl().toString()) - .isEqualTo("https://cloud.example.com"); - assertThat(settings.containerCloudServiceUrl().toString()) - .isEqualTo("http://host.docker.internal:8090"); - assertThat(settings.validationPath()) - .isEqualTo("/api/v1/installations/activation/validate"); - assertThat(settings.registrationPath()) - .isEqualTo("/api/v1/installations/register"); - assertThat(settings.defaultOutputDirectory()) - .isEqualTo(Path.of("./matrix-installation")); - } - - @Test - void defaultsContainerCloudUrlToCanonicalCloudUrl() throws Exception { - Path ini = write(""" - [installer] - product=matrix - cloud_service_url=https://cloud.example.com/ - installer_api_base_path=/api/v1/installations - environment=production - """); - - InstallerSettings settings = loader.load(ini, "1.2.3"); - - assertThat(settings.containerCloudServiceUrl()) - .isEqualTo(settings.cloudServiceUrl()); - } - - @Test - void rejectsUnknownProduct() throws Exception { - Path ini = write(""" - [installer] - product=unknown - cloud_service_url=https://cloud.example.com - installer_api_base_path=/api/v1/installations - environment=production - """); - - assertThatThrownBy(() -> loader.load(ini, "1")) - .isInstanceOf(InstallerConfigurationException.class) - .hasMessageContaining("Unsupported product"); - } - - @Test - void rejectsInvalidCloudUrlAndApiPath() throws Exception { - Path invalidUrl = write(""" - [installer] - product=cygnus - cloud_service_url=cloud.example.com - installer_api_base_path=/api/v1/installations - environment=production - """); - assertThatThrownBy(() -> loader.load(invalidUrl, "1")) - .hasMessageContaining("absolute http(s) URL"); - - Path invalidPath = write(""" - [installer] - product=cygnus - cloud_service_url=https://cloud.example.com - installer_api_base_path=api/v1/installations - environment=production - """); - assertThatThrownBy(() -> loader.load(invalidPath, "1")) - .hasMessageContaining("absolute safe URL path"); - } - - private Path write(String content) throws Exception { - Path path = temporaryDirectory.resolve("installer-" + System.nanoTime() + ".ini"); - Files.writeString(path, content); - return path; - } -} diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/InstallationServiceTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/InstallationServiceTest.java deleted file mode 100644 index a8aacd1..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/InstallationServiceTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.cygnus.installer; - -import static org.assertj.core.api.Assertions.assertThatThrownBy; - -import java.nio.file.Path; -import java.util.Map; -import org.junit.jupiter.api.Test; - -class InstallationServiceTest { - - @Test - void rejectsIncompleteRequestBeforeCallingInfrastructure() { - InstallationService service = - new InstallationService( - null, null, null, null, null, null, null, null, null); - - assertThatThrownBy(() -> service.install( - new InstallationRequest( - "", - "", - "", - "", - "", - "", - "", - "", - "", - Path.of("."), - Map.of(), - null), - (percentage, message) -> {})) - .isInstanceOf(IllegalArgumentException.class) - .hasMessage("Client code is required"); - } -} diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/MachineAssertionServiceTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/MachineAssertionServiceTest.java deleted file mode 100644 index f3d3c44..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/MachineAssertionServiceTest.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.cygnus.installer; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.nio.file.Files; -import java.nio.file.Path; -import java.security.KeyPairGenerator; -import java.util.Base64; -import java.util.List; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; - -class MachineAssertionServiceTest { - - @TempDir - Path temporaryDirectory; - - @Test - void generatesEncryptedAssertionUsingOnlyCloudPublicKey() throws Exception { - var generator = KeyPairGenerator.getInstance("RSA"); - generator.initialize(2048); - var cloudKeys = generator.generateKeyPair(); - Path cloudPublicKey = temporaryDirectory.resolve("cloud-public.pem"); - Files.writeString(cloudPublicKey, pem( - "PUBLIC KEY", cloudKeys.getPublic().getEncoded())); - ProductProfile profile = new ProductProfile( - "matrix", - "Matrix", - "matrix-onprem", - "MATRIX_IMAGE", - "matrix", - "installation.yml", - "MATRIX_INSTALLATION_CONFIG", - "/opt/matrix/config/installation.yml", - "8080:8080", - "/matrix/", - "/oauth2/token", - cloudPublicKey, - cloudPublicKey, - "cygnus-login-2026-01", - List.of()); - - String assertion = new MachineAssertionService().generate( - "matrix-client", - "primary", - "https://cloud.example.com/oauth2/token", - new InstallationKeyService().generate(), - profile); - - assertThat(assertion.split("\\.")).hasSize(5); - assertThat(assertion).doesNotContain("matrix-client"); - } - - private String pem(String type, byte[] encoded) { - return "-----BEGIN " + type + "-----\n" - + Base64.getMimeEncoder(64, new byte[] {'\n'}) - .encodeToString(encoded) - + "\n-----END " + type + "-----\n"; - } -} diff --git a/cygnus-installer/src/test/java/com/cygnus/installer/ProductProfileRegistryTest.java b/cygnus-installer/src/test/java/com/cygnus/installer/ProductProfileRegistryTest.java deleted file mode 100644 index b87a6ba..0000000 --- a/cygnus-installer/src/test/java/com/cygnus/installer/ProductProfileRegistryTest.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.cygnus.installer; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.nio.file.Files; -import java.nio.file.Path; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.io.TempDir; - -class ProductProfileRegistryTest { - - @TempDir - Path temporaryDirectory; - - @Test - void appliesProductProfileOverridesWithoutInstallerBranching() throws Exception { - Path publicKey = temporaryDirectory.resolve("cloud.pem"); - Files.writeString(publicKey, "test"); - Path loginPublicKey = temporaryDirectory.resolve("login.pem"); - Files.writeString(loginPublicKey, "test-login"); - Path ini = temporaryDirectory.resolve("installer.ini"); - Files.writeString(ini, """ - [installer] - product=cygnus - cloud_service_url=https://cloud.example.com - installer_api_base_path=/api/v1/installations - environment=production - - [profile.cygnus] - display_name=Cygnus - assertion_encryption_public_key=cloud.pem - login_encryption_public_key=login.pem - login_key_id=cygnus-login-2026-01 - service_name=custom-cygnus - image_environment_variable=CYGNUS_IMAGE - configuration_root=cygnus - configuration_file_name=installation.yml - installation_config_environment_variable=CYGNUS_INSTALLATION_CONFIG - container_configuration_path=/opt/cygnus/config/installation.yml - port_mapping=8080:8080 - service_path=/matrix/ - token_path=/oauth2/token - optional_fields=region,site_code - """); - - InstallerSettings settings = new IniConfigurationLoader().load(ini, "1"); - ProductProfile profile = new ProductProfileRegistry().resolve(settings); - - assertThat(profile.displayName()).isEqualTo("Cygnus"); - assertThat(profile.serviceName()).isEqualTo("custom-cygnus"); - assertThat(profile.optionalInstallationFields()) - .containsExactly("region", "site_code"); - assertThat(profile.assertionEncryptionPublicKey()).isEqualTo(publicKey); - assertThat(profile.loginEncryptionPublicKey()).isEqualTo(loginPublicKey); - } -} diff --git a/cygnus-lib/src/main/java/lib/models/Option.java b/cygnus-lib/src/main/java/lib/models/Option.java index ec0bf0a..a2e8f83 100644 --- a/cygnus-lib/src/main/java/lib/models/Option.java +++ b/cygnus-lib/src/main/java/lib/models/Option.java @@ -8,5 +8,6 @@ import lombok.Setter; public class Option { private Object value; private String label; + private String description; private String group; } diff --git a/cygnus-lib/target/classes/lib/models/CasePunching.class b/cygnus-lib/target/classes/lib/models/CasePunching.class index 8493c4c2d8bbeeef6dc984cf65d627bf833cc2b1..079128bf92e131ee285c5688ebe8c66d12f68df1 100644 GIT binary patch literal 3970 zcma)-`%)V>6vmGX*kCVUOfX4FFG*8kppAP;8X8llgi9cpKtn?Bm$fa7()BL0UNe)o zYG>N%O#kQu^r136N4s8Y*N#`i46>x7-*+T^NBiIFfBpr4O=xBy#bD7A^>W*3a;sC` zGCTaZYd6k?-O9i?gZxYL(kxr1-6|i|U-E{>z~HXyxZB(_h1Fqjt){HsQKl*kCY=jU zICjTkFk6$Pt|zSWp?QImQzxQjn_k!D4DLl|H~g-YJ@H&jrZPBEMMfqNV6dl2kO|a8 z$Js`!VgUW$&WTl@sKOWEToC~#VfLAPQYS8%I|Y2||cp4Y|`E?ja~oQZ}> zNz+9VXQt^ix@~TIy@B+Gu!UD;FjiVQWiY;lx>*>5w+*-kZ_zyon?LQg>)d^A;vrBf zPQ$cLO;=Dq7##P`Mf~zr^UyK2xTpGo!BS~OJ#=*v#4IX+`s(ffb1|}I~ z`zj2cXaf^HM?3l0fE;NQP~$Xiz(PbTu;B8*;E*l(8@Ok{G|ZqK5PqyWa-qkNwbt__ z<@1FBd6@H0b~i96jc*uGpz$e0y$IZTB|-`OO2JLGu~y>q8|Y`SKf zd)%ceLq^|Pg;LB}v}!#zIOHCNS&Nnyqt*55qE}(rzAS?SU4cZak!AtW0~VWCC8WbB z^mcr7$kwVAikv}c#9GB*X~bC+Ne9|<6#58zJs&NoO9C6wiaf?d?BmNRra`M<%%D}! zAhb4O5Uk@9r|UNOuAujAPJOrT(6a$I&_ZMQiOfNYo)`R;q6Yv+r{wP}_OV#QzJYzL zudqLheJmasi^U>atOMDiW+Q z@XknJSr7OLd>Ur>*+}4BJ>chXKjG}w^*|32K@~mFmrzZ}=%F5HGZFMi544>K+R+0& zP6X}gfu1CS4)j2W@D%+NFP#T?0Vyh{)wRE1IbMWWSvy5PA}B&CP}xZ`g}3*Xfh_Mcf*cp7H=JD!%p-@*4uH@U8Rlk|>{JZ_M1tr=Uk9Ky0wnOX77Oc>E;f(v@NHlG_3Awe}qU{eYSf%aBme=gIxf_IA z48{({v16;LQE+9IU60@oa znGqyQTU;BLCmRIX0tsejn%9h~oJJ zoMWevve-l9h;2iT*cRl7O+b$L=*tmbcN~d?y?S?HUN`X-7$g|bIagXa2zUKl}T9W>t;R5OC^>Y!p@&>p;u^63dWJxA5Byz(cE z=!KV;q+%!$6&_U%y%Y@gQEvzzIeZ?HNpS#Q!JsUtnu?zw{D4xL7vaMP=oLzbH9w3` z(!HKR+71ivP&546YRa= z-)M%vh3`y}yqqUTnvf`;P#`sbS|BD%4&WfjY8{=0}c-xG>n-x!8JjSo4@C~fq95nw2 DSVyWH diff --git a/cygnus-lib/target/classes/lib/models/Option.class b/cygnus-lib/target/classes/lib/models/Option.class index 7450d5f4e5311c1091de0ee81387cdd367631adb..0b261289aa4042ed26c0eb4a5d1efbccfaccd06e 100644 GIT binary patch literal 1353 zcma)*+iuf95QhKF`C!sCJy2+&w49O@@I6IH6^IHcP}HK_uai}}#jz`Alji~ngv138 zz(XNs)>cZ=O7@M%-kJUOpMS@H{{H$6;0Vvl$O)|a+H=R@Q27)0MiFEDd|g3`HRUj6X{??$@)-D29dUODjh}P^irVoN(b7! z7Ra|deSyLo5>Z1QD-P;#1Xg-FP#>pbPeq@l=i8IRf%N+_()^t)7R zM#}VK+3W4jO~SWNr-9L9^*)&Ci6-n(5QIju5kzhE{BZ1rU)*CAs7M+$Jgh?Cj)Njf zF}@c!zKBm+=h}M?%BTo5NXpwQA2{{EL6uXi@|aEG#fJ`Rc5yP7zR|v}oGoj9Q06=w zev*+KE2AP3T%lcwqJ>?FAl}uWlK+Ind+hN7wX<*<4b(f$cGu&1c){0=J(8BExhWvW zz0+Hc`?8Umu#t3A>3NI3T#ABXvHKH^Z?>#S&yroNV3ppvlnT(o8byJ1Y!G}i zsk%*Z5%e8fUuiLiD^Tf1&|Pe&fOfKh?x%uwvw`+fLHpT2kMNkTW7(sZ)NYP_>mK~T z*0S4WYtm+1k+{t_!PhD9g!UEb?<7|Ro}!(G-^q&SDVgKT7T-z7?`FmG@Xhg6i|?l6 S_p{=8rsw#Y#UI$=d-e~7J-tl; literal 1119 zcma))*>2N76o&tC7H4s3lP)Y}YuS<_;d_dZDkLf-LlH%}A19-9%6MEk<2+X@fsnZ1 z0eC3H8QThSVyV5E@v;B&o#pqRzrTJ1IKrR<2Q?RU4-GUKHqQB+`-cnm!yLqCcqLe2b>3nOFA(3o?T3Wk2L%sRB$w>+$4gJg<_ zLX~BwCXsrY$@(5PGubqW(+h_BJF3F49!M=drBNu7uRK&)nRv|Ah$qs<#ml-mlQV|R zV5Pr9hSpS=QQqU$V7S^P!|s<<8ySfYdM;;@ut!?QhTHjw+7DD5h4DB4SZI-OBPInj z$R{d8i<$DW$N4a=*`kB(!D<7;5gGAOn6r5DnI}9FMkG|%W)&q$Sw#h#WhF(8&S{(` zWAR?vC3SOiURg)5M=m(zevM9Yk)9lDNp{oD>2^W>ph@QzMLyk(?#97Su&YeAO{e_~ zLhaD$Er7D~iR~$?V1%_9?GHzR rows = dbFunctions.query( Large reports can use `stream(...)` so rows are consumed without retaining the whole result in memory. PostgreSQL cursor fetching is enabled by running reads with auto-commit disabled and the configured fetch size. + +## Dynamic multi-value parameters + +Use a typed array parameter with PostgreSQL `ANY` when the number of values is +not known in advance. The cached query remains parameterized: + +```sql +select ... where op.description = any(?) +``` + +```java +dbExecutor.query( + queryId, + new Object[] { portfolioId, SqlArrayParameter.text(descriptions) }, + Option.class); +``` + +Factories are available for text, integer, smallint, bigint, numeric, boolean, +UUID, date, timestamp and timestamp-with-time-zone arrays. Use +`SqlArrayParameter.of(postgresType, values)` for another PostgreSQL scalar or +enum type. An empty collection is valid and causes `= ANY(empty_array)` to +match no rows. diff --git a/cygnus-onprem-db/src/main/java/com/cygnus/db/ParameterBinder.java b/cygnus-onprem-db/src/main/java/com/cygnus/db/ParameterBinder.java index ab9fd53..28fe81a 100644 --- a/cygnus-onprem-db/src/main/java/com/cygnus/db/ParameterBinder.java +++ b/cygnus-onprem-db/src/main/java/com/cygnus/db/ParameterBinder.java @@ -1,5 +1,6 @@ package com.cygnus.db; +import java.sql.Array; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Timestamp; @@ -18,7 +19,11 @@ final class ParameterBinder { } private void bind(PreparedStatement statement, int index, Object value) throws SQLException { - if (value instanceof SqlParameter parameter) { + if (value instanceof SqlArrayParameter parameter) { + Array array = statement.getConnection().createArrayOf( + parameter.elementType(), parameter.values()); + statement.setArray(index, array); + } else if (value instanceof SqlParameter parameter) { if (parameter.value() == null) statement.setNull(index, parameter.sqlType()); else statement.setObject(index, parameter.value(), parameter.sqlType()); } else if (value == null) { diff --git a/cygnus-onprem-db/src/main/java/com/cygnus/db/SqlArrayParameter.java b/cygnus-onprem-db/src/main/java/com/cygnus/db/SqlArrayParameter.java new file mode 100644 index 0000000..73e83a3 --- /dev/null +++ b/cygnus-onprem-db/src/main/java/com/cygnus/db/SqlArrayParameter.java @@ -0,0 +1,57 @@ +package com.cygnus.db; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.OffsetDateTime; +import java.util.Collection; +import java.util.Objects; +import java.util.UUID; +import java.util.regex.Pattern; + +/** + * A typed SQL array parameter for PostgreSQL expressions such as + * {@code column_name = ANY(?)}. + */ +public record SqlArrayParameter(String elementType, Object[] values) { + private static final Pattern TYPE_NAME = Pattern.compile( + "[A-Za-z_][A-Za-z0-9_]*(?:\\.[A-Za-z_][A-Za-z0-9_]*)?"); + + public SqlArrayParameter { + elementType = Objects.requireNonNull(elementType, "elementType").trim(); + if (!TYPE_NAME.matcher(elementType).matches()) { + throw new IllegalArgumentException("Invalid SQL array element type: " + elementType); + } + values = Objects.requireNonNull(values, "values").clone(); + } + + @Override + public Object[] values() { + return values.clone(); + } + + public static SqlArrayParameter of(String elementType, Object... values) { + return new SqlArrayParameter(elementType, values); + } + + public static SqlArrayParameter of(String elementType, Collection values) { + Objects.requireNonNull(values, "values"); + return new SqlArrayParameter(elementType, values.toArray()); + } + + public static SqlArrayParameter text(String... values) { return of("text", (Object[]) values); } + public static SqlArrayParameter text(Collection values) { return of("text", values); } + public static SqlArrayParameter integer(Integer... values) { return of("integer", (Object[]) values); } + public static SqlArrayParameter smallint(Short... values) { return of("smallint", (Object[]) values); } + public static SqlArrayParameter bigint(Long... values) { return of("bigint", (Object[]) values); } + public static SqlArrayParameter numeric(BigDecimal... values) { return of("numeric", (Object[]) values); } + public static SqlArrayParameter bool(Boolean... values) { return of("boolean", (Object[]) values); } + public static SqlArrayParameter uuid(UUID... values) { return of("uuid", (Object[]) values); } + public static SqlArrayParameter date(LocalDate... values) { return of("date", (Object[]) values); } + public static SqlArrayParameter timestamp(LocalDateTime... values) { + return of("timestamp", (Object[]) values); + } + public static SqlArrayParameter timestampWithTimeZone(OffsetDateTime... values) { + return of("timestamptz", (Object[]) values); + } +} diff --git a/cygnus-onprem-db/src/test/java/com/cygnus/db/ParameterBinderTest.java b/cygnus-onprem-db/src/test/java/com/cygnus/db/ParameterBinderTest.java new file mode 100644 index 0000000..2562237 --- /dev/null +++ b/cygnus-onprem-db/src/test/java/com/cygnus/db/ParameterBinderTest.java @@ -0,0 +1,98 @@ +package com.cygnus.db; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; + +import java.lang.reflect.Proxy; +import java.sql.Array; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; +import org.junit.jupiter.api.Test; + +class ParameterBinderTest { + + @Test + void bindsDynamicTextCollectionAsOneTypedSqlArray() throws Exception { + BindingCapture capture = new BindingCapture(); + + new ParameterBinder().bind(capture.statement(), new Object[] { + SqlArrayParameter.text(List.of("CATEGORY", "PRODUCT")) + }); + + assertEquals("text", capture.elementType.get()); + assertArrayEquals(new Object[] {"CATEGORY", "PRODUCT"}, capture.values.get()); + assertEquals(1, capture.parameterIndex.get()); + } + + @Test + void supportsUuidAndEmptyArrays() throws Exception { + UUID id = UUID.randomUUID(); + BindingCapture uuidCapture = new BindingCapture(); + new ParameterBinder().bind(uuidCapture.statement(), + new Object[] {SqlArrayParameter.uuid(id)}); + assertEquals("uuid", uuidCapture.elementType.get()); + assertArrayEquals(new Object[] {id}, uuidCapture.values.get()); + + BindingCapture emptyCapture = new BindingCapture(); + new ParameterBinder().bind(emptyCapture.statement(), + new Object[] {SqlArrayParameter.integer()}); + assertEquals("integer", emptyCapture.elementType.get()); + assertArrayEquals(new Object[0], emptyCapture.values.get()); + } + + private static final class BindingCapture { + private final AtomicReference elementType = new AtomicReference<>(); + private final AtomicReference values = new AtomicReference<>(); + private final AtomicInteger parameterIndex = new AtomicInteger(); + private final Array sqlArray = proxy(Array.class, (method, args) -> defaultValue(method.getReturnType())); + + PreparedStatement statement() { + Connection connection = proxy(Connection.class, (method, args) -> { + if (method.getName().equals("createArrayOf")) { + elementType.set((String) args[0]); + values.set(((Object[]) args[1]).clone()); + return sqlArray; + } + return defaultValue(method.getReturnType()); + }); + return proxy(PreparedStatement.class, (method, args) -> { + if (method.getName().equals("getConnection")) return connection; + if (method.getName().equals("setArray")) { + parameterIndex.set((Integer) args[0]); + assertSame(sqlArray, args[1]); + return null; + } + return defaultValue(method.getReturnType()); + }); + } + } + + @SuppressWarnings("unchecked") + private static T proxy(Class type, Handler handler) { + return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[] {type}, + (proxy, method, args) -> handler.invoke(method, args)); + } + + private static Object defaultValue(Class type) { + if (!type.isPrimitive()) return null; + if (type == boolean.class) return false; + if (type == byte.class) return (byte) 0; + if (type == short.class) return (short) 0; + if (type == int.class) return 0; + if (type == long.class) return 0L; + if (type == float.class) return 0F; + if (type == double.class) return 0D; + if (type == char.class) return '\0'; + return null; + } + + @FunctionalInterface + private interface Handler { + Object invoke(java.lang.reflect.Method method, Object[] args) throws Throwable; + } +} diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/CygnusDbExecutor.class b/cygnus-onprem-db/target/classes/com/cygnus/db/CygnusDbExecutor.class deleted file mode 100644 index 62e9476036c0619fa966c60fcf7a272c377136c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2203 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 diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$SqlWork.class b/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$SqlWork.class deleted file mode 100644 index aa5e0f95652356189b3e01775de90d0e2ce58774..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmah`%T5A85UfF90beNiyqFjd;=#R(F(C*M<10e+JUfiIxXj4TtifON;0O3o#@>}6 z2^tTRp6=?duI~Q$e0v8_!={52!-3EPSG@LAWZbUjo_9S_PrOsFF_I#(I^1gygL@r5 zIY=`U`}~Ew0arcu+UrYU8624;N`}h*MFN{);MTQL1p8W5E8o$nqAEk7F%t4Q#*KqK zL+OWjf-vOUeot{5g~Y!72YaUz(}_tx5_u`@qwe1DkPoDlp&`7jqfp4E9}v^lZ(|J4ds6Pi8|za~mn^59FP1d@qnSrL^VAL<~Dq1^k(viCBq?5K(SpKy zz>Sf#f;EQS|8GIt9$$kYcO{KI)5c~2hB-PaSvpY$S@In6(iG33K))2`u}C&UePe^A eB)B{Vi&!B)OX;g*OY{o#XDDMmTfjz=TmAxz5t{7) diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$TransactionOperationsImpl.class b/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor$TransactionOperationsImpl.class deleted file mode 100644 index d0cb4c19cb91565f0241eb9b4b75c4411a16860d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3820 zcmb_e+j1LK7F|bHEL-U$!Wlc!m`OCT1CnB*WC)l<#xucoh=O7#NO6YA+*;C!-Lc%Q zbhk{*aGT*ezz6UFRPn+CP+*EsMc(-)iejD9?WX0(GpQ60QlCDTwfEY4?cL{xpYDDS z;5pSjb-8F5`Z2FdCFLk7As)1Ko z@3d1$3S@4X8)m6(+AF1{#x2?OQy3JO=*8^|A&_o5w#_316d0{)B=2^+G#5>m1qS_9 z%bPqUFj?&d?dPo8KV#XJKTB@;2RYE!YGGL*Ip?(GFa!=57)Cmc0X$-0FGd6g@`Yu! z@*4vw3~@)*vgKlTy&>JY*=S3Fk*d=)+smeFsrPU)sh9}NK7d=h2b~Nvm!-ezw62)0 zxh{R_5_8Y(u5>pArt_5>0i#$(%CVWbw&{80LNL?yt#+wuc|JjhYu1Ww`dydaU!SR; zi=7GbTAqC%?3sGKJbRykV0IWs@%t2V0*882c~yB|-|R>O$1uSh))uM@b9I62j#xz- z%V`|P<0(8QaI6=rpDYaIQ4mPE@^;r!49oe-uE>RcEA#TEk`^SM$y0+GVp7ZXD7+FWEt+`*^t%s7J6%I)G-IRdM52t%Pmhz-^V#=ai1d_hKFw zQdkh!uagkfrGe*hkrDN*S4f3zr;@@YfqbvxchBqyTYc5QWh^q@>*ktdXKkAPb<1Dn z$n#CxXY&}%SHgy%n?}udEqjGBui%Pmcvl5ZY^yB3Ar`~>s_VS0I$gQ2tjN?1)Nze< z?D?)V*9FG&@s<pr^Z;%LmKjUZ z6LQJ~-bIn*O89|^rnbd1XxW~0iFv4RgDX^2+iDnS>dsVItS!7)SGi-ex``E*M7Ps2 zeW}`)z^T3%{rZ90UoNnu5*BM~aKmhOB^@6O(3H)#fpu;3+Lih9b*f{qCEINHYOQ17 zwqBcOr>rliZs-~C(Pc46{pFU|v|9p~eytu=sEm+ym5ggn*KNuRmip9X`!(E?DwE8@ zbB^OPm1ZaSWO-@)3$LZ{D!=AB*IG}Oz2U4$B?sy*Q0N8THyn3UN%wVuk3$CW-2vc5 z({8n;H(7O@wQeW=p$pLBGohK_ppJe_!Qu8kts-6;A;g^7Zr3bdmJbZ#l_C6F;ON4g z4lgpYm2+&FqXct}uAg&dQ(7CG6hnB6WgEK&<(%!SR8IAB?z!o>Io-B$Lcpl-V&v+! zsYH>Do!of`dr#o_eX;BpofQ5naO8h)rN)9#3Jfhu&%fw+K29;~1N`kl0we0i17tGl zPQ>mq#JRmN_`i>Db9@f)d7yaWYwRz6gG_PiYaIN7Qwfane~>T`M=-|m80WYZhj5rr zHB!(CWH}yAV3;;i917JTiTWtV3H(mm`INrw;rm4KE1LNV2i0@@OB~t4qm>{?0YUatPu_6jN;YDrfic{0IKYpebEk9N zH2HlAa|^A{_!gH$NxPW~c13Qcu^Ofz4NIpW6vrx$Tm10`wu_OqK1NPGtPy(`BTgS9 zrytHpLVZlaaD5QUA=e{s3S)9=3+`t-v^`3Lrx`d^UumUMaRy`JDeXp}>0A`hTolk; z7*HU`+)nWP;Yib=f|p|o-VV4@a6(-|Lsu8+s>*Cet91M>Hh?MWQ%N$O-?Oo(WFmJm zkvkb(PEqkIb7%QW;$;nV2b+BEC*&K<`J4LxKX{vSBb;Lg#5)|li}&#XwfLbvbNpw- C@tC#% diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor.class b/cygnus-onprem-db/target/classes/com/cygnus/db/JdbcCygnusDbExecutor.class deleted file mode 100644 index 3db50892f49149bcbf8c0eac5beb5a25538b2b26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20873 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 fvmF|e?;o=mk5&~8C(;NQ>pO>0Y diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$BeanMetadata.class b/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$BeanMetadata.class deleted file mode 100644 index ba4dbcb3217ddba8f13ea5f081db9be237a2da45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6291 zcmb_gd3+RC9sj<~CKEP;36aC}peaou2e1VyZL<+6;ff7s0u(CR$!3x)Y-YmlY#_AS zTHAWpTWh_oibu6YOCZ4>TCIxpzVG|K@4NVYZ)SJjB%3rJKK_x+&U^27eShEI@4Yu? z9v^=Yz}2GMKty0g(jAN^NBW&yHs0G4-_~=$PI^1t!&|JOAv?3tN_uW)q+y+HIa_Sc z>a{$}KvbaSfHiEz)0Wd8-)Se^Os|28nJViZ8M5=r1ges*ll3w=X-MFr&Z6Rs-It~_ z@%G|^gutw>RKH_+xr{BaX!_M{&1)!7(U-E*y;=I~ug-a?bi6Z_^*GluVW_Qy!i`cq zp)?IDPy`Z<+Pe0%mCYtJMT9QV)EUOLfGCaL($?Lo$@`Ee)=bjb*4<6BVa2+GU0x>T z^al%6Dmom`?zc0Pn$o_nR3O^!_S&-`@MIHJFsm>R3k=K`c#=v$0VESoK^;M4ifn68 z;QYoW%_Dy_PERUA zNnBMHrX&l=THTp)?5(-M9y`-*^`u#JwViI#O7FHZDfu1@M!kU)OKjCSxF-|9jvz2c zD+=FH0VCTH0_f< z9yM_TZY10N{w!-u2Q2RtlN2=R8Sf1tV??^kvyul1a?sH8?B!x;+mLcG|(iv%t# zYR<#16}*X;;H5n9I`-iX9(gS%N$M?Wyl%2TC0vZ*4!pv^%efI2ji{hayi&3+nzXW> zJjT7+#B1h2c)P81&aT4Uc$a~9=8cDvWa8a8#u{Zs`L-m% zI!eNFJ>F~LeR#j$59Hl~XWD$c${C*;F?;~`8u*~V1>r8CykVM#?F@l2aUYJWbB7ub zxI$-H5V)2xU-=ZCeb~hPIKj@4m7QV9^qK>~}>v?({EgsbPB??~Yc;8McayDnW9|R~JgS zJkF&GMNz963}7J{?0kt518u={R;jj(wzGy^1fM&HRTMu2km&L+Dqkaw$HyRoA@%m!XoFHEN z=_}uCIlXB++tBH{2XmqQcQW)LK}mFdyPo-^Z*qEBozH>hb}OCkVoOO>SK#wCaAQ1U ze#69dcqRwFF0fUPG2i`EGoN%BEe(G|sPot0TQ%4rjeO6ZZ z;e8HSl=)k4XOo%K5L>jK4Sgq5{VQOCzE6~}UTR+>Xg{yS@7ZFL+BcLw^*y9opq+oU zG5i^SHSiano{EqJ`hClO#|VlzgAx4_&r8O5_tp?3@iB6t`>Cy|*5-BE>tq$7oR6dZ=2LN@F`;W|F$ z-0bF2j64b>dJNGriHc7%KXo@~N@kN_&*l70{3H9T){2^l?BERY77j(J?fEinv5M0& z1gAx^q3i+NHi{RF;$^MTrDJ%NKx@S@tgNdT!|Mcn-``qZS3Zh2)kT-d=g27DI)-;d zpaw_ro>RDI6d#hyM+NRWd!{aWUu*O<#`l&HgO7~k0frYniH9Fj(d@ysc!a*lN?ELu zaT9&I8IANaPCqyBc@5up;a0A^4f}Ar3h{FKOpgmymJ(5YO0If@Y9FI$ z1fRv{_*}{NuhRV2@J)PM{rV2Rj~}RCKf+J(GyImu1b&A<;E(t_fBgghqTC`iYUAH* l6Z?7l{tut!eEzp0hR2z2!YU*qBd|r3&xQOI?qQ)0_CKfV_3!`y diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$FieldBinding.class b/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$FieldBinding.class deleted file mode 100644 index 0fa7c6d0da0c95d0420670323953a61a5cece807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1811 zcmbVN+fvg|6kVsKO(~U@0xB25OOZB30$xxoqJo2Trl1215Bij*hZ0DWnxr`VgP-Dq z%*ZgqgCF2WIqs7NNGmYHLvxaS_F8M7eL4O8=lB+6bIuXB4z)m+Qo&n)TOs4VDaMK`MwIv7$r>Yl0?s##UmxMtZEhRBw1Vi+i$ z?b&?GAU?&z7Z{?NWi)CgLvO&TXu7=0ZQ35n<^uM1aL1xm;hkVeBoINAAz9K*zS^jj zxxJy54bG4*S(<8Wsxr5m>PbLCj3MS)>#j{_W9VyfZdwazN?3maY20LZ zpDkTEWrg6ed`?o`R-J8eCWde}R}>T{P6t`2#U2TAYGiuq@YcZMEKv+KFQlQxX)0 z(ZCQiOjoaQf3|$j1g7zrp|gC#z;F;er*7_9yIg5{FRNz7;7+DwS-XvTA&^SHnF1Cc zxUpa7@3^DcdYvXX2w5~##|avIj?e#+1l3!5*l(z06pvzfMic4HexW(tNro=^rN~?~ zO>TRF+>!8-A@e`8L%`Mx=M}@)Sw1gGjfB?>BbU2UyEgMk6S&G9ciD1WvNf+UOi?F< zX-Yyg?R3e|TUy)^v`VxSfw(r}^fg8+qctM`MAr{`3E>7kqn_~_x;+c%OG1*K?U2;P zkRDR(^&#U#D^w);7=1uHh@I;6(7kc{9MAypy)C#PXc%{VP?nTJ{2{vJi9@6gE|h#oJDnlQqsS*xAg=M#u*2vOb~!(BgzUu}5y&2Y w9uu^76Z{DQ8J=PW&+&q6X$p&B76lAq4)b_}0s6xeHJZhOhY=x&;(De13&T3J#Q*>R diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$RecordMetadata.class b/cygnus-onprem-db/target/classes/com/cygnus/db/ObjectRowMapperFactory$RecordMetadata.class deleted file mode 100644 index 8958a9b69507c28f7c0642cc71a03b04dd4f3051..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5079 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 GSp64-fDwHF diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinition.class b/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinition.class deleted file mode 100644 index 6afbe78f5a00b1022613b684ed297c5dd5d998ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3457 zcmb_eS$7mg6#goiq$gu1kdeiZs3QU<6XGDaVNirg0)rE_U=RhhXSzt5^mI?Udt&0g z@B0cWF7H0L5jgQ2ebaON7yb{A`c?PD4A7Am=bY*4s$2Kgz4!a>t^WP5g`WZJ!q*y_ z1gESe9MS6lfb7E*3@$ zM}`jzq>D@PvB0yOi9vz(yzBUZ;RNG`U6V<)3AEgh-%`AR=8D66cIA&fa&Xt-U8BRH ziLS^*EwJpICnw}=?w}C_(sO7@n^rCrc&I1{B!aoB6zD3(xP62oDm44kwm@=6*;YZ^ z!-d|yacbsWla8zwNF6WD81`|q|9B~dwdm4tjlkM4h|4|Du@2qzg6CB&n@11yULJ4X zvi`S$Db|s~RRSxDmLvDqDkbS1F-po-y6Bb-d))9WHLowW?x_2n>n$uBW{eNxDKz6o z9T}uGY!uiOlcFVLhiA*Osvu6{CgwB5JyRIURBC>ZDalOL^~r!4nZgG2DWh3|)p4PZ zC()6@0CE~`7U*0`Y7ZEceo{rmb2f?!Z-K6VO2>pX;vVFUbyFhNNtr%01)GQmpQ7f2SB&n}rE7Va8 ziC!nN;>X=O?!iu4tr$UhQhEa08ePv%8r~RVlTKL*q3VZ89hJePYaTQ_qas;@JfWp(cs@n9l8~3xdfyd}PooLj6=vf)j^Y7@j$_K% z11Fc^Qz1ZF{rvrFI$6-9WT!AhVFLBw1l8!RiU|MbI zOazl5Z3;?oQh5+=nbcw7l*+khRRmV`#*#(AR;9uwcaZ(gFotqWMNW|T)8xVJ+8ZpvO;W@mZ z;dy}#ODwdU8FxzNqNGKYJz|uZ{5e(fFAAJ)EY|w&$lzYXF>UE@D7x-cts2vO8hpP< zF}!FRgwf%H4>c?;CaYnoZX$2k_86%!xS|!$Ch-c(AZos2hl&}?&&WzOn7b<@l6XyE zYa|jGVwrJV)tRM}saO-95lAx=xEYpaRHxSCT%e64-e8$TdXLq$PP#S63~jze0u~%z zf0mh}`vBkzQ8 zO8z~1xV~c^_b!QsBT=^d97eL6&tY$N;2icTSDHgtHqmP^t^^}fadk1Wt-R}YGO|2x zx&p^hN|dYF$T1YTqJAgBJg87ksN0bNs5h01X6)zt8YKRvYC?k$8V+de>F8`Ti4&* zGmi%^;Nkurwa<8T9&#QN=P~sy%|-F9XWD_)bZZS`U5kEPgB;(s5Z&$Q#vaa9teMD# zI?{9ol@PWrX2)TUn!*VA5ug53eZZ=a+M2i<+@}E5Ve+W}-N;eps3rR&M!w-oBL`X= zIM4w%MrE(^eL0ntI2EI^Z+VqY-f4>}H_@zeOv^4{8n{%6T_`-6nDO>njHXek23#6X zqtYzq>dy7@Bt?#7wtoSS|Cd$*Plbm*jb}LavH)MAjhDmctKswY@cAY_q)gx=e1g+B cgHO3T#rbDAi!TZ1SDddRgi)bJWf~UgKXIl^$^ZZW diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionException.class b/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionException.class deleted file mode 100644 index 6f9111d8d89648a54fa955689b8ce7693605ba1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 610 zcma)&O;5r=5Qg8aEfqxh5YU*Icrpma#;X_;qj;)Dg>YZWTGr6k^h4!mc_Q)P5Aa7B zXA422nApS4Oy}Ka-r4t$*EayC*fgOr>^gyGIb+vPB5TmMZW0lW&&8eeWh?`~{p^Sb zm6*^Ow(j{Ow?^D|t=q(pr6=ZnhRm_LbHY%q+h4j)97^A9?e!S+vtS@{SVA@r0~v;b zEq!s7czqFed4D7r%68!JQICgG)w7>^Jd_bb-Tt4`7K7=DDB^Ak{AGoqcq!sxFu3L+ z_e3m0f;Sd;{r!x_0~|Jevxv6QGpa$njzaX pNR2WZ&HV|=Kbc0#+?h(|OmoJhYp9?~C`Hd|DZP?TsL`om;}dt;hNb`j diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionProvider.class b/cygnus-onprem-db/target/classes/com/cygnus/db/QueryDefinitionProvider.class deleted file mode 100644 index 188443cb9cf6bf6f909c23460e798d7476b7c6f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmaKn!Ab)`5JYPdlZ{cqs~`wMAYPmg$SEL!g@{qX`|NCIov_=3vonGGng>6?j}m*l zc+yK1-3`^RKEK{S04#ABmIja7SCmE;`Sf;PS@g<(UY*Yomb{cp}fp?J&DWi2`P6kmP4F~M{cDf9}{XP<(lm1{}i@(+mH z{9obXDRFciy|~_0EiIXSG#OTMuGYVdtHd_1Om{2KAr;Kg>6-= diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/QueryType.class b/cygnus-onprem-db/target/classes/com/cygnus/db/QueryType.class deleted file mode 100644 index 546bfc299208dfbbf9bcdfcde01626028ef5c18e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2242 zcmaJ?TUQ%Z6#j->CK-l{v8ClAQcEidr4hAN8?4X}EH)6DNvIKThsgm3l9_R4g67S4 z|A0TErfU^eyR1I@qg?JY6JVsFD{FGjp0oEp-?wk`&%ZBT0a$`9qff#W-D+m__O97- zv-R!l;}&e}??Qn6alB#dpn!DC`UZy2WG-IoxVNpDJs=B+wU zAf`Y%?X7~JeK2y6GaTx9YK6^odYARn?uiP6FX?V+^aQhnhoY=jC1iSJAQZdGo@4zi zlAcR%%6LSDd=~j~%k+#UKgCFC^_iVUFbsp5gP)M0atvK@-VL?bfaWp%V2#<``iuL1 ziQvRc`r<}XPyvCgo+LQ9zU_Lvsp1K~CJ4-NSX;O3_BrCE?R~C$xz!M?lULMQqSn6= z$=i}}CmgSQgSl=lWYi<(VzLmWXwVyqX0;rhuNb1O22aP)Z4p(%ry08@^I8ra&W79y z9}5?@#eH%={J^q2*K?R1G@GkH2Ti#;we?xX4D--B;Mo9WP(dq9_bjI^N^3{L?_qXb z?ZDwfX4V_roi19|LCfyJIRy8AhGN?GP~QsacS9Yn)UJy>Ycw>&^MvnmbXfcoM*wQ_{o zF}^q|rY%4#4O)Mt8SAe!Uj3COD=<7J<|g_JNWoH?j7U))8b1k)iN)TC*vc0`Iqlb1m`Qd zTc8~DF(|b56DrlebR_VEBGyP_h<@uRk>v(S1a4g>YXK!Dk&1xv7-c#Zr0x=KL29If z>$OLb%&Xdhh}v3Y{21D;r*skoC*Vk<)PEy<(9G^q$qap1%?T*#dwqzX|92?T1R-W}HjSBZ@ro5HVg-~;$5#3n*e z(bMkE%#O$V`Stz*V2oje4#Tl9RVv;J?dx=rr&F`KGP?Gav=O=t@shvrwB))-@AIV; zjv?ei$Y*MflH336=yc97xPEN}ihLsU8HRtVUxuMSQ-$WvTS=BlmbI&aH7k1bPP!+v zc;J>-(n(vB=gfF3Uv5XFfeXUL$FI5Y1NlX1^}z_or?pnvtMC^vDYOAEHZQ8Vb@%^FU?_TxxPQxzm| z^8flE;C*)ScaQbW$vkF@TUp4I3>77x^Ruc@G>sG9Gics9UtMM0m%+uR$nhq`8oWxI zIHmizjKhQ`T4zSqZwQ>O4NNPoR{=)ZpGPImABKJ#Ie$z5!S)bUOe5 diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/RowView.class b/cygnus-onprem-db/target/classes/com/cygnus/db/RowView.class deleted file mode 100644 index efce5935e09ce7ad4c0e3cea5754322705174948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 483 zcma)3!AiqG5Ph3AiK$gv!C#Q};vNeo6r|wEqL|=)n=UaW*_32s>92Y41NbR;G zril`|E+xYvh;EIpZu0ye+CdcgbAL*ap|AH_60=3M6kCSzr29>+(~J{DC9}U+V2tfN zFp!@`sB;h&bs5Y1G@}v2&fuHIK!<@WrDFg+^4o?(`3Yqq!w37)eL2JRYnpihEb)|Tb^(jmmwj| zkan#t*VfJ5Zr{LK$x}NfWlUg-VM!TuF3~_CnCSO3XHOiL;JGDZ8n+py2J=wgQvA@< z461%i=}o`%Ns!ISn1Lc1I4G%p=q%zWi_Xn6(0NgJvRjsCH~1@EG-f0!vqhmB650#P zavj&!+ChVyES7Lj!ZH=pQI_qQuHNEmps>(W#(k_%8|!}=7*3)^>E@Ajz}3L}wPrRA z?#$FI>%ePQBH4#08nJ{xA@-NtY1n$(wd^Ql)6g6zY6v+#_mV`TSE7v!FH0^3HH}B4 z`0#pF{EJ1>FVMfpAXiP3+kQmuNLXcgGATGtB8VX` zbWW?hkTcC`WayWrolEq!h6JsE><_Symp4cN$(N?#W+Tz$a9uvL6$6kN8u|iqAA9G z9#IB8Z@AV6QtYm(0~w*Kdp(5A5v_)m-@urSiln3gv}U6i>($J&#VvuJ$Cb;Je<%BF#fo g>jS?@5AhgJ@RV%g(XQYb)=|WB-$yi8=*L&jAL_kZr~m)} diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/TransactionCallback.class b/cygnus-onprem-db/target/classes/com/cygnus/db/TransactionCallback.class deleted file mode 100644 index bbf88c42bd8d67c3c64cf42bf26ec5f48266a09f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 492 zcma)3%T5AO3_ayFf-jVfu8cc$;j9&7LX0FP7>rEZcPuuB{aTz77U@l(|1H4Q~<%)!l1vW_jSE84ydyaUcFi=+Sm diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/TransactionOperations.class b/cygnus-onprem-db/target/classes/com/cygnus/db/TransactionOperations.class deleted file mode 100644 index 83bbc0bfa2e7bf5abe1feeaca8c79d51b31d8ca2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 721 zcmb_aO-sW-5Ph54q^+&SZ}95HUd&N2r67V3s6=SMLr>desVQj^cQ-=+ng@S?KT4dm zM5^Y{gNJ2z-^`ntH!~lfZ|?wZacaR}xCpa_6E0_Ip`2*y1d^wUhdRzuKNpgh4`pG8 z!JhM1?j$^&IsSAmLe0>8DTG`yTwi*V(QmW6f!rlrDYw5y3LPiTC|25KXpiGr%5@g;We(DO67KM6k>$zx^Qea~3^r zc(hhTKP9WXRUJP{@bj{JJRzNvf7Mn6uJoBPiI6mqv)Us29)nrr5!a-{j6_2EsTJd_ zkfFGb6Z)Lj&i$&KsmZ|5pp5~Vv<6L>FksQoKnq>EdkwVd>d@ImxhXyDeY@<}yVy9O Xs3p5?RBU1%*270NFwu{RZs6n#OGUc2 diff --git a/cygnus-onprem-db/target/classes/com/cygnus/db/ValueConverter.class b/cygnus-onprem-db/target/classes/com/cygnus/db/ValueConverter.class deleted file mode 100644 index a961e6b39aa350552a0f610d668af15854f23672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4923 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/cygnus-onprem-db/target/surefire-reports/com.cygnus.db.JdbcCygnusDbExecutorTest.txt b/cygnus-onprem-db/target/surefire-reports/com.cygnus.db.JdbcCygnusDbExecutorTest.txt deleted file mode 100644 index a176990..0000000 --- a/cygnus-onprem-db/target/surefire-reports/com.cygnus.db.JdbcCygnusDbExecutorTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.cygnus.db.JdbcCygnusDbExecutorTest -------------------------------------------------------------------------------- -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 s -- in com.cygnus.db.JdbcCygnusDbExecutorTest diff --git a/cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest$Person.class b/cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest$Person.class deleted file mode 100644 index db7baa8d51433a475ca4bbc8125ad9918ffcd5ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1521 zcmb7EYfsZq7=F%xb&Sf!1OyTA!lf%h6~)^SqeBB^A`#?+e(L1}3R}-?J0kx{6G^Dnv_;LZcQ?F7U^tes*Wyd4axiZ-MfauwI(%Z-}F{Wa67Mr>i5)pgT%<$WCN){3V^rB0U$1sR4+ zD4JFUO0Qc*0X+<5t#YXZOJ|sn^rjhX%J+_vSd<3+Dtd99VfxYriwtT0xnWiVh8``E z(>rU6+hM8rQR)w=7{D;Y{AKme5+ui2*K@-;hF)zcfrxukT+gBfcU0WONR;9_b@?q1 zH-)oe`qa^oy3deZ6%F6!Z(P}=!ShCCO17T(uY?GL&^PN%p&$z#cNI)93?C1N-|#}W z#*Jp~F;c}OrWo3-Lj{JtWT9MdM{IMWiC!>0r^iAYRb+pY6?9@xHH zr}0iw%2hK6l7YBDpH7P;-T#@IxQ)3qiW%HzP+X@Zw<5>TLBBjr{-Wn`Kl0*%f=3Kv z|2L%6$HP5*$}oCd#tSNLNGep^dIQ>Mi(hui9x^zbVd;nL_zL|LZ6M8lK*}#rHdR7DdVw= zq95QYaFWE1e7a~suf;w|QXla3gj13hg!~5vaC-;%xJJ)iQp0uZ^j-bL&^)MDe$Dz^LN$+Bi9-}Ty;{hI0tPoXT29ME) XCwPWg^y7KNnZaDdk!rF}QJ4M#p;KN$ diff --git a/cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest.class b/cygnus-onprem-db/target/test-classes/com/cygnus/db/JdbcCygnusDbExecutorTest.class deleted file mode 100644 index a44de3acaac98090d90b75c70e183a9a3ceadb44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8629 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